2
200000 1000000000
442706571 251115363 882015467 844045951 329349519 3408327 9244693 83382035 745134059 269372233 428816489 616169157 749827975 87292995 722160895 605930561 850715125 65637107 563258653 156300957 871394153 23426693 200507693 256027223 226299333 333402123 312035265 964683859 541672845 731117947 167293077 722653917 919445747 386079929 852087695 234358957 799995597 251914895 198439863 52813279 960854939 280130987 197890111 360663287 770463363 416099239 806337927 765372901 96035413 265502215 134624271 1749243 985535113 293964593 538020227 297058809 932667965 379391863 411188661 657442051 892474683 226186773 18172835 258014631 376772845 496972327 826510445 234896345 541671279 382660541 25970273 763811063 479056509 305272513 686509553 475864263 28760193 966810131 816469689 530430069 982222217 131250287 389938299 619407255 845864013 715261825 907573283 12933417 959630633 431568603 435438787 902842003 764207913 792697587 359709337 629291167 828831481 649160237 495336967 493435013 889160691 637499857 788905623 933989087 677573907 910582545 366147581 783599287 991972355 159267333 788466965 549681781 248730639 61913775 687806177 364596977 454099249 561513977 549463437 273168489 588371721 13736115 627216237 929063297 748167643 72252057 588800507 418606151 888079257 758627655 576021209 398392623 904171225 74453835 700439255 411620375 407359963 643267861 153705699 317968707 198615429 360522237 592321307 980228195 728848999 235715909 733754305 405677963 534166969 621051159 383931459 33323063 714179161 291638659 619166255 841082445 122322895 725610883 810004551 504233243 842051403 887674873 274848615 228893271 6298275 38208173 231768993 289618715 521975637 119920465 345521955 873560815 676557707 783960189 484465995 690409151 265287955 41957043 174834589 516768227 659977827 966941531 165642433 179000083 129169309 289848267 345561997 324036985 31679879 640961079 606315005 273860511 150465679 816891073 703177777 110788221 480122317 56090741 651035509 535026799 872260097 139469889 580617535 127650873 15197843 530017281 239795751 561939467 514303119 491812725 457563891 555915897 873722289 486586183 417007499 359036287 370845523 510917639 584941575 733792131 986207103 829408559 168786845 71949907 840785893 301690399 165914547 367679011 939242203 355884323 690915541 552226961 497171041 672618601 795792821 596356003 376503069 141516557 315050541 433193157 378916191 800850447 600272451 569356749 161335327 443214681 552537889 551106551 454939643 61889211 492469273 940122859 108363323 461176047 907643305 854079411 866396111 544868501 341532273 498026439 171135053 272172855 351782463 242695681 680832243 672295497 791746309 598053289 494884267 475678753 121540573 371212653 503275523 820915967 951627277 599298143 220534833 542074897 11349503 584264447 241602583 834143845 608990279 678490161 743727163 71745011 930477215 391168579 240954571 843003041 806767337 813609449 41381023 356214067 239687219 779096897 809510967 545459293 294849967 349352655 769574587 939771321 816741305 856352387 48777975 780543687 85610195 296770737 408729189 825791471 53679273 503589141 161333285 769727877 506983695 842452439 628071931 498637505 425286911 55488129 878048601 508239555 339269019 796573449 890181205 120048533 183624499 293247695 80090287 591763241 904094773 97221013 396171981 102796889 897592895 702349449 784389311 370042339 686570771 40949057 140154173 379579253 120573341 754075835 980071589 901383835 360313073 155128921 75879423 375881171 587019593 97188077 295282169 5210491 831272201 911733161 705055213 57768669 160435643 841243947 129862871 26129195 192029973 628033143 105304673 610567807 83360751 210841085 875703769 778378967 45302093 232316047 301085493 273916193 983229277 464829549 154225687 998816809 406410351 662568507 90175173 612523949 31620607 247425543 552459565 501919563 161980849 909393991 77167591 427904397 61817935 242056405 751028531 577080549 764413135 267141113 15775737 749192875 627875145 794074463 953288901 250707491 965181955 850400541 691277521 682834803 621203557 483212463 556601085 987777197 828450309 854442493 668533965 267038411 641236383 665280593 326574451 479103663 421890067 249565027 824142021 738097185 119671149 260802125 370744897 880217811 119790051 606958233 514821137 399315807 611219151 546402095 393150979 994472515 117543345 727628135 676284559 225497323 400992569 637949439 851629011 407069351 717090871 546390555 394395799 475065779 580248745 451393097 341399371 458861099 815295663 885373821 538447619 484071197 445035927 989073429 538441347 755089785 37869779 339597015 679213357 246776087 204653821 699172847 645402133 586307515 457297115 648791537 479156465 224305163 805384279 213466847 201094429 529386137 443166083 534295833 404421285 482601183 119389597 214939247 720872757 53317695 453462535 744518935 977004325 765087489 40362315 648269995 255239285 920130901 169744413 893687603 296224717 301793879 930405463 650494493 982030713 540375817 888951807 961776955 14754419 956983119 872361535 105431499 567949147 704725761 369029227 2413429 516402549 867198675 750303997 188366149 388562355 507360615 807904919 525622447 261881259 274199625 170629385 538774159 237982363 428313321 746838593 307066927 665557613 535646623 146511197 72436793 828581039 11742381 951596447 418486721 769255833 834235707 593954163 752469319 124678921 503201887 79653229 130331055 388538247 88788491 653826375 151094087 511430465 661713447 875343587 139631301 69831953 141778809 414777681 752904771 232706419 573116593 131965375 552060489 548005265 872296811 327694475 818164419 191349305 537671463 695802935 436990471 364222689 31770703 174035057 391120337 715897515 9371443 387434761 720130633 598255451 750045965 120055035 547263737 269311589 119981309 986824555 614623705 170755547 809165071 357403299 265685061 446488447 953278257 875963673 599203841 859815351 154680895 630663781 59266109 378040469 29321465 378884683 350387851 148670669 577577223 139736505 350308331 195298495 834264573 680786367 422522305 89807731 920025171 88043673 319060187 509560217 380431977 795819691 455870061 979982983 167778699 738719105 318184213 951294779 168768231 91010253 285144535 309814111 953455257 922816361 605965603 285146179 404588705 220056667 799739853 761012185 595859431 337149387 804964881 609851333 268119871 658693135 256439447 914446925 91141729 987991715 603231593 905505631 631252205 776696103 194800893 314883989 565326189 397533289 145534259 426479403 137711189 265897819 962398285 405306635 348278009 797653527 382213625 258419651 388769951 826333923 672282191 381588105 312974189 681763113 649270471 497589311 733493111 580776059 413056843 555391593 105678773 338175383 866024743 50403897 756686599 343596893 36503567 848624519 624337207 912616411 22508833 671086029 258778615 259407683 817367521 768626489 92393441 896945393 794987839 991276437 595748211 539751527 276210829 634148187 339641371 567242833 663356555 469820587 931079973 160629633 376483423 251908169 911812303 727843317 136298643 457999013 36777783 457364429 967611421 615489241 148954471 482415191 430844251 647957923 330096209 15284487 264913171 319892585 465329101 212694643 100930929 5329979 853199775 399858021 376536843 849545937 800398445 995808707 982506463 239555977 307887819 186786721 606038095 251976809 339486767 365945917 475210285 815255845 317424125 373519609 537242539 74774543 393587325 357311583 734804069 266287403 802014177 577584419 340801125 168430363 989138241 209231137 95337747 347834931 289805217 143247453 801912905 517989735 493181159 472393727 496179009 884032857 294323941 686303581 549375905 116171597 427061335 941401329 17408629 140814901 279853531 352851807 490671413 586872231 708492027 252031601 419915455 114189027 536346407 673982493 768436307 714188241 217832125 119150459 818330787 102348797 270591993 846365647 518764739 688305057 919362055 59707783 349110063 12960923 285212151 694580531 53629135 280975733 866685893 192913039 498847213 382400601 137350989 826376063 193541953 87298083 428485981 295536397 875213029 270487889 176632485 940228719 703247713 716902665 295728829 790023165 135393443 945469979 206634791 313132093 89261821 985132029 934736973 422138583 866118703 351620561 354111105 859138467 897940059 811891037 872680185 909941143 599589651 282702351 709800151 767272921 374880329 81294849 839102503 141819573 175482715 570875119 269240537 805954203 805447693 48939331 457675205 992383787 201298831 669549833 819123117 628255269 355584373 176893693 177578555 836513907 645268667 657824121 255419135 889752365 635755719 509373321 163504755 472393865 851561575 894555097 186688249 664813295 699276497 398313921 597112791 374165477 431464607 476935745 424521283 827581219 706906329 25667839 424364115 610228099 711030763 768669515 937011209 627082247 816553643 581083421 40197199 561714907 694444375 26616339 577996789 242680913 96347281 948490359 653283509 300828135 472761963 450720307 401717807 736630077 53404501 369500131 63331567 263120673 721839921 63018949 656056675 713947269 394560067 317083837 435251431 33355141 785828405 830571871 755060411 426051171 993099041 593956577 168409865 26294923 501649537 85633569 86809057 130608529 87286843 965683879 583517757 964987439 742320027 387660705 138431741 454300999 634948699 707815655 444741101 900504809 96633235 334495227 571940027 389855043 836067017 846142719 493242883 769980339 332561133 981932999 629363781 153750459 294519635 775243463 841041129 356873735 962475193 670705697 809383235 586814315 327120449 700552857 851857803 756632033 145355899 74615969 742587873 453121421 910399069 227257679 547638095 877816249 104271937 946153827 255757513 941243353 402379505 354468419 257793059 799913609 198246037 392998657 484244259 871235725 474329541 698415441 139779697 209030605 70459007 51341459 725139099 403698783 946887463 670424783 686437151 127689085 949882251 107624883 928227675 728074891 844682717 923939737 679285659 721854485 439150015 368942207 497032205 828480203 735646005 98842379 448373195 106719373 892173739 720730509 448998361 963551577 65365751 365010171 450421789 874469983 156089941 825363447 610487403 98424047 401705323 722648007 234966395 251032453 679502663 228746073 470503917 436039365 478132573 665183301 121774923 500823163 406310029 59367373 669192967 544097943 749667865 986645971 458284923 170712633 540355759 763185643 235555556 690034335 487945573 424911945 981302899 560256569 854678201 677088463 600743217 623369623 574273933 110401025 396961053 820496503 951522867 70196753 391688725 19455161 196170075 959062485 961374435 180386667 639534887 526819277 756048441 301541823 809337883 191009055 959085487 721039375 894198817 375105691 504974537 373989089 491886995 110083513 943966701 857844703 786438699 567548823 535668077 867480283 905493519 973429245 734297221 301006547 40027341 684596315 293024851 168199399 505456729 323808455 985394913 462094693 186977809 19716863 895005729 226487487 710008763 229012845 221827819 949387409 39692931 248825887 653042689 145799325 616604671 64981965 912815885 951785423 545449259 915675859 237847457 328445243 99066735 802831421 102481971 518597401 212659605 267129527 491644711 64996305 86318291 640376219 610067397 256930539 318745033 537366501 4642111 425528859 476992377 916375869 875479469 480212541 771849299 412886261 529598225 880432211 373695273 402920193 325468245 938125449 887440955 399544067 22151755 36161843 18907693 975136063 572372137 700548555 804067595 545972135 484089105 865810933 846406989 177173713 977478159 552974459 531185359 803543805 649385491 593586257 646539735 22653713 655065717 606424979 776331281 941525405 802013815 191832709 464786833 21863385 702589507 455230095 621114841 484355235 962063337 562677575 88232649 795859331 170785893 54239591 273398705 866317737 628859027 76926931 662476357 794660073 863245889 602403477 376448421 717656263 183830815 897587171 353663315 929451367 419523525 349106453 24980541 372838553 695606965 640676271 16576441 304064723 417609561 358907999 783881861 474967095 557918465 335518197 773891013 660905355 181273575 441521773 137039877 739584317 843143211 663551467 316551741 902910053 734292697 606272955 546340041 691076035 842478817 741768013 172925549 264534719 603371033 902304577 442828633 830462053 617445961 886656597 676937247 821726321 355859475 706059897 544342719 415666237 647395853 949241277 425647517 754210771 297807279 272122717 406939271 597828835 596906587 867971775 447700401 501406147 985246295 802100329 469558971 915420787 78984665 801098003 857685925 958945177 831408631 474604183 928821731 448643973 355027377 148410101 649886019 664846127 107290869 538257245 238209801 369880373 309980049 877666593 712311509 915684063 642015807 480516793 672202169 391155485 684045727 937333451 554479397 909419395 736775997 700304675 559471099 199330133 238918791 536183731 299268477 422844023 560533465 721871255 550389339 975409273 241814899 914724881 24011687 688611729 922086525 655395725 650726369 332001697 857903115 354275997 698127853 510919469 697841173 909848319 217725463 294815849 261666427 612184725 460437783 905217575 143410183 518591081 979164937 119254761 657656173 236968879 637110387 640903639 896285249 729529537 72763201 979484605 95594505 504768551 745065417 240149525 606018859 871716743 261696455 307028991 471247867 437269685 733273441 989374271 990123441 438545071 527909413 95734599 190085485 516491927 946550281 536011821 939700537 301785783 928389735 854107567 173468935 269165955 399923975 798268473 844796337 466392727 857072407 500777941 4073975 140273589 675029033 366754621 354318209 985280459 807189307 499901647 800799715 237653991 425694133 41518483 409121683 293713481 940999779 418128951 410758389 661246803 42875511 988691989 898669905 224553105 189577875 835609129 237466075 696727475 40973755 299743773 306194087 694638487 36836441 467298623 642290107 793200961 4896583 461299589 26970621 916495577 688488127 278537361 760156223 936095925 313455463 380295849 636927037 787000399 386008397 891888571 306482069 998400843 405805285 97274463 638298833 570525301 196637197 354867925 861739619 597918397 493203723 310165507 449180579 675812417 837288843 136529019 987680213 860797765 882589091 542766961 634898207 928876851 899558097 130844613 459078547 349661085 87864055 896148225 143258669 169721151 7816551 938003535 759635403 254084861 367476177 506211211 151388727 346556131 877446999 980404275 233998625 27324707 264322939 605770349 264243495 981386007 381856045 154731529 341015749 281733701 178561983 129728895 373010279 73973589 567662577 808867565 357464669 227066143 903067367 588219675 623927267 597679513 131279151 445538425 874245655 360801001 942117309 646029851 558708739 641115 973934831 406089925 945000599 584097633 799125897 826242521 157268913 974589591 579440059 784074347 267770125 250322623 931725337 420576305 426958167 515793859 551218847 795280007 297229599 740101563 662439861 662141305 803824095 587393503 556715813 38540979 801020153 172263313 597063973 677609613 111301813 6932319 126819157 10764551 300686659 351986683 827637175 623444681 454550465 605907265 514806713 563036191 350579499 695409971 33710897 479422467 565994861 32972541 549260637 418291477 815946839 845161457 975356897 288278681 685239459 498547341 246504393 452291969 61397745 474361203 938530957 446733153 632982221 613784685 372542729 702275453 381794215 668541295 396932227 966804409 633651159 412541845 983042469 716413861 870288287 862039585 447608713 414206841 559865385 424535935 190699689 987641619 359835781 865044547 574361067 659465467 233360045 643416615 598596509 760162655 862211713 301985039 631481971 499777817 353935565 868075013 890252429 79966373 215286847 564700221 46325355 418574637 80584307 12298259 550330369 112200575 228797673 880719371 170632095 111594769 392614411 502588365 422186243 26998021 706744361 911974191 643724885 992384799 912023165 406569259 393433375 650448593 469717543 227500261 928396633 557674035 941025587 863691945 827457629 708983553 103327119 394175207 772913141 39430563 470418455 847864125 648215369 144036393 949798283 660624751 823755763 829046605 348977045 605643365 839617259 455139689 609402819 638105397 123025307 762159495 381264531 264799771 577830095 172633687 484204643 888455543 806398395 320714031 370558079 95467221 256118013 450583309 747392021 583689707 775608731 497685915 792931137 405307793 176113153 395512871 150707715 308233933 123862277 406060201 285425987 945023433 363432675 35613375 478728661 328932567 669942851 434373297 772750193 799263603 660233519 504742509 653328311 107350849 295951389 134429837 274374961 378053389 661426413 817778509 393476691 250312137 699970529 920662935 875693681 21623697 533197991 575963129 826939089 488723621 802105173 287393705 1872793 884982389 291725673 385847689 246113501 803539603 320561863 710824221 204442517 481315255 307824827 498646935 888173729 407295177 210935549 133052109 35551179 280308175 405603497 796164671 448502981 683221761 572381509 724623381 677310505 422917561 62130619 532454427 998126197 35636601 918161765 464947915 858628375 300268269 5665021 180662851 666788699 529095913 823071145 360961869 229876095 628290405 228932599 989151315 746088353 444198537 533695709 934626929 838015179 152626077 836741301 358347365 346237935 792335893 384415303 308244885 542031079 110723213 152361407 574555409 737207665 495159239 278152627 589592721 828417081 536558511 531199521 208699249 312892369 849831513 789470059 207318461 41287087 398451967 131111779 866856227 775470903 799940355 516905529 806450167 363343537 103055605 842976143 15408187 349596751 877511555 679327591 271529111 822601515 91220107 279818033 480303449 125619779 391113743 556974783 875660151 467050371 207327035 625306961 846174611 958175419 371780451 837349515 387212529 949015207 914590977 393561467 219424899 440569829 145201337 969200533 398460895 787041791 943290455 990570935 951392837 982394983 338382283 354567975 277096861 804376949 240461875 233725585 647127923 860264811 71734483 249803531 679188481 99233651 125040659 178917649 346521381 227280541 562657417 172751755 87782759 964572389 151406063 415955651 554190071 314754599 994355241 55430511 159960235 418099505 315417155 970521519 645305089 247742131 934078317 827042821 621922083 419438661 524999687 517270623 939923935 920380779 765552271 841740051 345175725 194167433 778338997 580674015 919141547 503218167 825064521 190218471 888144801 918181097 208847431 379464633 337435389 566009985 735746005 534090825 753317593 914304203 239003961 844205557 893777649 150172087 651844331 418649217 778939823 968861725 866667139 9474845 760635167 684878527 5167559 97963355 484212219 410648903 821264801 961960509 671356067 326248261 407904547 998411043 404046877 685117235 237772939 625711837 749697303 299950451 48816697 656103583 518003945 831418189 866059707 410423049 973911699 265975281 996885699 799935771 426160059 687976315 462619691 949768521 617042353 199421931 396586233 467474019 891149421 130566699 871905623 360593063 879079309 800912651 219265433 709509309 711367001 231833157 965463863 729331887 444079553 305636729 433943001 72636661 887310683 749001523 727398471 461321067 967559269 392745953 641953141 484090453 138906057 848574687 431086463 21092707 62453269 720668013 560624807 111149223 911223425 465725877 92002393 482593697 225242091 246201287 725783079 541828661 449035739 692557469 70510287 506025905 178925439 899033879 977250099 354832841 440192175 140163329 10368349 470008731 803307757 130877449 918146433 384193197 540670555 805653195 290190587 368498667 155150029 787527623 401802573 243996331 57112247 701851749 655091493 151190441 594123323 839693305 588669265 992614413 332024349 384404667 267248081 3779169 30499535 176534731 473393351 879653277 140240743 945726773 14324093 545757723 88469157 904010983 470524265 654004387 145097199 765756349 343378723 708476259 916598359 453868917 173263727 55641325 257567631 172860093 126043195 894747969 495667453 150231587 721855383 330523331 847214755 463633695 531788479 753163071 253730865 51224853 519100183 361657069 716254209 295124559 256286505 601323369 453563409 930395387 563013547 36109497 215150343 766554165 101001845 805820489 120507187 837008123 331704203 952279021 573888395 896780603 498050075 775706853 272894129 692572865 86801269 995601623 984533483 343910475 455815189 37838029 123993127 545569911 256011425 248326205 669776637 870568655 739633375 49597445 764246959 880584901 662603975 765085035 785316383 115573939 133049713 640199453 513929185 145555671 743886371 954391597 666698025 240919135 575178055 682040601 906154967 807750231 62175599 564209353 511593077 588787901 604281431 952935815 158824239 206732655 84283877 880056331 58818781 888268087 286942495 68570737 514885119 912063687 252851517 42172733 952814523 837969847 392202905 55977567 483690721 63988107 262280629 112542761 173767913 425226409 776145979 881696859 748100337 298176355 267903491 838349081 305923777 462523125 677287427 138967537 949430729 849376893 375305571 547718871 722657311 271566341 139182187 951185195 650616193 596303743 139675023 318384813 487607385 836856771 455544425 438264977 367870645 40816533 860164799 182606949 88191307 149183643 638619003 307141933 561144957 439673447 905608113 421613129 691992401 151282547 607455131 658211467 42869877 92726817 495947675 262787363 286362947 951846329 231314751 666770099 801255607 941338989 106078779 223545405 254391929 720131925 286915941 401904687 972487131 376684915 288606151 242520929 173595857 466072753 543422343 609358347 69552893 766319585 331373819 205639895 259701923 53636793 623276955 427009489 812718005 101245661 869854991 162587501 447089865 934101205 18670623 503467913 793597983 731901201 804871105 574897771 774408349 470290157 911557645 188236733 534401235 937666987 120295239 867956633 843648505 57036143 496345307 40123769 488308973 779979857 646584925 69578053 862760247 364516677 16878215 185896519 242723847 382904621 543430717 412090933 966553393 535461845 551594379 259656237 214046265 830392045 974082721 377561015 902615363 122389773 506302173 743949755 886065183 964966583 907858883 616518033 307020611 116510037 855367675 18853365 326488273 277772855 882599003 423782415 448342927 71359895 546015965 50275947 144277483 710081429 856375207 630253563 458650365 461930813 485587967 53305121 932076933 745089919 963034461 324543137 554305259 684265011 223957593 567074469 678748219 81675547 736288185 387183047 587598126 588007647 580655973 764481537 272853287 381288979 638900083 210889657 583019047 961070127 883999 477536445 704729569 216077461 416498121 207899969 939970731 676008331 322888191 97308387 993368709 104078663 613005427 254577577 932162581 563207391 84318463 87446783 148382635 647219541 222470569 472459451 478414399 208333457 741869467 730636827 591283311 192781927 399439399 9322689 994978179 696616847 839320521 493253053 451801195 37618345 132120871 838615685 400159419 563804481 563315209 197304309 421665719 723898053 966182499 844055889 858764099 166491025 288180047 390958919 456281325 647511525 336977939 606290159 462444273 772605161 840459033 847659201 18422059 284428721 398859509 622175655 540147745 410916405 50974047 725468653 790739975 311955029 276379711 303936583 741405103 822866139 27190429 225395411 882947995 490525307 226781613 44663319 356463345 647741129 368671691 21251071 388706435 908692299 843790201 139726047 406214597 338136169 212419171 140656761 774029783 466338417 701726301 745664749 570576003 76892833 983543393 908405707 253153077 507827735 738661265 144946439 267461637 290639069 984209467 320608257 647850161 149627623 6592211 264942715 60343715 938613001 835770609 93826979 975984875 556130313 221499481 606463247 570976571 12227469 754627063 217669565 382428409 785293609 107917023 752945425 133758245 148673363 586882891 441292247 49226357 222496879 570386335 408302407 994925629 899459527 277177189 521394173 823790971 508118153 860082769 668112125 367836633 4641999 306547009 666591927 548802725 179960477 173561651 568903679 865237461 153924825 666244693 240552209 892848907 940820565 298129659 84165267 72546955 133493965 338658465 639901843 549766217 943860703 165030119 854427525 711104215 336310293 811857049 236336455 208938103 612498401 168081581 683240991 889951247 487058075 869505339 574683065 153350705 821641095 161410695 983622187 287973905 320591563 323913727 561993457 638498959 224916601 175562547 281565683 819550517 611946893 338709727 164599419 517844269 397369573 584872937 858417217 955680339 198769739 19356247 786272865 744258085 92894065 822625377 852951135 202877641 657024239 316020063 2852137 852877839 593859911 929773271 828394007 620467823 52687843 676356979 925357027 459035655 149002773 386225157 359333811 730252191 609816083 315159179 863941139 639928229 187288577 310754085 256368123 629351219 113034983 975960865 973531591 88195845 19935669 781027825 495223357 577614469 769128009 994308143 487227273 284429505 332340831 134411937 515863617 816180079 919759523 185850673 864592481 328852977 344487333 373181937 166541903 19001421 160057567 269544991 71052763 229082161 863439283 418192155 533720373 374395893 772379241 986376051 157636093 826477977 398537523 550658009 41616955 273305029 96960297 139393577 738980183 741368005 476072269 206977125 62305065 728737683 11756425 174624185 541325039 189690061 67088813 866737017 668395595 148485053 740912243 780291103 657224783 882626893 873998973 938161741 24412269 622617881 71125329 392911825 632621443 408655967 225735781 404358813 866895061 656729349 352884239 210335181 326400787 888004251 344312465 568785061 641996111 617524569 568930581 786533261 585845259 258344221 357721771 396945179 501092903 487320687 181674317 999778567 929388531 350146429 561714395 123591993 729208355 458280737 118114849 300315835 382164693 218091479 82996175 981829821 40322191 842440905 656449403 797187997 408186173 34925253 931226795 310662621 651424565 215206209 562645447 792614187 663951413 419975007 789066527 726557013 650200159 619074787 858557421 288315229 313697093 528911167 85687633 557971553 953270999 295149195 87145815 782086829 777475703 786010243 796037101 678889653 622594535 925850511 63501807 928104983 496855639 89847231 604121629 43974289 68730201 115828683 252971553 103527699 569223661 726849555 965105035 301152429 454740343 1981339 732130515 600184219 161735877 859441429 387463775 622804545 736398603 667122135 679671155 446526507 72105191 924752095 526693699 236808457 617207647 713741271 84481513 689749947 829288671 766665741 250907493 20658495 736944187 872469369 31592607 304865733 36900277 558437817 126985323 352473501 810113517 985386261 402478721 86600261 704350963 536063867 954923137 848462173 68481341 428930949 69865207 545411507 770223269 810157423 430615633 691378743 570772851 13704739 243658729 419920137 552255829 174445103 284731651 475660393 180810845 562192585 759480775 29777347 179052555 293114579 853514819 770673833 759107137 439339985 904392565 333789657 638826577 97407221 236710971 968560691 450519533 434067989 23534175 416528325 672198195 204308145 751256467 633522881 290288807 777733873 825502321 31485569 81793593 406407841 983360889 204348043 732133437 65694779 998779923 933579657 678400367 217857501 737552785 94059599 442644725 893671505 456130095 815316183 823278429 280232960 625162763 172284227 901858715 746648073 302337071 13573857 231711759 89572135 978015117 606705955 85844859 731196609 118479359 313465509 991374349 979181031 573379907 37499945 366796891 174880335 579439109 156762011 110782561 67394395 315461847 324099343 146050695 335399697 73498927 859913663 850893463 939543329 344064113 419085071 738466505 929472479 296428261 680077193 160259257 569882445 518109373 798696929 145879147 24135699 767308563 284206579 557175629 692033151 9765605 328342979 229015863 7186823 542772767 910619769 141985123 508772813 722412179 415608683 906010999 658456725 177025783 683470611 687083649 360679121 598507503 208638485 541891061 844587031 946310403 67390011 77725873 775029159 45749669 819808121 662390267 444151657 97212973 384892651 248235135 786835177 160388829 885807061 839258961 286117473 590602463 397638303 247339251 465374127 144602949 498812895 457421893 620767579 867388421 717839185 754094487 131226005 492778243 258293973 557598623 173667635 304948999 329836919 713733751 202130099 205025985 133446765 55564969 604297535 528550861 599514127 574218781 854611877 264126893 293744355 426577195 316262237 943226055 280522385 391804817 433664389 523655533 321329903 151887219 144230373 392767193 101086969 504006749 902341611 662579245 823800783 1694791 376471985 701871985 631402431 628746381 110441203 937106069 532742969 36612341 167125017 428625525 351904221 419807401 488683317 596846033 422068075 80175939 661845243 270927443 249754317 206948285 819258829 287232907 90293531 842189695 402576047 393263603 668543115 788655443 530021971 61249517 612980611 633106031 961715217 402925761 343006607 437391217 303018723 964976543 103796321 375011679 354040951 427787427 612770517 517663397 269894679 439882701 946929133 189309977 713805757 244659719 863524821 742441465 130155783 594278433 345490143 392848105 709157949 570096597 121588361 419693813 857516879 391031491 828055155 66326165 345218259 505901943 357272427 47196067 279282951 159805025 12953187 391613033 327247061 350809817 486969207 882233487 588463819 903919647 104101609 643057199 357182497 23112801 947472421 273025219 753879989 96648621 379366079 193687089 77254415 797466365 648686961 698180551 177170781 841087793 92256541 286358329 303665271 639457301 136058321 782495653 438796255 875050839 306134465 603255441 788587447 291631507 834268741 579188969 42289107 439200073 735829217 24067075 347162279 737119201 620508737 617967259 991935573 154225839 19786041 401034199 617339809 453100523 755526595 806825031 461180157 88502197 257171459 470942939 378384767 989520665 756752707 55208949 494149095 694541061 169443063 997721687 664874395 727614293 171173307 221605935 315149227 399081417 143626835 266601493 148533711 425063689 997056679 430393857 926440295 285014441 2726093 319622237 204953719 261645087 573626367 27150581 794195631 535852753 452868513 733570557 570466409 507694339 536803391 425480979 833519011 163708905 278375049 168875067 873667329 212571805 714689629 640876773 7051991 820496925 418662847 240147685 940834331 874902103 883263447 666490743 834517867 931024151 512785403 235846209 212722191 382076699 763666599 633070673 463374069 811769089 404723835 928872221 637862837 857207891 423800133 874445183 263168911 941709957 585984245 879937215 739238507 139088363 115444395 260260745 104494039 255982283 454228901 496950003 276697097 594835019 227954259 484970363 163386081 468174717 986145605 258820101 502701289 152564829 641215033 308122333 572975181 449584329 511899919 403432123 855896549 111838091 927290069 364421563 381169201 839059285 34844349 679218273 540206167 885915073 797924641 897462941 476059431 796383821 221895303 986403009 839963673 232323429 189746841 133250701 486481995 44481883 423898921 362741797 322317189 839233893 800771381 598850839 551391543 946813607 16202717 300734295 146542967 722950953 219649903 911608899 110788099 91490013 212658781 724604321 871273285 526949019 125636163 356330653 575000907 21264167 8151779 133082829 990439115 782758439 516589865 140383533 20282919 116631853 979874343 589813541 275621477 949871795 562955291 891851647 819084851 714053403 349033319 424679795 99259627 436567469 687962005 397567387 200743305 377389467 776787033 328759553 995928501 340493053 702179983 71538701 847122113 322334679 319661369 599341975 774176929 343227151 145572483 163182045 894980853 728358775 27819201 910612355 318647303 920314569 867023725 906318999 864462275 795809959 791650859 671950221 89106113 710522265 134302661 979673667 281362241 539999759 29401391 930694909 445293609 215736167 744631429 19972971 308954633 243725533 107850761 244961697 299527705 266955421 980477737 527724315 416119095 160610999 668772213 378808767 392014571 122643493 569203113 622886107 568024677 857675209 980905129 325791269 779053945 103972201 159799423 233103031 975856555 419846843 989187423 55822873 230119199 294568021 365302951 643813687 479297443 554133689 258073557 870433129 71898547 698927953 189980569 464458087 264738667 796850541 966063811 740252763 404235665 119528775 783548751 925916879 304469145 656758017 999765857 440174523 226056085 690655137 11206211 572447611 783525703 200014365 779719019 54317267 792458007 277755979 615510897 313576947 836538897 171002349 50422043 343541103 866345455 511297965 379316307 712081731 797291537 992252441 616608043 668145621 765791867 619974319 851551967 530220787 384328927 262068943 923106515 71203537 685855635 642092737 147842451 534403853 141942423 862884021 860827089 652340653 505096337 185138631 616707943 289474589 436884945 537293047 29717083 985919539 169899343 246947373 305456599 132588331 265988009 641643325 21984045 872569517 692126247 888542431 713125595 146114499 502876601 171238323 99265921 783905253 997453299 79266117 708228845 436499437 631618073 45778179 464289041 270062883 584950799 373479753 164945673 67851317 537374563 309443671 177996823 697509941 512425553 775611221 599548583 382311331 559788725 438565207 390881611 74449763 588864277 47899221 255263169 984020931 756635555 141923887 264678377 51454839 136631607 584403377 534406353 781523101 86389837 314818441 118658475 661492153 801607693 275573587 541432531 468186811 40264009 893808781 713978571 303952887 40617333 798133669 92226367 400439081 394625969 781864167 521859587 675780217 462373319 426549137 414551569 130413425 439971107 721606849 454533773 432354823 714014173 535023235 762088897 726106521 499837875 493011141 313025569 586206703 129510159 748598369 737057097 162414641 966299137 761941531 54664955 351434231 298084667 531831193 977128995 298206271 42345249 285151343 203152341 45122155 376398521 366074643 513779787 353139021 561158323 43735531 889336809 529468439 995894885 414765115 772679737 555682151 664116941 144101175 230954737 515463233 778846613 943114487 402764009 740836117 740318731 700485503 183652133 22922933 811398181 125257653 773460947 246310753 104835973 442032237 297926979 285471165 482682991 216044893 86053617 56134103 130378965 760674345 984983169 59632165 12432719 168521049 52784317 183191169 755799065 367962463 597126811 254839603 387696155 562814357 524193843 330930151 754017767 874284857 455729611 244553907 387809969 202862199 150859979 187248403 589773657 829168993 813590217 379938031 336898409 369326317 10446977 465574289 714065931 340291071 139902675 869928625 429625115 809739359 518015437 220888425 797848599 927726015 449553311 253215555 170408741 389732535 323857321 196849447 571984917 337485769 394567529 949553773 440975199 420459615 144129423 591062483 74615073 248739787 164789483 210900093 411633187 241040963 997466491 142623993 565006547 38069739 973206367 737051707 157059147 69017547 273090021 94323873 832386887 503437525 966017663 830413041 361922353 177344737 983089609 202462039 412238103 545875889 964621443 537449575 471554735 270210543 795224221 616020515 195418459 481384491 194518057 744846059 998357793 531947999 602960479 183411343 45019567 873123437 602348199 156395845 608862045 782372893 393901449 780284583 523372587 259376929 395070393 709460669 675905215 385773201 404406547 984831731 705975147 186785647 570664345 466719521 90437923 794872741 858501751 117422719 448087687 560331523 218083071 233521847 553481441 827462723 383971247 718840021 715007259 750050311 73191721 908212301 93306577 25215957 386004791 342011 50968385 358038307 345875405 975761193 157900369 72760391 525518855 986993281 405152657 184608131 382143783 532894487 989863737 3804161 823534489 495854955 186673959 702087377 332533745 644921953 219490787 779697645 914769385 264307271 189673371 147510581 95938917 900038099 933056297 743755125 881448815 782824735 51984137 267127133 177472315 863653043 184313445 741578885 70525221 619382395 22830091 439434863 527646129 702568141 467087217 386256771 240421511 897029477 846735801 573650965 771278717 996102763 99591335 428083549 949618573 361108329 694880173 467266173 256163803 679512663 372402913 549432699 394622129 722643089 716088323 644441677 816179845 401028571 466187643 759562183 832913135 244409187 22976341 419497647 722639797 311045313 135178315 647954093 301522367 381499631 203963069 690508113 372295203 547065171 952690095 393461011 690094363 706234041 53146579 582939737 559708941 168352859 341673085 868848743 417100159 895200465 233958065 52810355 252969 4863265 307626515 355757713 158279139 487631291 216652275 313769671 944532915 37057395 707010633 714903549 897408449 250142853 995551923 63785217 525693541 969649049 883240313 564465041 609198869 483125945 783625353 191179595 253854583 26313819 591649405 119023803 996634711 593448031 136624529 847098447 821900967 522961671 538153647 742096739 598231169 952967169 555857507 354159925 666301483 899453285 966382569 39707635 409479439 18943147 508441115 431312297 579548863 22896573 639096453 422396757 476432889 249227239 204205651 109134293 573172637 962160861 8747869 526823155 51034041 235770811 911441699 817730147 464237695 953003531 142924237 459622585 269591883 940922039 817148711 324840059 447194015 511200019 240469419 395381007 154004519 971657695 93120375 371194313 346386869 222390337 510466899 680293599 502485063 421618883 151550895 545164405 350700543 981025883 659947937 463887763 737157159 431767399 370670569 679680299 275107379 652108461 325864941 580113687 60846271 406935129 886004925 707582229 881936525 359609601 231126543 989742035 246154121 114398371 371040069 434345437 973307847 134790049 289118821 236899503 606550655 590586317 846092573 15490475 241025305 274150745 95919559 47025435 624088605 477058017 870320223 53759277 150321729 366531439 617115535 500653819 241742173 229489003 822159781 930763655 691880821 365851055 120690583 741597883 674026933 380610419 377518087 808831081 584039793 26969699 865719353 84207943 617372963 966091653 480400671 438935545 545703279 973950547 459217999 802754055 322455071 662198187 476887305 935403747 329975081 421026509 288107315 766203109 768266661 516144747 532056671 852467279 718511319 597218201 9167553 416224331 901472045 992706771 389210169 602145259 270804791 752614145 218279247 531679525 32855217 463269485 722313779 229542365 74480511 757208527 474986939 877828315 927847597 248967489 46379109 788666063 751555435 948612427 378551643 165779799 572559383 542926299 513606507 621396463 209525557 247870275 741636109 77520131 14418543 158452547 197796959 263305955 707133335 99744765 782310441 955004105 471499177 676456195 716387545 310862807 309362633 998154311 949017735 803198997 431105091 794346279 959899381 483197299 115619721 161276775 451055749 842467021 238790453 371004983 310497099 351007973 892794125 928983851 895319035 646489951 781077499 513052479 687057143 337575377 49352465 715592665 307602243 109809333 770667149 856231879 437281681 792484455 636736719 502438975 10624311 85366325 310592357 530844635 24927541 896830797 217816577 207952803 260498227 461897163 93003645 636340739 236749949 787619759 155761887 560002513 577747725 442889699 528911441 845661515 776942209 449251127 597601829 157650707 138000673 910548837 767632857 581838139 166663901 732148239 532529423 949423667 118409291 690166715 880993425 909512157 970432425 726035679 487891795 714583675 224221665 360535249 446953327 164241341 329698689 606379219 217049389 269811639 42932161 303517965 996615667 700253155 850019199 223317907 889241429 106869805 628880449 603505501 169772561 930139611 730879803 861364043 354137353 696682663 794544703 581673769 127836231 968216495 487082191 155665061 668511743 774654067 804859667 754214491 410437005 880745957 266465497 408095947 326942323 547423065 219277975 983156063 649504605 772517773 436110445 570737509 960965407 327445411 626994469 866254107 905349555 167355435 887478571 68243103 402955581 833314843 909823383 130669821 827327751 918954957 811849001 279545123 974329479 707400203 300216647 238358253 463857237 56282877 204235009 367148571 346933045 953004859 116648463 643760981 151553811 540857027 908096463 128619823 508487171 312942073 686988363 770669345 100384577 496792233 481542445 494015115 300217389 802452235 548719825 231431095 987650899 300999867 159857971 712983767 13942119 358990783 504492797 53755141 1194055 708458883 749183101 157789505 781503985 528000987 443772587 995970419 361099157 983856649 956560421 437058927 741600387 463338413 872711731 732645355 253471031 62999511 52132803 954370443 986258005 115034107 932577901 117252057 800093609 742054137 549463921 250468419 525953829 481685011 160401079 788625699 932692963 464890359 665970637 9104573 260027689 176548795 925816041 586450999 952621919 821416413 178024427 77692581 223289629 102053183 413036893 754388989 482005529 847471155 939530603 917598243 288273977 3328873 347049197 941522911 622078601 90308355 222049891 328431587 441638459 271234949 548089587 774290377 625852331 304642777 235649389 325806351 564650329 157826393 960953161 670930465 893928693 280424639 794853285 981318481 284599889 34704177 362464841 513957333 975401061 242534461 571108005 85596881 659264601 395030487 344565965 641455693 755335797 785731933 977472645 463915579 121446189 721055381 787515441 647418227 289965595 23046827 87785441 440694969 833793797 693766453 77755979 821233075 4671701 887546159 187138513 57859571 483807903 323000321 466939257 739218421 971957405 138971253 198554609 429251605 655413041 84412353 180373649 418858401 610926569 759808645 305538139 337398729 396577911 107173827 319800561 153634981 338337207 121993707 264904103 504811577 860286635 662361039 263041137 547027307 916784001 784780207 992541423 270771469 930913415 145112111 587343723 995777241 601051453 169407323 374781393 222924913 184509253 59249579 906549945 63902813 987859817 270232827 529527393 441455375 628635295 81190801 77938101 291906527 250054911 305764633 296859967 551435791 434684109 627491239 739833401 265612233 551659381 971477693 446257537 398675229 846226571 10642491 691845279 551454981 632824009 734443377 780637889 360006755 414484755 619520531 617892289 737510143 575879027 710266689 899395357 602886281 416444959 867794045 656611577 158198173 362472047 751265461 66098985 646561467 553908201 870882111 531434019 910727501 929957173 120342745 262713861 651497635 777292585 189843621 590040981 313958135 239029695 957721397 160083271 734205547 401774875 526585211 745119789 632881669 555540105 980031445 313180937 431308475 709048185 935602951 725147971 248639075 906823819 881366849 39034855 581992639 103217789 921488661 53489839 163549305 440561471 489837699 433800443 9100833 665186017 17191407 476072143 135549233 970794657 170322727 868505565 787419913 158634463 519901791 391138939 28131829 461974825 59643191 182134953 281477155 63295791 386602415 287715085 203765423 885062609 7814969 913165303 603703449 246843151 968277417 127290975 73550793 158980115 599479357 241347811 578874899 391935029 983726743 173139659 591935023 471264747 57754057 939560199 69660863 712653789 326387011 645333803 300644681 22077395 68967399 301873275 602459457 131639231 255198455 494289625 321680129 98561729 534838051 289527257 969366729 637513241 128402813 808948657 354888131 846056499 582435461 795923519 885278461 397586337 208448799 276828681 873859189 884516897 934350231 879635777 609179657 152986005 940023973 727912127 156563589 381018887 501217381 715379455 751100567 236400043 278478685 690859305 92300763 696225757 350772601 177333263 84654031 528692255 471011599 935387941 1235681 297381917 181395419 600080267 684811103 846802857 250483715 756349707 868489345 855643073 366603029 736817935 451301739 61651847 517630727 864891315 684311591 788803397 281470771 268721333 217680547 574025071 275721057 302693499 399869881 380050849 591478461 407878933 818517549 234504095 315545311 674240315 100691365 71759953 130405567 664149323 799061429 336306893 901939655 212342349 122425045 550684493 72762561 326508785 315990373 178940469 909752549 502972555 328896687 926198543 131048143 318285343 811169253 887884687 197052293 642298705 239197471 605547153 181708145 680024943 743156833 300095769 405287789 777262709 531064977 949072719 540604339 920632831 36358787 150968713 99491561 336523859 707951597 318065473 313844509 699293027 960711283 182402075 586556611 565353415 721261213 390334179 57183161 539552187 896933597 956063881 386352197 384749095 786503821 415510317 320123923 500774301 746661611 314387725 945345337 671962961 924526627 882916249 303145781 43523619 806675527 352076385 916419049 627760027 940788813 986925601 121069223 704320233 535497497 815653821 608915743 194159075 153030771 682870081 466116723 686783497 688671757 842931935 234909733 133395329 154825855 542802417 879961893 525102619 985542733 667359229 326077637 514948687 231227613 233408429 324304325 518022203 303601025 353111507 514242377 232540327 915845235 627969643 751021023 870248961 486659541 356723099 53859451 897801059 578820271 785085609 512061819 236991369 448731123 674369293 967984547 395638749 596527481 752717665 924175139 64494445 425072387 904531559 602156687 671642607 686961467 331734539 498131939 130244293 466931889 97509983 137772935 834005493 301169377 674055841 259887941 119259437 472546087 615185969 836801875 33086149 285915089 483810205 512796497 581665981 698702095 403956631 567823169 40186299 818514425 923787771 24757393 715096593 241044369 104314059 435030807 132382387 646144961 595463475 262137361 741351489 47154265 845320327 421700387 88382467 507940371 29621055 89401177 464228585 614942097 881991171 765204011 503345801 181000283 659964571 345943157 631581219 688208865 414357755 590346621 491857821 454104703 343720511 619105261 158828167 63640693 860698537 771166431 391038233 648007917 209697703 778163917 91808049 607197943 610399431 278963869 894838615 103592589 869807305 83040925 675428281 177720721 794931087 970937217 279708977 19650249 132123171 245388137 918144059 678693099 544718267 246947541 629032449 169135501 699826863 659841465 130184015 846496817 424383875 147263077 830099361 819307839 512636899 561258647 909374483 737549067 695786403 178100343 764751979 569615565 44235197 588720527 947574299 405163431 61282133 746686935 598787897 809662367 923967159 919163049 896588677 202209451 473015379 780986319 187563879 282689441 422273991 120032881 528881387 951787329 521551575 366369833 441397963 541617465 498984043 528882671 1687399 865197335 894676891 188622125 817954755 16290133 52099741 547294895 245950097 323241555 320263127 384481705 925029669 702783835 51494611 863496377 109703299 521178529 371667783 73245413 859184207 733383483 645273611 483345561 964547545 357941289 966545957 422273707 728827673 695258457 784280511 538514775 233472941 352144281 962532139 929640259 204455901 611763361 406779877 94801023 423572375 137744917 817473939 854203259 997771637 478498431 879077115 22427673 940253619 190568525 302823189 974123675 374844731 190613723 332189179 470070447 60398745 576021863 631280111 648058987 500482825 485369887 557541467 638706509 611326821 523383569 737600215 876451641 498699577 53650741 411751449 399681915 176563121 503755631 237227785 243213259 353401509 115178889 444152239 210313029 762659221 8166705 709162047 629805423 94525607 451997953 256037907 846078259 678240685 726661501 516183217 219267051 700848923 93782027 487464131 175532113 258802449 924190207 965850909 338401163 323132503 600096143 14827959 337329703 653608285 514949343 296536761 492102939 103939897 774317305 746115435 133302977 398943401 573748427 24318273 656561121 9236249 731477039 233939159 879485095 611124627 366950633 482497775 571815849 273469903 88106911 681975669 944227557 684072751 129067747 589315709 924249789 62149561 802583601 15227201 665072385 219410203 362933479 557243173 965987303 137738671 709440335 769401011 970628875 797966705 661464475 570735775 625697393 489605899 999517923 316724421 249023369 59632331 287200297 799569703 326388261 903647655 453551449 358220019 966915461 60529727 840256575 251335543 61769549 824311261 934124951 625238325 717805195 213002093 6861315 910663881 160128691 186386567 263277323 74872837 305702563 41260139 279453729 970019031 317423521 770252031 71144861 265632349 221422169 423948245 977741763 179644379 455954401 109180193 359621049 20251577 511689397 487533763 463472273 416194701 272079291 748349251 803412037 748703761 304579395 134203601 981626039 719333929 661095421 479774787 856241327 630098401 729378315 163851287 969927903 582522475 6618607 429010807 882877663 841334817 180726167 509897009 786665521 935292295 829333337 703775933 902722367 286915659 431034611 462932793 278716505 203980861 470206601 962371181 323709625 854222939 299679657 31033799 549842817 530609093 872586311 870242143 870892729 620659911 998236095 659653879 401479249 896612823 216254427 337723121 574737703 558142607 22934469 231524705 23869943 302528175 169607441 20346619 305795181 723628839 312579777 288416801 847309337 927196935 218335285 552990679 485788533 771266189 873963069 664191183 856843489 322076185 486070797 56487007 754012073 513637177 349520453 51009415 247936765 887805343 732915173 33898479 36546293 96548391 527425889 975917283 252242323 439455699 968585609 910129245 186697663 708536013 975411355 816535035 608715853 610184557 6166335 783967237 477589237 413635371 314007423 856190059 985017177 690611113 936366035 10211267 768508927 404626357 460240919 354912843 49146717 718675521 750972047 582010093 868188361 36344169 901340907 497701431 429096837 479139183 612149053 908739425 69374905 952754111 61904133 203738441 870600569 53293037 105263143 702585205 507411901 426721969 822296561 616676633 368239975 659372275 673094167 469392391 246125117 535590075 30583735 793259457 332962805 598438973 267155031 753239151 715028259 376730837 69666531 22653407 868630605 747281415 428156593 495615623 784798939 268000379 904937085 618232967 265836061 211597575 929865583 772258985 22108747 870916517 578615313 69449561 995958667 808731767 157104987 564997551 581590241 598461645 542942119 358486635 883079489 1382421 365432765 258558707 402017413 42252013 701986251 771298391 994384493 527659545 199880291 147368015 37602209 47672193 927804293 304558649 140572341 432024891 949362069 876927005 372380449 87899777 408567391 718481323 978250821 591862967 350079003 671868729 200901739 563644519 515715685 373190341 803782597 58251335 471766339 487399161 557433197 4001327 960832031 245401123 358051427 337042469 303401683 171206971 700338319 262546257 832005273 776823519 312857029 848021769 359752985 531541077 949628091 474430409 96254813 695513233 137998357 63406129 401188059 78851365 728437085 456059405 923690609 736079699 605788161 583648595 488358757 950727427 443600475 630675227 438056037 379776449 86425775 61528235 704302723 584447945 478644259 243469933 898627133 619060469 449541579 840851699 238369403 991014353 949778333 659285497 161249671 876333705 938698621 579245925 207226393 648647157 866630195 550294591 30610509 212233363 890166385 677417401 728721575 460791183 746323921 444016691 95102231 56850867 616675793 302876717 219816943 319728761 927103197 315196755 693766895 924607743 486251335 370998647 760969275 457698061 334166085 136342935 362305889 337481235 415288059 933117139 539462741 186331173 508856689 789039993 428729975 109320455 27127705 362175483 850966919 303063325 512288845 739228149 427449015 381102711 325287499 402142505 680326555 954771403 332552511 181062787 271384881 886470523 43455673 50486549 819861211 879680141 50739509 361068829 675288425 562900911 730164497 395032317 164467217 220947001 902646167 95729215 652352367 966759211 657952247 445020311 35120775 866102829 977657423 808607457 765857223 675104397 823145627 788132895 419584519 477407809 538914247 817144445 488862591 239714025 944966819 965688911 980678361 142311631 513461993 934370575 134647841 990138335 457723963 781610079 308726219 933832369 460955937 436247823 377051573 672129411 914621453 673582605 614803493 424522049 518407255 673778039 250667717 189016181 452810049 569887119 875515823 874636377 635570933 683090883 608758365 559251403 918433155 857214881 619021495 950858323 646660581 249854955 901727751 127505183 178659581 270331773 551398403 39630345 365574803 350608489 805138889 829756559 730715223 370547933 984295647 336806613 576569061 727190071 563315763 149968047 356413117 256923131 811966743 88680083 207324489 900704977 96733257 191868063 9284057 5096335 178844401 126581145 453918887 656592945 938420635 471174643 762373077 951350487 149111609 864358085 749298283 421712077 682002989 999753931 791683417 687351689 611045179 370902893 281840251 98587043 580054157 722837949 370951057 630114785 786951357 774749039 462963525 683808811 679799237 986050533 831993895 456875673 947233291 767785763 599020465 325410913 473490269 310810331 784417091 833667305 225192431 306871139 48047913 630166205 541758815 824360123 705037713 329078927 32224179 419669897 57248151 702672441 733453399 125911069 305289275 81112001 838693153 448130927 488234855 624391249 226472781 83305501 106656491 593105723 444459651 604029807 79395711 543322877 347502541 96778323 68341705 974824503 539792547 168216675 134844749 152658615 836292065 835827421 602935169 299565167 606913739 138003365 390506681 604338297 257297423 74026063 488653115 444941339 549831365 621892881 832677935 364720063 715532133 156582855 668002469 836918265 638951129 361493245 845341845 779891843 346593133 77070047 751198181 807656255 616740821 110972487 208523609 216332091 528596015 755716017 9871269 254507433 635290369 209058373 170319459 340829925 135893047 854183125 925003539 608786289 284233253 933770965 732470301 263428857 743494797 812617573 672361429 907099985 316256143 492874319 241148273 20825971 550410939 53491453 777183767 769538177 211170821 238997387 510728651 406639307 542390477 881553847 595893889 866625727 766135509 757202407 727096595 675951611 540885323 637910059 511915583 655237185 724530629 73876795 16949171 116718205 317405505 491702645 636805371 260075459 42730275 725641697 548114069 44335181 765301815 418375471 462701791 769843327 660543925 317979827 125136675 192105443 385584697 236387697 765011091 900376111 709856455 68605197 309963081 108125755 620898767 886482645 36173123 930225931 174322213 591012549 132274029 135091917 18525701 508167289 266171545 261642705 477261333 120655415 603417213 134666643 100322915 921047025 849301181 909569975 239572323 984286783 42140643 142692103 799966451 293205853 276737629 606350969 974720857 804121651 387797893 149143077 166423617 134846291 560466077 616542289 997181377 21335025 68149199 283731557 207312213 989313773 452154669 888391159 775147237 189265359 13519789 729362883 922309051 965745095 870721587 577008809 872218511 446105771 978273927 783284917 534408061 717436411 607319131 545594909 788985609 426420701 644761671 981077563 839648545 907205153 421997775 491119247 41488157 254479167 120276825 290246089 765878199 310010709 20763959 41029817 726864405 365010219 322920611 171961181 311032003 196093231 643455423 769355733 346800313 101121147 283000211 593911663 33719379 130533835 969293585 713757597 969686103 825946249 891471377 22472441 851397361 617548227 26234965 689581641 735648951 931582255 207831175 304733559 793490341 817383983 120392505 634782359 522922017 118590663 448368097 509882081 795233785 384194219 644956129 338122173 587798883 778501677 86862725 842141619 514352633 822351183 352141053 215666551 191565763 796247735 252447585 699734243 460321839 658195127 37434803 374040573 104988431 131981891 595860445 707460591 190248867 405228027 920185263 532775949 504540557 799582503 446936035 386059473 956641759 935534775 153943323 238445277 319305739 566572097 666541279 502850561 341718767 254404357 33250975 1390123 218616271 141421801 236070071 60633209 287087451 690186621 851820391 605208621 298122917 201506553 114232281 978032051 819889711 633699131 167701789 597272479 197866201 491974859 289773869 347197867 556753651 835319767 579241451 86922169 59320113 605571385 955752477 761007833 734103473 41604461 588445817 287751225 220321529 181568925 311002261 773768247 876830965 300676757 587150323 22244693 739419643 437935569 877022973 864934209 96477129 269349995 667363843 431137739 923056769 535308847 831139901 277135343 639521717 478201993 279136977 550738129 93845333 673077649 169741763 712408251 213173443 886675719 791925513 855086115 305696705 37091667 287683449 486882977 403210623 894421121 107552213 505761273 750886287 980779851 591841221 774111001 144193265 424136719 978823389 271179025 808295177 211509719 311904149 982611485 320374949 810435917 160464461 174860961 316305145 219013069 74824273 85492265 806561443 822210133 888000719 300939367 708752041 718060683 745010147 892608053 38056823 759109055 922713995 83965593 511823329 5336041 673332405 446214075 736856617 388914343 893284911 578983921 111439599 384404545 248128433 538026679 867814979 240060581 219565793 921799597 57034907 750111341 914488387 870662561 7854033 774183893 520276043 205155205 341845549 327172551 579647059 347099507 608107869 779995343 251881371 429622705 918709619 404246569 568452683 348191657 455586287 121019055 194250871 33673965 623014067 146503149 314508565 190897211 360770833 662448911 837990153 686374515 860320443 904973805 427652125 855322531 599237327 594016775 263705599 12670973 21198033 257569667 734319945 118662877 704338353 193695795 892923007 154286533 239343299 370530955 549398791 809693025 409287363 107002539 633400373 742804099 966770391 521780571 724360255 856357673 243525005 316263691 225811785 898741107 643501529 738233553 984761949 712347311 512068635 412980587 123509865 790668369 750885651 748623939 137878343 892799727 27158261 650506855 196837051 284174675 549724241 467235727 912352619 264026979 472768293 759835929 209853929 724747571 793570777 478221581 451711409 232611329 440448055 410991897 378679841 548641583 185687671 895914903 727791491 241661255 30348853 182852739 557749769 159568637 669069685 781257863 231743691 442060333 516829605 482820591 298680013 217523931 478573213 744048055 118986229 234823215 295549335 123750521 47523349 663102847 941244473 931327361 400405479 606081861 291751313 183858107 577488397 126191141 284736275 140956863 54915599 672954857 869439901 880581581 185351519 251141255 449480821 134171851 571321941 973196567 718866503 114244939 98098485 528302813 895498791 795782529 862651685 607116871 832553623 369970509 583998263 283637221 279895159 369457463 758748517 467307379 48160791 284224879 477981073 367731925 206804525 705429195 28981891 316089621 999597779 540345801 659824877 710914409 79830163 641029011 342175847 973871145 954502997 368069879 143457395 372796379 3204465 156505453 494309243 893295143 349903013 360848403 307190735 761005797 580071189 305678511 157449385 373331723 187496525 175181493 750239019 166493119 205191237 889245751 625963357 602605389 975974489 428093689 775302961 722561063 343746639 474753373 160620415 100656103 604752721 118634359 521993481 955555923 198612217 591230459 966087545 856120403 567519297 738544971 75889247 237287679 549105295 342410347 531973685 847134349 767753905 763203597 456608603 59009893 506483677 200610695 191631645 466765069 492790957 181169113 983534763 12434749 836296745 834981033 30086685 236624591 933188797 586854729 681566069 855530693 162944319 949197229 775731099 523392331 385634797 545516917 973895013 898205363 429037419 82429161 864393349 237896315 354705861 581596153 813819043 35480131 481711475 994783035 207641669 767001305 230970959 695415021 197426139 366248751 98234019 853306361 812992193 920194913 307626007 313053421 903832631 188631473 521889477 194357505 364527719 929350027 775221799 394537233 282888031 968891011 662940195 307105449 325025821 410434899 465362439 362913527 779130753 733609695 892815751 995349455 152245073 448815409 263458241 544084659 57635139 100029565 772224059 839654347 746913259 220727839 633923553 413323491 414322639 269499801 399089673 989293687 887912023 642178967 835002735 810784929 66315987 562034925 623621945 114590765 899804539 856754069 713718775 476699527 571980917 713261491 522070169 611527111 802969797 82828433 623565185 953548717 558369121 306548643 24529777 157400735 484414493 26665351 528578199 991661485 226514623 840348923 74181003 816083087 54471661 84184557 984378437 680263331 131097147 445580913 508023087 247798769 747938593 793419201 667292693 377152553 91425791 688577345 619507499 2056609 159711007 269926781 48940047 363799127 71733429 160231717 483090629 962037493 221131221 204663833 290009277 565038025 170569605 342868567 805640651 810613707 317779371 89425167 66865451 442146713 420476955 778170257 547399811 654707833 416205195 266195033 399925473 258124127 928304801 39735819 621831611 320202205 246967009 39495283 100686315 885636917 755382719 560718209 228054201 593037647 124576149 544832085 534556881 906684343 948290721 408275503 560243017 462219945 404749839 432993657 634289823 976502783 489463025 786458825 1136567 514730565 695278397 304659931 899977437 591162277 370492119 850141839 781838537 987640061 615701641 52718067 808801175 627967173 435277057 6616889 500897227 983795755 943702489 460710075 325660501 532653049 702702227 38840063 225771143 289217449 905486747 120177583 992984865 297970265 885631293 152873117 268400967 938834385 539322549 297091271 62432903 41719681 606093093 115685709 253979349 780677501 216995479 552469629 207385487 194150793 343832823 302330057 436409467 295739401 186426149 324371405 89142469 672521485 111285725 427549003 608945667 47133003 504278731 935054383 253888817 122906917 162043265 382278029 209793975 247195553 305272949 317149085 606577247 514903917 989905419 769882311 246551137 13763041 71726987 6807187 153038935 565208061 824934951 480010933 956821835 915191657 939184119 896154633 344371621 776153459 526180093 109505937 370625597 835393041 88853027 258095993 819821393 343146723 343643193 527495701 539177349 598791731 767058169 266439903 139517159 614305771 864901637 606581627 625779179 605504679 77946341 567455923 361400943 390962341 207655179 286467451 68736695 647291085 424395983 741106159 778327667 316583851 548898419 793644627 311173047 45231225 310096417 958552079 617575935 753703445 194472425 499621049 27832113 177790471 625128133 632354059 164235931 786278269 330021271 864029161 618778611 232053841 156899367 153492829 221645907 303510015 454024741 214460829 815382851 596249777 71306799 767165441 876461487 225365045 567655617 520154637 846499565 446176003 343620933 789051503 803341755 444300087 697004303 430789623 763731261 75313565 647205975 950316705 480876543 997798049 920948031 486226577 97062137 362997597 782003407 401237779 964691591 561190029 694102519 650959255 192719213 65812377 591967891 421687485 78987227 314624915 354060899 785655619 76172387 315065391 566976529 276747545 265043717 779244239 920456237 654880847 746449959 113961847 691548209 472134177 515371409 712925657 236309373 248724981 20066687 85130315 436407901 657559121 379165577 249349325 820408063 577936877 634384823 510929413 542598271 661669027 238785909 264071235 741150685 679534707 674664089 520409215 221800707 212548237 767956063 109531991 266915777 161551427 936442991 150808083 15515345 598118925 622196691 189840289 972166867 759663251 139002371 869873051 497808721 277452699 428842969 936362813 974788031 949585693 173949085 879295089 839756915 557323827 428235005 362736837 848292269 149826079 792527371 442295921 992502427 308165453 468205127 380047185 282413131 596252239 630034581 411403249 98761909 63955171 801979203 966781565 536165311 813632235 908571397 742958541 579404333 320873841 657076217 492684899 472461491 566071209 992239267 720914273 351830251 333724141 359722739 424568731 379277397 257040069 147714877 408693381 117641049 246928343 936640829 454462783 361314379 343360247 669251355 933474705 613156963 25135907 144956001 180172523 199514817 685286781 862092037 535105891 505088367 957882959 345965669 547686585 531133023 747217933 70996553 670345555 564947563 244623443 239792089 191523137 748697169 612112099 385021101 152837947 938484159 1295019 821195203 529633183 528155201 967274171 785798781 59713397 465007189 461974351 237044653 158127981 506282585 923401417 593745541 12541659 568178071 665921209 148860321 569029315 611128641 346970317 967387147 757225671 802679665 814168035 390612525 698383931 179078181 661245183 658808027 380315413 989298251 931867721 445625429 993190641 32692911 545943575 251085631 860383771 255495951 234802147 513811879 861207167 662483721 190115153 53246979 833326261 606910247 526502189 3381805 459320063 45980123 379763815 727980653 337741887 66685565 800210717 904053871 167263495 916748369 531798931 72012873 905875601 977060221 116954931 26542967 527288247 189867027 630483855 310578657 140730371 822462733 859882339 489687249 215599781 233696077 910381971 217442815 622410099 924519579 659596331 539754117 34387437 453976233 22048093 95302125 904712761 381166097 5756035 692537119 230828583 60500305 147538723 658663283 472685103 132957653 480825317 855178663 373249135 986901741 719410593 264093407 699668911 740893397 783640653 306864041 302594141 388658601 510117905 105696505 136180627 914617975 421793843 245112109 230959629 237966895 849680939 109386507 569831221 157167785 723754643 764056255 97048601 225799081 884379693 423982813 347409007 170124757 762293475 904276327 120760217 191739327 298707661 649751741 836749211 64769761 16985891 856059055 772216359 972574877 601359175 310780787 796672917 629334331 662945223 473816227 836224993 145770219 810212693 625867335 733927347 775032521 536498125 953341899 613640541 915178453 407237937 536014087 117488083 144624121 124454573 647106867 688098229 110772997 226570643 694286841 143541323 506985397 472805985 559509605 763338373 531678373 25477049 515594217 337597433 107332963 460919141 678038375 392123879 131840351 908622169 128413731 709029429 908650225 80987825 875421385 61028467 590388827 764191407 543468141 391661785 425233093 562574271 358850447 311393605 7929667 941293685 665706771 819566141 303824845 828359307 925899591 56994805 439875653 856341477 812283617 616948543 870538099 579200397 812191739 177968287 556698119 970493111 514404637 736314681 9379741 450314689 797487667 298128859 114208693 743625001 952424851 672560641 44944057 143809181 762653945 708625605 90473721 97297393 376939149 672789491 341539759 892009503 857013721 675916535 409579515 173288523 420805333 814690281 410933225 512297153 860877533 673654921 496940903 219296241 177613237 12210495 600175441 177173881 502968459 115118615 143167079 218788637 100394231 127757259 797280337 725746117 69803507 5621433 410457763 143917191 834968293 576258027 230823381 708750751 70996121 238805003 758170183 334531437 176753737 205313653 270307653 632689533 742871181 641700903 938648061 746992005 516370539 874163911 98158219 503577181 193521235 528963493 907117807 764377355 3264281 664203449 179856401 474520505 269943545 339355553 529064645 180464313 526334107 148906149 296932035 923042695 430092809 768973747 861588907 770329033 29114809 284107107 594220551 947913797 261184907 482002935 913546825 61186547 693900737 976485969 258485195 188398317 991238665 455873285 683302349 170682739 221562491 378706761 742865527 844565237 467722895 87334905 508436445 574178053 667366959 651496097 311258869 136507483 453401255 258617965 888991397 826130399 11349931 869326133 923424433 544871831 816021591 421439609 235037901 28177339 597488693 376705119 178915219 694857637 722264623 46881465 7077761 762812119 954437529 362120187 508095491 637574653 73597747 99109445 965880939 177150443 565001763 167868511 511581425 480759961 453580531 19188921 857439157 986009647 95875225 710831721 717703105 358078453 375038323 421175853 442441735 220039007 918502471 50948975 903346783 337604873 219816769 670949693 534956685 31444405 258746615 438141775 790746423 860511055 982584167 973859075 205518577 153386475 962529011 180308065 985060145 225501891 812492141 754257687 234885467 925805881 586373895 552208767 16514999 875180509 815398749 205709717 198374007 555170141 951892601 281909251 994342579 901357463 104789955 400290581 483406191 263585933 660669205 619816391 768189585 984638827 931992487 414533811 823259627 594631045 927965987 301564709 746612793 169357653 704832149 497698825 15954967 246039423 592336241 275999479 683545875 413798351 334228119 578116911 152538781 265439797 85041991 230575767 517494031 176073167 782380083 493915841 484975271 964218337 336517743 99619809 409351825 45777619 462034039 475314647 588053981 419731771 399877939 410915115 124038277 260018899 335495405 550986765 815448171 5645183 451498075 448189777 585871447 446218315 332398493 521400187 667828987 529821799 898876725 908998063 676323311 768395315 990365971 441880253 545612981 354499629 514356105 362172445 277570487 550510597 884578391 374020845 785658693 198686603 455688607 663694579 594144411 853412795 812063475 528946083 121864917 145126843 54637637 465568015 840635393 248910289 573699315 653551865 978467855 29350517 36655297 688754633 324205015 615737151 46130399 907984269 581108763 557190645 831666913 434645755 165629573 777395073 881009091 461172853 42648229 202637045 546852075 938895103 899398901 225392783 583126311 927033675 904640983 759080623 255963563 825713327 863431825 734927075 628431127 146908715 999575129 431012061 832636525 193261413 508889925 296396151 485320219 117805999 794751831 520871863 11468023 52815613 150786425 804913095 902134591 371049711 87159931 267079675 18447765 340103117 594846743 160519115 750961675 707934599 814331885 710381791 620027665 336731825 174791817 364631551 532132489 15395727 529610329 372966431 934722229 499842309 185384121 814773083 178087237 577232803 221571305 796542453 808676427 720436385 660961555 750304601 547898183 241149147 344833351 843984665 544422429 50150365 282252925 213352435 779216923 156280019 161638299 3011785 972818165 48594839 768253029 477652389 490383307 294203301 90952337 937275579 289850909 47988007 72009397 977255 309761757 43515369 278952273 945092395 723614047 932533863 637331923 708027061 323127393 175668923 20130185 392564435 926470405 664232881 897584813 196930949 595593179 399852981 975997279 604465389 196874201 699983839 716776105 652840533 37088089 503887599 128442751 697503027 557532453 143925323 469961653 357535775 444641125 61804803 580236049 140057565 430739633 757549263 441739835 239873115 2180871 480029965 928495041 912872873 148448971 793277381 467924769 474190083 168746953 680396967 586592697 121076685 162318393 781296137 202164181 941696145 889022391 833060329 32847267 718999045 627049545 657993457 201599037 227564545 67359067 376398191 353668775 245479563 702149825 869599835 339860679 411958987 92124093 218986577 332416113 196755991 486795247 588092573 395939933 767901417 853220967 425592365 899979563 678553063 311976089 361429141 759615589 437433047 14625125 512110871 387600765 87980977 797783565 638554523 210967245 131108749 118229823 829139373 626903187 910066609 745932817 290291081 866878971 715995783 116035841 919341833 301143063 298186401 415198449 202917559 537369311 139668411 824753203 471663299 780137011 77894587 314897271 480398339 968493277 598783911 517783775 464088311 354132367 352009911 899288303 601429701 28757473 894149957 582819217 597707839 967408983 203974611 408954655 12149977 792136791 744414219 668243795 226586547 446444339 630570949 702966355 247270549 976899367 102364151 815072173 953359597 158273873 365278665 468594005 936957653 547134395 788938627 557770921 500679691 718540375 917403545 380350319 242338549 85395965 435063205 647349459 137434017 345512815 914812783 175675499 600619211 224487511 644330971 438196019 430758095 74104391 821811715 990972563 183219893 153852853 186936351 277845845 597978923 990765829 759908497 843080879 959615369 981242239 439681255 561754433 311742159 923204181 391184085 348609549 235816613 275418015 743881009 779676035 607257175 213458783 992505093 922593909 224543201 667322495 71071351 373263139 889870557 727761359 421749213 721316913 793183125 699554571 706269871 683285419 303812089 40235983 512220821 934396937 375081119 971521705 418259031 414094119 170762695 388844553 657916651 391146827 378808407 700823879 817606249 213417505 10723553 670947237 694665493 564237245 551623319 162201421 201944155 534791073 429243999 590801487 690945999 830764461 270799291 782053287 951090219 13706545 114478043 512917553 211673683 217473505 60248729 561627579 134279763 262686429 46132593 423505909 182493275 711745959 188627597 44420471 549985225 708357933 505339835 993424579 924780065 168582341 647236467 945864003 10338827 530263341 71333329 361583687 554276445 231176583 626350497 52828681 154783505 778847845 859746639 90131625 604902989 510445753 790068725 63030067 387174231 644109025 535565391 2883733 126135207 14746017 247507397 334265515 586367445 457579817 490231657 997692213 733420711 514442251 480025839 803855581 728729605 947237959 677304247 393237043 751574021 934103617 217825739 983713457 668211683 311361991 237440215 15766455 695289599 386815245 147798323 526751121 798455271 850661299 868030173 502450287 337640269 758907833 470948481 636696423 275856139 305246353 106529385 79677823 889636135 835098127 441667471 484404895 194187979 429671281 996549265 281449623 872561481 620706905 868906679 262829601 65237791 650466777 143607023 116592093 540027629 8841057 44148947 706506583 463360641 408334803 6875551 936049149 293415885 233185905 329639741 219676715 873855979 872767467 696815419 499591201 251385377 617932627 240550863 156603655 760616153 688851753 887035099 951813617 93532839 985384529 755869925 129385175 458246467 540962583 46996507 10594713 507585173 52547123 620623701 929344769 523817381 210644929 91954451 639819203 75788711 430655559 940949629 299164531 482173175 9790897 652310623 780671895 605401623 594208341 912951349 702541973 383937203 320288751 546813209 18655937 275548319 856464037 588837589 302305619 411749589 682647045 26659033 687987051 18420343 170211845 263083323 669811475 784820691 727241215 254425019 397197373 942136157 802823099 629497023 568222659 116883117 27934821 525520983 674657893 529031559 2106261 336771387 872989131 684071639 65043523 192634313 902509449 800532401 30346713 247395081 3493909 449826383 72233249 909312425 699341779 269746965 221774163 687965443 952396299 912596877 439350539 167329301 305724399 66974571 556556111 767358083 14802329 925941133 2923145 625252257 130266889 260225265 376434067 802521445 102298919 990963653 845651111 483378539 288359621 108772957 81550955 862425599 957877151 727482421 353067757 294891277 304560979 457731309 772587169 86630701 582796907 979566929 97476453 411164831 802631513 757377623 4353407 327724619 232707445 384466967 917939867 929186493 826624003 759445717 159352527 146234671 404655401 26618367 579109273 955536001 494400249 975210789 936534235 260695607 234672239 10532611 33531879 32563587 562480743 241935487 851493997 219381819 271080113 991234463 596146575 354075615 59203319 276404891 34232015 732023445 47458777 205956811 465320733 400498733 314699731 978560949 961639371 282171167 715648081 741132803 882300825 99836297 319257251 367513223 173367723 717077043 978072325 266507071 650865295 129675659 901956499 716229707 119856441 432392875 524296027 931592953 962251783 136597071 77779789 779235003 679030205 765438433 668477249 746675755 451117195 169793647 540461819 532889103 33597701 143813039 902109473 923317841 822605095 365575427 380618309 752489731 87851353 940865647 601338337 812352867 757245797 916232101 738137431 466182865 428673409 449229565 528279791 11615707 89088333 153832051 595600601 825944883 616420555 402941615 653598257 436276405 695316841 770381827 92992505 760982627 275922685 537143139 32274965 288013673 617295045 155904879 241741917 181349147 861520997 885242735 762744709 368744947 914906857 273527891 313799215 116971667 538380233 649875377 700728295 112678089 96485857 448135881 962774045 356806793 57900149 806155649 621063465 971308777 927813173 752257385 541745997 237892403 669671477 632410807 364532147 936968653 662546673 494395725 342146923 470473037 126432591 155709361 102291055 915214189 361642909 77913619 377995935 960504847 167372943 840276295 133697735 175752771 213705285 423613905 734584725 907706679 159312703 888175315 806982309 117627721 537995633 66230049 152857975 190790395 369357611 17480753 628743797 485318651 529309739 879622431 863799279 44426265 566097561 217563063 349315359 363631697 713353215 851543397 826435365 87241671 247515221 422913089 835143693 665920197 298347765 176429067 280989637 762297791 829385641 179649833 63872297 173262931 869621657 178346413 375258873 545816127 290814559 418557003 644983005 132601459 28468467 750769507 530134121 735903743 338674367 226447869 304464917 116863263 314997903 14220489 18267201 590313015 667151255 505883421 952385593 838934227 630648949 299677689 159005483 497918627 220705327 677140227 619965235 271270023 461812529 193699723 158968401 133704061 695695953 943676809 505440109 230314933 442933707 791444635 732564827 581426559 236825157 274994951 461928915 150193753 119111119 204532929 78695541 796755939 275328217 752899675 693959627 79203051 493878085 506270745 429631049 651478625 918193493 305161437 226603331 401521765 534070455 479445307 291465727 314514231 707923841 184261223 890658979 920890435 682294577 29521731 590714691 447444763 373004203 911835989 330059479 9285757 597452859 83357131 885267519 492723017 262945433 93468797 771228997 362174349 855040481 679956203 692471707 280439163 828984729 786515259 588820443 513489005 806933163 261940543 593354371 93768681 148586097 198286699 605157121 436778137 758044581 807091167 739388577 239111505 548422509 562087779 880647585 673458187 879844439 873139303 999584287 165880041 408336217 201988609 424790821 636618041 427644621 551539951 173703589 120105069 32252795 234225307 712808313 679624481 946939791 168419859 976334431 698980375 364808607 590747407 470658819 989817659 285921191 489551085 866034679 376642721 719303183 402204085 144042161 841080707 976469665 71020821 795182229 869638981 19112853 827988327 19729387 915222641 553362055 687530663 878189797 156656059 929410427 901014911 734512797 636560639 785300449 941626427 590665745 794318401 231584139 739073495 311831853 998908073 279931833 79719149 499841473 591013261 362833423 742183625 346889353 384912231 905547163 779898967 777333795 563197147 617939921 825995567 756586521 954238899 90950543 537262225 818149853 643732963 962268187 123180643 998627271 389572233 766762017 214695989 479099929 626870499 600705207 331860543 202346493 770270559 428397145 763005025 399456387 292749969 366423021 920622879 394547111 728760885 56336835 680987307 211372357 679296555 812076683 874754009 665517099 259723135 692029031 323009837 776298761 243428199 793360345 827823563 428034423 263255611 685909711 794634883 497159929 72602241 964830111 993190093 627468787 233712609 765347335 573974469 391171773 277249585 533474347 666723127 873257099 418539629 106816921 583022225 924861055 154501045 641387589 237730279 825853605 901860951 927996811 613782267 633045229 544202947 317564725 217287733 830870575 295108761 515972205 945798051 448552749 301138841 704571079 745156603 322179473 856099501 325617477 50863007 716592363 354781421 110777159 836562323 999864245 322069647 135405981 348396169 983232081 692682233 255965051 42140119 363274245 123195575 765878655 928002173 551746567 922592379 727949487 38395425 470924909 8699937 585314681 87332373 900895033 732233387 313256111 348652109 312024917 674092101 830068879 999781481 430629777 522222913 605815233 462678193 312452007 940700957 591979599 129940245 1436983 328878969 446134449 249450537 26093261 635319587 485248707 278059569 293856471 399772941 267957961 683863569 804970161 385131859 666566259 612362329 914072987 301646391 964591571 487495231 712072127 409463077 326859369 493905061 480697133 365878705 873082393 111288081 255185631 886626453 485794865 755324593 872925621 492713139 240511077 5821279 954358139 822175769 124836819 879671447 263474655 344486651 60146689 703785603 682260349 845318321 893678043 716213487 406738645 46712511 365635255 719351383 188988239 922175953 419284817 293890773 783241791 783986875 73869009 782128949 294075869 685908343 127548865 428133345 608853577 200460329 432105239 918118391 475173007 30723611 189457203 239055407 526908317 709547713 717664983 955249655 163201871 805357751 349719603 178208857 931984227 761197249 336509401 657736463 408056967 913510599 254737353 678360439 102869831 506142431 928622183 567288729 213499169 285918275 868961151 560607013 165589875 360712279 460802377 970189425 472893577 413263783 314760545 311518587 32303761 953799907 469466573 365104877 167193255 545218025 774829047 577982229 126066121 362717885 232220089 796407531 96355813 202285703 353644621 544631051 800153799 768489119 329931611 497706689 262974765 58433915 413678573 541882105 388478389 682911681 536315257 565668173 702969833 7222077 765941981 788701433 831052603 137917919 876343135 450481127 782702085 913853127 953939373 287269795 923383429 125484339 912234713 278288487 468684265 424971667 910851937 877334035 918977853 143792247 343605293 624120619 151186047 526112157 996161927 144717793 905622925 27316453 163051047 353871627 234443569 418692957 882572841 987806505 138642461 498676791 373113873 908598625 544203241 191862733 803780559 434939013 25402905 511125157 883016117 741836297 192212243 854533225 749316483 132681485 366386473 564318443 561333085 123889497 766741911 446038825 373790929 682712667 152101755 540718147 2741203 293692973 391114975 660864135 616472515 366913165 133060021 694496359 815952993 20683231 343353557 512185727 31740639 62699063 644081921 758154129 426381009 989663307 671703013 608249225 315978037 294007417 388906765 182034553 463626093 130656199 598213877 27607711 725578313 133495529 635541503 986205277 996155647 749745969 814988147 558274877 546273835 596200865 609476227 317333235 935088337 988717025 984328007 195202651 703461215 806593853 322731969 443436151 874588845 533291953 454353115 667512691 804159219 406664407 980468071 573481891 999663835 212071673 415733531 833188481 992850033 732233735 178477467 402538929 979586089 36851351 308908909 196263421 656654305 103389929 116412167 320219737 589555167 900936675 176334783 919032033 359965645 363361815 710455001 23452121 426276293 43631287 654833273 116663977 888226625 755307177 342773943 528559847 382274601 538107759 223724679 999018317 250402247 350008377 444249803 748465343 716181969 182318305 637913423 543371079 152831333 82587363 879784387 919020315 143692297 439485545 478815935 673806227 445436587 603969857 328779973 42938931 50644637 274783715 358890303 841329065 97275549 456028779 60012925 645264581 928104915 361793957 179609529 483557763 215000267 517588989 80835091 905879559 699215479 514732685 223897495 581102493 886967609 341339153 550093621 459274677 668556245 413871089 612762309 3383021 435507317 446138687 288859657 618914825 417873331 964638127 391288745 907958003 709459337 64797857 290757689 93629 489848925 423751711 267255601 179928483 937110013 397643221 884878835 354264075 466953373 45411867 934027461 468062587 645109211 390816495 447044573 408332459 450972093 619247355 606871633 538392947 705230767 851272335 660092195 448361945 38641543 480278687 126465595 541448455 966005889 181645259 842372461 100397647 419047493 505233755 306060145 83815983 200943069 293004861 76307175 9933639 864189121 866160651 667842907 588376421 46033867 220565505 695711803 141743227 2140741 612119049 790063587 318404005 295507159 266717105 594370707 290126373 746199707 406154031 338699635 45529703 234907145 646023269 351749015 96517885 678630411 442793945 364074743 324566949 923614445 834016697 142672243 995102783 686727011 450272989 286372821 225307609 572653963 539323845 141547217 467198885 519375339 164583833 144971259 824525311 322785903 71033125 93607129 965688169 967558507 229537253 622014417 50633615 735304351 921959155 261185335 763376709 314309681 900359705 958122051 586151045 617565099 673580231 263506965 166481267 365030147 531768595 606291127 49869657 873130393 980036797 986989597 888153771 394264879 811965483 272104731 83426053 664152819 456444781 127069303 729641 732230267 590044987 888409047 3124997 310425797 75268595 138939599 162731687 315837237 893383325 805570517 4816207 247986839 754064359 654226765 70235999 646981155 966203179 641456769 36691043 325857909 2023781 44234911 249509387 911519377 259741759 183534017 56664885 799072999 715331335 968638443 844051171 186551881 386325941 2007043 613242691 634340089 455182821 814777051 875163301 621093271 742021603 354063407 602100869 75184179 826385819 790414237 155149959 432160577 427910565 26448303 299427189 604801183 462645313 375745751 570968133 751108243 406633047 115534957 447347983 951857865 222093427 411787701 349471257 870899031 742931407 822919893 306053323 462123961 434453323 430276575 121483453 246704087 156870251 485091791 522026661 874750203 82681441 634229123 716420969 331977949 793582851 956492485 918021909 407511705 931660239 594336071 192274393 195699635 704215793 345135009 239201557 834879257 800096819 829328981 86007881 153556003 196569613 213184717 527799839 846891403 771291811 484886619 766652271 40845943 708888245 13597493 184825391 426215283 27327161 703811967 157022341 538326903 188087747 444067393 435469245 881533151 795587729 712788587 558366537 902158961 629240461 640008155 322122693 931741785 331750083 326014029 490166257 239457069 776568047 142117997 766588861 411937001 765565549 35974859 787987259 595717107 715062083 678981857 682912675 454824985 748633891 523865105 53243997 723253649 867605093 826790051 82202609 809798133 255389957 226681033 781595923 447638349 593128363 865025435 802293663 749091079 677106343 910098459 932986263 983108341 608105713 459931699 289892903 76359255 365552937 424309683 881952417 978366159 181660307 896880469 383844227 671846767 100515873 74995641 515469167 692478889 37373289 883314283 525028399 278392923 5705641 753120987 848107447 44722889 855368397 34134881 546392355 139837347 125160031 986367551 875342773 286306299 723315351 664436895 834738137 118095955 202396503 145384849 961606179 494308235 428688165 531138831 679115341 523540979 285723185 80377593 574289979 251040319 912569679 764221467 190931191 732061325 653761283 332605219 612099509 185161571 711411823 75692973 762841297 505874605 659249255 565976889 85623503 693801153 205361247 823515697 975192407 827244893 683920761 14205157 922171455 978161827 81343867 692901519 575954049 432424997 804301267 609975887 860971329 623605715 726202009 804532273 806012105 961656591 902948237 167170595 750032783 274560411 237362965 914470657 206480683 151430311 669562179 359688587 81577827 248395205 107995339 723538795 593519903 281663477 553629709 656671791 860085621 167400603 194916881 244115029 553687199 217519237 338434951 613355069 452720899 290876647 991833541 295816493 449046567 479332447 66362827 624892505 503605699 827771379 706832191 957699547 388915887 4303887 870851441 388388787 650493425 696741767 270910039 719534793 14460337 620350109 562408851 884363249 997351495 673303025 497528683 677070051 729517865 434140051 612304335 586280767 443811837 360812537 190900051 860287889 420922255 246559997 280509499 325723719 98255569 132824295 416079721 764887227 112802781 450697061 481358193 677421617 740274425 708081801 830466951 525994703 820171663 46227411 706948237 445355689 451358001 34129701 526194185 896302263 602186909 703767505 613804329 723589081 1735347 112460681 364159941 601078745 977622401 659454315 906136413 867594857 132420921 715675899 51779607 366044707 882265399 455354665 222754243 125654407 599678717 85180745 461952729 5551101 373486391 752722967 623046521 199821015 9488055 844853945 586026599 409671249 597689723 6523837 467338261 53093001 617748901 660641303 60220825 37030537 979743359 947179047 111952817 370520387 26168701 144847021 335056327 541637265 629100859 227688925 48949481 618564145 740811387 644415047 311536335 989908687 511111977 374894569 452245207 10665213 938103129 753099563 317452553 139500081 875315267 717580247 694701331 761408463 500791631 666709029 255714639 651870751 965902597 283802545 219112377 453983571 183272987 466932863 888805113 129648773 811660393 159925757 5328737 19045043 427049971 849712131 789295589 780200393 309133797 485744587 86276903 8617369 727025043 987773691 778046573 363257049 871237495 662526625 955319461 256445485 71166517 426241073 795230055 600045341 52653463 872153225 931217395 391178011 68053395 418292975 953143855 154902143 69638977 266045455 937358251 172041099 946187237 748989181 361356447 973943145 873857005 828312123 543181035 103815979 30188009 743094441 236929811 587072711 235334549 861204631 471938887 44004897 964591317 816020155 571809889 757226497 336618165 112027951 410329311 614837015 936300133 194424443 701962727 268678399 675782211 158205581 780088905 492200763 958538451 518602167 712933755 550190641 360368575 371795897 152737951 920398387 697556185 310096055 226478459 542773883 192785693 124810301 657273215 299750955 352924079 964744771 605019839 353842505 604257499 295070245 167435517 403282891 882873619 729703849 647726753 575538311 469073905 653500409 458682297 860055615 311817019 513376431 657962235 503682205 400628187 813006533 41925831 287886129 207181539 259699105 358698023 83376245 244669073 700311057 809940423 775046859 190460741 719418699 942160639 865917307 666839181 43226089 666016975 715868597 865203227 546326259 899898589 862946197 336569033 915189973 415022713 719156507 837583773 996062821 664888219 319860017 962362049 713829857 309191651 666292903 469050505 972230637 466422677 900833079 627200109 215236245 802600097 500594817 153834005 525169233 698060193 928772881 86157897 211842811 626480339 387621207 107612669 105462493 37933341 781804713 647024971 167026079 348574991 462770765 163997307 269595995 255931871 980806763 440278259 170497931 441856111 985197843 32970823 3376149 278096965 350112575 52380469 394396743 996923535 561491407 99193503 132996053 833656103 349611151 511628943 161193437 726479753 225893165 855458617 193680357 150668255 560571973 761973241 583196889 635429877 561144407 326368849 118227471 171902533 588231371 930163949 12542531 548511471 882959093 125627041 412742299 169998007 598100237 887951207 282186151 492426767 769854259 800259939 427137111 96371725 709679731 888376287 597198093 475969905 516542395 680040017 206937227 98294691 539509479 421149009 323227391 537354159 748129205 268375971 166967553 31783247 110858963 383365429 853780105 959308257 353867471 307696661 708580353 342348141 75887393 596430213 82817333 240623523 991535407 708004067 656474713 871001303 305438525 639445179 604952331 279391501 876562303 92918723 576165199 223022825 214411535 500596691 4946069 119505083 707366123 850632431 54245553 38391673 27617537 440693829 536524511 685536709 635421469 849555749 528287429 549561573 760228349 37694987 679097201 813264839 198687295 516631451 719281241 47783429 864317293 336407969 916351575 127842523 893703929 341347343 740614323 460423217 279447357 339972607 345270297 872558489 759356025 954774199 120076703 687053639 942473173 344658591 876173251 989787421 608447075 450772559 401135465 296557983 963591711 475979133 364209373 518617343 14621927 684378127 673910487 433981971 732028805 921627921 586006385 83379547 8344747 130156469 353517365 270011901 332240369 691682903 635298317 568933067 619945691 571595127 590772813 970820407 710872015 886077637 196685749 267648615 151677729 484145683 570365033 489443357 576453639 562767961 381577207 439062985 907969445 689733311 675855443 10936709 760395779 399953293 238665947 600287501 371256595 719681335 355736405 637250763 615098797 936368983 411220717 324222669 673433237 782503347 647048505 750492107 623421809 725138229 490372917 537413667 255325651 395510513 176255561 703238875 298427957 15069985 474651967 484999847 237093625 419680295 987995983 176938201 756760935 868174225 705969427 560151667 669122225 37513489 321245587 942642461 832799471 812125059 857997117 703817763 974188069 459567081 444813027 829054847 620937527 7507569 827733189 480559313 362724093 907726185 325252999 180249693 337939243 456719953 917294391 375202325 524703589 720267467 205979721 154908815 266372659 638757793 620670107 502749195 458646021 524255689 371996785 965856111 131814455 885083 542645115 885528395 498668043 778778779 877765069 751970519 20743079 526612725 685060835 311392497 934015261 400281085 386631843 48704801 56430951 656458861 614333531 790138007 11750757 191014697 801164737 873413929 15769827 60196923 75362287 658995797 413299089 367903193 50959469 213089349 186567687 496663899 114390567 905136327 356147399 917088327 157105779 971104849 738629435 807943493 674856463 888943877 909534899 604685611 150226463 881821609 725278057 261670387 222326575 911249067 782297471 807786945 692801079 265889059 425807355 876079585 808765331 286391251 969853907 757538757 607887879 541254685 812898013 203107335 921352131 968761109 933167323 776549739 272522073 275002991 187225717 623270879 543823049 96096139 842346559 482746739 291799161 504255091 822307249 564018021 878328881 955095761 356577837 945271573 922640941 250179841 581710841 911644945 41307141 758318337 170201931 428363273 285438913 676373879 711415097 861541853 40303821 448015029 991559365 392144013 473370879 434298285 648587735 414487363 472122771 931276549 401677379 81629015 193008689 345417727 187611841 142803263 170910691 733726091 536581105 171921315 368712737 699044163 117890911 309335627 912692677 870249571 241610873 287179561 919488535 518077141 340397467 687688541 650225605 14625319 113620229 414566439 528704993 80329871 741415391 366746611 673358059 377216495 226167101 142768981 25064391 630655181 358348567 974390789 531164355 826068311 80452941 31959531 237049491 988538469 369992363 425349135 596772693 820592247 829294047 534419877 689542029 175629493 731451013 979138313 65078571 854622187 61344795 230613693 980386435 210733459 951534863 973009005 741142865 2125517 876533165 327837675 838942139 207896413 128592691 271386165 302249809 330220213 785187519 467647085 786626051 450000619 566107229 565633757 279957809 993237951 503477755 491474425 457840801 284480407 281066611 474555229 78116737 450135171 21530761 912388813 750800227 679081787 573333475 617550129 980610887 11332637 77796885 106053023 20827279 740067377 891047317 243485777 758613005 885098533 93864135 65579947 971717875 8814419 810117877 312706359 6727133 523204279 372797261 862536873 927712725 823257083 546077673 989503197 820818245 777630829 763166925 589860055 726467329 259396611 688583903 40202943 116850505 545961567 564381939 650530027 590551233 985757639 327678655 848050901 179431287 581509161 356083175 596447777 606142431 61520925 114129139 813306267 655917017 56321507 842648661 301610547 916401575 856329827 705605479 354420745 510350071 847462441 973803367 411229019 187127263 345784431 985249409 898778009 502896091 363670549 122270407 876223571 5609683 828953247 260906799 837506117 223670289 825015615 456290973 520766547 575351629 721705931 430900441 400799369 567196577 483580353 599486357 183835417 451039895 395107149 667166057 113712477 827905815 52738105 257271511 392719579 267608697 38036733 380469577 76299325 859176315 959583675 130715153 425769557 923004225 865214777 365329253 93822751 946289753 935472615 264360809 670229697 841892279 832678617 125582117 305835139 759603129 515811539 205256075 3788247 480782629 8933689 816938611 750272349 985857575 369333017 99152799 30370773 878317907 991008815 227455417 990365483 194069675 55998421 207268177 358852465 742938255 632367639 39112673 664754149 144061647 611879585 193389771 133380071 856681377 293812171 139814999 460745221 854491295 371957141 785218743 896412401 155661777 34073255 377156867 627709063 315201699 932828493 944951869 608980169 315965165 188683393 167433295 290249955 598817767 44778723 990852361 864435753 856039227 498291639 643273509 7053587 898445813 929929199 680405829 94854729 743097735 794824481 741864687 875450259 495025875 587846283 822453657 774108389 836080925 519356951 707148185 971735387 354686225 361153877 546391857 986853431 855328195 925216887 48216971 579340263 172868019 104386401 751525815 233665273 512766917 907561625 555951535 422499117 582757959 597752911 985524051 974115941 710382575 540133719 371033967 384618923 511377623 743630389 261772979 638555701 442197895 612022795 538095287 64565339 467495403 439979437 27537149 739941537 159021145 908615311 815315437 920318643 805849229 73427923 218742747 841459813 588267695 14052671 30863871 303236785 477347913 614819393 970014585 832655035 838828883 303713521 749660757 214607055 807521065 720900879 418704001 379153245 134694287 132462337 986639577 367008771 978578867 695755481 532700189 130359429 438104365 741336907 990313463 486185933 662722807 649026231 220356599 38961389 40479351 984820261 290742421 486465057 294399609 754863685 316687415 892662733 278936119 875050605 484396577 858033533 427014217 502427037 301549449 133042913 122425269 902820731 528433283 999417049 623517419 419755351 503446805 620537443 95949503 404794663 693646887 658389423 397799277 128700045 747989639 233654541 838016925 713158607 655148019 249380857 12142425 887022813 509805065 845704217 919107863 982332491 670497621 61060659 701006007 648306779 661075013 882592575 705052795 710720501 932176949 466649943 245660689 963603879 663378531 27634365 483921809 248553127 650540285 716123355 848110195 109179351 377003023 503418697 64564385 212859067 406724247 205596861 273121639 907994245 402268019 779329567 356735609 528409869 171641453 240590199 993441523 424429519 10070841 228497657 838448735 797529843 322662507 159222271 284156839 842886217 607561865 852681743 147230239 606498377 335524601 674134483 987989639 118943507 514748175 988184095 160071685 839862635 317026561 637850349 925836067 912541123 197652723 888901727 52164311 834558767 296520685 759866819 938560383 811321971 736303841 575073419 539191777 500624627 374245801 126472531 851029545 679850431 937053699 772759773 943360749 714619535 557146269 532718357 112964651 956060353 988355587 330140175 583180357 99596381 242528689 235639557 102434061 267243281 416299273 166747 661639859 206055221 366095445 793128859 815200473 630485707 450804161 563819129 199573379 334603893 386827373 659049937 300548123 79832711 107765589 128922533 62868091 338341877 203582565 365922083 653631451 760915809 571384175 358852505 373882341 925865487 160820521 108245385 462990245 59400433 608876599 533253519 151223439 537801119 821340705 186008445 77757313 753313109 269523545 349088577 421473729 322902523 946629943 731583481 224964091 843320097 895488765 541003497 621139269 849976575 208177365 380508281 399597083 484833141 924435921 989738303 324539749 748512007 77263847 501279477 101132141 832133093 940756219 146986367 230042345 475858665 640755669 907104233 376774649 589288593 154709285 1528165 21605663 306190339 740969609 574005837 883176011 452511247 154380157 315087653 759638479 74199595 240829549 435311515 844276073 472284025 160969129 228870527 922483009 913012159 141643371 180607439 209545443 721749099 276478933 779087275 254209091 86341015 436060655 988834655 110992063 182200063 552401065 302266721 355909147 687062797 922559711 347431243 388385671 382795213 841795921 764856029 603434135 299224059 8278953 489179399 706192967 319372273 426049399 692401369 183267837 418522811 561734965 589088401 973550215 803867397 233208133 513772175 638096665 507465255 34512623 299585121 409658963 110530849 97443171 208731065 54547767 648061849 682922685 132457331 867402803 149120735 797865725 663359633 748408349 68939499 935218957 380651325 978192691 415993693 165689277 41632719 709877783 556511865 593427143 269662143 539104987 501031983 326686669 379706543 191185903 255692057 649029973 454435181 432410421 793666421 639958485 438840555 515009263 134362665 234980003 265505605 704653517 988376517 408462593 672817853 634874593 735817087 340178199 136081599 435805355 903735865 692661497 62248159 639573007 499061625 673322399 282410965 116378203 58728557 174433257 77783689 216916803 678595823 712679843 916918019 902351847 269656699 449029755 533669751 870310855 714181433 929084173 818529089 294432213 885559547 686388697 655687141 64913253 693240373 470346311 598687755 383957813 810985225 786338219 207837321 700080231 308400699 507387453 486941529 483459979 62339645 629648925 711915677 441595799 792812069 581497943 819369381 726509285 743669427 620887513 24665055 488124991 301139791 583296639 804572649 674774477 815076613 434788873 525687943 177974311 155594127 758796063 458275745 671807307 947562059 910816341 100356429 357398941 282960705 326184225 851880133 176411881 772455969 347164393 463471981 222588263 75557695 314748913 505765839 448460979 557672095 381120109 235985057 881745107 431650533 490965879 976280507 428564787 19084385 205706767 437131043 425592743 334242825 753867805 398807553 334899057 959374463 50978165 104666027 533341233 909668617 381460173 784568989 597976311 464087701 76127433 173214583 515502391 341742269 279217395 372274693 446671825 633444029 263903417 389339709 658440711 151200893 371065973 753945911 117339271 117123471 525875819 417798713 790125159 897045031 481832897 328196525 569948707 396010023 2919305 986885157 31735971 608905747 760300479 650556767 510125107 391074333 144609857 95302459 854310789 7931163 950556633 98555591 71688379 146672013 54121785 750118707 760035417 220322969 354686459 482285791 253808713 652931343 134560669 807780939 456966373 661963879 714040971 95608611 459227623 634609601 589948695 210531129 986608501 494880481 944983159 457008011 771867421 413618999 755307471 81211705 127502035 436761821 17135911 758557841 961965045 349901711 336611953 959414277 22284873 739667383 435814533 268112177 715460347 268228451 340128295 61949911 183029153 18304843 377785085 773710051 803752759 165604813 803273369 685251943 917483301 104636911 965781365 496948641 390719541 144692835 757582835 271362547 630504861 761602689 690870619 934330343 588999165 473816901 297578719 630266161 393479255 967883865 298156695 958708909 54843675 587293961 785446535 218035037 321786651 529947983 637554581 673329517 287863447 698586315 117414547 409766705 949492787 4433857 870440251 156192291 563898875 597770275 384244015 719230949 478201447 643160199 370878199 243796807 326123347 631531309 893899523 742061879 925862149 796064507 216037553 198536147 385615145 908383873 337150269 240830301 419823059 87225591 252560595 725121859 632985733 206681915 309430659 103993619 27460895 930944213 96012359 416880527 486659825 972257013 333349377 145353107 149644719 911255921 863929975 414514481 263887993 90769351 615376223 772489367 964106961 134470689 860133199 616715043 212230565 202785869 783049 709302361 101170763 729187521 839983415 486430433 202400641 343074207 86757353 702247313 884727401 957442477 779553561 583068773 764389269 690202457 664654569 918162813 810193399 523278267 590727263 644517925 396345325 498732435 204810353 966294995 415133755 837092937 919084789 485717279 755293969 554065643 277368237 890550479 744314113 815679791 699802947 33319629 613275659 216018549 986883655 392419627 969795731 563588805 320990771 787279141 920218215 13021647 192953959 340690975 936682427 474432489 323985199 843896485 318052911 211519251 837232825 506400105 597935555 671399923 756376097 938975813 271768553 795258073 832404071 568507199 567484021 110819517 961441651 315125121 693371557 563114045 651478809 900068957 214199835 444890785 691692561 142102097 389252073 809734873 132355837 79745021 578067839 957149819 954517347 504232239 570025919 59837637 432039095 249963993 843007467 60016545 310345043 95992087 411338929 532022941 978964343 815399465 496694057 882770927 977441355 167341439 91835853 818895225 439519971 179913131 777157507 948251073 188369207 59967591 194001047 940480757 160898855 783995285 341573569 932687341 139828607 233638467 427118877 221045033 553820909 371056035 851654449 859440593 840552205 283846673 874384873 536702129 708557149 541164047 677050779 519915331 406841419 407624521 897259523 919088807 960854053 208512915 567290695 353872033 352666147 103135207 379689205 786759843 684000617 190805351 314686211 707515075 671297537 614147171 24057547 632034497 910395865 128619337 716648981 744995075 659973579 200583095 909048845 143264153 724996251 277846383 274512459 38567227 234941423 425676125 507905479 295902791 747452251 143957141 94845419 401181637 901920599 863273809 290782593 264933475 270862915 286938613 537569729 36723579 52241257 716546571 550760775 291541513 486847995 556457289 201085721 508064183 399888401 867358343 280746401 560908243 703330735 84854473 495793593 489149011 632508347 102389821 657705371 702484185 609228041 949840179 111791085 139584427 522225487 984408359 712837309 44930743 786252849 634421693 89866367 961620629 893449271 848427455 261767953 155398021 672655827 781080611 507754681 719443567 822525023 420925185 97958691 136454111 523786521 584642207 489539685 775443727 354591277 679020645 409117693 331725023 874138029 217184233 627071949 774074579 677443727 477553127 991133991 805994013 556660663 380620607 549286331 89995411 162523373 178361853 308809899 444864435 545476067 895462999 989149561 839794599 535178033 76945831 821794069 242817599 653325659 590452589 617516241 619690989 663880647 663393369 89633645 766362325 553854919 6562619 926645773 768158653 602342293 386932753 294268223 494549781 993486675 144799995 409795575 435840497 490807817 674981703 532090515 425279253 69686953 342278247 988256215 120990691 234007819 672077045 701916147 778509167 736313585 368297399 855339899 72077679 486388997 163364503 41501291 690731327 294658007 256944041 587497259 566839019 602125027 245320741 720734597 848427039 337970565 827241843 81051055 269349683 621024779 111096859 391386441 684264999 377159333 389640913 905286741 45296547 867386987 554981231 866558529 615918067 177035871 807320571 223335651 196548625 765963883 790905247 160216441 639907997 753101407 323191727 646532519 1148123 205234933 147313317 491989113 806245821 875550927 438565155 943837543 96457945 712966517 521293049 17651021 547626861 278223959 355562517 990266223 639792483 309966289 873227157 157355133 881777737 322425379 131007163 917020555 918060119 778749559 374615539 794877205 989860203 665283549 653380561 855951873 930678797 543340111 396587535 480261789 811715181 139948975 625308817 773393309 659469663 143956675 516699233 995258143 379534181 322522177 900810419 840920489 83372455 446455231 881278947 180191015 753137907 861697215 866589301 998283247 200683711 508788137 526044177 425605567 179920429 854977233 152452237 473979579 747534595 492085615 309815011 491109999 192895663 867205797 980731959 242301651 485444937 143267449 884178131 391630657 488937617 828492513 906563373 833399171 281490669 234665137 35477213 109906625 22253167 501369007 696960423 197142675 974425547 563579011 400404601 783822327 751138657 240521661 914646627 737495121 550667833 394867415 971486625 591160943 575838467 920480817 650849943 614064005 727159573 692884245 639883985 12814385 458989421 255758007 764257793 820233593 665079223 330135339 955227393 660695497 529804093 863564919 331552471 120559607 482036215 197741443 573544363 610121791 897480071 704021789 215368147 212571463 237639219 800431363 100203723 882070815 864058347 44018899 625033779 446061623 511421251 890788121 437420761 918487153 581905021 513010755 955882415 342914063 291964545 608330669 529144015 72803007 667408349 149872789 636648063 545601175 148590535 308139817 482973737 104158997 345397025 799992181 290931551 408698909 869988207 267100279 82788063 806291707 32999395 928654093 731023241 963441511 271435349 232547075 411404651 90610813 181470785 581683719 982848183 967096771 67900879 741065907 62133449 499901987 146479311 743174539 724403491 118770935 514332089 59531253 214456945 53425913 456684717 801412933 854972805 370682703 795118703 872302001 349167197 541091463 268288879 663277917 167772953 603297175 894163655 654911313 579597065 208762585 196761397 264026753 583531931 567483669 638878751 715690689 352299371 477272183 86771861 628369365 488088385 637122965 596546127 329807465 33419011 21929067 925171371 309844745 515443909 78621025 332243887 843839795 119048645 35847745 131104527 102841925 958732645 85168451 801405725 657736329 291464751 306736643 212961245 854980145 107475671 103220869 958959089 534143573 642206009 279049785 234470317 845348343 636881753 520408305 594333189 373031681 560514143 118876653 950989211 281283909 741140385 972637905 351651763 712694649 124493209 665502891 786806591 879634497 62577387 28412143 587676119 446994213 241335649 269477499 826048693 371731351 399067377 779261589 305211335 52711407 70585011 126971881 584316567 220366961 541761003 739363213 187217247 346908227 494064903 819817981 787521533 356992119 529093271 793939999 264036091 821666055 768779863 246769731 568320131 579363797 982256171 51940633 883139953 344132521 850681629 938910915 615490627 726032181 233230435 415599043 235411999 387622417 46601813 618153991 755591637 47090623 573684089 340307941 39849179 714609833 235747191 332177691 904510547 619104031 101736487 636219341 48103939 627917403 26722943 13048201 395799385 414671743 411429797 259925057 961364079 24601747 227047397 931451735 636343553 633181063 888455089 928316559 692473721 997052217 251445923 949784853 183977443 940596837 674093185 251692669 453440763 493849269 711558197 137997257 306933531 800602047 332939473 139535961 569518927 795526135 983476369 820776189 292695619 970063295 292748763 524415721 249426767 573501027 457729591 63521979 633307507 832541971 732230999 216452473 51634773 287674343 760425499 82681745 508701509 625987297 386698115 668878293 269370427 47683817 469944251 448960131 206704853 821003474 326795541 240109123 449727837 213605975 497742095 601576223 110932925 84528407 278396747 18359695 126701201 63643033 238206097 268474735 332757015 58904147 464466395 85016323 434883381 975064219 366906685 793028603 51834491 343160755 997713663 31864425 157866271 612872131 730839691 540025293 330388995 257544927 131977589 84914699 723553965 750206975 858066039 452001905 588708939 9549317 34515061 870010035 147529399 793194167 477351801 572882927 935192941 643827657 903878071 560345515 959104661 599871445 493525643 814843091 799269377 486569307 16872311 59018941 925652005 581197253 163220263 353308197 243214627 20687457 111418479 641658419 968346047 701591405 628041033 114036081 548113515 8186633 653544409 145172693 786666045 303043643 734835561 683850943 230416885 483103223 200397165 194835441 130070777 509171735 186515587 73709211 498305115 158847067 568058729 35455311 553345487 808790379 296892941 811513357 917109941 113624027 137260163 933060407 92351765 645549859 839197701 755075231 669393567 224763555 918598135 1172087 604712871 834364069 496723685 423570525 446708785 411801435 21348735 71646807 720573665 793867743 776521637 228146639 115855879 190505777 978776405 585552543 901119641 176739129 347363775 14762497 342152505 978172363 608595507 796571549 804291373 390233501 848257837 468628605 529790819 305040211 245135697 989672471 981512053 965153911 411919467 508552009 68640415 799943799 484572267 838301017 544354505 727420845 902166641 864179443 621485445 674249821 773654461 573242671 588207367 289388461 58781369 849613445 115692849 307622065 289691643 388905439 79382151 387278687 352281407 383914887 688455995 973324187 835994725 470965813 951968291 199465517 68210299 303867397 924249023 887500743 152681651 733363067 243858229 154255875 131702119 886962311 741202773 474303071 522461981 203255675 658511255 336560455 29248383 787873303 554247961 887933197 503701087 196151935 581597603 120830695 902131899 426883649 705085605 774387193 583013301 347946833 440773173 463242315 69926293 231480079 183958033 1897935 610347219 538696507 505241763 230104415 477979913 173616391 821836793 379897273 421424121 840953863 868048587 712289417 233190543 98489657 712891253 762521951 873243615 996576255 888332547 242270391 529533473 169489705 604775457 980187885 221711293 555716077 656261161 382010191 451236411 734483175 487801879 40982797 755029327 996010779 524666771 318116417 367791061 335757047 735462383 586247401 306042575 604095315 993835295 864103921 915514473 890735719 767393477 965892649 414701303 994249437 290827045 246673739 160232947 551550657 875569201 891597049 432095489 600622727 766212735 28886459 757706987 295564813 743389263 969816067 934068901 839569303 493555335 419441449 467486795 573287125 643471799 117400175 468633121 23887323 289149719 984064511 65774991 29627941 721188741 713411561 847646763 898451867 672918153 628626727 160603823 598353799 544334675 596264603 346166783 788658079 852406201 932023821 686781477 892652289 324543289 187033901 777153879 883124531 657829885 901521559 981929709 535453475 820547539 36074699 111337579 625586723 481767217 298237235 812776575 850386161 160191545 819502367 138367481 778018485 179796401 630100169 832148693 454050299 725083143 658434643 245572407 301980597 545482323 870821061 608643179 55653957 277204821 188570895 893218273 553069679 918886005 316762381 372548153 785663069 988467391 838159487 876225585 388595881 572124655 77418511 656494009 259745613 408104799 944659533 991288545 512531119 545099545 453504179 696893671 838939805 323944141 667704481 670210859 240527691 388323537 365735011 929184313 873761367 810646309 434465831 742072519 963323335 394163311 589980425 883471023 282600199 851754239 871661065 4845553 89954285 778215373 95314705 394481597 144018357 463231351 633704431 911903589 293837831 140495685 491930977 570662241 872869357 317237287 369031175 316841561 506621151 404641203 803216231 949518867 699365303 672081191 425662711 942325383 699765695 20243565 369769227 109839055 343711647 779169043 401588713 641142829 310067311 364767055 69533369 411920653 228158637 801843459 136782985 266156545 660267325 673678517 400616791 12388551 502391917 205162643 471812865 946732353 356947697 408127861 435002451 470311033 327427303 606864347 885365755 471739299 454931669 930539757 194858389 246428953 107010213 581607287 128319137 900632419 60620977 530009843 63410567 610154023 924903091 274943105 592226971 46011705 636284627 558524901 178328851 394378647 603450523 354024593 519573011 84199011 828009985 62450331 583507365 8013799 840988261 994311107 410711991 766044311 483722121 260238959 653560101 702391823 796171419 61924527 853578925 511967249 358269745 324345147 821560829 906728843 854298697 53224049 808387745 98428813 506383175 900525913 669093655 570656851 419699959 26031777 677953469 714257471 917205649 22583203 842071517 232265953 856817329 448602971 171758249 828915175 575859803 373361011 92748347 653263407 930165247 173659449 816814737 35854013 192088687 83633827 894193815 921684409 972128235 152043347 140986143 868957561 555838233 408677263 641458655 590501239 773644803 991768389 326000763 882634583 507834655 692303117 250225019 612397029 543877195 492883239 712896849 780901905 233202637 158219899 285899607 3390457 748908369 420229013 773366475 568998881 288293613 972176303 983827417 889785651 298546205 738247079 810653843 762380161 585163977 991933191 131439599 184795527 977403963 83651323 413005521 850800169 931004971 625844569 371308801 270914931 216660917 831437733 963379249 690121623 681363549 73375235 932076793 837637615 843237137 104029763 550757853 140767233 466670377 234006237 998189123 815003253 187209567 114296303 161109885 607907875 108246745 787701313 532945349 328934145 83012643 584230467 771390781 598336311 91597365 436024585 991394541 505255947 75259243 113281367 368344007 809652469 657159307 103556239 645431715 687199887 970424257 746721221 3352643 888684955 597214627 115809967 247186001 94424069 56926253 234200745 467220575 735400415 579366341 281953727 510458851 161215079 670557241 860986269 641370175 725797629 58522559 455333531 655173055 328848431 109346801 423371961 937617043 669435055 561822935 527215263 132727251 338035289 184595423 205772441 664161409 564439343 133417691 609626017 585297031 532913245 44625163 417397335 223302069 974144821 450624017 36110335 726710981 994086965 101489919 64392075 55251545 719971839 120158023 775727247 3010553 349588573 6955463 108574287 628911381 804184899 425309123 409046703 102386697 416364493 202129387 697617727 646158101 498497853 712180561 372751927 288855907 14339071 961175669 228322165 681820163 988509863 908445245 836388737 519140079 313882351 105806067 255004809 212352009 394222267 566524749 147713895 401465879 347055381 567054697 547271831 15800783 82402611 231576013 10814787 463104199 20246893 410332261 542414393 392615553 196487239 25749895 753979631 209606501 279126381 835903729 485875335 368876487 795244211 601395397 22672581 325066975 369948947 236316309 38262557 41045455 463510449 824289873 269655969 356549277 207338713 141019995 595391507 531775 537953019 393259381 32587993 664047755 251740597 774570447 576175621 522069827 786180299 110095355 762591307 981597967 123925797 127595769 864594955 686173059 602073 986818093 985549389 558224663 65928995 623642725 473429441 677344299 758442339 227780309 179150269 105075723 180567077 194956315 386141503 982440933 167267615 226697533 52805617 10074069 620407593 448042663 368858401 257193945 370741065 159606061 911712967 821914335 10461097 272027409 985462401 995344821 637328539 517805299 87238807 55908883 989969307 851719395 28080375 433999775 335111247 105783639 282007611 577807069 476198269 909947433 985143967 650332737 970031645 53929377 261805325 13981989 905973321 906983789 164053523 138982089 976155201 574108575 590463207 141609813 363727221 632645047 405166187 429032157 312294263 770802583 976635939 583718999 344277247 743802001 936275265 310097063 282978549 609801303 71470491 662080407 510271327 954374663 902737073 823059157 869016181 802123557 188438187 433329403 9286545 300114593 996770133 126011021 667366453 682297807 118189353 623949041 810823437 358743915 208238149 236423035 810271981 533163163 222803827 72713313 424560077 755600365 175019293 800487367 163441621 633030741 488579679 854300855 341028941 634049585 567113207 657100831 107490985 213143111 786422091 550384089 657085317 425064645 535484267 269460393 511657379 801692733 361875471 46224949 711472879 564220589 744145557 803433487 276835197 638179453 787910403 795424947 271182983 883917687 799574285 633453951 87074671 590416851 412433669 970911933 125277381 575929133 266887405 831821983 632461623 642157449 90428781 78160445 223718051 167312981 547611347 920828059 277807883 69633897 535194133 318835103 454095259 96260095 333019093 369151259 358729639 115901885 520902999 991994313 280275881 457798065 472464269 164053579 593275461 832052559 478822413 392948265 456367431 718580085 433203223 325897941 609574047 759500137 331676051 23392423 243102571 317830101 641251341 708561891 677873903 993757651 753536959 763592111 247536019 946409951 120236679 915236125 886328301 766073563 651533549 375797287 759375287 948636951 888277793 817434287 336754389 937849673 541247993 757692285 807616595 352619915 64669173 410650435 126038881 226651237 84533307 760389017 431404639 599827909 633019803 605069825 336593355 604455421 102426507 927390949 496704853 86431949 221455661 791985301 846184141 118804057 962571335 130479179 334561071 689913389 460567111 145301289 178063777 451513921 748993351 250541367 421948009 294063089 388516611 88712295 128539135 990155011 541781989 43750289 681364987 907630241 789349369 182636919 44327971 692924005 656839163 668599747 855514465 840212297 239433797 730363397 52321991 788470963 425420771 675905207 323216531 57314673 588756865 418090553 79194917 719961273 559800951 837510103 664934411 774131493 274373061 116601537 403665143 568625085 681422097 265104655 842731203 884193517 721877931 862429891 714418805 385740683 223017355 118695621 641682999 140841941 498552399 764541417 968160861 344015469 342208065 174675943 899805791 500892517 186262347 309645921 44364261 912603439 575694857 819194335 474245559 542072743 677274297 362932945 16265929 352687383 572058687 821663379 206215991 47272743 40940847 867915365 8804163 560657393 232150207 81966703 808332377 780784367 840035277 854949573 749594635 103922695 678900193 276989535 281852183 21661319 64002601 843993119 575418975 589629475 96504957 759887307 282425837 176199161 739013727 930408217 619496437 254736271 929572849 35195037 854549971 761057233 871019783 494952669 42316041 713749525 853087253 85751617 490458181 629792023 827233085 412801305 635760725 404532221 680721731 288507037 234365753 376710999 119868569 375603187 343262995 617624597 207860821 745070111 818280239 174655641 893391671 926218261 203818237 29078437 672905381 352761263 567668507 838679399 792558001 446038701 960096331 815401591 611521039 589109175 417606779 735331021 542967583 901170529 910780347 295602387 423419625 424696099 884920135 304520789 393511195 907067997 673388675 663423879 110544911 598850905 797330425 219144199 767494595 553907275 258190943 71432153 699760861 800511559 203003277 185125485 188703149 710536275 92897161 12649879 597329705 515425877 87669115 450119315 971672563 219697697 307464889 239774471 48740689 50111597 777963453 658656769 525169713 741525983 196214573 266737399 611639339 128517627 393588431 783323843 845865601 79594549 147284123 317842605 942834965 198244069 308982697 240076129 627314043 946233423 222073151 111254005 21382119 977830297 260898247 102285031 407760955 506624471 126949843 677356825 857429243 100558079 242440479 156742877 609502297 538240757 601977233 42317541 733164331 968063107 351241263 426661197 641143793 78719575 721898033 4129951 696289233 863597579 447196657 10681539 307119515 322182433 36493297 344316947 932361927 234803717 653109723 32526409 858854003 312617219 603237255 865607051 260281447 822814039 663362027 570510695 94605843 875535907 823764015 686306769 62519693 589528943 95448219 884311079 679696531 561044781 638935971 807938607 640965007 242702903 126471395 245041941 520178319 749628747 746108445 325912175 955567179 925075989 600881213 926507321 953704735 562469927 472946261 243445979 967546391 557770743 699684003 377128991 237831647 396751849 11437959 36812349 81838033 603910469 274291857 160896975 43160297 94771003 370727279 614210525 501357775 429367785 711956223 332427989 247781077 575106891 20343875 629558665 468001519 881643597 855056231 770676793 94142655 450529727 317879999 470809993 654669961 879946075 338618309 217726343 582689343 932989123 762872347 188708007 207776887 886979711 558925967 429359303 341135217 335580417 632566293 10060331 280826387 852080545 533042373 370081923 601821933 380215713 152437475 200115171 58775863 97305387 722286555 231978951 323833295 731124815 28096833 994322453 753680957 290245127 860452815 578846747 983508913 918425397 920131689 336062863 492660735 278205345 606755099 904815499 274701483 557804795 325757973 388898711 518777817 413255647 600530101 811266207 962433369 465606351 165651071 924455417 922345377 559768879 543099419 618459747 741432531 353667669 703398495 236389121 430471605 495292025 163109703 84040799 16067253 413642685 798580979 17723253 881531627 197094185 260484783 773534367 869436183 564295085 303806961 484471457 113685665 699894565 873328465 262704555 468446869 501014353 127351701 682385999 580120751 956863707 351959205 826048653 817688137 654554195 233005721 379015371 331881837 191456051 268698279 829758673 820255691 72602331 995117109 606915803 814762425 330947991 642968527 876651137 26879287 417659797 474244135 417743307 274763499 599174129 397738263 563784229 105938725 568168875 147656357 998661989 713896669 379980461 462901243 689029831 658850993 860599495 662226027 113597427 717860841 741311153 627872371 561224179 420328309 171997457 586264755 219066429 45803241 861340523 403572473 871463345 229993353 499877685 935717175 167672209 530877753 68915907 14343303 401115277 108312457 303117915 612172847 670901687 505749167 681596197 663175833 59378575 884472461 122156081 648612441 417827065 25669543 20926839 954220839 687753283 187630129 341119197 566393579 280969249 932258045 44307751 424932525 860918961 673400973 435455753 520008609 220965495 163701767 456700957 255046691 229839203 52644413 115106787 920322229 894045129 383747747 526401219 546710275 212697445 620568155 986423569 780429537 551629405 972803369 845043203 379769161 616521793 11102335 492680383 306136413 197246209 264794227 433812297 909650795 277401597 648270019 497842581 309952999 81130747 417586139 267326589 950546025 608902953 842788293 433457343 919037109 279020569 381166395 930819081 258523575 622928587 296962203 49740263 192480387 914520737 561386221 903852759 302307667 670242413 900715743 977810231 549527691 452211041 67700683 653853265 955385269 464016921 974162605 674178903 809666183 588619679 109569327 931150435 80055257 871083101 65155743 343424371 619995823 913938215 101228787 354184565 798949685 74828861 900773325 821644597 632400831 514876483 980135793 218301551 65788361 100357959 17270739 280656581 894397171 434222525 457923461 241104065 842503689 923254149 322430153 552304337 551953409 870070497 404194437 505269839 426094323 87358335 90199883 323593341 243456291 554826101 936501327 335905159 824404479 477846079 43119217 696853881 309695255 63510469 860042043 738220879 590394663 913452881 835639255 143254507 408681749 107282075 825563169 336569109 348850919 413779133 308524951 794335359 392055509 527671615 550049375 559357635 53309495 398283535 610190409 833535071 906251411 608145279 624810957 539324607 816928915 432961359 814587657 369209139 720671497 233834915 35627205 435764725 783578099 805767945 905204593 478274343 449469297 787185269 612457505 258861521 509845713 905634885 426418073 744386789 42754437 594751 873616699 436650043 316976167 289898895 368908315 297350039 806328189 188970953 817213421 257216925 942195569 412328943 780525587 424601829 987107861 117303393 370357907 873415395 498853031 778729199 812145947 275744507 420015751 861321167 794290179 395929971 598497859 987683995 779047243 683116673 65620621 50832219 628518299 210310459 209264449 751260027 71209791 906456227 727861345 644353235 815905585 245654691 27132185 817524379 925113871 323765003 712201405 660427389 589320483 881330325 447276999 624233349 90508631 674580451 941614809 46304549 537431111 749097597 418200001 554336319 153440049 502612435 101494387 418091031 429556731 344206915 996840453 672976727 340791861 199093257 237842881 772053785 379302423 891740239 642099213 409581527 959080319 314887209 947446143 233811063 783171317 859000207 955288017 690807111 545464999 249246819 566313189 736873725 471050095 333383021 815439819 960819635 122063305 432491357 677964209 114597873 288741599 430242767 49499893 394607523 281181055 303301699 322863129 184238367 411747615 513891619 85425867 706778145 242686177 608323263 889800411 877248209 580349577 77794383 247973701 936851641 932063113 811926265 29233453 933910481 55633913 101478595 176561885 910864757 968203157 207079837 940291787 307176809 802297029 639138915 507008143 722371803 703746457 740598229 1790957 863976291 950585033 371680155 956106195 716284411 293509301 337409865 109774673 97715209 432881761 321269079 236147363 847432281 460482175 19756069 485833773 623463973 793609829 195215615 754585467 162746885 844554001 847866131 190417469 66421503 406608429 694873213 617215315 907698051 626310919 933177149 624791995 311674469 590409111 207475771 380581797 38487521 860061051 223694923 825595745 525771423 877198075 125335333 719164013 369143977 564272133 455394921 879947881 522776181 268250419 898781345 375961635 976779235 411162817 611646527 175919243 606385973 261843865 268223133 672256449 192493081 314382409 171504379 506209797 70563495 275204103 853131649 942163651 260877399 338303925 328645187 374428557 864182547 311342807 471906871 672440097 595466791 675856543 664525891 570909279 212271941 84049635 680188971 865919829 998210959 903639843 504505251 711245877 993705609 143024519 792424261 538586203 481291551 708349915 160682895 963261769 502230181 821123225 253997549 449547689 604104155 65188831 347086769 524816979 344250855 243740279 127596819 419256127 362093907 102338763 609099315 183959183 281373973 286454263 5563931 826640273 210302347 750901945 148620221 254111671 349011323 680371831 443634929 631455645 893437713 803364929 36248443 809102341 692930275 696577485 103955969 836110557 842533615 267867773 39225621 577004083 781117847 331614807 607612979 469934407 371591341 34213643 470739641 976161147 438517345 161534701 348713201 223065 182986325 912743423 487275277 58537365 852524171 39495401 576655397 456997387 976967795 388073977 673426237 489160383 889583583 968017957 190897211 27841241 860813839 934227983 577427697 457227183 955666599 890078971 962796571 903636923 608506037 741748187 806627413 657570209 396642221 625590341 147004205 828714795 696331373 337911161 119858195 910913101 809902139 4733791 118470497 593614885 990544323 965345667 520932181 268690929 565754907 519328799 891050267 434696735 346359743 502669585 813433283 308556611 864756631 539801825 585623879 715249945 267318765 709335487 282378121 615554945 816276855 866039425 80294225 947857799 172084821 42240421 898419025 363492449 664747273 747946069 931666209 765875303 705147777 258681695 981644867 616146463 546112533 395624507 304462625 585324849 965980285 324699655 467243531 692757363 516204259 987231883 188277309 158905313 892166867 125336373 797798099 766979995 408288833 378198559 886104027 556084463 763553419 6921477 522990405 698526285 34326389 421334095 597836777 787622229 910181935 24489999 704673929 179846087 254403661 873787129 609513167 400274061 65275595 301370223 175301707 972019903 678573839 599962741 554420087 835430035 429201383 355083453 419833525 622859889 677785223 719764383 300784459 67047391 149897615 704977431 136020591 993050773 365352449 6687181 681585207 982669165 912666699 408752657 816288933 994490217 887001923 458575579 508154019 846917301 8295717 998184393 598039297 352040867 23846041 968810275 581419385 285377457 984595883 202651865 487238059 60088447 977774797 406000513 792462371 960094427 273186273 790422873 39436111 694931383 975730473 298068811 364187275 508738863 391031381 577304549 634103575 704863621 12821367 719066719 210409245 431694885 865774607 602108823 208622253 123048611 580735489 134603029 949893311 895369657 436712091 432065031 906272825 246274633 241905041 483112005 242772191 52859489 715713027 756409169 900097639 624386101 432828273 541066061 38091623 209310493 220019917 894757389 775374943 423774877 172879723 597188613 499677373 396771169 84401161 844560215 959418319 861664829 45177801 396405959 546760655 220881195 584860475 17014983 432230621 960468047 708512085 24530029 410441731 861219059 476214897 911818873 114036789 90875019 564208983 486891601 747776839 768852915 629995573 774698759 933565183 856343343 483224989 845259341 308402693 679582439 956020111 278992265 912849639 674055409 23651951 30603965 225166115 476490887 490331145 57070489 326999575 719839501 982082709 425001079 531683343 772466959 814493615 991209301 963710265 755692861 45897053 98797785 368160943 359463797 371383563 255743825 574450037 37083579 135082637 750610873 910794609 61291831 26580773 524456621 116968055 455918913 544624755 569793909 325171519 883653711 526625671 965019903 730078313 729505031 710877141 655512291 86278527 93734197 841739837 658964067 542045171 469573321 784012289 428434785 453398559 831366883 9893839 615512945 732881473 603048129 833863357 696644807 270428037 737360083 595464007 701970755 454453501 916604329 280784981 410050927 36553375 743087361 188680243 960963447 987414607 149024443 994304403 288020531 155722455 707531749 832459415 52959267 68474085 251886001 491872707 411755629 974211603 577696889 262682369 584819681 121974245 652654275 343612075 556956663 133546689 103249465 932511355 380718029 890865401 30131885 81576087 972328747 829115849 104005917 255801997 491977601 609342543 901520041 252464721 710326501 988351125 758306719 595764545 986216213 516506765 831767153 152081699 324145787 418858255 893702843 389090083 700438821 765949661 349326399 854600407 5994441 374538145 466587113 1523003 832421065 762057965 536540875 865818037 545947435 33634103 414390563 248066325 527024541 490967267 81767763 714865291 840154489 650946873 627672293 997295289 820179899 825211243 555901325 433962657 529013771 159562129 424555047 667509427 762428347 820999085 238589877 847462849 661011135 50073257 733452899 762527243 795547321 823248725 924718213 450713653 402679277 884077421 800358805 480799307 784696909 642918541 264872247 116118725 942011503 821936451 213911093 669160831 498552979 589163007 609077635 726267071 320123295 43112473 51218237 169962545 524660259 717609171 171400615 629495273 746436439 935613527 928623145 7982953 414245913 205934261 434189913 379080337 301586417 956959975 917392625 99746481 57366031 717246927 182830805 528446845 969478215 643066677 973482511 4303893 887879197 779407563 652611285 541671419 471001013 87792937 130037887 306483229 311810783 993475793 153933969 790851025 983657489 969414957 313899449 736464341 769344365 446757773 667048135 16829259 899580345 234652203 79964599 967736517 32761187 450741543 175688365 276412213 191035779 311645069 83034357 554905335 873754841 385207883 895156735 782694101 269188301 43855677 338562153 795514617 370353771 842882083 268788983 890582519 415058797 657367975 757722003 124430799 128822067 755961433 609943631 618193125 97478593 925558195 930771559 378388231 844414153 280317205 726508865 287941225 414865057 963228875 289877859 6547625 100314441 901798149 931199365 835542989 342272359 170903257 585515903 477651265 737722699 790831437 844464471 541935835 946115053 127136841 842335287 893886425 817457131 733830045 935363441 5340125 642483853 224040963 922299267 351601657 394569411 235561499 761899789 489649053 414603297 864963441 933294045 357586347 496708587 633481075 271023077 455205733 484804613 77647997 734880321 468031353 590291453 664541389 167455283 879359231 976624143 665554321 304816679 852996209 786987031 670156759 975421615 83718325 572769435 954630551 136686473 639838743 334895055 626424503 218884245 179838287 31513733 986734587 208086753 581777017 996388671 714076695 720047519 778844187 153832227 878345893 57599787 889625633 773886211 462508837 313078279 581420257 274186835 101486079 233733087 481891351 369151027 631588231 531731079 159805929 217973357 490730229 944146169 181508069 958239341 692631913 134542937 361446401 363133515 464754413 251279089 179435415 862627269 435007859 607184181 522421359 283766085 165110741 95479489 866848693 541630683 131071699 974173015 561985281 274940217 741240341 960286181 185849675 22707395 141029677 358675833 98842621 997496959 856204439 235020371 959277025 901830941 492332209 772694741 125320239 683448819 961831109 930210955 630069123 899208703 309163525 106934053 613269219 66335467 262876811 221346177 264873145 343892997 891741269 714930849 580058591 379153219 482959441 804852403 800647823 355835975 193574731 165202439 230389103 879266133 357536513 399663129 730967181 846228577 964587793 402889357 74429021 241678333 913696261 635774509 811870397 377047147 738521679 36590063 716327923 840771217 881138503 345052139 617850795 67461889 706227249 478133863 380191227 198620399 754154803 707805899 175353953 355523387 486681183 845920431 56829119 617334127 604076207 146529993 479926375 599347893 644178181 908568575 395602185 365330153 706392873 141927005 194025415 182499721 518204109 346153491 178250275 894848699 809991819 612566657 564840717 674863183 385624289 339427623 5846487 93616829 742702907 775988399 126021953 610035747 816040169 24626673 700661871 582431561 529174567 835774179 665330671 46695581 224534801 6250411 55671477 924235065 454410421 369687445 489415967 774110681 601740803 567848467 550628337 758223847 412205779 271648193 149819227 422447729 494741225 515003743 107627505 391940397 844749035 635134173 500852143 64973693 396130155 564691021 20056829 766360423 653565411 285285607 530963877 224233113 113763253 500864531 331475933 426690923 167797033 105056857 194616645 572283869 138707055 276799597 57755103 130005655 597661859 161827883 228369177 590086117 961731271 334018453 884853961 92798145 358220991 125195735 873563181 19448777 985838691 492520003 547551977 297107527 642207847 4870999 828849673 48690469 299189613 387444661 437157637 334640127 627936001 784990503 811442873 85620243 997741203 578823073 467539049 603245895 115355259 609320511 514630853 112334635 432537851 69418563 37951201 87973879 790027579 351157273 117146937 611891081 69198417 717050453 566444723 519441001 809914417 512661681 415466909 960163525 919333053 307421457 512433835 36297079 138567361 911932031 850353147 89707771 783093483 781099567 49784339 212572283 300650711 237582461 890349791 203576005 28493317 677151213 296948917 136849231 96092383 260868647 58963795 872577851 489602997 196347137 208271069 931252301 989730241 247831925 64872671 383067639 140502563 126657703 791625553 772348497 449766119 603564257 948330381 115322647 642066939 199652505 417866589 828178609 994607675 951713639 2598377 640610095 63515751 639040273 163875017 194250569 211835943 975144063 392260347 743023455 692920591 183766215 499070435 395820149 625483159 248870435 17603151 89449789 260577311 454118649 801924979 381397261 437548531 876563151 164857837 685346019 346956353 22827869 234841283 135498857 92053285 548945275 970838625 640853741 491058335 90973231 504519069 107072103 244007831 224890785 624725683 167671925 640995041 64940585 948270665 94102879 532596277 466088253 832073327 538199827 182450483 112340611 201924501 444308523 29975653 763420359 69674397 532717795 474277951 635517179 7805129 35222565 71043093 843747129 553490119 210321535 19321133 806482887 715954605 733014823 136736173 452249615 286482681 673095423 272905129 565666723 633229455 532145035 28914713 348624705 853024699 318815741 59542493 209884617 208842293 386379307 746054335 669387081 917008153 20235157 866647665 453398515 242346477 847139939 220359565 187937059 249995163 494268513 740194961 654546523 261063037 555869193 704578795 366102599 780115533 300018553 669750247 797998009 860421937 218871673 606027203 17137327 673947831 280619641 498997405 656994123 38149075 127266191 80995199 639039703 753532645 355493755 902389083 259209927 327284911 348293539 319603209 215848887 952767327 95932183 744916813 433424489 87340427 415276941 771015629 515656393 319300911 479877735 306801693 908323051 196642483 35358635 961564083 41840137 634768865 228694793 307499507 806894981 872526577 273109 286472997 290220525 5678463 851905297 867033467 203921909 599630735 125679205 416574477 574437237 250214033 354872607 211280863 828015729 108969047 861691445 489822935 543451157 277504545 721586249 8293063 282239925 362513811 744808095 188150891 474488267 775677883 809967657 312755809 129346811 257192461 672526461 855300659 15213327 653866855 182802651 602867025 685630973 968114959 217270059 7808537 168001757 499913649 327951609 219364039 453691635 635900003 454985855 632421511 79518381 278130081 184707483 727128681 853984411 944001617 907451605 817756777 597177465 383017155 529719389 942381155 745263659 523226023 563819273 630414629 211157693 960526623 414386519 920482143 449260895 50451373 111004273 504420521 968745071 461250367 986332453 321105029 544291441 817648171 891342571 921301341 227598607 111174703 636467425 31481731 991617051 674900847 683099343 58849837 393632913 553245049 590353443 332816509 37000597 9936447 428136183 122617471 451098483 177022755 478863623 318852643 684489373 83415017 499400891 793466945 950847661 468007357 346202149 652503451 85447017 530641971 820380665 605692891 244166075 236456011 206922393 915516049 425624757 119111531 305851657 851908663 807490197 281444445 784390139 698218799 65482683 269155415 761334471 557185727 888244149 149043703 965146727 745460253 348732981 322201155 787141769 945150303 92945429 90240425 216541815 96146055 53348955 672275195 633395243 506668671 976444721 766545015 173014851 273933847 993402603 439493 926699527 385862921 114168065 671573487 935219303 981999349 819515163 189076589 882225401 740608615 253172225 283852315 294631931 147663821 802556071 952629053 894776407 532821123 930490663 439425923 701637787 713093065 255497673 368831231 619134975 641016265 655024627 32370481 7202145 23346835 529578809 929174013 518502473 285272353 329779801 677286065 50417125 93158995 952599605 725218049 283015693 120133621 878148311 305416203 773108289 323204021 152856691 675508053 657850025 839738927 906804837 338041291 784045843 142513123 323322927 929997507 372102133 98521145 467445373 545950969 977743217 957650565 759352355 969884565 996986955 275623167 202179355 821664033 110186741 767821767 232314249 437339795 306348677 579977191 166774455 293961291 943391675 459522131 678280219 32806667 668884989 960041183 329479757 766305539 470376539 327030609 881659921 285747909 949568141 243723857 900695893 55630417 800199667 368951917 218944039 166153737 326681745 847737123 769615817 618350527 993491479 826658257 367508377 499691429 918748895 948325059 726762019 787902809 247369959 46642215 442652701 380995809 297456851 464658711 768744799 379447719 266692855 831020183 147253741 320796549 638373961 983067279 369024757 199048117 917148007 182228685 829246919 171638749 832948633 488014351 363829983 260268813 765164493 476610803 718892257 857103029 937546651 454892803 210481561 955066293 91201091 884682161 962641145 325671763 543338925 453195607 403732507 247021115 237817191 365883955 244965957 682381701 584388519 70320499 212651999 66968489 838144077 716075043 426412929 293323665 177137635 570913345 105444065 420694919 770748053 597555627 642976229 84602435 852524347 790471467 606516633 656341985 735429205 537581427 126698287 747351781 284649225 499129883 920402179 409335615 637610023 488285351 912958357 503696705 785605415 227882877 636228757 678507179 841551143 299729135 314415061 980988321 877725679 568105529 219482189 305614769 97447151 834920057 34841893 275920591 783480893 851036601 520405157 792875099 791336343 421952491 274913601 814868501 202410343 773108711 630621843 305235247 708841915 865103983 526325857 62818109 504342857 367854893 198954901 884498237 653154419 731319731 466908995 463407761 177017919 901791351 499746725 699168777 554489691 704350173 763346717 282160859 322966303 296850221 837094713 201901475 849848973 17674649 380054955 700516197 606580551 925771577 288751439 571664527 609058465 522440207 967086377 305179129 520662671 660002565 441502049 581510619 48573105 95851245 570313803 645761247 560161105 492504957 645427045 558629137 966261339 446331991 970761297 297805541 173271655 180852743 400586201 25913401 957688757 868141821 704416499 594683217 663112491 692526225 337254327 588050397 683782489 550761477 695128169 813147121 591884663 662450051 978116213 595014409 101608547 783258909 282913135 56481037 804726693 145125321 423864337 191511879 593744493 60331113 740295487 632967533 78654607 494827209 388066051 484978333 778974095 912598681 411126675 461049437 720427921 737207921 869123655 457863067 602374243 213201619 118643365 78099881 548112001 982591273 410976597 904560453 106343431 626080963 930247981 885366679 178262459 955975643 207230503 598382379 535219729 949418641 95011431 807991027 142642203 965609969 978386745 677058385 8106139 654207211 723214351 919551241 421997305 443637079 649322883 873572421 190154817 150263543 455080027 969559455 771946541 635853427 92685951 847521041 85812253 469171807 204409349 919270657 305881109 336970803 598698025 970541885 799129543 573584209 874457675 655315449 140195721 587079167 234793209 251800275 912196955 693340275 802502371 782545873 497106915 743328195 449000937 925252191 834513777 519131887 131701771 549001299 42729725 966043621 863772787 33620201 274796325 705389171 967884921 130096073 251207473 793618259 644293779 312118269 104569361 415823653 26155881 323697917 455074137 421503349 716163779 429000611 166071373 924886961 40341141 429182265 493499087 955249205 727395321 198745191 996458099 637679937 207235637 416358469 867402095 214994941 651262899 466446673 948181409 225246589 903762695 511953519 772944271 919039417 101455849 419233261 34604395 894887057 779595841 461417599 112713741 922421967 818891031 53222467 971692017 402045735 875011999 379841983 385257535 891928365 862380597 843702493 628770249 494683751 219886427 945946615 53609475 573693243 47400637 711043271 242402829 33940989 760656431 358509429 444983217 773955557 860882601 231845771 686130267 439820307 608109907 660689663 526559265 807409297 485764213 683675953 394492103 245306705 563941507 539729891 257245873 882095405 47504665 328847939 914740721 143431909 391726075 133411815 140865849 149938209 200794129 385434061 64256237 571906677 290345073 787719001 651761171 48527959 305467733 341363543 401961307 644959787 124470049 158501631 851517977 240249657 901563231 654860013 194477393 622849205 670605251 536206373 712922791 504999603 109459241 614571287 348563305 180926265 326964885 178456213 335523219 340931885 231217711 975387871 984645313 858512737 443609165 363849883 122336569 891573137 820753001 353649619 193507565 613834075 21674023 532311805 418754165 153817929 130525779 639773175 680190989 920733645 15373277 480009991 409037469 942663231 895634661 374610393 264072375 702187491 852702633 564994691 809379727 940757727 252424601 697734273 254959109 244657989 689584197 748744635 922732961 835294225 954680425 297217915 261980563 914088481 357519593 832926585 621838257 221372223 859255761 81456849 178838907 666059549 214866259 453220103 972038935 786502227 292547785 79153417 91994709 440805731 431538617 632717359 854569901 133029815 567916237 257000243 431459645 858079905 600574167 975269177 728805837 382249559 349273555 154945747 829010379 489345789 747562471 857195763 620901457 790457243 498482779 642614263 284369947 403696417 321264289 232101 314625683 257024877 491654489 629599017 112857799 711195707 340085571 797951513 654615661 47601207 622339659 724676465 951467751 251395569 370587779 386898327 993317435 541106915 307442473 293357657 140219415 848226927 268863901 421595117 884996819 594761949 803340909 239138797 684327023 760147037 932283979 46873697 880880017 562110477 9015571 627552951 942312587 989338857 230435527 103248577 468555345 953283293 517831315 778222015 727624579 131833785 389876171 973541715 334520683 682972215 857219815 373389967 924050675 213320439 111215759 477028069 982732215 785664389 346029707 759093043 78314741 742394193 918203599 260599997 942616723 445433011 640459895 911059507 143336481 507350509 722639045 169773223 399869399 6473769 575549991 351372441 915997075 569084535 415781163 649779439 494126045 337466065 638252945 930305011 527008995 559572759 783386939 19657307 959825279 836008981 756153651 978745413 316387373 568555129 895478447 58213431 386250263 925566431 272142343 364443677 782971403 721517511 861617087 297661005 302211455 671946907 472081283 161467525 216878485 210411691 535362855 860048103 336908305 608860977 604176293 844264197 292036197 766270285 743260193 106290383 109535399 712356619 771267303 988975527 75269783 798909529 983004775 747913039 107672221 735954451 855907905 844407031 723952325 567327993 2213939 46618673 739366345 270524085 369816877 878278653 756485641 413187285 146102847 90085311 718295177 772087767 621667749 530377797 253560827 122734619 224139203 796224707 34782131 306319079 881254949 39895511 588805301 726362479 743040123 917841031 589123237 549396429 328303525 679220543 161244371 69101569 66038945 307043027 119052087 102503155 134699423 455517061 555578223 609747319 100526319 916207093 164286915 990484293 150845455 269460019 614402081 390813693 175534751 717403829 784340771 28037673 76376939 190539093 373265669 417094205 189639017 265708123 334121649 942561677 85498547 84451701 183031475 633295711 346066315 900822197 494096967 104670169 187316571 126704539 270450759 616782607 93958075 192278025 597452351 259489785 645141345 26290001 222673755 23141239 206963509 926034725 834507635 908792659 420234047 133281955 97616903 440560447 449400755 548035919 344919359 529209813 375626731 333432345 378668775 449027987 313360237 152898133 725480313 131622375 307567843 185910975 784181523 961917981 300550433 667835005 38824061 735416435 782468641 774341661 530168871 521214215 351877637 872533651 679662887 182431459 860191259 541031997 209413181 630856953 59115477 840935905 407687375 34046243 890319 691505069 429797357 742218527 820576971 720138803 24074573 555540377 28378805 626899313 115443281 65686307 933995937 233184207 883777791 128373043 782867657 799425303 264195845 725954861 990375313 383773057 470147773 408179033 171243651 262551207 684207651 786593769 988375635 228142227 958948833 155695095 560158941 888102573 406760005 283678849 211188771 95736015 203177029 826796403 520821075 330915891 141419651 63413407 28160445 668305023 901288515 452265147 602283997 557112513 21086839 607829099 62359637 888462445 572701365 134293815 483791605 392135265 311908925 62245521 444928939 262748129 290311413 951204049 592152469 200737181 90355823 255164473 252738551 325373097 940966623 890844659 795906873 428324739 195079205 109821711 60173297 857820941 682766537 918162313 587977177 56830871 566245115 74153277 421402837 996242391 972116369 298388729 477016561 571614695 756841225 567722349 177462367 763692623 957520525 560086577 77474937 454637309 349596395 776777417 313228483 53355587 552442267 793131419 509255915 72432609 108666299 691433721 272793281 792075259 380991251 391724573 563844931 726201373 825668369 489852457 326303121 596535871 237841357 441857827 260369399 560478141 133311241 149584641 163463403 160005213 492011303 575889049 201858055 49497417 400195643 342752429 355864843 738335259 92211449 434635495 285519591 905677261 80335299 159246551 525569707 308771781 797083549 518891255 475555989 129883345 548747065 685724585 447260933 656675367 436005357 80958517 44176265 781007457 435682489 831833035 69897683 804924551 192563013 62806663 247172287 339053829 645731037 831227497 777683791 738604721 165592443 474139227 501959597 421261769 139757245 463251245 407213105 755400431 531630315 573171865 725384275 489236533 159082485 979642431 55824309 60431885 388593777 549449387 330888997 995080275 734002845 525707851 930794389 180325201 105323875 27553915 196776737 116101807 395287889 816513147 411208715 129806471 52491167 537248885 241970623 877684819 943338795 133449337 997265361 213245945 19204475 688901505 156879099 713589959 977093571 522580589 420042271 135894641 693039573 611919113 77984075 649234965 35232563 960997635 268386483 863148345 24573445 713491191 554227629 782963401 922766361 489372005 783417283 487728665 709535717 227119541 749046683 115629547 978619273 165002555 238792715 645194079 82642383 582889519 931432205 580366599 399559971 672643249 167366851 534051283 602347165 355513293 526462077 324289573 176372989 425964657 312428969 837395135 596264361 973966457 421071077 327023055 16706993 323001251 19757300 718064619 319968973 903209117 230560705 136856337 150381659 798291957 618715487 882631589 75130469 273055523 311990537 63713141 964335253 928900491 378194979 767830709 124249415 301932407 725610295 537786627 647417975 848396565 128251643 191197283 965071567 596567937 894323015 760555589 599406237 459729849 851829281 518634109 118926553 933362603 161987761 772235847 407165473 817145635 792672845 33574729 594150843 912782559 238011761 337768081 679633051 35168637 47299261 69595029 692223571 141265031 870983677 274952495 555010597 26050415 428137255 629767847 69853689 466470543 781510995 716322473 385195869 236295717 568716743 127802443 954492551 170067295 899652333 903916043 845009751 505754441 903488855 568985291 796524631 660183521 631946947 733502685 836568499 397101829 69803281 610495219 534008387 53093759 98527567 350950697 84418181 986989569 969621677 800683017 670641573 810235427 743857035 917525883 400142445 514190697 9605737 168415705 290721367 404381753 397142259 890221277 552999041 36390631 515799291 259245 298251955 869180073 142902143 532881111 300167773 753044131 612234143 276622671 561653139 69426909 14478249 621266803 782876185 710546249 934831119 888173321 282235987 259740351 717858413 272961341 11228241 602952707 281906309 946103205 166708425 263419579 815930691 109281085 830598173 369971321 487062969 465099117 184043859 2183607 353704997 784996095 632558873 870406359 617017065 251115819 511963847 596761889 946865551 784153227 222520671 337915335 511664075 198727719 194283651 546095841 336868473 77611629 605718919 689039473 793035931 801806895 114371679 181910369 40832605 942850477 440251051 990577795 949502995 186856843 613701301 118535053 462188855 369589207 782883433 238493731 14746987 238653701 465650783 139993293 676370815 31205617 553092309 351384059 510237281 494175205 463001783 320441609 756717615 547990923 119900815 181236537 303291179 432059385 886088087 929669295 104732355 119868587 145289901 237172611 962084999 440345479 562286937 80646825 841085235 654405595 770296009 475672323 728239531 736913245 777779415 292668509 350066681 50765095 894621441 377872999 835613777 907788481 840875883 173575097 184860689 172481815 798901737 529395413 751535799 279789951 368575217 644648229 240635121 2777783 923370145 128497145 472257429 538739171 447592383 458533259 159499417 469223311 163880639 909492219 864601635 512347315 985895091 191535701 139085181 956005291 101014621 235611017 604692509 468397883 189612837 703781743 335983771 285843347 124330519 599080393 541281213 995307845 575987949 810521919 216016237 867817553 663160583 613448293 979092925 921127197 959800937 106854067 179911657 391419249 846990533 115521419 200763221 961132937 712122481 527000371 72791693 600758525 172940653 957596641 427016771 774248405 768339039 233077419 501997137 559366013 346026903 220946579 737276093 917486539 981665293 507884929 268268209 502880251 869184095 176942921 253669247 639857589 9529301 423157923 872740261 211404291 116338013 877408303 662983619 495458395 701183121 737351033 109531047 356972445 650515631 121808879 54358851 528276747 339267483 781647853 507198387 477738325 978547433 383392179 990610489 573023629 558541519 942608489 325458239 457678899 207877417 771494691 962159453 907245611 545439875 999353817 860516939 667418563 15180553 884496491 824433643 772804015 112359317 699528613 607163211 119886861 654400163 110890037 949851549 533430113 862948699 450228149 417289021 157926811 851434639 364958633 123395245 630955279 975325619 658760825 713704345 441532793 81651687 160981619 177104853 302744831 284136693 233667797 424883291 820588335 814124615 464703677 295211085 94279679 204685817 823936053 254878715 55364297 213094345 12090161 556746195 326472021 704241181 133332613 726859123 924571345 69107973 146015991 176495773 398903503 344338745 335436845 177862717 534371405 426236695 541573563 159286119 290416819 428361639 910699031 220126293 742406861 183756185 458105765 336527211 363658191 263150145 672905135 785093683 86547541 420639395 400607075 349024867 142287721 919622243 365039323 937623763 150840693 708307151 759308827 453365895 337399117 738268131 808646153 918516141 323310385 23531835 478446967 811756693 926545861 615036189 814614561 788768955 536078103 304543099 303528869 603548099 783073691 852730605 838247565 133336183 929513265 614169519 996396875 140209613 228890139 971752617 680281399 323791837 452113927 610164333 253299605 536768237 909842187 778336303 709361803 282161765 863258275 730991311 325754923 818439643 723909303 913630165 837649777 586642443 805851793 351889521 780465979 780669397 36226025 322480761 759791955 401425735 779999705 843150189 888592747 223465617 703271401 107165555 10514971 981858067 728680711 5344859 652850149 814976075 862728837 499630237 566748723 538764521 355225379 201527895 441739863 948417981 123170821 826655825 803298439 708472005 177923513 892586745 784132327 211653153 801197363 550973289 718652031 867616543 651559121 154496605 682833985 410162993 213209433 459808575 245967877 157554929 38848247 636619037 113597325 145667877 36447807 171592109 493526915 131753399 546234675 594378833 690044023 367488187 967286323 994575631 917713891 711991657 790857999 381918101 941739817 24533801 323521021 530837563 710877841 399006339 879403671 535142145 353896013 969909803 934712037 790596237 490602357 342959099 491011155 915810609 88379147 743992825 957931193 690905569 61128953 356158799 516084559 316097853 863930127 940325201 869230527 38402701 557635079 903338617 736036115 461580993 42877059 645150571 991375555 844843375 419635721 859694577 369066923 244471255 245050895 930323455 125369617 349592543 414368491 84924081 217061791 205149463 685931231 926918473 989213807 884354487 615048981 698987059 670206971 720257949 499128477 520947715 918724393 165192529 997173105 463666803 295906375 753265409 318020977 570114919 725771785 358005127 735146345 338184169 420824207 796939103 469693449 695601965 179038811 165447091 248731879 831789455 53577563 73636175 526663561 8208787 889957861 580247471 726997079 855120609 564706741 868644333 337221537 846943055 140339955 718069717 773621409 911397847 738145065 629018835 129239159 208180637 807918671 295650559 71540015 252153579 579451841 355994649 240314039 786486839 790218051 937703561 347147755 771052313 587533827 9548379 338465675 506176853 807231385 550300233 735306561 918836697 127290623 39037619 697412253 809731509 479512987 723592861 531734039 890184485 550895161 43988663 158323221 827055245 68452881 445006427 805454299 94377849 626466241 175854727 181521055 480809883 840025161 227707105 73909365 28902349 245431323 116109497 96019299 17574677 937448971 754016775 433309777 171636635 365702229 960624233 621108749 627189173 91054497 113056295 723398741 652249823 728332281 157931311 795879623 683093177 274613203 202253851 240063471 1793041 760382735 366328615 868121659 720387545 738316783 30338365 1871111 703712811 819602465 632962793 494861201 405144909 126285755 88652135 399750151 500948137 198786619 838524305 494089845 356158929 135018373 216515315 81013721 253403523 136683751 855530681 272223505 587280543 41072147 325771963 747202535 147704115 231341611 262289529 107130893 933562225 560950451 551842841 881750045 819429045 118034583 224787309 110896791 520880257 330548011 912878825 580478691 329547137 641268015 89645741 750898259 822826631 634059209 695764865 965222179 509711249 866071937 850275285 324867441 225960641 454219091 722870975 756807 203282785 577719191 321053949 497827991 581120229 643188501 895156729 280927803 636570087 829326329 951113923 844336881 544205615 897512665 807912717 315479909 473564323 637826995 38487099 135142441 326264407 460332265 939835987 789200051 830647177 830629453 354519811 479158375 126608283 805248015 642340005 277566861 717724951 993168337 230643509 52415575 230117555 423499157 158310749 591028703 535976517 773608651 852302185 460037923 486204375 688147781 311174741 241142799 572350607 287042115 921464507 895295605 940595651 734584169 755727847 198571787 365908461 20926405 761246405 556985461 869214129 14370507 911296749 890888251 301350617 62785881 77411743 6473167 289942875 560617653 997126337 798389129 920984655 687048075 314358757 199257515 985180409 874971377 357729599 988561759 976609735 244313443 963541167 346609079 994367305 520479177 614161085 852423849 878618939 238765677 727204249 296067097 519363969 762805765 797235737 992627407 385700645 269083825 474506939 820443003 932149597 185287411 112596649 641378747 720347777 921996985 522359473 492951307 54905623 555790427 152878155 815560151 36671175 819274641 642876565 354347119 176895337 193563781 702173527 205205517 683035635 874154691 561209855 109943251 613326731 697073215 976405157 735666633 335221373 170122839 187766027 38285279 511969595 987195087 627688339 79258353 160517471 584322775 233207889 322244031 585833647 222834691 713899513 873837555 593495061 95180623 36816109 746844445 204418723 787017761 687392817 967167927 836552341 430105415 250934391 695212067 29550673 472378869 365729045 645833641 108832607 884395211 147573003 770444665 295338353 538127051 392728065 972271023 887738215 700863075 753601859 450245707 745659457 705220713 703479499 991623735 784577067 226389785 895508023 49138243 398887799 701043483 988777935 685307433 587774883 646406777 538780035 794534795 441943633 506791339 18881513 266594543 340598859 827879565 661674815 891155659 920459909 956788579 870798447 667991669 972650265 925601245 989415431 485161773 990901837 96352781 69981503 661540641 956181899 399858035 801111285 73769567 93795943 727155187 115763375 857004001 349491611 926783195 689232289 372718727 775278603 741092319 150128541 886861853 852441537 750581791 977810469 233973329 675602673 175608091 676333409 61357503 800062711 470900165 344099615 810497767 495814485 870230897 713056213 101654321 468010167 92569819 838259619 57568241 270207473 127582507 534960467 337120607 783997693 773316331 764806481 847027099 64639487 787954963 461555893 8830897 833338945 563080701 738773567 836393103 109520185 141263985 66399061 184030225 394130815 211692701 139853063 88360951 416140247 206866707 471600397 615125737 897118253 371682259 594488517 540777339 246125205 461264193 739941431 583309091 369900105 722197801 363274003 266274631 992167085 149174211 172936111 387324459 663575117 633391275 901767177 474918915 450839513 152904167 882441931 501535209 498274097 226851043 23729731 748586203 16410707 386989427 930071913 621136583 951039087 611110617 850900187 174225785 891289813 701528245 429477343 863039407 465466369 126726167 684500841 441721351 708228247 763747443 573127435 581982219 782403171 192281769 924106247 184181039 377262933 844527099 900864581 43469255 171488397 892214039 889253201 795423769 13266251 471174931 768312167 592424267 702715385 963741803 972455009 447822447 406038319 961782279 726177995 740264833 684397219 487174707 255623375 63790687 185280059 338696609 858908491 151486419 943447811 581047923 385211575 627198095 635026477 562365227 173676097 40177197 436222995 23941561 645275315 814297131 374030651 41352305 924586887 157623029 753130319 827622671 757417435 717649117 745211425 465225145 265238903 690391321 809432239 931289595 899531 33920717 971874331 663940047 93429995 125298177 702429357 627591309 879738523 55573671 298620125 95094269 441445183 704384407 605332549 820911435 424138983 296122773 920353447 140255245 478103625 359373383 96226543 117216063 779445703 766635839 119501361 479645255 61142631 866227959 691779749 841518581 14198999 721100241 84004019 134146937 388837487 264160533 701805027 292208501 149052463 861752821 200101353 824033003 351321023 856710281 232453025 406976075 91101805 869126357 294603277 615800935 740637231 266144703 122755929 801004415 787808421 929295385 568215001 726436407 699185177 166436253 60168455 661221531 9681015 144864237 429495431 93735203 502859351 576136593 728226595 695981483 436875255 987560697 328633295 731750521 891074627 36913027 855044263 254840121 454624197 919636075 165495279 286837759 868799927 601246173 601803023 871134285 645434103 812066793 979141021 64998915 361845517 939103113 971048019 928951921 244027687 970620319 872311317 517506891 42517791 666603505 708858605 234759089 969335923 175734837 160382225 762261285 987059015 850117889 256302553 127219349 644125551 535575767 804619977 359826775 138548577 701450017 88674959 731276841 902971707 130614063 484456443 733936685 589158339 29989179 980391689 492607477 748088683 321742695 493024221 649107059 159245643 31006905 647093699 977561603 570939423 961485863 475920939 191496047 78955855 868953991 989170101 51488993 959295981 586412699 690972959 223687917 513152941 329771533 945588825 877949331 15238129 357867117 7263603 902903607 403612349 506302771 51276715 536799143 920389571 18032581 835114081 268581143 192788825 406980201 758688801 742285605 883407743 90961231 613923745 505128919 56385755 197928339 217019067 571491993 580828093 875758645 808198513 366037825 450397981 492499741 156614381 166633229 576628633 61764127 738837127 165972383 903591545 196354035 456326837 536679431 123652779 605070649 965371423 249493435 267794377 129476477 700941451 293151127 943372047 613109293 695622641 89622751 854743143 286959013 949337963 659809857 727014751 463564325 717311547 650404053 490753071 341468373 650860237 393679637 4869299 334259401 517342131 833158631 938156919 921923065 66119339 864082839 263242919 862924869 809685911 351028957 736755485 388258937 913683329 464608213 730826069 530464579 858301341 670752005 181811319 515062847 640169029 760462937 915251541 217622763 856066561 869711911 711748451 722613685 728439415 122235947 488991681 629509353 840788859 300272779 757727287 597722565 760221707 701302997 722337845 326908775 944089417 592230143 566604241 235344859 601422719 422048867 596187851 588513039 962119457 434914505 212126089 283173853 34817483 583689565 359993883 155964681 932254017 584194485 430623545 775746617 661166187 295164623 822828353 719550209 658828895 326268431 180266811 84713943 376948567 908442689 149481943 774313761 269194677 843141277 830745705 434555939 215043337 473289663 318234613 128322065 741378817 266696875 155697181 80198915 319059579 735568337 232134197 115853565 271271035 916238853 125121075 476198117 978703657 89321347 939909555 715365775 365508827 339829489 963567873 479714993 642917643 256878173 364518409 697852911 872653661 41151547 158028133 194464209 671942813 701072489 902953297 94051529 542361019 970489645 460966069 33216049 64380631 884586035 308243491 960613703 819553327 976105361 336205519 232465975 81311027 388655813 662605721 93980435 449473907 995116465 949463049 717431505 544922539 686473639 55764303 430529621 484563135 383237207 792736065 550637415 558446267 592552675 610462047 947073977 615299025 928393933 344363471 644805091 628467547 139088133 448981601 956051559 591561951 18637533 482177933 98247857 444650757 710792469 611825521 495355917 448445093 832066769 296290005 70947511 477634485 116929693 527161895 588068049 296508509 617619827 493677185 280579427 190276579 212645291 323594399 192892255 600042943 550794763 511786475 474026141 619853451 576597699 370081139 467802335 86293257 899107431 467046125 920858831 612475173 187838195 378274235 761534717 808530673 109651663 353743329 63518947 175283627 569430469 692814611 796654051 59356339 349600267 205198243 131094597 975523479 624405313 945722259 915320379 369689609 415748457 759571337 641428701 377976037 420308465 579912151 307625261 722215213 517361327 967969649 182362901 851550221 652631265 632221943 403924581 808577239 616806955 104447409 649376727 171784713 694456217 756973711 592745485 923386437 823735459 215706919 265923215 273269077 101537829 167355065 313677005 236963117 99495267 127124267 572407587 748471529 26670861 889256461 309007825 1605579 856687159 622401431 467677697 574608447 341151069 445392295 774109379 450494681 416199013 341307077 36029457 530573651 392986781 547224351 171901389 833445265 928060857 158300047 795604669 478159005 39296727 927227537 226690455 685139885 313721469 273723215 830937073 493592345 544253079 489577621 597258573 309126501 246852987 933818847 566915603 495716413 118585063 378755143 7476375 71183221 554852093 525171097 612894737 823252487 509120335 534009665 779998115 209409815 126010319 200298839 419157843 978444017 685514201 885437851 99958551 986619909 498075957 675450485 423622595 496880113 990818065 313939441 752920605 635083897 81512703 753213641 793745357 340663429 580640767 775176539 924666979 406702379 386685813 615382193 205642839 632242343 594994735 934858613 389755919 422681433 780325729 123442947 589067983 150172877 532980137 417230425 968120781 724743865 127025677 810962205 492729629 93130229 10713337 904393375 290972357 942848391 24004931 70343895 236588973 235537817 360953127 269327203 328029859 560923773 885127499 316417675 144645989 899442607 297894845 63522365 942211985 778261205 87989491 262141203 372000179 977471157 80597703 74083657 125844537 769090119 962834819 876052937 649474175 63956901 673550031 172686623 315646915 982492943 73333955 337330311 775371827 447241717 620486365 247263963 190507483 150153193 525458177 766846887 788682169 855786915 813637243 344711191 694522027 896614923 111560451 716220419 190783099 632768809 854861237 539216107 696919261 559295791 861976599 861858549 619737189 287444861 211391763 47729139 199702937 430142867 697666051 990548057 96498143 188157981 837309345 788379207 213298827 864730607 944225555 679292549 223370195 532933889 562000615 351694211 670541275 638508923 153410577 686303831 338321835 49764517 550951153 527978431 35882549 650974707 205856329 658397989 155239251 294410241 855710279 975979415 628221123 49301393 465256833 102060749 978073907 9864335 634647539 223511077 744498479 158397711 456713733 496693159 215139893 151977547 324673921 611928321 379527585 797524389 98597535 229180045 809072579 234293165 305496315 962392647 419743943 848908049 521328793 144826585 699455943 195562927 987652329 821083279 737916869 509625225 364729277 642964581 933980843 328515019 429953109 37729013 205091915 974704073 893212757 363558283 810251099 494432765 235236043 775438099 555045503 133347083 280507179 461514021 621923135 465501375 56702035 413276929 883777293 552004873 599884681 179385997 39357505 480901383 912617849 480864091 203463967 491010557 55174457 385219487 709094605 875794515 984558917 39466809 421559901 185090207 85474947 150563505 457469897 951408283 980368707 819346999 585346291 905500715 359433781 565613215 612503715 107158619 316668795 23500397 999722891 917506139 755416983 351007429 710114627 815207563 620662391 448311415 33019213 81140073 959245937 254484219 474129427 715704997 81987395 71388527 577656293 533439503 545978129 267912089 867409917 515540131 520476007 57476333 232071037 355865991 711879741 273311101 15502445 8902913 262160111 971196171 658240189 525632393 587568963 212395519 419654473 447577271 822284901 841649255 916643027 789190737 261088745 460905721 511888639 476486977 877534415 269899799 988091235 685184153 932406397 779420869 737193593 297469591 108015549 853470645 868711069 852549531 228682693 421616701 127083293 767668531 297813299 781106013 936600871 214175505 647440653 557414075 800167127 678190095 926975937 49677737 791978541 733385523 380260385 383761947 119535635 125160103 487087211 146915249 172938585 893459135 917945671 895307443 827051961 330994931 70495423 139878161 252650709 471818987 392778571 157312863 957729587 79842671 493707975 639824865 73061193 423459187 280502647 164538747 273740397 264827155 902148875 396077757 311051233 344051857 239907221 91228383 186390477 860793689 955881621 169056957 848577605 146736893 884722671 945570787 605420097 608068667 817642225 724223359 360474785 923826165 918547791 30975333 404143409 811660853 22934567 436898071 142635423 848048943 903325439 537647805 695412359 541953087 18479299 422888995 109474409 212523239 810326217 675137477 707223727 910135765 467380685 119594429 632973479 763566039 814301431 244567255 457204367 743244013 594271953 555915647 880726149 941735225 278807633 552622285 51832213 279948295 407243223 459117953 333967021 706397383 416226853 106854657 975672233 258387479 319859051 515650653 918648393 405220537 657313851 799983949 827358005 469085339 563316373 406508335 706119425 473928653 531892955 384078347 537985829 610657163 259387103 71485841 181767937 980262201 545115859 426438679 358171359 315602785 63066197 191148955 852285681 99980473 439950187 788191431 677085777 924457753 559767935 327584745 737324543 249288839 584256619 520052217 717825507 58129963 281152873 796219285 245069777 900387163 336529439 385322499 422478975 185330321 686221723 943862839 911220369 764471411 123871059 404673987 273883537 182472391 978320417 601884137 158001901 611667845 777400653 767463569 144503039 457750981 839046531 521341255 75471883 778346189 72913371 235474503 530978615 244784903 804394701 249208683 636927383 471622917 685465411 525605181 596871457 283820675 32744327 645755885 344649657 855760231 206751825 533529681 95601703 81029815 209340861 914056937 139024157 147227051 182131279 798723805 261351989 164503197 485915639 427277561 951997165 599460879 885454599 871221943 912896433 20118955 340614975 766452021 80808147 62363977 983132867 708476475 870174089 112949729 972996897 989823287 417045751 981622421 367886413 368033347 209978149 97376179 367538087 179808029 310189573 751839661 568794863 857346603 351775343 374188063 579269975 883732349 81371943 156018379 631774323 163662281 552829907 519068317 151702849 393745777 991860741 416405159 106761507 550703483 205210681 31540519 794641129 482059413 859741387 734187645 743157193 584577047 953159945 906985529 855122015 129862913 485137443 344038921 821681071 537918203 265649201 408855755 721131047 694347601 261217079 367515009 674915485 176426495 493763611 647359575 571709775 507444895 44309935 360520097 805469409 902171005 869645741 428759257 932796257 840875139 590390199 238634913 496590147 489252429 426313301 694469833 731698789 42559769 443932153 760296767 895827211 989959629 140901883 647988001 751860453 899496187 588168605 981028529 348919303 180800983 559231241 822911835 975606765 190578497 683042895 422413491 44776061 912652993 937362025 385549171 986244871 192591237 142459449 188607615 62036795 950076263 674786183 314703331 920755769 719556579 717641219 158461903 904840583 74457379 998014025 270653345 58320403 812375285 825261273 730418397 410770735 90253777 378216221 591596587 909835161 916602323 749674597 946104417 766669433 793072583 469614315 464368507 452228185 448926233 656305873 988844441 887961649 552499683 415029023 335217159 318505053 435312097 175505093 563677755 952649123 877470587 563827615 668937421 420754477 301597123 407799149 340108419 30176917 278449261 710776537 850120517 870031573 996929753 222205043 371228459 614058323 819896081 216477109 479078251 772777949 951719105 34170367 949375339 428726951 423179841 671137181 707692471 835562319 164077455 618482877 181442305 130945499 90832727 85079163 347104547 563194807 497670115 472089047 380900899 963114681 67114029 710941371 970379563 709976605 954034899 710304501 968481677 569984395 869209373 667218243 525152199 936956941 692523513 44845637 807204473 710748955 518043905 923887489 847744369 927906191 508288881 326370923 304502433 851381427 531783987 260662621 560086307 818348335 773978069 739568791 646435389 709427739 693794703 844395843 412206169 952014837 469427261 717740655 217451531 733639585 929706091 762909721 739288843 360259437 396634693 277713439 311257921 723572237 622917283 16640845 797820853 821438879 596834311 801978961 283900315 651092137 236237203 629146823 569368911 246850325 934742043 196965421 319652179 365799741 626767123 79962353 398494035 594018523 706778523 826127201 682766115 967377943 615675771 515647669 281419709 115950203 901464611 756893713 713053251 93592573 250835881 104308607 687813379 638905341 111974861 108253421 866134129 768024637 958209269 157250359 301682725 475107307 124584241 498942747 654762467 905981085 355050297 658429509 668650647 100120401 848593771 65804871 721537365 93961579 581463247 991410585 81383511 184479159 261657109 316510363 663183873 818919277 835481233 418549911 226680797 525037865 857999175 352131263 396525985 394804207 291438553 768064301 216799781 51659311 378353563 199917535 658331245 552281275 914198147 284384193 662316197 578578899 260557357 341836709 29898017 965688349 774134501 881077569 22779229 964105633 448037527 683032633 271722233 101879003 608291803 817835797 253438145 366422435 809233137 102116423 693864875 412843585 559568065 991904553 63864783 176568929 878377431 15114489 280728947 794586137 483506543 383082979 482811391 272067301 449432675 84174329 671019273 207270573 748519997 760797233 299775821 969542331 901957165 272656751 613952427 560220871 170062857 454117755 769626159 333621227 897727313 381615111 624676111 598895025 838346795 321577899 240598435 388283137 686281831 234376939 684136305 834152757 504752253 353774381 922075427 904244997 644385931 794508227 190494091 987601819 318782809 993505511 631091367 985853827 322846549 71802555 130310807 95771569 288491929 227375687 428809897 441370755 689477857 346834557 587999823 286856895 507162775 635163445 59109923 322261137 980042185 991021617 897401067 941276815 747592237 957350427 582894737 812433589 167076645 994682243 596153127 93135209 133784245 650644453 724369387 644470905 304787599 465508509 673851455 811292187 560156939 308568569 708866219 43389929 506864165 429861417 880552423 825610219 107325573 290956357 825814989 307457935 713500797 635598159 611599967 619802279 987223809 56824113 745060041 471932019 232901809 84193211 769921631 27487893 579049173 922274215 903235995 726832159 674837597 617484695 349490975 29763715 569038047 111814419 293915833 38865055 540810651 866817419 229706845 630689719 66556023 8516443 796599073 584106619 146878723 468148931 786693711 483308029 883889527 647367917 167020621 640743101 769428401 608292585 391283121 457495457 530762807 419618481 560513077 872065779 715636029 449138215 739217851 273621353 776566677 865542673 465643859 268729121 163369411 220877093 367761963 551742113 886881001 615923961 645712545 654055381 623784923 368040207 896318263 251798803 796104719 267178959 243099 83071513 349304993 787648397 438627229 360130825 79992157 195312001 344196665 390112627 276544943 628874445 85125267 760382797 872066991 826920823 232172789 33683443 752446237 530484085 369990613 963361065 198735457 30244253 363694283 983930399 923096967 827833519 803799963 376607335 833119049 734943833 593878323 251532545 798699013 54919721 459514019 530936145 127014597 34782873 673934887 408712229 17344051 650538505 853270563 624129201 932165035 831918533 83908643 528753555 583154731 392177403 143317975 854147537 918731097 333508551 894085663 307271127 864788101 843439143 438100473 135614073 195701159 982819593 378994069 285148153 589362781 811602235 6631747 899647735 730387181 487663221 651620993 725689731 97255243 15523421 604284143 22156307 228610057 651326839 40186203 511941249 921015147 147971639 996691127 997997845 503828563 294911479 601087773 860388221 22784341 217347575 828612819 542572491 650716071 284417119 89332547 689430397 896300069 139333955 564273151 187483770 487380059 78718361 972873669 318692881 987484021 288348741 330932597 53956595 972480331 698715921 494606109 187122495 764452701 680747435 150845679 570721145 489932753 316011693 848148551 529617809 949964921 539161243 793156775 218157787 831858633 314965723 819387065 483233299 862415329 175914177 106035541 55837791 161443721 78935171 56663155 526203981 504032049 438436933 136807989 759416529 118991855 56842001 292693481 166160457 129028737 349459925 905522433 683191163 494780497 632354923 333952537 440005269 991322733 159213719 80341491 379745321 952226957 572103423 865220221 309989941 645017103 353279029 512702917 151656225 488658171 206969781 603078411 366244535 208047871 479601373 312681393 156177711 481718389 626683895 376277569 358715939 939682137 294010677 252900719 566810013 836989013 919137199 942142743 892564229 220641717 267630183 608331581 254192181 996601973 345663305 530368777 34680935 38080303 25692193 905775057 715286337 890791215 370997163 348151823 678223311 877943649 347530377 28129895 760604043 748282717 54433859 393845411 115467597 842517603 852824139 793530551 418196571 29462105 413262073 36371905 342824805 541093073 838707857 209194751 867545471 403894781 194816057 467105503 335664935 972229571 189201155 289520629 467072831 749939877 818500841 578211837 761328151 750964949 679980493 335587543 133737061 983553831 877521527 581142927 858487363 389620767 905996185 407005531 324327993 737976033 889905355 810467987 197387317 181721149 11587983 694711229 326156425 110570411 373998159 33114753 240156917 406361673 397263707 983035061 816303517 58323933 387603949 835618645 427770381 164013531 287207719 883060609 580006973 237398101 643524369 923186567 563110793 581486349 383248797 161869783 454028727 234534507 790597539 144181265 881961457 511491197 792389605 671249397 497934801 348812281 536350733 893076589 265942097 604345153 151479211 490364561 164783831 617612121 360385337 564784279 799070257 78753011 39727383 647931111 617872789 635685733 828120721 585635079 749288861 367269807 106634967 785333423 208170321 446332791 954529281 761430201 700297501 163099151 345390609 968326183 632113111 145200491 37905391 474758437 148773821 10692395 136902255 696342533 408356209 806207383 121263433 714241605 500006661 447046303 668357663 878630277 223278827 248364247 80529783 695974547 413574911 862741123 29133255 510802017 638344075 628145799 544789093 157463819 140221495 245921651 775614611 870460627 361075485 227330173 36025465 419968805 433316791 917123719 762517035 843392917 630339051 868064023 339924641 905434333 306046727 550166875 313329341 300884959 875166399 11758893 622945349 865268395 280798769 548037641 688375535 20034927 926673123 583361561 308113231 248513417 503608257 72698153 270268907 386066043 152303135 348645813 559495723 301858545 359325887 514208727 358274399 569472959 360799425 93050971 401636287 364398303 946543797 293708205 534324593 807219317 146618257 235669733 346232697 948254155 143106481 235220675 262359755 329838677 816535513 463786157 743370049 535176367 30422071 750645683 800878235 261157789 25780065 991089549 167659393 345234695 883743061 441325977 172946055 974367491 83210359 1214943 329852709 70350539 981125269 482642959 377218747 633962435 558450659 545873023 838460819 576256631 515674623 336556333 735741921 414538135 968859373 472157891 100100281 225398017 421123101 699920271 824531233 817091769 829081955 106026121 373333759 233352679 886563323 809065549 772119079 475637219 970953611 337249319 334019919 237253923 203988257 553411331 378093851 610558541 574398003 601213563 542976789 368288557 904334747 291226571 285161131 933001651 396745889 562536157 38407223 146571007 621170673 762363709 476532733 823566927 574842529 616821029 128103203 840280595 582796079 625671797 287334589 47869659 884495485 422576049 366418113 492532325 840861917 514230027 977668371 76252305 631561473 194887001 84298875 800839277 670395653 426557211 843546539 489248555 800676211 140690295 795315773 307821349 69818931 279773503 781131695 416816865 814371231 572843495 916509807 693903369 279101809 711879311 382928585 997287023 990397903 590006015 657028601 407724305 702018631 766671525 153521953 910365967 737578701 314432923 215308361 190904503 268141759 550773151 608072035 371524731 511728611 596669719 746133833 764793335 306876261 26680337 694430393 464018157 646394587 998845257 312761695 572719689 234982721 498257179 134269131 361552671 894948863 77553807 80231289 259333031 689885663 237892691 958042055 769559113 479984153 191452095 548070143 597675661 610986311 486388691 643627089 492335655 266976881 333917751 830246363 248212979 702981637 634531383 515182489 709552883 658632917 130303951 754349175 316534099 688779553 476639897 707161413 122795879 85429645 939440863 940956093 87037097 821276197 812349585 179887489 294962365 652617569 279371845 986405145 91230829 89049373 923285051 899365623 47068845 883347359 802285401 562593395 210667417 714425491 145415729 787884239 799879541 128461327 642741237 617272373 531707817 260595087 60736395 393978549 799337931 682918649 403315317 190750025 596133013 856743323 853890531 399567059 992711403 167342891 646951343 767360283 717488855 923260611 161208661 363834833 654097039 224936939 557271295 420300177 706452843 52730255 217214587 803063517 101070575 926209797 396547649 950493465 385900489 948164875 56874605 452734875 57619145 803992773 60540363 355521179 56077803 841330367 505803463 442682427 250048339 198088689 14173819 795252099 345671757 914464439 702526371 811276643 693713481 633736149 852843943 763776951 555845607 122353019 6939033 520571967 951754213 781214267 207146285 572252581 28897843 246244885 292288963 615659641 443742945 522639213 373157221 218023477 840180523 414237713 163819967 36604473 254132343 214309431 345821993 413776593 174104395 398620537 725363617 286368811 49332831 987325407 900751827 511672163 535599501 896805077 584988169 939093881 712973525 367111217 399672637 423693399 920935783 997877039 909008397 395575245 427443859 123502967 772907969 398800019 337969879 719587347 157876551 70909263 71405779 943918713 746665017 437554053 26906197 643083145 167765459 470587051 853479247 790947973 382892542 663069973 924043485 718218269 420471883 662712585 968675905 700443491 18442477 654015919 352056807 990119639 270541767 196455959 300563041 822439261 148884831 778345529 532275053 216533315 332685283 166338043 324158187 136503101 887215147 475009569 139076073 454113641 427131063 786119519 721280411 675397707 681384111 44746063 712667223 725122515 502895327 575930737 945586341 172615253 692281027 216348717 399532591 125887373 166274933 948531159 532552905 450027425 299378879 244981157 642233197 809059359 970854417 14799037 290093375 588632829 656668033 331706659 335692425 962136981 628143823 723952331 226208191 348386735 820313185 889717391 617636477 417916025 709102663 721773357 67410053 69352837 953332025 871561299 568962757 82059217 447908757 309222285 869910091 312828613 604536419 51626841 970617687 86355757 123061841 226725397 669271627 93857341 259047097 680028427 744695475 89436305 480986775 387088237 93521471 951727923 275465109 665838421 303429069 970038411 255461121 919568577 620852319 164242803 352784083 413234845 560665123 326437413 162440871 28885947 499760489 635540295 482107593 842074065 387177389 585171687 210601253 983500931 824382099 368599929 878194259 456485979 725690087 466189533 946400403 388365767 845600153 333277011 618711245 675439137 466652871 251708047 933137293 349589675 679835317 226142369 390702605 804029329 890573515 340801799 260906285 890541279 580445857 474706345 499406961 193652625 934605549 155834321 897288459 904131721 65317013 235362103 831153873 938452367 115423141 716169461 439460675 73103445 24626765 5212819 214147207 323225459 475772397 92893439 691061357 970765677 494007301 102348683 560340845 198809513 846773055 874977527 281242533 37336441 845300339 227148903 955591645 849598743 442659223 286978665 569377923 465350309 482391249 725474801 894513329 591587627 425059181 794896221 610353955 197885851 720428765 3788659 183054659 995202509 235893693 765317725 611768351 449111427 42057935 529395381 597658989 640820583 611728893 531753079 696053903 900225547 812662623 786812421 28885897 369288421 556244011 501692719 850743309 461234521 458987465 541588009 727147123 448184237 673467073 714641555 518916279 473782295 201100231 29607023 272996225 817093549 670597303 814276395 984880929 351267185 29475731 923648159 136658065 885631309 837994887 650046467 444846187 15953681 69965285 253265665 407060985 238863223 955418411 311345827 790220331 973195041 926004219 264088673 909121687 983830935 749301791 931670295 76758141 302372425 9690507 277244939 410586563 563389331 35065179 654233575 519172089 614661559 601531601 930004421 339725653 167837657 628849753 417380383 472823225 96326415 752219783 905663963 832674731 993906513 205734677 674111303 466278235 537020545 273403367 409550103 320137629 425230183 650456583 381893995 790650101 543135923 417969321 573403333 18929285 335313921 437077545 858906899 410909985 291821777 782115083 958191787 770228287 552563085 744878839 898004297 842780411 465368197 889370563 753357589 533481249 539177201 708883049 425137561 347319325 765177335 284083725 350601421 590625287 15839131 296261369 880162829 115156639 545951699 202540963 319236893 693904971 891102581 272769443 505579307 713814301 888869187 607059135 107156431 925215689 225819365 567772639 332151299 224812207 817055215 891692569 820503341 991841495 550571225 541869481 226476569 65056497 262569987 578123503 292149247 912227923 8250553 820274551 512644989 114681341 418931241 806035703 36443539 729828757 833449071 455053895 356730035 36499563 421366155 791047277 80413617 667821687 612798053 501840785 554024649 106734423 24262609 188831755 735836835 431485265 46139781 828888401 229576521 813089369 150312231 65173257 291550513 605501697 664373563 687992831 765871163 59234701 173622325 55097125 740747945 605593311 458302831 680672405 184145449 514416523 510564905 822661781 505438417 88693445 509450379 11000463 642993183 664618351 216184489 225571349 65485815 447103759 467476345 227674597 211991975 21753043 770605023 906330335 536445665 61179027 320117157 753421585 42630855 373027791 709306489 181755565 627808989 180714157 372582645 688744207 450106383 365702911 423304093 891613113 454901169 959480633 391811031 679865687 869134979 293787515 576118007 627542203 665633707 922265229 49777459 534584803 200712625 127595743 738951857 310319857 421283729 800161671 87322741 834164527 709676451 252215619 731019123 281093137 76689071 850973053 816304003 345822259 191307489 493110595 654525545 201933911 726006991 223363149 135387339 189245545 655969399 637245433 951578427 761935485 824300603 328507983 326232885 970879437 441054701 356681469 472180247 664075195 880269757 761584733 345350699 148820693 661821261 523112555 831488419 361855951 835317919 254832081 756635543 777912961 380357411 230888667 337185035 920296687 14930603 170142341 96412133 269666885 76771447 249227113 758762487 278901719 942731819 264203987 734307835 255109151 537621717 104203183 628746899 427447745 870055401 194990997 813914439 203610759 629965893 948399045 891523465 354889831 163779887 329660965 401058737 803220089 341505875 975949381 666875395 629913089 672498631 264531549 519696293 484065645 35449607 371455053 34629545 665350989 219799035 160704665 71931401 190120797 932677357 738873713 147127975 795595137 793064595 98138031 756343883 387667653 748208909 968732625 740724647 14896729 221622493 817193725 151606355 213907611 828607985 256212995 402115537 327053327 941001889 983484507 410773643 604312671 323556005 899189537 71117521 465777501 560572455 865506337 543970269 698054661 59156659 321189065 535493841 592452987 111851581 387570477 930677173 530937867 38729763 476259599 125830779 506754599 429289513 60320983 257840123 819866473 452901759 469340307 556559095 126229911 39489977 153080057 835299609 262237595 701748179 164397161 247303665 432906887 332137267 824738797 958094841 455552153 848277671 479234609 120094609 985575473 870955363 879047309 283442693 77356253 768904199 466735105 655852677 967736399 645434261 528747571 792177449 810043233 891752571 732044405 359325171 217553177 909177743 935593659 917725645 834748833 636224781 954253477 312569223 912439629 303179165 797998203 681762009 666656149 332669257 935916077 457564521 925239841 503177353 325559375 811259837 166404537 119068985 712731429 237725253 424329553 208665501 833930643 591192157 247210757 84109157 520294441 239780677 329668375 550911651 718040093 622178599 516973299 949920983 154493521 110306323 972610091 87376869 601531467 457254657 232488317 712903963 114518329 879781079 623065547 878105645 469171957 62701401 213338911 827073081 917089019 351053373 434908077 305893061 737992565 301469209 526938321 551952573 506576943 826147693 298134029 698273655 606951845 233503143 108847629 348948911 594070513 179882517 7963045 454776461 860458461 89304303 220763343 922349211 456828377 747388507 669657007 590760657 769280253 823037789 380613007 476103049 425288707 264730859 805594597 523555211 155721305 351918809 114608969 242926341 511636233 910972141 18877567 867611785 979158989 83914189 684217717 25591319 853312515 341416973 410645563 754095635 645277107 948593957 945975309 82677321 939203213 306193525 963339343 381020913 833503975 733591111 391314315 449883559 347889343 231233231 503179895 24044657 475019967 328356129 164057835 403443387 620133685 768531011 337148139 19093593 255852825 617948699 268976037 582757003 506596103 157039741 581236329 355765495 221072971 262253087 290056115 457693863 848072657 928638375 138450471 769956625 705751347 586614937 697201041 831525653 755268013 664072809 562017251 39696373 888519465 386006897 813510711 302937183 383672627 620744687 58211795 107180393 772165637 56740623 881949983 386577295 10956159 313823203 902536371 412884921 276084261 715001953 211940933 562047027 888954409 940070509 602530747 140605359 959350881 606885585 333077025 467181135 737680205 541199419 36105897 918433429 974350355 295362117 373956015 422405233 667097477 625859187 128878003 941750839 992313111 602790699 671306341 313117603 836055017 780417215 780524439 513370331 420514243 589903467 288147009 470894443 241242131 162714443 96282507 353217357 392168179 323578735 676001213 475026393 261349921 511927489 534196555 946479831 656854017 12577313 687460815 53017971 728888999 682121291 558703887 529467203 409300169 416665323 856023541 918979395 516711109 563894675 306611093 803661017 563952033 91996857 311830057 642064085 465375761 499694785 170063891 267109991 80573799 813584115 108630241 569239089 608469157 762854529 304429639 174973237 208583027 737377667 884389147 223452641 549831453 829538811 207405671 204259085 550068125 398763219 671263825 448334067 991976083 810034395 669495597 688183351 955917891 194701263 84647545 655100139 109287583 448881995 203002839 426441089 676545085 893956573 236695057 359874007 922638685 602018293 730276893 573177395 909400805 1976555 439219219 415993921 343674215 820346881 321336375 417031701 964691477 357933921 372222965 724239663 544958933 889778971 207284449 34396533 851607081 685938729 54978997 870392369 585446465 519096685 710784853 510648089 39518199 412545199 297159117 545172301 669068487 294689185 881597261 3950671 360018651 399368411 511671091 718038797 652590081 62501087 497753859 639853277 920875695 353052949 646807397 316230269 674598151 476654803 789222191 611934479 632888271 196532301 669597787 862710565 88840565 731904933 814883597 179889585 203877651 204222951 511262353 342217487 910658405 101894657 203385433 987981321 861810131 43148751 700912383 825632967 801484655 339886865 371928905 442211811 344952301 481700977 59675423 280115031 355173037 698269311 477945495 488683913 656041913 302681269 751569133 126761031 309215421 837752435 639839617 586974661 511251985 899147781 573132513 180575649 448511411 500050841 445879741 948616161 976494669 924905547 245093365 943691249 612628015 785938715 721231241 416290727 836063819 730333171 458889123 424983617 417557319 279121059 361330587 637744993 379671141 765241829 443981799 123518487 154124437 949427289 341412143 603631065 307755889 987446153 296290107 479752067 915132469 153209577 563305983 706735705 780309707 233333967 837930133 423770377 797586625 213985147 832550467 334566059 25024077 963915803 144570227 65942969 197707601 334483901 423855289 944532247 344107603 113683033 756552141 792975639 569620865 26666965 484544151 928394347 936467891 261710581 868163615 626367281 198477673 283320429 563532185 593915375 761457099 313612759 228029281 491332753 144297893 678677171 737162233 523424107 461086321 847510889 158060301 968773695 760023375 502941261 30758513 885150509 139654147 615120023 437053213 552273349 310622719 130569063 594284089 716916221 183387993 399315143 698439181 818778415 703859153 749157033 957583119 189547299 574718925 725309415 953243349 571982597 349193565 850635071 345827625 880940651 599902009 303217759 841328369 382839379 805270463 589639891 326959427 1688097 444117495 616910617 631510617 360108193 696214671 407754639 609066135 369279243 22881505 402787711 513907591 996053499 166971369 479843867 500841181 533417589 789160785 490079613 302746485 712330985 193111143 104546723 156102227 500895787 89191201 33742715 34865567 467223671 61759777 549081041 400642479 241055347 984138413 485562467 495309309 328898093 726813619 724718287 263813165 517030937 651445963 705782687 656043275 592214549 158042677 491405125 359025031 140338791 971472601 894387993 809143233 425638587 402656067 164061791 416674295 71379751 357799085 248700733 248115609 901523753 616273911 227790277 385702967 100665507 219898533 421772529 149863053 156191461 49465833 332304291 974370689 205500837 341608857 933140387 915528985 734572031 71718195 142547619 220291981 327206263 626478819 461822269 752277045 869546749 367846003 680408559 63632023 607261667 991744603 268638245 35113309 203533545 154615487 520065327 322833241 666549043 216959583 148049737 287696007 513549133 497128369 948398735 489969933 946224689 570323399 304220687 141371443 89233463 454354789 89719481 933659499 754300453 447410671 768751717 920699221 104798251 222506099 838124247 776347825 509257949 232898733 299536565 798264171 619322423 239194105 356792465 591580565 530076321 392460381 601124837 407510125 806678501 263074187 836370963 5732691 382516793 358246873 284508515 344786133 36575037 392806217 802328069 260131237 482983155 447448701 906272533 914519967 132263113 993066951 203919253 942984389 87293077 684645407 109137257 401091651 650913685 645090853 941647465 493035373 394918253 975652637 263734601 278561467 216627497 557665273 644631723 416232149 960180289 769925199 908494363 346589571 580902289 939359581 59531529 198694585 846612061 531456781 505861581 748983699 421019477 717236463 789787305 465981779 548152717 489985333 941263557 343805543 648115073 224567235 862541621 600548701 85034519 824625951 125504497 187778037 389390749 126545785 173538011 901327889 453261511 554682789 383078075 82928827 633488307 794868775 113518145 929366313 929465575 325025825 771055369 495082931 206589007 33876583 33537171 158717149 299811393 708471917 609123657 566194259 523866235 940630869 366986619 662994921 880499487 806390501 713121379 221254299 676286399 656130699 389682465 494275975 536231499 874878047 868716481 563323135 951473189 960874529 709067825 971371377 878736143 568463927 651959629 263960189 416145465 681614515 602467797 349147105 199407925 275281993 564513137 579778701 315055875 67181913 461490101 225736593 855102727 823597291 173845785 113354025 494837263 279748527 829159933 209296825 706868047 216153339 421477293 694025421 742364005 572480975 124201815 81886741 389480279 285377489 290006295 559198833 491294609 528023633 333848813 298442975 486671593 24438597 126685633 836538255 412488603 219566159 567747175 903901393 285364813 145531829 643447447 729162275 137993997 96721767 472038897 313211685 401057361 486591993 57722623 128497317 733714419 152460719 690187827 485635475 719251005 403844971 848675047 608912911 80073943 149575105 197376603 663927897 762537433 61847013 793801911 155763675 488352961 242297529 674488335 402249261 573285235 433596353 480347993 370968069 293797179 215104561 439089019 758521931 954840017 469588443 924233785 498710791 424798801 781894209 203091271 356652653 733743679 969299849 891972927 407388631 709102219 149141891 915967647 297651403 431166601 486018727 372384469 525711347 814791925 244398357 60835629 219602979 839127285 483606929 405485541 461673813 429472023 572374669 461325083 176647595 619796559 988395293 462310873 576272499 287959293 615484421 183458065 893885727 729508835 344475817 272395419 851354699 308647727 447627289 290078267 568621241 160929655 371243021 295679127 919433301 955149495 465146339 708472899 868785459 53273943 70168483 963641013 872366221 25780001 699773179 639999313 332094919 282846797 310791747 8163935 515775851 502647927 243228541 728057361 113609773 491648419 8324427 470242175 216677353 232465729 930193921 815485357 892017825 424955683 440996499 96897665 116632451 540808329 347691427 626099661 569887199 326513943 478976631 454194765 695216689 52379099 849395197 135178397 743906075 383106633 36120013 798231629 842081389 161911615 553420583 868093127 328180757 583833603 622167537 331834987 647456561 92628801 137681851 729208181 721813765 411344911 57139901 715528977 130515449 351413481 786516695 941914191 550656675 87086773 302103693 293924137 909702333 555001281 990851087 544909185 750849581 694064835 25736247 88091679 466485241 668671447 225990531 603828661 125232473 758826881 944332057 738445787 773426341 451526575 555224521 58442771 580431971 746599607 356732681 890128583 326121531 292667479 741900795 626082375 212210691 915714227 259510885 174943695 996725431 348071255 848866229 716425339 223248247 246465083 302984709 59250777 883994767 125089467 804614929 849720153 346873461 236449437 268091203 5864531 555776707 644645645 651354793 244367881 748866361 401936799 829039097 186231845 252102855 838417747 245132179 834505271 154926717 94434191 14535297 480842425 86315161 882056477 538078575 62935565 187090811 781757747 953522613 496976249 278100657 204303471 759789651 770652723 540439533 674799063 674949359 610566737 257379851 893797847 975588569 852429269 478334477 489909063 882609161 528961449 865732637 784280671 684246559 122693789 876848275 374467529 186434399 622367851 58014951 426604431 271026105 754769587 925724347 336331817 952991687 616632833 168169181 31199603 33383367 57573571 525499967 229184433 594325663 232555605 318738173 528802451 370487519 184982519 301346137 789890603 794073533 348432339 266156735 222424057 870731291 255953913 50861763 310805985 44130687 363184995 681671711 538990385 894415639 416993009 915502517 724205469 959776445 712275565 475050387 365683779 799211501 182387595 446595053 151554217 36637905 68451553 906094617 771102139 808920373 831909105 520866721 702591695 502408083 654979363 557538091 256027297 820568587 145750731 339706253 571811929 838443361 217937953 397248705 125512321 266610695 570950469 427034345 690991631 702484243 634411329 719241045 102627683 807519557 44492041 480060275 401089343 809198085 836057713 637637601 36785617 303626847 646010175 242987875 959313841 330545165 494324251 824554977 91555545 916456045 440860563 685200753 114138029 318976391 656266533 264582477 639691263 202727691 960978991 969426649 965434881 360512845 616335613 894573215 494304081 336589393 34639805 585152341 171329525 125335739 158864777 74371795 468031831 936398555 659386213 666020639 393582417 878166951 62854455 325157729 54831389 556295105 621628627 983436015 762574433 433001071 599396593 773321797 626034219 43156127 616899121 922546179 356137457 353796075 431319581 936624629 441224845 517021583 393151015 881261073 854478663 57402227 156651177 153749359 658248395 37003049 9741793 912208725 730854959 312163045 740674301 623960621 773687281 663986825 990910729 163119241 484384501 723965081 198140931 94296103 376501639 747510599 969845705 591397607 791045727 643805545 502482725 257757143 333749657 713608063 622351561 710572071 795715001 194095791 432860237 290676279 771325103 952042443 160151349 867592327 500859085 322688581 858308583 977805507 762883539 920942403 590587061 642620093 868848613 940884103 507233499 698422131 213060753 494164353 294698359 107745797 444302283 59891275 845734035 125148865 654460657 879740577 335303201 35479577 416277449 505656557 686288633 762941865 747365759 986768701 771136989 744361267 857426857 760422473 462168183 447178147 746578757 564314735 770388057 354975755 201529781 324146357 711672313 886470313 917856713 136064975 746346427 966861791 206886071 53763343 463180519 894221111 688103707 117027191 98508463 268927589 551685113 921625775 924759851 289455173 794617791 539705859 342550109 738724313 290762563 383517549 897484591 122990925 924447939 870680717 485234801 506548469 35082979 318570919 753739231 760797259 942576049 925910189 2189589 234656499 733011361 535313973 34783905 338468791 674733713 483180671 919664371 581444491 682390213 644382833 868591971 528379019 531939309 885684379 516802867 715004665 75488285 386404917 654228621 637788739 373718737 42876445 764648833 444136953 402451439 626003419 238768395 273631447 108865221 744779935 558725127 658410945 769175305 154656319 650419267 783471297 720613333 549509689 212109679 194889227 11675313 747992759 337227811 814147325 850742923 732579207 197092577 73504533 164906165 255197983 32272659 420883201 944388077 33216929 348742665 341331351 767615323 41003987 271273981 938483405 129230729 317830691 352960271 752167625 572345711 850510761 983012427 503887573 478028137 358550311 400070305 618957927 597777467 342000127 906999783 174118423 139690517 762097477 323076067 354147499 969543563 146753709 66875197 332188173 972795033 740980631 879231621 85825615 980240293 432027661 630966069 709725357 686509693 200680889 80087727 107530891 969648469 861996279 931107641 449526901 989907915 753486277 5736201 60647197 751472613 457712329 822304563 648614493 296380175 958445653 770948285 253198907 179112735 363250011 242044815 385546209 146711377 737100415 343504761 844917409 794385229 846472455 329593141 682838265 935456285 597090275 144510307 910211977 823869753 735283881 660337551 833376287 529310075 34168983 993297191 355249325 875626029 266220439 751896711 476280911 409420791 206356791 434628079 667987015 373237233 93997997 506402951 343400191 866088601 210363611 286724963 235469071 962968787 973340487 246112379 773921327 551198957 734322463 665979823 478900289 405567387 596597563 386696137 454518355 901420795 495645723 24725885 305287575 436760979 131613927 388526687 913682025 662552397 742387307 59559413 305683275 711744131 887006753 758476965 349741545 272067311 439931177 157371075 407926807 359349433 57253703 584116103 490467023 269990763 121015789 424596497 903550773 707942651 640348465 609041003 708274579 354453705 916360915 267218567 17676893 203511447 99248953 789143871 159450927 576529299 382042739 432351059 503852491 686095699 531500857 140960875 93628189 835795157 454989289 516325403 615183929 769293181 543109515 817651417 881118041 650230807 293447373 812720905 462512865 157601755 518740233 770623987 749454939 972916581 237389627 715255499 568371581 44346809 310826765 759401381 6953759 191638343 709864909 773499015 441218117 10639073 661152625 915872855 86294301 596544199 946572699 684027367 127894007 383455135 775850641 506259699 156699215 233275249 181857857 511500569 323195337 761608889 312271171 203270371 721534255 985637711 826467799 299653315 185532279 201288571 780097765 177908753 816641209 331557609 788925689 170160145 550272315 121866159 205445965 299661545 319086693 883083593 385483457 980574379 184160717 439604127 978983641 841893971 627924015 180941819 356271815 675103421 767275627 566963221 479148129 187811769 79570063 392241415 220490533 830573297 984701643 145761883 409924925 310208773 197951615 395122937 929685625 375927409 965149993 612283451 791951179 318162593 473409913 189045977 195323863 650386149 593314367 62792189 694026467 877036409 919373689 568875571 156601055 691597435 751546695 538291823 385597151 107373301 290934519 439880463 579687335 435298775 634339323 701681881 156965019 120092415 53965037 240247289 308222153 735009321 853785747 776986373 929215981 971317249 19741399 366743033 770999137 64028951 134831053 21171003 697536817 207183077 244966573 164758681 884238089 164101325 734224095 645537865 704506689 40501527 147069163 578436581 249013209 341575155 866826629 940469109 779371897 517298303 191003783 33814119 516942445 592140727 969454583 239448717 557896111 937498503 295909121 270210341 860858335 143323583 694804211 135007703 340256321 380068633 191670861 400214447 183443911 676802101 394573745 874208289 385929735 382643871 443128553 138210315 241562687 545232839 487789545 726251697 331090009 86692869 334047693 538749635 863124451 85094811 519523799 647840083 484930837 580336051 566055539 70765281 163968461 1586525 3513909 439554131 425862291 369930387 48313559 668423665 374534039 396166453 899410493 641786999 647786925 638459407 412364657 586733053 571890007 723420111 106136487 60110091 929758653 346245649 747497787 352893325 197140397 225868885 277689521 279727065 864145565 631954181 849405361 110047149 475146671 460003441 690557969 177972011 229537449 846027731 825514699 187574755 403225337 472081995 463944963 607025099 833664183 765787621 854999811 213369407 438698915 923314319 352489281 664443139 350421539 36905253 8344917 654337351 933487177 875190887 744414979 169544349 138134217 639100925 279953721 563262981 620884483 957230459 984144647 63618275 945567999 965706073 205444265 439185413 734517869 432086007 427249795 389740191 774417315 426226337 150495265 337927503 107158945 874257029 519729973 518245147 473743885 649934783 939357337 932590189 498183223 300047951 137424723 923291167 913864213 584895773 923183499 165698157 53609289 684941053 376359321 379649529 958085145 513023399 332798195 668801747 22756469 875967675 192158527 625365873 136488177 528283331 108026185 776228269 523636175 56404531 760343555 890701263 470894583 686661727 640797063 471819141 29224439 408515213 402399771 524540641 690312965 600419043 397850409 933201761 217874947 869216117 11807811 595020525 976239221 984387899 325251111 55847121 634611085 1664277 613155765 677838529 353242915 440564941 750679291 866721243 725566643 743502869 439529003 777935779 10403941 686257031 943014049 683998985 623910921 541380513 353214943 581177185 344208407 11588049 412527761 200233831 585702063 687057763 972056457 153439297 386281621 253854357 171998917 474643581 8489019 886785413 924225639 324132623 933236917 343008061 882391993 777272917 637294279 750963887 970678319 514491669 532536789 215237557 860278373 862401915 170970350 942307341 514815261 649925149 911005133 910928483 675714627 490093817 402707917 443225417 735690729 477455475 186668791 800354357 684403021 914657879 169715449 745149067 437391313 795872477 850707499 640138899 182799359 40376735 690826895 918831743 488174733 871428775 707434695 455940969 961146707 930836829 986861863 861883471 850375253 202913691 17285283 787472669 163020479 1309851 70247389 370145187 332862437 719138819 701120537 913838237 577414721 709715167 858511433 40487081 31259255 834769065 215702533 743458641 486737489 991608889 821744265 701078023 224604613 416518869 689288125 695584547 674325995 361058093 97128753 887078631 85656071 914816085 572243741 95518333 729912455 260608715 356722527 945451253 303130107 102817649 161785473 510314571 168047647 688884887 5123245 210286171 477769943 774282995 53550271 942969331 577478957 754954911 266810677 586190787 122065495 795225635 13782837 792110435 406868141 832513901 722959247 304728151 176729781 796346063 373045689 187025667 284271129 287843337 886402773 448761279 871981739 677882687 451538089 999342015 495966055 937502205 357356707 260974117 823175537 683664955 903572701 220572925 315605781 778906965 963923219 167950391 768299205 77962001 343677871 49209003 682214939 506480793 113309885 803666715 663575261 101457799 921954041 468185393 871580661 997678293 860215997 283117693 169884789 175593 210801429 229848953 163549849 245414801 46972077 890663047 522870983 761155331 131250397 942965999 822109319 184541401 277421733 715761633 581984139 81121307 345163691 937348473 766986931 987423541 822358335 133798327 227293439 882958077 814428505 752157061 739917979 488034225 607833497 698694579 865301465 223442931 167653443 476004347 706880055 580568533 817428807 635106301 912749911 108010441 805333823 262848069 969126915 160910763 258219113 446387009 765706031 947543493 421389739 288485453 268182773 517563839 478362005 442466473 74716571 989197235 575566685 797351039 790019211 69097243 534757349 623720415 576545625 603868125 794533043 283621315 124267199 875017029 657445109 112184075 484741025 791202573 150713477 911232387 841439753 10622541 500778719 902359257 579853867 823384717 933497899 720620969 813307747 547488441 303357499 701202547 806272819 658845221 908385155 578826399 224178247 670142355 876250149 792225153 774158195 588512803 618145509 57125713 868184753 348764261 73044533 244062767 497981989 296871759 584312107 292255527 87391513 9523517 210437767 774485287 870462211 331016947 161333679 120834059 113990779 431161503 724125621 181914001 677965893 146681047 680003661 26643047 805280845 783302553 605258455 520736027 350657703 741964617 666173275 143068453 112587917 18263477 76953993 214244841 833127267 863273233 488529333 161896369 31810997 987986171 782874083 131402923 179188275 336275831 793839799 448889843 847957693 916966901 367346305 554907783 241168721 380746313 840313911 927245397 903718175 167753135 814553723 498261801 236367223 703111117 609362579 300489665 56383701 956994993 363008877 298976443 555320285 176475855 788866723 394060705 554487899 894119431 860266353 220109285 410972225 878740123 561042367 200072161 272531625 862034233 383127839 574186451 525037273 276598007 87589317 801632489 629891385 901047379 424585619 763058735 178272865 653520431 325725965 652763555 271202823 344810717 126845029 744731427 157478417 119400207 664107633 30201721 395015051 414218977 40653745 288464727 887661991 352057565 804897611 40972885 795956927 822697195 479325711 127269879 944777049 545092453 296635253 177643171 579513631 7985669 628000411 310620331 942772709 612865265 891998539 67584331 352557731 981570999 25170671 510128033 513129601 770015819 306824099 553998775 770054597 242517003 273633571 751484799 832791783 303444157 739489241 721553873 491483521 319590285 966673875 287142255 435855189 556521489 307028425 217729029 355091791 440535877 714986009 842372383 558827651 757560465 681422793 830413113 399281963 42140863 852740491 121437365 310729641 701149959 322907319 441421531 349455243 387083267 392864329 606791389 644240003 301586107 52888555 339147475 297789293 338616221 472529129 63825599 309814603 726280571 758319933 840609163 802634315 712727701 289719431 454115849 157959355 87088527 52706059 432403951 404365851 311628917 507652795 145139937 994448397 676186047 179650605 456496997 843392347 855665481 38433185 321619441 141899001 398376281 879028733 92624859 964218115 105524123 512672209 68236903 560555453 434119205 719493717 738907577 861857935 335827571 313857639 143362537 598227727 901418091 255885711 255013867 3756023 201593179 219094269 586054305 561238059 620147449 898740871 829584855 265920949 632865375 528009131 895442237 537834187 248100629 55776915 45952875 151786181 187087367 670231821 321001187 170265895 174825611 793529743 332989199 344628383 712667999 243419195 536054591 94233597 557707687 765448151 388054957 468288829 544201199 243277009 766946425 309699715 155727663 143365185 873718959 45773083 257525187 883764455 929859903 586312309 36479599 919951915 630190593 146098481 254518627 675192601 876257463 343400973 148752177 888455021 946490889 543807737 7876057 313634433 208005771 110456325 447280575 165105759 823785909 561831023 108879537 890225847 276541673 838109079 673790181 649105375 543709293 808430089 575732725 751729623 328473719 352115835 569728489 544308037 651067421 559452871 35791917 811390073 583157345 345308399 194354327 590379627 989115691 732409885 147644003 304925625 459822671 243428265 44902201 938295723 765482629 13806601 145189411 301055793 341427309 241625061 660290711 563216353 192301459 115131139 242892661 117178105 918432613 911341915 736293887 742548067 778041919 935302663 329454821 178900397 997106785 494848073 766805817 135505165 475064563 41808013 418823035 447817829 497640713 392583013 82461839 75446331 800441499 305922191 560826049 214437053 872593289 482104301 625184459 85515971 348311709 247958153 123905733 594882765 281087627 40150935 114433333 796825603 992071399 637142387 825283083 420722481 871904567 783097503 201037211 762072529 135302627 110633159 885671841 517644035 828106041 23256509 18591299 604153483 161235575 336613503 24302863 192214491 276638907 675687983 971081211 845939977 442660367 237167383 705749089 534365141 951422567 492562347 822928905 690828965 325955223 916375431 190395425 162911625 202651493 546284143 180869691 422048057 623566967 215153483 112467285 991627795 459312481 667147569 625424599 404667679 365135513 135468123 463525261 577792267 643906179 260771627 381307049 138379057 958295657 315774769 739014861 192660109 279721849 84205595 790016765 591136969 309979085 439336135 638623651 674096947 945072489 63402553 91544473 896849857 940169523 255935641 78922009 643144725 266544637 16612925 364475081 993129589 966771587 70292127 516162743 350851791 469308259 555839331 496639831 364511163 5596711 309638485 657403017 265580921 651202113 387093861 933713037 506318577 696307977 564265395 764455703 893424303 489579459 770879613 648524855 993527277 890176661 867135795 891631979 447520651 512902033 474216805 495277723 315081485 569343411 940584911 440413457 235479461 119748057 59101013 688448131 919950633 580751309 98069507 803169297 431385367 18067777 842613771 521121597 309134233 390011085 231083719 396828919 880078463 112120563 660121533 209974417 774079035 93246749 277518743 642254539 436615409 194841245 156647719 591971529 858315111 725250473 242732649 536137497 496757773 395278437 976200579 536239 598916599 452695513 545647035 714063337 174614505 107979509 288480393 428325773 818638661 554281367 46447239 841013189 245266207 426267515 419876471 297992491 30917933 403533133 486026309 466643897 35774667 541711773 515683331 889937879 527723525 107857381 625346799 352095055 646627463 855815559 115812969 633960023 307425449 151243979 215000831 328575631 678334059 377338339 360050019 258336761 938986613 226023911 263011697 590811651 515260179 564704729 675000619 978257027 725296959 811067811 613315005 82454711 478222233 662909717 920878715 873798211 137200997 441363177 884210141 459905587 11520405 874592193 163055243 439642623 410719679 842866467 806333517 575374467 276184353 148338821 498755863 244259589 642119589 984783933 596015621 772288559 967422169 131760269 81506393 110125339 705020661 979156127 859178623 482513987 430334935 18174851 789125387 113683597 914480647 863598899 619460023 571795015 657254835 882643343 322911847 622223397 245502901 90747235 919291941 394783815 176802953 353145181 922267175 175321903 727519577 22702361 222745285 165732043 74587379 4068375 331232387 951335281 499597005 336792769 491334925 506450653 697721353 951152487 211641399 432891191 363935851 485882691 526120699 491411465 678270311 742834037 231782013 492995915 276336399 589856265 743773961 511989335 826383653 272042221 542546703 288876791 165872143 401253117 66422829 739760211 225721311 253861625 968493607 303552005 870129993 227079307 985730021 398500103 600099501 913544001 509546109 644737727 381553427 526859161 943719979 694977529 331630891 854526963 272180047 33051629 149606987 616359317 3794293 736914231 279385969 454468019 18237523 318173917 45601863 321268839 678179521 841989963 345922589 748676017 305260485 728091991 463766245 158421113 183143817 358045501 896408643 756422035 1555551 380678565 825161341 59136183 748806595 150438553 246694275 787045253 725642075 999043727 238900713 312572553 235213293 895318887 315834865 930495025 429586545 663647587 738791555 561672663 321761025 863923249 604142125 915862207 27813853 352819687 204806693 101800721 390330485 95297027 161812301 155338459 561682523 14830185 272676137 214539547 131750471 127573093 108111083 55615151 785814817 101253551 489862763 37843809 889271025 833090403 450166565 460587747 383283689 221654791 638609729 37827023 612366697 811555207 293508239 12678309 741022449 707044919 227551111 645220557 566749997 545752023 245833 691644313 265189617 185690507 50597785 283575621 579638325 303585 375862759 434254319 91301665 323600335 183716941 241316513 483786493 993629103 35590537 786247757 157352253 415057993 32656129 800073933 313031805 650573257 740003269 188162015 305637759 568470725 648236429 378692655 215713327 483113787 133983671 85678159 496172705 366948237 962131017 517533109 673274895 703980941 989349111 180943813 160867293 491572075 153027091 275328711 104706709 373936329 686900641 30401773 944031467 139454889 791300163 561957713 4480187 256904571 170738253 174451953 52959239 417264145 56802483 968228281 850399229 724270251 84379159 692051323 43630571 171057389 857413053 376801517 381615185 688325605 936795799 20904115 992561105 59540231 148088893 556500053 494928439 971220785 345673193 728126277 435745651 109548457 843011465 51591131 579007651 391013659 215576743 531541593 750340363 833774749 370170749 853251561 195648787 731049643 631445993 259506077 759819089 291835437 368547445 387199851 326957951 514530157 408571211 811958583 441682305 450619681 537184583 938939337 770980451 989383529 837758183 598824401 218617173 241317575 620451665 786024683 443029687 609285929 703106901 704364185 828791559 973693671 114902121 607137601 204752885 168025017 344854959 916719413 265569105 394072521 882984685 85796271 970036759 590054563 936327569 28253137 80225645 883147323 307211189 596933537 57478041 726703087 812835093 463358741 848066835 976411523 155865627 333121795 109493619 378143271 72774355 449541165 55025279 253207919 857472505 877760061 369700641 422929495 714790375 612474051 709831275 358628421 736823209 856148537 384694939 864257543 899143659 215624449 733627409 321564881 752772101 95656547 35099227 838672707 990367479 968026511 341742891 169902175 17691751 309211809 80739163 35403923 200980389 742723993 871763441 76331189 508018857 528108897 237523223 692905217 431662353 762812105 212897057 971971615 287606055 646940043 303158663 721972761 350242005 163782983 730075633 502967655 976361655 797515401 426183463 39791077 419733259 292584385 506405917 781329367 127555255 458970693 580728559 435318509 4247113 604244827 400282079 120268601 883169533 132395819 903424089 87053371 246715823 89221061 527414769 670832599 41344487 795169827 652715871 281125211 931958995 963666213 466494859 55806075 247844429 298622615 521619581 465815637 97080785 211986471 78031977 21888111 873735047 531331697 196547755 198252981 783834945 847677429 606874823 839463805 176721779 451422235 44754789 402033795 333083199 766231095 281540441 671934447 389677161 124727937 497322657 905480779 235157091 407692569 190551391 488157839 193990467 367837451 156963039 492157717 762054089 687804741 802550929 357010597 649759067 830921635 774555411 975785325 859033867 104670693 888419623 505704447 893373581 128754867 444271291 554227291 364539201 100820129 189837279 396071653 270476079 200739109 226594255 533276009 203826183 468343205 555474927 847275039 229369885 934008933 287525577 29858467 917801845 217402777 804020499 803296507 739800243 875825755 998619301 2000019 452626471 734065065 389472645 468148031 59966151 112754033 45198043 316171327 428211509 299184511 106281469 978667321 215655095 347685009 458247527 757926711 723454011 79242565 910657977 586113967 724799835 681229093 27757247 452437889 787370835 943875491 353827951 560193517 112456203 895684377 736381921 748449191 603464469 875964871 96429147 566103487 487940773 23136981 43330631 36158131 432060573 904784725 614213687 253660523 838819201 754004803 874266087 698390577 824670083 182586493 517827389 533531581 947720569 29163469 743968063 681875499 193009635 459590117 660980005 608539135 701147623 671452255 518080841 813209897 192637013 141821625 253146157 77520381 697145509 746850143 313001341 598841399 268874741 506989219 902488331 122470909 305188877 989773755 775654869 539030235 34507357 18816971 650611451 910558411 412636923 639700699 883714763 375781669 592127909 733244125 422271415 741143473 5978309 953042089 23519579 238082459 895211113 187025667 407788921 271588473 884831049 101106065 828794109 852260679 613614529 260460517 731113721 601150827 779198173 979636345 547703723 350886837 278434633 946866607 352444277 672383829 169182303 632617167 739797473 513821933 466968859 483139851 200384163 140242815 652531493 858892411 180948631 786624889 866862543 422077731 208392895 899847091 32339213 168933353 421122375 827883111 895488129 549497247 830171267 957028409 884143215 54067199 705260525 390183739 920081609 3193515 515044647 231167967 464096805 335360555 549006593 623164931 851087043 655013103 183164009 420132845 835836297 263485013 641985917 222187337 205985031 296857497 617528959 874426923 32879733 185497319 738789595 719285779 167598257 799993935 596095525 775173351 528832323 131412171 277541655 759931889 836227931 898882365 845428373 90600679 118782157 109737323 465227435 96433897 150174493 96919307 34162569 473982329 617954415 628066483 942875277 104465797 549942931 318193893 599411515 343068771 477644287 1066763 473646651 150399185 167621333 164871285 137767523 338173937 457612763 235566941 892569007 481249877 334785919 383747045 556297279 428895471 341022937 627478803 90228063 146907163 494694569 43974621 102030469 66349731 913679447 307712537 677795401 429400239 336222959 285931913 23914353 116080857 384681005 457853141 674203621 967407899 338084715 323985553 334658493 878497243 148436147 622553141 864619567 59453159 720308149 479653155 952224929 831877235 114591943 172033441 724274591 566661149 743589865 864657381 189719003 259655659 965867457 908719365 970767663 524257097 540279455 91469827 255149985 419895821 384798075 1833159 129955419 813392757 977424115 901085989 92918447 901026595 812114511 746538965 755892507 9741351 591909503 576147831 448770623 246877687 325520663 310373271 199417833 421448559 567555931 907412899 742785035 916321235 811729711 272080887 619726271 367840209 196121123 361766099 632482379 226386561 299807853 72525663 263765017 521329245 459443695 651814063 13655485 456510025 99353389 843795131 885187313 582955671 627807835 983469411 360509847 225304569 938696779 866061171 8366269 267108493 781474175 963419033 271792021 776665305 950970143 316260721 487085691 617240777 943123959 849936505 62118897 694886577 639079809 292698399 517427107 360004691 124938461 192197551 577609061 700319183 120208847 834212711 689500721 568776885 724465097 597023589 470031657 726793979 899963617 91500981 807273115 248484859 536139477 414802501 758760699 471411581 817216017 170412527 784516065 514082989 28986015 888228727 67856657 291510561 688153401 587897475 164485495 815993815 829879357 97158823 295797287 478321715 753105587 910397017 91999579 264616705 340936521 563984893 154619255 741718905 162974553 559664349 898322437 72702519 243640287 138483239 297715899 485994047 689289349 959912437 972992113 505108481 664620697 868110411 609858091 22066769 633502225 277625359 844652567 929066859 328441487 607920661 761635459 665719797 242178137 41170451 336060657 805485565 188782429 903471021 865756415 637074423 252642355 699091819 157644665 729033665 328007451 733956543 804523349 926030241 722446075 208939523 67769515 758557507 466415717 13818229 838036417 691195581 423075981 602810433 356425727 745440141 791950419 359613049 652727547 262403989 887115585 857875 479773041 255513637 103974531 74615539 566457409 555702515 220578287 442485729 270711 500450587 729365769 835077519 447441225 572892193 359203829 803752085 389577999 790778613 3933315 832319861 421199951 474819305 760284459 929689497 23688115 562805949 279626763 390290515 683568653 831207829 190386155 671832025 301393243 438262269 448484667 768811599 181534653 472966893 639695119 262154941 627734657 617214659 777212459 930790421 302730009 106559551 690193393 636627503 138070559 336322963 349735797 907951309 228135001 208519507 104357485 214899865 945704881 201588603 418087989 958917155 696827449 304938611 757077209 745073893 225001263 563952645 883662341 365080129 741467637 138597991 998950417 240723583 664302867 856238393 391182589 895058897 19300163 601382013 595626353 410357583 473516121 884175777 766903737 220711419 667913309 612298875 284389583 520898495 334485113 63192649 404788051 422716523 835969025 344178863 652115081 830798521 675185007 454779577 727521635 573457739 296075621 421690847 549093749 786001319 203619249 472185085 327003651 727142211 213112391 728731479 956403441 450894453 290318911 605090205 742116815 21352319 171792093 936571619 940778709 49900427 366763149 920665509 153936865 836123561 605523939 30725321 329343867 572093395 742374041 160089757 362355153 80509929 858316433 221536725 464201149 49380023 432883931 312337551 295920571 143902957 701558949 415796049 484045557 52691491 848594509 591345159 729524281 641079771 331676757 838350087 98332413 978985085 278226539 964007951 30579811 747681373 866854495 791224129 830851631 462083251 976828205 751429167 271446483 231882911 485777913 133195465 311733607 942315565 922632461 573853809 401682599 548154189 507999455 175649001 952890363 759541461 528375559 251384161 84409715 183761803 744771913 946782059 25571785 797420823 176333459 483270151 539137367 410016009 794757109 727858841 164391207 388722137 845750699 307735535 913989097 759157229 65695769 849732925 562646771 756569225 399770315 768892705 239767363 821037283 126268273 504833185 290345603 840697615 89399019 201885225 119485441 288314643 389152823 179528847 32008629 326778327 617795973 414305807 634481469 135654441 704522533 9290575 823280865 814709191 376646293 980633181 73335439 630218319 236776821 686200751 468502241 577817165 26188947 691864863 962578963 380747311 255850209 336059639 189912335 403893073 487689337 880545503 556189283 960729329 128879009 458045679 135529797 111594813 306918339 691368613 192329367 196350017 320074865 306787301 391896029 268053755 832580201 710265339 932873289 9318985 583044235 602821791 34982321 355121141 54308581 857001197 271105429 525681587 593057705 64890473 598565917 758757399 354378803 768650755 182076693 684145575 512568837 883254543 248651511 318632393 974691787 321310793 179614689 131586001 8971863 710946519 948078237 883854837 838791591 209248583 614419861 154764377 156758491 758208653 228613605 608886277 333765185 223357193 528318539 112338411 791264845 82890621 61306413 130933733 910819477 383799319 360244379 733246385 275500513 573454189 397561677 547883517 168398365 97155963 984176031 275224917 352155479 189800105 869584285 95823669 506294479 469397185 501132021 119539455 503556583 322553851 759249403 127655677 586126633 81610739 232311985 587816283 470230345 562064045 869889471 875752249 459453987 863447961 679809907 202991507 826650043 726401161 767668931 480544853 989113145 403824829 597178449 915156305 247284723 424196569 532968801 516713277 726309987 175943915 128726245 540540093 801183021 831665511 486863475 144260441 744648219 491630635 938668875 218483331 882870561 991018109 685774677 650614419 757194589 66977033 854312477 994287051 145794573 109531877 831379421 900905301 22013343 919657613 929864307 559623747 388995239 807638759 80869479 590677131 688869601 673418817 298393577 396440081 628557357 370171729 583971791 85953949 225976215 686906419 44249241 142677471 89388629 947349355 68795757 341230709 808792767 667830503 969039643 401640155 857472347 152169725 835611929 636006269 164258769 893695339 249033865 236690603 623516663 680568405 414350641 572227487 72693449 349743943 256342655 629103483 323538279 314533433 613701261 499277383 92159519 823653511 219038999 810258419 852118369 475026935 10617991 401823579 158877901 198341557 184495849 548945217 637567523 663818069 240223993 293993801 584539725 555515863 232586513 261897993 997778531 778545825 35503677 891158265 985909403 784106621 877242665 990942587 140968285 675916961 671123245 839357911 260863023 185172907 639166793 902753085 188705481 476839073 143721251 663873481 92379653 429308399 560726027 997339515 588881637 808875629 962393081 156464445 830242709 242772051 742764171 916782559 24536679 991078987 332364297 668098331 255347417 179255903 54648931 116446867 410367627 445191943 440234031 106451149 627328075 379298335 771578795 24192063 698992395 28511723 994684865 854065727 161550055 726356507 920452351 570853903 986368545 283196609 247083677 705934807 199189029 103601501 176040825 315950507 820970119 985772499 502853403 423222403 847852033 437960561 204133041 978789183 885898613 425435115 978562579 153758635 535795443 444227167 373846723 232277877 995569833 217371731 191932643 731761465 354485237 340023475 634233927 565366135 913915481 318932181 701433187 497986457 185450625 160899957 882652761 415207661 762784577 408235451 504944109 699370929 669058195 58710577 503965329 181275139 103242395 54158285 370998107 603255535 650181283 357504239 180313867 418572131 323235359 651397721 601526023 241180987 90339755 809435705 84701281 811360311 208760843 231992103 605410509 128926975 420822311 806510363 348669355 820506663 165429525 526431359 425044739 399859493 683979535 550825247 925802115 775812959 26924153 58955567 944664197 146595609 846728671 907756621 631655687 398584967 969343985 908018813 872671919 117066947 109450381 734761263 90739661 176341197 368522679 5657655 985365847 179350157 251417753 365052625 834556399 135614423 847823493 981356707 7824603 285956449 348246007 677842619 348838665 473022415 571996051 419549327 396076561 438963371 713782053 806549753 172048693 962349923 820001949 637000001 323118679 494247505 539965723 731657235 349747979 186514873 475415517 669337221 774058885 538522817 478184275 736968469 706102695 160036477 110044685 19200167 892042229 748858595 445156297 916929415 458828961 560120791 787070055 800153709 611014785 458993185 534817013 990388597 557502485 807507059 824644261 825471779 358134403 867012711 964826577 380579175 745217691 706946939 224133887 31922323 77015509 880640027 734315993 565223527 786434895 197520537 60834865 773828871 331403473 351470635 280694021 929454081 21906891 80905717 88565109 915560777 135468115 704232959 578219471 310457917 942146087 4193851 180439685 572090531 122694065 796319105 30128435 842578343 828155647 386386581 784578971 279576287 269291207 659599645 296296617 925666633 564314475 113275563 684780913 751119431 821141489 109862331 747763755 69485737 24965383 765691561 832717119 821911461 984344071 810498243 169806389 487822805 139245549 512924985 195770561 553025603 890331745 550366243 72797631 581427543 822164149 256084357 201530929 149281769 914139869 292683845 159701059 334950967 625718395 442405173 628085833 75292901 410047443 32035343 251847101 506679297 767483095 890717813 349755971 22459391 781914653 138087663 192600229 389203645 55178213 508777967 656632279 414405759 206733589 601806029 757305333 925191413 997297213 513266379 285727043 667334707 198427285 346365971 811074345 950374837 192635643 89513653 816521021 838565729 333962999 803420587 736074809 874592389 73318841 324689879 826564865 217496279 901024533 659609857 60820895 824282993 141482639 365690585 267997257 99375579 469622347 656409083 315253847 509954307 165659161 602320103 693846861 933027387 821173871 81855751 384186329 838125121 87342959 812828075 852220107 515303485 938833887 502501645 715336735 852724921 703112749 793114959 30207993 822306477 983476593 456707959 778581413 953148021 499220587 975508603 742703763 440612053 949720707 223463985 829264739 803113981 522565829 317955675 900930771 67137665 911336171 48846243 1644243 253571165 977740373 627330713 840739187 912769527 435944711 118493367 474310639 733495581 794151603 972157277 630781357 696004099 689375663 329488599 492651315 11294791 439480827 70046035 31937337 165919215 221780029 452524013 995335065 63854183 334062789 344658853 609090131 624710533 844046987 600932963 19751063 308410501 901435437 308194811 887266741 454498575 223874803 536325413 808111147 7293997 693998541 132913283 884889241 938772823 137060943 511392155 563202765 516113255 669081533 118016993 651228345 983037863 546520059 793297327 625758585 579889855 148988055 270361413 630434895 222972871 967364557 321542093 512597927 210911549 854866809 963510357 695612947 229574149 802513953 341756635 652359505 268107373 481698809 856214845 279956801 221800745 152893395 429252167 905691377 774633047 451284529 991771303 965160341 264665723 889466937 383164409 621477251 514347909 363860669 847496123 984247107 136109513 771338545 416719963 475984001 544969475 504170167 566958631 241276171 200686939 337264915 321865303 83267553 426783835 927051703 55956495 744376357 623684089 911258297 447404377 571971105 119247253 259689943 920578595 902344777 650899185 955204989 567250247 24885817 725534523 506358709 625840521 372855731 13556233 294184759 802411151 369635749 788746841 393475175 730608109 843762461 47316877 740877895 574787611 157702747 979410039 356491655 595369849 474701761 742216265 804413313 519292241 472114395 863800225 480683313 67872981 107574617 737266051 595191873 946404381 750823961 3680351 540772863 31577389 496955935 720922375 929487457 587626219 623625619 562716091 589494025 550012971 868890827 298476321 719133755 372958883 242884417 310065473 60702187 837907959 105743513 927919255 770954411 750468783 353542047 741156091 447269565 496587581 909858115 955565237 240912647 296175355 282655139 117891441 890274843 873608999 451030787 982081349 323779885 900510189 440026315 742134701 117889309 585229663 927642259 814028433 712860533 952277619 526836497 127018811 669978463 256607245 604927787 956528483 347658423 540720629 986248429 358842915 121319163 153451997 743045255 762343173 424399441 243889245 621404505 244814065 514300041 10426873 410459363 89313089 973751323 702009879 57970127 950346925 886260517 174107657 673981173 546528863 281379439 644706825 889816651 247850211 361771113 102463545 966048759 855471405 697224743 996439457 789992773 546242971 515491947 427274035 903866279 780055795 568998557 471160007 799843257 685973345 997980619 355982367 834131517 994623867 964159403 853301733 446849309 383823165 662244767 15291049 760570481 245827853 158113197 219096039 181560175 465914041 126707587 154499323 441390463 513087607 550776697 932928051 449790761 269391329 798486415 470999999 602543905 314269951 530091117 747693751 995545411 617012543 50756703 608933917 394689937 919585395 803033183 806829531 900987703 376877017 197460747 123896257 924916103 596600601 640944557 802900105 523862783 51925311 666373935 228471509 386109505 355364287 754122541 538056237 812465943 381319029 806454501 149860865 142060405 157062571 756761661 864438957 342333047 92467467 787729093 85560945 49477471 77527721 162598069 815324791 592135833 472851205 363503083 430463951 519953593 625588485 308287215 862024819 949688185 374275825 287547375 437307461 261398717 967206789 530831301 422768651 643733903 603129049 624593645 665931387 7933731 931265397 512831633 568861995 243403221 686551877 925771647 990743965 410970665 63457951 512634157 573755449 55688647 341660479 665750717 296445267 186227333 389900109 371167731 442232867 352925021 730232915 793065537 899882955 854558579 517889609 39656895 304941649 83674899 655166091 723760169 245066667 625368749 356381917 128018919 476121773 544636895 999262831 265841417 562415133 368497773 905865427 850238023 956790691 630476095 540328201 32560641 816680143 592472427 331800181 898777915 492777499 88330541 613429733 503475879 467875815 778704613 361238669 285675419 731166077 562598943 161890059 369104661 289018385 203774097 982696549 848069823 735872439 255665939 284228357 328395239 748703861 985342123 786252741 926128261 671025459 588255107 450730209 375503415 433412289 410292717 857669371 977749829 73431767 214748517 427572259 637536157 710816537 578359695 182684367 628620249 209833489 209204023 407006425 247203893 655318573 789499727 984748681 166371739 332415177 273952753 436293517 36657305 434615075 866163043 640824311 12683877 331982697 791645967 539687749 879887841 637669801 324102791 4329823 52187281 440126171 229733001 424317329 47315367 289228771 440044021 799513999 885938937 552092299 625735897 642379895 844570119 179410049 542394727 367884749 634921209 242019423 886824187 471399553 562918299 199627945 940507415 82749413 520114279 777687749 752208999 876370107 756028795 124125703 54007741 887224867 550245793 282103973 923789079 894209709 364598083 868264643 958330007 647462221 787788669 897367403 983722375 872403553 234451213 72909195 578549595 501409967 346567001 3322109 363883695 150531683 108557169 864061317 408114757 929773587 725333771 465357769 282355721 623821757 227273097 531642459 966842895 815086533 962954481 506834615 629616017 406171639 457587443 544184891 355913713 250463883 501321699 641238321 402005439 852263195 926895555 517151691 405634985 73855921 23488827 374205217 28778893 471648693 583408793 525957685 908393325 968588033 247426259 423999731 730282101 195388623 404784267 860229415 309048825 630548677 184247557 597136781 91411059 830621167 529995059 865560775 450627207 566539207 646376619 242813021 602284031 414039333 64379565 39479745 367629009 337809231 409949473 171555147 664832021 162850549 904305043 546752831 121049871 282370859 635814461 551683779 532463661 794446959 501864701 889238249 318154751 684109219 927549019 667226539 915070017 235173655 582881927 222364907 84617943 470484353 720347735 172807025 873180877 350492411 761503817 18184175 528498003 114268173 543655303 820573693 943533257 535284389 45343967 840331549 855999917 924778261 498036681 698921401 478714799 314757917 611098979 205343265 5536927 153655007 846771061 108163471 329037177 159044589 346816877 733731109 831038817 847584825 521816421 999315179 822188707 316923681 451250969 711103697 977105841 246579305 555561201 80945589 630101029 426428737 486173951 418505811 706449861 268574013 786304503 84317781 355062139 938323289 648428603 951236433 846673497 159129339 11025615 465267643 434435741 930866929 952825445 119413237 314773671 235086961 406714453 238249291 525631493 182265365 194555801 895247085 901927017 676209381 312132575 478657779 594997421 570631501 890474097 907254111 375915991 248466979 544452937 98664729 998808593 23689637 538235397 702977269 515701167 402631285 318196461 943747755 543801897 170277541 885636593 37661661 677767975 730016933 991240615 647330577 609335665 899928151 866894925 939694269 294858235 457377791 245276365 592862775 76728033 895220039 567176117 984633025 583478373 979100745 607576125 980915331 321346035 646564479 141465923 838748561 964647197 22760911 547534927 864002275 212182177 666430341 702833295 754837339 49497441 56667995 138663899 705625791 383528295 940231785 876684213 793793731 575814887 290208311 923187775 304816129 944641853 59745201 178183501 627656441 880431083 599876139 304675667 593038101 872700831 937349735 567244403 275500965 487598375 554405765 794320241 699942625 828039299 241446421 708814015 555590895 364237269 134882061 194047859 690281171 939458663 601444041 473610829 618984833 548714415 26767373 224069299 446603475 241016389 301974791 307159989 67839113 203597549 351208013 92018955 64978251 723641237 352397789 831637013 909124013 470320717 2119195 64188119 122103591 340963409 856110805 465722625 529968409 658574085 390670911 175911149 234737101 14049011 11057655 745428633 250325365 313508561 515752449 802423467 439942443 993740919 887646669 659541873 640060911 804685289 20445487 944250855 927124905 383048789 999494499 300044969 749993005 826217227 111443471 852396287 507522097 865515655 84345409 274602967 395781209 422257517 741475693 746729673 744999471 200107913 227721331 417696021 604142881 602106061 386040981 85915299 435428233 309172307 346326657 692816641 666695083 91924321 407993165 736467557 140349613 27713631 980530551 505637039 614424483 502813669 394086369 643874921 192842883 516506025 171591389 416968639 435454769 711943059 626615581 880939913 158811765 227958953 13558461 419417671 371883777 882324515 802775111 960698143 999537263 704224859 410792867 11467489 27187261 579622865 342077739 809172229 175133911 389579829 876652697 672195753 768817295 938804569 943989779 780815253 862454939 802841653 804868391 777550137 836917791 985298929 194392009 754987947 339950883 306434261 892683607 472787113 118002585 73752405 469056407 746300573 205671003 371295499 353196981 111731093 542627367 160959421 925836103 886056519 592378537 6628949 102098249 691330837 950720369 942327783 816219427 540604165 342442747 517031597 653524895 635748037 70642597 483221769 653111797 980279215 559888569 384302217 857243839 30617279 352863079 819519713 665566469 535038877 121089485 936369383 654201141 796743067 174427111 996048293 753039393 770623661 452143265 669933889 248641033 426292341 426051787 776221711 684252561 135080247 890193951 374294413 878975173 414909669 343238719 522210653 324749341 807776789 921326003 452097097 993894261 683201287 131071213 513696583 789743891 34349217 936231749 85808751 829657763 517255539 309475837 444306949 733065275 874992821 974909247 243388789 437300567 779562309 965864731 946808915 464126941 868921515 147131531 1479001 285585179 868784663 341144177 930809707 198701767 92478301 708187797 893037717 110273531 337989633 43923111 243451655 64905279 594663463 472737603 806826527 610115199 550561183 347795177 325197665 967971857 526657759 330258179 183065461 476006323 745383433 896654049 27943729 546600073 989158369 287616189 201370767 561936671 527415515 695382201 338969523 535334509 628794377 232159709 363628521 851997903 135932461 948518169 795362467 861276425 875772079 873463881 191131771 745521995 439739547 779474221 658675255 548231207 94138283 347223663 454584767 29312413 788000063 996669087 291902249 419172881 910725979 702318391 177833905 907168593 864279473 156406167 464746679 748461459 845665431 160707083 367861961 718113905 840264717 59623105 987438231 854342643 562276025 959875797 335865857 316400005 441941227 441824583 545102087 536482557 946050971 996571649 382972629 437411735 924312935 303973585 572593853 46217465 758691223 808470645 70364987 906477619 523146011 577375629 953548533 100156085 360973191 702262687 563835315 678536033 124637215 708911137 147873129 264539513 88076487 712067943 708831025 748543917 749488397 404395959 397988945 587296527 988951341 125252665 102726451 165135903 593526019 57060347 446334571 315918785 514239253 430740731 550136753 86931521 103504789 48950039 816350445 372349015 65634651 527192347 580199719 910214177 359916771 46961589 333477267 677840415 506707797 735496833 548095629 744255043 36687747 718424319 32130711 158999265 121710305 112526231 772547421 410086837 146854031 338992285 134222515 956110053 475560023 282758983 632949649 770994175 220581 973830331 537413407 942465785 279111313 102725885 762968485 344043309 802901209 372232705 349593 84489827 282104551 342099617 207021713 745382857 531187915 741151643 876146263 982806257 6565175 35566749 79633873 992715481 97108623 218087219 713924629 461807849 152550361 69593563 278288221 353940973 236275653 640856819 892440589 904253719 454451113 841106373 31130031 669503753 644329091 562813827 233471991 148820167 658490877 276461639 26313155 766030011 411049317 384830479 482730001 406313919 502407857 861295559 64549135 934327309 953081219 685519937 562897681 94162507 329685535 375443251 899773841 777444487 561859703 799107137 8980531 822845237 132840227 506823669 463787971 285611061 766441055 716934843 244425523 849970119 454160147 487173107 634741405 167130527 906227665 660964057 659851333 150956491 396671949 306475417 701717401 128127951 115416039 553760325 977227817 554934155 681436073 829377491 473702577 675322449 410629181 843904295 720291351 687765969 797500799 505468937 555563617 210927405 161891053 513303083 963735495 568819687 719687341 402880037 114654625 204731631 25256079 350539387 89460085 717875095 227598091 916838035 136482285 205551775 238550079 312835007 508172251 434672427 722434803 922501177 452650813 388856265 116288917 976949283 47859763 297096557 320535871 278030469 284329483 796515445 278229677 60720721 737770549 560889767 901722953 443318623 792334673 798546733 506098209 757375345 281829407 441848225 415910635 835913009 507849355 176294141 623129865 460806449 489733287 950457257 485271169 612111591 761308593 663309679 299117825 156107701 567315721 728112773 684272353 962424295 175579453 547346059 901107745 980023725 499859199 663337859 780490599 505361439 351941163 50111195 265319685 717893183 121958595 848959081 79283183 109213687 533232627 118670699 823210693 619469591 723775247 372990341 269700817 630269017 859828369 959720899 163003645 934967903 7555867 194777501 431118565 406963377 280671355 583080431 588250567 864722111 907380387 336703999 474800009 665084133 917554863 717874295 166059451 194796387 614808035 3987057 340871829 588633443 559268007 406571623 18472437 365274613 950358927 51771711 710304355 288911123 971979865 214686023 50674701 511156383 117101799 916395827 262277581 220865375 671463491 129865507 738555935 940823049 345061283 512611737 989680173 233545267 274688351 388554371 77336773 257602399 171379707 440821303 705363805 426776567 789834021 369694833 145075991 564056649 109855403 725586777 196084663 965280147 17718671 660745337 332794543 785816309 316563183 406260681 868431383 689193077 159122199 302577827 840173995 446130697 271175803 725005009 39397843 257008263 85771449 41721723 706174623 475365041 853508495 706022459 889393351 584226863 536935405 412046347 614679723 332738709 15125219 535632465 626589007 678966363 608132269 427385817 173188965 284506081 451404207 969406427 949682755 313880691 117483381 275157235 288320743 994483007 748399535 757778983 307654907 714313825 619368765 610130915 20895693 977659351 671993117 176531709 324119893 431445135 685832575 901131697 715543345 952832855 804664499 527036583 185219497 888871911 363085879 879946729 824993451 154300389 764981163 122034669 393927377 555717589 581799389 162266771 972008023 352179243 382955453 727815197 830415399 747741761 46118251 35709497 616828109 878317399 528888615 342910205 656918917 106294677 847396445 827301863 633155881 253371663 841967775 342296795 852221253 67241659 314108585 360440101 817996037 953908605 782976353 309188221 189229121 87938847 333310159 12769791 665841273 371950415 294773031 130627377 782772693 889622183 157672899 227905279 930493473 33026987 195950121 389052093 675188695 777288641 885615363 791473451 540690197 546384957 600715045 420301165 986960547 808163669 99409545 368562705 275873009 164507949 684450641 311239181 649506581 738279119 267350219 517545915 291037135 311119657 165087849 22812643 35620485 401651221 792532167 730697905 771356743 747490647 729368231 704382139 146691275 749831061 186554357 746702335 718159731 84259169 422542021 582200543 834887749 961408567 710552145 880400685 671490799 746653045 129037821 937462041 339846091 320447333 27803219 845074501 181578965 163587641 149361159 360271027 220917943 34197257 516707061 333258195 959904703 541936857 145713951 622349687 473999075 119328655 575726515 83545311 534419141 449581309 594146817 951143855 276746921 291700701 795924101 130539253 185080193 160590545 704199651 38406693 271174883 639445345 655381477 719264797 365435407 879464191 281605247 768465955 147655405 455107587 346912461 33433315 897672457 759862961 166286355 593088883 454382749 819305007 760008889 212852815 957072775 342997903 315055445 245576799 776617551 172366027 727098787 550828013 769300261 746312133 394807171 578523567 943065823 508937029 882543105 124259269 855704059 726292477 449680467 601358513 229870499 66254213 364067537 968980577 995326629 284344671 665873921 635364141 774589561 871359477 643916171 571564749 272378429 319859607 941659973 479944043 331194297 301842815 43010603 71009939 997931099 962014927 51483997 481605177 951488571 279336847 409982761 942072251 667607835 839180209 599550463 843335389 488648541 914708493 374110591 992075471 923004693 793953125 865444199 464041253 750530295 76555619 519344807 114237659 36234597 350009239 898631761 339328343 867058019 990276731 196629149 59612007 309568931 452617839 106334193 502453823 941236091 586706111 763131865 249453183 97588203 422355611 739817991 294672681 282637467 810898459 491373399 791577771 238468311 610731841 709489867 313821659 372828313 834226421 334532239 109732597 644341119 603515403 201357557 508363937 450277841 596746299 876504955 733028073 327874431 232757031 855391169 931617861 492961055 895904599 100457109 723203729 28624623 877182779 655461609 904617489 571257817 485930031 162147033 156002933 146924139 925987699 890899623 769352655 375231453 120798513 563226559 313055135 602873613 132202871 346264501 896132553 594191233 43928899 206923587 57245595 434880109 819805045 272874315 557437641 575158691 122957267 674958299 777372785 31583909 897038355 643011367 120770585 521700763 652504777 565174405 674559661 329247315 968842363 557916543 826070403 679950659 473403537 281726139 731029847 488508555 104615515 955885839 816221009 319262965 884424721 478278773 656484859 900206317 419878873 161970449 630216781 802104715 729863863 336955437 809792673 479507343 692968353 115831613 296595903 964057695 431601259 988041949 652433365 603273483 980738779 437537745 639857013 278402891 864148375 630996481 944770719 78392447 596000563 657135491 291183031 80038571 348117799 44727697 874593929 576110975 612517075 221262223 265346893 874675029 121907329 34750473 798428575 849917483 938821733 235629999 192320901 139023525 231398291 773304927 421959275 629392663 104707345 725354525 691550245 914545783 86879429 831332369 494529011 261965155 834434691 816752017 691751291 214867747 266907393 969323801 685813191 605477029 192012517 454944585 796456013 310726529 925345203 434018797 867601899 526681335 976706271 920893179 896178151 892703983 218258113 389367693 186490607 404022519 878391709 965818083 732420117 55111493 441307801 125955437 923765719 140803001 961569481 679895483 412200733 133180125 752054819 818892683 112896049 26483933 256129675 458286269 660014027 62773393 327478475 882763359 665306631 354488953 713920401 808008097 690181993 932913083 201674871 414885603 430987745 824496935 366448895 622392485 840224707 566028853 705808277 244905619 493611721 467999235 17547909 715726975 778920735 905913945 190330123 346554215 799223371 501683367 616283721 909186667 856934985 80549121 208499783 419683289 558531185 51739435 987190007 8413219 804438667 464171913 306215219 308033765 537815491 852927019 861795769 541729761 906419629 109560263 976425525 498381827 804824395 289739967 492641849 846383709 396166141 850806809 627897915 151918381 328395413 722600579 644011167 583389909 217121859 138678101 64584365 128105183 341074345 992203153 87811477 210425087 792404425 157457625 98713461 444248593 636636433 599608961 186715209 298764567 929322585 19906685 228369661 552170045 284176859 875203181 941267041 370442711 34428475 186089115 751401007 840837471 425444747 398245107 256020489 765588601 232857661 335972877 271405687 304019951 139656751 288295465 770050027 406263477 263220135 960284205 667264957 233184487 739614801 857786537 636349231 553322695 333504065 284253909 363243115 799381955 187241207 987233167 74466177 24077163 757153881 543472223 88964459 825419899 374069681 819380341 595856651 63680471 540608693 899004837 115680297 350859657 888528005 55106931 491859573 314452421 490178211 788940803 539313291 245946345 21576189 789044003 857689325 655538035 771546089 706700623 902203647 165121811 183306533 542879395 943657495 754776985 788026067 80109029 878574701 624487681 692064645 328514953 851132963 72043887 827605549 47165089 986380865 268108845 359982375 122775535 25266103 615439537 372015421 18885339 131545185 994283411 455655063 284224625 436343807 41624985 934838735 927581291 791831867 72059565 516943071 342338089 12029605 770454753 676848173 45809071 645122999 292688753 895354247 162570415 375387089 164706241 540829985 5343103 179097407 355049053 846299289 946803743 870044207 856365047 489721845 486744885 637851581 96098409 883459233 471966993 841805545 800131513 924185203 308996267 219036573 780805393 236194473 192896161 990602153 104058307 298493157 343341115 126024133 911986765 194511927 833381481 484224663 828119887 855973397 582439103 328609699 489374871 119731035 816974465 658005087 743920663 208538957 29798289 587676449 204384491 219563673 8208259 805111337 65586261 150089303 394326157 96347813 546515137 61568255 404663949 907495331 443643585 988659579 803074569 486396187 479927827 399499287 581386547 308702451 845082263 204429191 802328803 178871791 501326171 937586665 903235477 330451651 760795537 686566851 457850481 745141001 14840725 782884609 614846537 906496577 47269353 476176887 182739089 455593683 133108793 685643367 4897385 595415315 486991961 813069425 386556315 435711543 642489667 834330533 204470161 799692645 246685211 442321401 522426983 847765665 542682411 298693319 733975515 972732895 138847975 315412439 94840403 338667513 112581355 631953493 979379679 310667693 762396921 125508567 969531703 894029481 123518973 560720219 825790649 159826041 838847755 100351557 431026029 464952219 211446877 323152225 942807043 363120237 328416343 629668839 214395343 179220537 250899587 609830003 696275925 459891249 993183383 427185161 459028921 777221743 241848171 833913625 24207561 835937521 573486083 476313207 575745 449495205 238089869 938993247 706747901 266364503 649071449 4700535 619784195 572509123 886056931 605351373 766859013 981819019 599095759 587503573 893355419 144421177 456754663 193473389 949240321 634117691 469169953 377532123 294237983 182435563 79529877 120368587 914724743 386998923 873337737 279837267 521767021 693718855 384503397 781943281 552937137 320689451 18471359 848615047 810616795 328380723 712298579 110752613 93512987 373538881 408000257 717086273 707564103 325594653 309318615 51078711 277072095 155256441 53373189 983273675 100295433 682733551 346980843 47924973 630234261 146689789 320790023 752551919 814298619 448693007 485659657 627553425 198911833 214163829 686045889 552114679 404178295 783841387 493908525 534394541 122279619 571956237 725981293 578112939 768210519 968643433 243923151 354875215 902988015 363710831 321669317 382154841 6380533 537515511 296104681 744419067 11204215 398631109 135836673 985921993 145581099 191514749 688383991 981182143 284282995 234343351 847005919 98995267 741262677 503739367 640596977 342366757 862967935 712892529 949445781 907113109 641450057 953200027 496998227 148769589 699908787 108972443 649082079 403316231 828138595 70306695 945927955 775998585 369345451 117006945 167561719 648748641 330298239 809038867 262722737 153540349 138429055 490971757 307322005 355022833 994843635 977496107 172031521 716600393 142271691 148019689 52375543 184493437 353283229 608151349 204818913 758801001 965208745 970140031 200142803 526461521 593338581 813141279 941359849 126558181 947946161 611458647 896684133 726550585 745479285 452834383 61934771 49579465 438022143 85904411 374049383 343156603 283809751 399232435 42395451 331839901 398235179 348570361 992293139 75939043 364845013 412333237 805638393 737178475 623606609 658432919 207573537 539764155 928600009 8558907 621059815 574302655 768171017 534730017 924721103 23836621 339896717 23590323 787550849 837762467 10397553 578267457 868282579 944251235 285719419 160108293 565600191 586982047 791393565 611103263 329586281 797612359 17475181 457228955 81195291 371264701 549322539 414566503 61175883 133271235 103569855 766038623 412792209 8945289 161698357 239238467 375434931 43304865 798881607 47160507 913657497 530731275 59926357 517132379 576176217 878818859 362586467 649537179 402080813 205191119 825394723 470694875 525019769 887166763 6676713 98574695 518795465 717104349 977189561 952998509 299965647 255198699 419774775 722776329 954633573 92694209 416061875 45042491 335794577 808689717 524482597 488581611 571129723 600350851 172342315 534886381 812670331 729193041 171509773 144653561 400986375 384784813 300245945 864971951 538858949 949772045 738582473 82182553 300366977 378655307 91158137 599869481 577544749 153677231 114092723 59413433 999808739 12504295 37927683 183334793 876595945 604143109 188371109 897478081 588519337 201650825 792398963 578295413 671553717 444060759 690155513 324978843 58531019 258644155 892884579 830839065 927424203 577983853 621031817 901197747 676592323 262031753 280526571 155021341 144754405 934004883 786769071 103574769 884698765 843702651 728048295 888440493 431933245 885685141 416414023 362785469 781215137 656202141 806080687 524644467 38418571 956586169 200062887 99511303 759086585 425038711 218878623 624209305 753751053 649427147 943694509 583271475 736043025 564730645 877301393 350512327 478171513 630519063 755004849 891229997 607520993 323328767 554161437 379586857 812906763 162177891 886324363 738608481 519001059 287081535 440375645 982534249 92008317 479834619 949375385 500444087 605322513 796900961 665169133 479996591 3831815 746221993 507797427 309915033 127887079 578076527 697738215 213966503 630207079 646357431 72145459 524084977 814856287 40803313 588181221 470533499 985109203 525949423 425311987 416949803 565987055 573523185 243501821 485905619 467802631 427395227 557375053 863968303 98602645 844328443 189673935 880702171 965467965 491830917 194711835 660165221 432121289 969021719 784840049 246916157 255617583 440252663 271133367 470620861 439250311 153141457 24870015 255755811 540600597 273445307 676580605 505366427 79320903 741861937 674030609 716064821 327324333 756119321 666937923 772192747 777205507 91032257 475491779 116336799 536057901 931320799 898178919 703268633 612918581 161362573 432266157 657371147 126409553 839763797 21833151 740603661 518809305 444841503 582808171 357324193 889359955 927258435 218066729 48927793 676302697 633636479 945545495 77421837 362943469 626420727 898951677 51065201 449266395 839207223 700379977 693712505 152219991 146608183 430659859 350800947 907379629 65881683 965994269 97969807 95973455 398458705 586161097 28229733 71022807 824952413 422108459 812044919 999733003 775440139 788745207 808969839 26931157 815051867 921277071 726708701 257048647 808278963 576186359 416705851 329666717 686181341 439674081 704445163 846295869 999472143 777023139 957945395 299081135 524828903 328037949 688553033 481433511 126123371 395844439 787219267 514344447 133903367 233849149 236998947 996936637 633207697 104869353 534142163 78911755 96507463 639074553 400002339 476855867 679302349 154942133 150979533 53942987 666263855 446928653 716614257 496547933 845328357 440198807 199269275 796691899 970648267 40103313 195393977 142260697 428966437 895640805 233256487 152150225 132864419 880277793 926678053 668172521 574175063 670185853 768400861 338666381 220830913 669445847 850770271 54154315 969381317 540979893 138580899 924517347 350416817 818046539 651359631 101808439 314518585 484870507 445831399 610160209 369128059 503770519 953468769 961151333 709048317 22568695 287415699 274632143 280449963 171820377 943208445 638128401 610719963 179096883 783405581 749540823 242100809 517899429 549476625 248447733 950671133 560332921 52088131 773976165 677453793 718579995 55367875 505007179 99274635 564329891 114288795 206046193 79972475 787293905 513878463 850337485 752827763 259122187 881100291 690958199 350290593 588625505 426494765 125376179 583995549 39439243 375349221 951726189 695361375 952858343 631109305 918760121 843595089 457231999 468613927 172136659 442688575 659677181 477025421 835639321 63732829 282968509 432094007 623527197 668284233 775153083 449515347 664506509 872323847 612057761 459277307 432263753 49842951 87699645 448222259 507737679 267300637 583726855 159218657 157453775 715122821 977735709 430867161 954455577 883310309 141633349 537227219 969638313 320166219 376900979 307751279 552980259 409949997 211969081 407549751 712611923 407523173 782783705 109164189 578012971 854358331 285669691 392983035 705927365 786817371 844652267 862846351 125997159 583929051 400897573 344536197 866171001 825136697 870525635 645933039 349683091 807938649 227989329 272460739 4565867 510979975 794638843 170200549 21108199 547445883 194557849 44235551 669178899 268732753 938450089 154695711 105364769 29415053 459619415 25177727 673877355 788431391 349154157 288124355 74325367 41039449 481278309 607504465 26284783 445873403 186004829 850959995 382911911 825616425 756106525 463979389 275139223 675124081 694039061 89209461 608471271 952820423 400859737 440955245 361794271 444586889 537653677 395620951 950877939 241970557 333999733 342686219 640076477 317066703 227135681 309818187 821110275 447061013 775515463 990264769 910005679 585768781 373207657 597466879 799830229 629395161 476063021 258410875 888583087 310450569 478237761 679041433 155343519 266479763 860334333 98316449 206287667 478434449 704290915 494103493 267158813 418909837 936402965 900310301 619720505 741320943 979519335 841278123 577265289 67165327 429918285 391328089 338356027 156781995 388650599 580749303 335781277 8452839 468763135 720438849 862028079 483564625 321775873 643944403 223135123 80838237 930596357 825871163 126806419 957052137 414562121 23684841 995277347 603121721 257363385 794380853 394168159 99352573 649536991 565254241 491931531 978808393 255898357 435594647 841675279 317954201 334895577 898943463 17041025 781654227 264810515 214563403 419955611 170504773 752944337 446877605 61404737 800822949 868128237 940241341 155006077 222711053 128890597 249611845 544477829 546015493 806140893 958659029 640835505 241347963 94157481 946679535 957521285 956955073 584486335 22911741 137687215 540569237 51798845 950576975 113520639 936319263 802825705 74648095 249466225 855970793 165952055 379802509 247034153 488428011 206722361 940825253 864434803 182534017 357564337 429808725 130226879 145156463 996560645 383147641 248448173 833057765 432370759 985130705 494770939 892885879 507700523 190293511 82010009 999026721 606218515 252553899 649152151 324674633 415764483 328581175 24908083 944531901 142061485 441517579 612076749 316166321 419459175 930319475 819093491 794265795 580090929 616292767 576553813 407684089 195089841 113518757 868164307 136400319 203023671 533122699 820675693 446212587 500742075 879511865 134173005 808959417 674155483 299428991 146370251 312103633 853387487 563642135 71085405 520410173 190714805 598981537 801591723 450787701 694277111 878234537 586591611 581282131 149489379 534030493 941534405 553197345 573095005 679920345 577402019 476403079 166817273 863562395 961613399 262727581 624199661 838480145 268962893 638026721 128102421 549211465 515549975 332892471 716920573 764754749 333216371 257357805 422608081 603657933 942057539 134941879 470308459 873598147 608823185 590802867 246908999 352227281 451298705 901857637 397165453 544745873 230004895 678017981 862157583 265553795 631928637 320908047 387604033 871212047 933846295 221542679 970842691 243475337 658783231 977784317 811136735 29223209 466157299 780425547 269729151 665029135 201331477 122554615 750044223 975392837 543847599 410231905 911563485 865682365 694361141 315924299 151617983 792650577 371353923 15430883 957923573 531398593 45445021 27135679 719311159 137220277 349293099 805450717 122869475 934896063 151095811 92345759 309656321 172663643 13468511 103397079 959248961 664955879 53022883 251009207 946319351 537561773 116364633 232936925 386101543 774672607 336595253 366255437 756517749 266784407 180592915 18891127 898808879 104059347 646875127 319954221 261210449 241807233 735559177 411554479 856628343 254021229 52444575 451442849 665950183 377462869 421323315 232804113 331200915 221055703 19334505 735817333 625631251 420422781 189347853 295817895 327648163 35013561 646063375 135707119 632943403 501054947 641812111 11830265 237888829 293025343 551544011 58750171 999070477 234739443 763640115 530889745 231110523 549511697 849256791 809405827 579457039 855062165 113907187 224534139 666085369 314140507 794730475 311646897 873644303 810979891 166177611 583223103 422535377 840582343 656333381 775498671 610358629 596038071 796922931 91535593 533246619 992396671 386140315 857762887 957036779 932859787 981236775 437156993 48865395 464767275 468272041 775462593 687553531 37036187 877340957 596813203 139798001 997881847 308464809 77763563 170175855 879666765 220168083 917717031 107712305 560300685 891378515 936823053 629126305 438676623 551078019 551789769 658564813 455671319 841144293 993284593 87412587 367991243 806329189 81050753 320719837 445613117 905657621 860003551 390079015 156036327 367120947 288284889 921481725 398037291 178748959 71099557 493491121 939308369 829255015 882142173 914341189 382894985 559907517 869832329 641854815 410372335 770664957 456491543 842231377 85244549 268444969 977348185 704834319 346657839 710895469 56004237 580403769 780330437 921163293 353914971 752188183 937313275 659860913 800745679 409421977 442316659 684902097 269588829 815349845 449552313 232706373 60130017 451304331 274080317 941614337 183085733 543983137 987511127 869693217 391907667 195189671 496406345 25547495 476977663 987075157 721131837 543210689 318674729 162487817 635787331 29100349 934652343 187283275 38955093 301577755 376257009 179155529 28314451 352298813 203512467 364969437 716676105 566907821 398354357 35348611 319708965 398626465 103090655 104365925 727065667 739969137 899588349 531898703 436733667 93391265 225638757 379094461 969355631 134568925 766598355 573361097 75493943 111155961 772757359 432169279 574703733 51353071 571034307 558015883 54987593 752450019 612920519 886075589 919994047 3273505 698326743 718894253 703155397 132656153 654979255 857581995 718264887 795749993 69838231 448953803 170662357 768245205 664091401 543070663 763349831 300120389 849334285 312676349 380156449 507675599 269598727 19990903 64561883 586718127 582302149 302994655 929237973 150328133 806805627 78609297 730324059 972635165 326337735 577278603 710701979 937013741 140195245 63758195 759228849 764101005 82198429 322903449 28865181 93631491 11508587 894118133 432530759 835457913 254573397 341969189 901813379 539211841 245229565 842309745 184793097 847525847 150908275 368093895 668805497 743752161 999950381 465913025 255941469 743344421 477181445 457279643 286808105 563894427 629594435 409845567 377484593 739825245 691350931 810985785 941679547 608573101 216090893 837755845 758414829 8859893 79978281 885902269 506131931 439913165 193760209 45044397 20140157 453900011 320219729 449632705 927369907 479418935 573572189 668618961 561629767 556170937 94092051 234233693 188351723 266396325 257362423 981493643 576334649 306320213 806764537 929398573 359387055 110017103 425974891 676525751 570490811 134873661 990847503 414616649 696791721 857984499 602883077 80178859 844838583 347468137 437265629 313408077 247186947 474282695 340755339 458616901 234695063 232530773 419904109 240871761 253349989 44064903 197370441 532285659 576087621 458840313 417903435 234348529 756402427 984104301 79665673 630202955 460471085 19243983 288288897 949319495 45730671 228380211 257447191 300091117 625232183 861622739 341899671 310762731 146567657 280815635 108707385 965777819 533115341 827016573 210450071 895338745 133084949 366905541 207490235 657457583 410683609 257161159 965652493 247121929 240016413 163524741 218164327 19037443 407402695 912435757 606467 978358071 20167849 885174797 211295111 791115761 397633663 69293221 49143039 998319645 1613031 416841367 51757797 531851603 322456427 349217711 434576401 836568787 60380539 971698653 381778889 502437507 597509493 687351871 295877309 937632757 545103253 144238105 273788929 554211677 213520647 643025875 349488657 663391387 402573531 182971395 429487573 466541623 13186829 966798947 506305943 328337505 890559353 863117015 765907471 103085039 655174893 635283563 426050903 66923871 422947353 343765583 629403639 334579675 95888021 795920099 190517725 161543729 433755619 248340645 93978971 192357337 836785261 541987141 530745905 471928305 155081349 98903699 439565953 700991553 245479777 270850443 696559069 253382199 129599523 282517331 952476727 709318123 994969815 57693233 714359021 974864671 980888941 552447645 994785731 725921333 195926205 161719857 803515881 39260481 319090569 353349805 129018611 446213879 169636219 485701889 284165597 317221817 792143907 564039741 695378957 42593419 275972091 479772831 856096849 245407263 606859621 975883911 418427871 314869195 227239335 767720323 427895633 326958735 710294007 376146245 586641839 360250897 516168299 37009065 109682021 805243299 984571653 415393455 955397449 568757561 848759983 832296327 818854809 118504563 754426425 967742339 857443575 38392217 130333021 664481819 717526901 607851675 614693819 43969783 924819331 226215951 733689311 946935519 473336579 404143155 791784503 997096647 627880505 799774193 73551391 993201355 150477519 98397655 988781783 614585133 775070431 842771741 96221321 461641561 77583843 801065121 58972997 895238371 246262721 986572265 74377733 646311555 46720453 619918889 666916265 142331169 185002921 723847475 723364349 98760389 299806853 78973065 32879279 474096035 115283423 879991891 81875547 389761303 775454375 918952541 84021121 274102949 807151153 786064163 978460041 32262389 880274747 628412607 137392583 745571037 14232295 219249149 601176179 809078871 917215173 343093065 581493165 231081349 502195403 730267579 824888449 688059831 6836821 644598291 494678493 799140955 378883367 726762935 890091933 820773391 474960239 930014135 281542527 651851669 918839235 701359563 406203441 554033371 287760929 19471185 423647807 107305457 648047853 258732113 335583527 169344531 285342197 178496123 235397191 92673701 729399149 241776677 190312427 735194673 309487859 701866829 68220993 409319277 241201803 831494813 390908517 673328177 612983717 804308579 240023381 68649603 585959957 220167063 584495359 342588811 756438807 603234007 351021871 125196447 17982033 918321513 582044835 64960571 285717201 984053313 966986745 290763519 955175435 975386865 586910907 564068023 127789279 298950843 399416923 674601305 289191055 47118727 509848883 124861949 741340105 666440929 601048449 292837865 793251747 633639685 282856051 802014087 952144027 834112973 52611861 579420521 435312531 557099973 710606181 675448139 417390301 339276567 744825665 266762515 286708523 982598305 148203891 526958023 728720537 866651867 794130093 269026463 219366321 195974899 123339399 569875445 779177051 128101299 296241285 247238731 887339249 637399189 836081933 519960909 693920557 487671479 826487921 299558093 470165301 533555681 931902957 353819081 776072343 144798083 276601503 531909473 181865799 875085745 989410961 74025955 926671011 618349103 316067253 687733185 342956657 772326753 859304675 688688791 449789917 161477463 493769949 303386663 764456573 949831367 351140685 660474205 287303501 356427283 565939141 854848331 5042613 158762049 894053563 304847407 884446335 565691903 207184019 239280235 543798499 827452069 126291605 773735305 587285883 907420467 237493235 529541949 551097679 622548817 763082949 245949027 309497037 455035469 156762893 418753021 564639431 8709149 821562805 859037239 230979453 844114017 6486927 67587429 507033491 179239779 629717073 26232065 672221973 550554381 752087967 508413101 724276859 394974717 171052543 666783033 457024417 513599083 430581223 522579347 406904525 267701573 247764653 54831065 293796267 984433429 627950995 249869901 349966929 499996949 963435203 355076189 246683195 402049059 974136399 613005207 250935119 392373703 40282413 946817211 594770139 437062959 320660031 829500075 776184467 975513653 521435473 275355507 466048407 694882901 189029395 48220483 292659049 911557049 952914717 358567289 356375799 840745007 798218993 282642329 488104343 973133359 28181241 386561611 667058183 954688983 924076165 194013285 577638251 457999853 564528079 760188387 956965455 799781603 981722871 282570981 477941675 827327953 256694537 764252855 186878939 369337203 805305589 455923407 754054563 135849777 22748819 474961349 547078451 80658461 831952805 882207327 378746653 649120747 999530707 634049669 57613153 623433213 118401713 890684495 231727715 203172951 32825527 701029107 549452785 504948907 227467335 816929751 856247359 39577935 526754215 64624007 840811245 929895491 514893581 247634101 63473661 826961965 584916367 985998139 548133085 294377821 965576749 454259487 240314209 798699211 427388117 363999115 721187019 814416661 862316373 765267409 889227963 864907139 864243303 608469615 781457475 759240963 316466859 47335429 359358163 982182703 377658797 562648161 163624269 995895619 854504667 431784821 865844467 730469161 359176337 514025051 993478261 996667503 321504527 917025881 166008549 59030349 973377917 662817241 581115075 792570271 376343279 729297775 31798515 884574705 111782749 182242517 730129857 544498799 971292327 563564525 930600933 185944051 630361495 183218629 962766203 906418937 203171041 88525711 653314825 569745065 796642841 651039655 965829755 303207381 939885253 798439567 327485991 408718321 434857803 191199731 687819209 825765917 960223743 461036967 287697799 960501793 21345817 707381413 961818863 875599213 428952761 269212175 913179127 471829527 557318121 818302005 114731513 83736543 193797019 43410309 748871357 348335403 248269481 594165661 364205937 223108619 139074515 721052223 24000935 630336823 781869761 585995351 688896093 983935245 212817159 53550329 576226043 402175637 613565723 861147231 39683661 77288575 688393569 687354605 930878341 691278367 381336867 192476205 847748421 274476665 762846607 812566485 91662993 720734511 401455807 275898045 772784083 544376725 728487607 119268329 44860389 642175905 298645085 508006791 887365377 399818991 950740099 868880871 146190285 903555019 904124645 674835589 997279319 209872417 531698465 592811269 653054739 234536587 810579393 758594609 13653985 35700549 679386423 316433151 132016385 393287991 253599451 797734279 636506149 976684273 330793969 864075791 869197665 939680685 392484511 501235199 792210995 328408133 65515255 147850989 201827965 886114371 216224245 770969493 756677521 305998039 92162167 315682007 208035615 852303319 660040263 146346175 520324681 384009923 519458071 725515139 235932817 994525633 134737279 822516347 21481191 938305185 1823233 327968045 236647581 468931035 815716359 259714115 813878387 890061197 891439843 764820111 690874765 393896575 71291083 568240655 889487993 108768031 434413539 812913379 756188203 15210119 983395123 756308057 10604289 421440883 703715243 383227875 457473983 498039629 241793321 258459163 586389 995361059 35127657 851781063 659544087 397692587 702647575 310784721 168528961 656615239 844588739 637416267 282426747 195197691 660228071 387034739 576712079 646285689 622931941 436128171 113315507 781894425 835185413 426651517 26261639 826677719 547998583 341002909 757364493 11477083 92373593 528862949 992640947 471898871 970865319 571619419 493151823 420050079 342292557 918291497 912187423 586422771 999790875 349626275 931724487 946979899 543087563 402200899 109441875 179763815 682996989 608189355 404178235 880968205 376791101 661430953 177437019 228775021 695087867 514341425 634672377 219619181 148504975 217865051 98918079 448945821 300946491 440363883 735299527 805856309 535898665 677253837 832058507 340215315 220150889 982755861 459112945 938943165 284241653 401776381 109036103 729868391 887350701 482575719 15502913 899665891 152884061 954389091 667576319 779711925 545216179 293234975 172454915 402331905 240303947 249774073 292575803 542405781 937071269 288693619 689558781 495370221 749614379 676496699 125723141 956705315 843366701 359467809 237455227 205485827 448528869 958789153 656917737 242973177 617731187 42948959 800274503 53389085 259778275 456550181 429388015 797474351 745948963 391820265 141882027 819518359 768486927 795144003 744005795 204612961 526011495 96990967 153854577 948635719 681122773 124335603 509713679 967492263 771199975 152252743 17239011 451770763 335840539 868520751 894689209 627872157 613258193 68040719 959329225 856722489 802990415 822795123 932425903 59323997 933347529 729047307 948466033 999316911 180491353 70169015 491744891 199729535 118605823 302510199 3190947 671273413 614154403 540446069 707677733 101903391 646312217 199769863 786946985 513373909 312017689 991583913 216307513 564421077 700299331 292709883 777454923 541040055 543707427 767637451 579368383 623511741 661152295 164742411 983218903 940171721 231112873 452752853 166726209 967676783 694149613 184874095 629546003 844826341 562117657 60974147 50359243 484127495 452104001 124799203 355916621 344727905 268052061 302208269 345429477 145247519 660916301 984739745 153045323 777973273 998734043 881672365 922428571 833336271 113594809 492980835 561969499 641277543 359297 730245663 443270261 259200947 739899057 212406627 623126339 918829095 454792887 352895195 384990847 537238499 538920671 149251417 5602639 338065327 433351015 949463771 248301633 909450747 623193709 444545409 635811915 734266333 383433979 889104537 959330247 390141971 534137347 98583959 366011773 275411463 841663839 107946769 93835673 17436359 634755789 816606673 712705713 363783179 662789369 915224509 562570435 408400177 733373045 443647209 374048305 830381633 606867639 574906515 770913997 1943785 909484323 961023005 926312135 246248323 724615169 780520977 431058369 365177355 317336963 869151523 498913725 236122411 80939203 906070831 999818795 835227439 309224127 998803001 477005533 113483027 531040099 56640873 468995859 295892849 855061633 501935637 754322033 254559637 926063823 907384503 513613317 596130411 807564529 632718835 492432707 235664779 242775151 644403091 567064329 522990133 537888443 641563533 459860637 854070351 86533165 436583161 115926187 997247339 959595271 125716251 834916937 186323901 556458099 535347297 782588915 73500965 966602627 359306075 119693969 274543659 450866221 358194117 677364845 886315775 405941845 352917379 609763389 383706229 144411841 659194271 771993633 634897169 832493095 24521551 940141723 532819447 264756253 583561451 972380057 965671415 26704423 225464569 488408435 378912393 720473771 377026337 633441249 453620939 460085755 909766971 475412237 547486851 253203793 323312189 815735939 147632421 829302735 900170573 428196919 246115523 394133371 392116919 853259143 501655327 50644043 345494251 475031607 384724129 603167509 26831753 737819511 411132759 931203227 581280849 220828379 387817975 465733767 374882861 962923359 48827619 105255529 632551989 908867689 59882783 988913339 344386207 614880455 689287005 412470239 645875155 681803181 527426803 168318749 614383447 216362939 945469665 323276709 912562915 691280883 516465357 243986323 373100881 60156099 581791241 512358631 671679907 28275969 892160649 68689547 66380293 111615209 489793005 918710607 488470217 413813027 596251773 127982317 808094061 104676793 705378345 531811589 102181777 795480355 816133509 956839971 537635843 242212669 374397141 495408311 880913845 209394763 916221181 697765911 820671171 303319037 483144845 312321417 190191471 762579045 303573693 857655605 355025701 10109187 106913385 411267883 367914361 422008251 419060509 257094245 883850533 347446747 907569671 864786883 120090891 76309783 659744507 423775505 750899003 812055693 413378427 486474749 6089699 629914051 829581231 548472611 139942497 375173029 655038819 685312771 517335095 789334921 323008787 504944901 65877521 345712171 281436889 224840317 656711363 523773107 486123905 339997603 318683207 869013931 594052471 938708119 819075777 448418315 259013587 373565029 35791739 397359661 949235029 98658811 668375529 116893913 694031715 323371317 548122279 45603901 123406093 541934545 650862201 130444523 258657803 934277757 947269959 723122403 13498811 903458247 825723175 642906761 68147237 459355431 823280979 948520361 475025657 760302081 882819887 463225979 993112205 140167327 84447047 291285659 741500127 840632111 279249483 634582031 116854937 122789581 309788185 823525443 567140873 49528439 965166773 715987723 741538855 982931483 357988169 73378215 575747985 397592453 883105575 786479037 890812813 365437299 574296267 240517207 291542799 265940611 560255193 958105835 254564265 301043263 815166749 290628695 838317213 65495577 302756231 837296097 369422803 247756395 460967735 704344119 469909207 654884213 905305963 601185387 953927141 629723743 787511955 991391483 51256023 575740475 316734783 98007759 868926519 32074501 902892333 491684401 48044085 307929243 241472061 354067417 543265191 9074119 916497789 437659619 5276429 124133691 392597535 220861651 796249999 637846671 970396797 810744473 625672697 594453831 153463581 792258951 706804677 996699593 332308393 686629213 975093265 90613353 396723187 969113665 688695973 722984029 56480505 44542395 54206703 507890377 666978267 773571015 672318217 565839285 9243879 440855997 862027953 771627795 885948559 701840229 246910029 681701819 364183151 985272811 592110571 379577457 693872201 863182051 477258823 7381211 827985673 632183631 183774653 76616331 114833347 242440847 393021269 66243067 636870319 446605173 186715581 172523917 806107701 750401841 961469517 451923081 45585885 26879589 982393349 103351841 785667419 913572371 275093133 214682733 645705611 263303849 245232433 732713327 829533551 50012927 114143213 399618065 355711795 401861965 657793115 179954469 900959019 712288829 633273543 182990433 553039057 508762587 150146843 65650025 764667849 677096603 694228979 253018309 422004445 871675995 830021517 469092581 469244673 92155233 863096015 317339941 990805585 366208343 313253451 425489607 287191825 648612951 357844277 691122673 172523689 980606427 468706925 774632629 259153071 639069643 174132603 971896333 917549021 728538993 229257101 326095065 913745687 964046979 178750589 318444261 971347559 912400929 8243143 30093281 188644867 140164045 320155541 804472421 578195267 803418229 771538869 116405491 322657707 457554287 284732575 903110389 437666281 843830649 12424815 912107963 376541901 768459189 816640497 336392575 11367507 78228149 460375953 7412833 367088799 55772523 107311721 556470125 860620029 488515123 585591093 94402451 938924253 670523351 994000733 735274667 973999839 206813311 314989043 913497719 648925121 767898309 738325675 948838303 956119923 795396771 368484069 958518455 978386437 87213695 51894955 849081655 688878259 426026535 704269737 495326849 370233571 712653775 817263671 693930715 746969883 564219669 817210451 321091707 507955731 852082687 992329897 618859639 512049061 490025977 234464643 726661073 318211537 365911769 111502299 944167025 202300359 547395549 931350607 952275499 35525335 900447911 14229031 821073335 262248319 446797895 634652241 972136373 558853215 596051507 108778087 562955697 826108229 898789703 178692517 358103321 135938595 363996871 694292469 65111113 529563669 715522913 269111013 630244737 260210269 690663981 88314541 985076713 162114919 448782243 647954729 184052885 322962373 819773101 874582245 184539517 508424501 279427991 274453517 859146881 584994711 879652117 176185209 348534893 344134137 188556613 227302827 494810095 466594703 81633453 280046533 343032481 657068719 223783737 1302681 262687239 268684769 909045565 319522721 742652041 520581329 934376571 932527095 251880565 543400269 538963731 695151461 241476361 1842261 311946901 742971227 522435427 18701067 334143221 976490991 904486285 699294137 557816211 467996385 211259259 972582099 226772529 443198103 830641665 401767925 778780669 10579233 680518629 392990433 222221453 529283895 186371277 382141573 164007647 832719159 893305421 298906095 331576919 912252969 438692571 981604191 587599297 190154429 976490715 492767543 310347861 430962759 783762839 703409923 412487855 913034187 799718973 619255411 609422803 111390955 59587815 790282853 898114609 9154811 317803929 748699613 740579485 852036593 791001401 556809475 381135699 333416297 198378651 322898989 870033657 118670767 565800821 285286613 997019549 707673775 219076971 163285151 143587251 403781889 182631685 302811223 528757017 626536677 824431285 251802861 245326357 976751427 149095891 452470911 208490067 572850855 271298979 510221137 631402473 993416269 800732747 61451469 393216085 944974095 172456413 951371909 329123193 149390967 227707221 554768181 797893797 841089461 825532817 286437825 853279119 11196063 392209499 629768245 676888915 527234229 953153893 785676481 655014261 877828125 811419463 141534917 675547875 348908199 358422659 17898945 742532341 291754699 442099331 77209183 867943525 354719399 731041433 955977079 165920345 884151043 874783995 430358783 495598429 489758285 991948749 238854429 582564457 971960735 100254743 694185757 390183897 331922869 326534859 724509297 756696691 120041465 931277761 948621237 170222691 47242105 312921787 22803371 120943679 711176683 523751011 839757373 235731971 266471089 550019401 525616515 235340309 920096207 116578022 487268021 812978757 730538231 131591327 432168757 525089475 338607233 495015097 704395665 859925809 976500841 719266663 621680251 512119185 546974039 494218689 33811919 447291217 327679901 573483209 523582351 34422855 744318511 416164969 976665831 305646001 132494253 371149937 538831657 249481523 916061535 279540635 238701779 291702233 198288949 906030217 115225735 823786779 144357829 767089857 138790415 372950485 880886095 451193785 438563167 619382603 411590841 846368711 151372179 81743917 300697491 706582317 460482029 503079311 282795027 570077461 317204185 566782957 691409435 823064207 353474283 60999213 807848497 981058453 534848477 890248349 78282373 73734151 539925907 149969393 675239403 800199345 788217623 877869127 31402727 186603075 284489629 948804133 836506779 791501909 898374529 639252855 743381979 479518313 633538375 529245331 651585565 379590887 960343703 645423415 591692925 157909539 262865223 245077893 517383367 629056341 932626513 966975759 226380903 670053789 239774425 50453957 388133237 77974791 124087083 701034761 583461297 925784449 805124023 17591453 646043011 751373799 791604251 80735665 783937271 630950649 315257371 558459351 689496263 98620513 754949791 525072911 558684497 9082287 203237565 541585853 331912607 294276443 64544433 367743407 753507931 545168331 428934363 258181913 622192865 500369987 104543943 383013017 172903471 636502521 934476843 584484661 396228075 284018945 66954207 953024345 265615205 153042273 369764073 652126171 684129941 623548417 576891763 84952823 568858393 729857455 599759823 656080723 81353527 50212905 523067769 679225085 263317731 735100685 149108245 736843883 647674031 412193511 760721519 986608503 613311199 90676261 160650105 102454889 576868437 20801059 513196365 882920175 489348005 332243487 894721585 575824155 30232579 951403079 319604111 940102765 696256593 300864679 634674939 344350921 68260373 465451581 55635245 655180667 918146685 619724775 49417997 633887803 436366689 90795375 263236769 570584613 332993601 290993287 468882977 257881277 561983811 597788617 804958951 250230515 290243641 853691317 781558901 30979611 306255767 761555891 131145079 948858097 976110461 749170967 993020095 741865627 445245107 853226519 257993291 830747047 356996009 743010007 382656061 323905289 619159413 831838815 668111327 579917601 453122773 255137185 278572197 538966705 550668083 82436215 324447531 669773287 279774621 240895647 165470259 26709849 311755211 973316805 365594025 802555139 962950939 445621115 401013153 998199629 713789845 246127671 173252437 919470593 619890407 51481693 635422247 142606679 489680235 98336821 472898215 228250859 817667869 111902193 955164035 676385985 597977767 502694571 514623129 514670665 482081877 17378145 757572075 550801749 216255779 998018559 808946853 544171813 923842475 212383831 692346907 807440733 3138873 652569887 511891655 715921163 138163385 44077819 906088781 49380771 831080899 37577587 204709239 167434243 537948567 77340153 485965115 882976625 227955227 796461797 902768049 378152601 385131231 360604281 205411359 898140303 953375771 257448415 489808109 829307861 334115759 263566377 684338353 561133899 488657951 41776461 972416805 554214721 305990045 40735535 590402093 400433773 27244285 609072791 794347221 52860137 702881987 787983925 723561549 793056063 211458067 89408935 339184885 547761495 58497981 920721513 191913803 334774665 22004025 415731431 557598463 381560723 722913701 88589681 205946337 820561817 400478919 732802881 320659693 130174247 592414739 223794041 864001863 503782453 730787739 559750177 764543803 499551263 985913633 30847785 552148283 332098219 149943565 614305133 936409313 796768005 473883501 485654445 218008051 986155201 739718903 465721235 592803163 684659423 120722445 335563439 685597739 48460485 481022899 206563707 219917985 68306237 844411035 24072793 716598045 781370237 345171995 955942033 943629101 309733923 453793075 963059027 340056195 515345461 743816585 968642235 314821625 197913119 82054255 9838281 532867733 830811831 552559577 373961319 552344193 690012219 750036327 195104869 844454929 60211535 545302881 496981629 483210941 446600703 574878647 3493457 943084077 81813699 483596541 934406759 6595369 398799735 93939063 494170421 445618853 950834271 107741193 515440657 889547453 745230633 75231555 539636285 564597171 217689581 582793307 515651041 713177843 426612773 286107187 741980945 689169423 159598007 137629777 673402053 679248325 61896177 149098979 261359069 350670583 75727495 567712963 997208613 66137007 780632215 531949677 554880843 210545185 133312935 95340811 208833003 251987369 97261219 703708265 220984965 939964361 469962465 603049219 178014337 136186159 638059805 168557299 458745139 943052457 15125117 131966213 247692499 806801975 445198225 111895973 177158017 987107323 377438537 409149931 502416969 671981375 427291143 529728661 558913561 504950137 240728205 197531919 96060621 233433921 321504521 365281891 494171685 797594971 585250835 397303883 348091593 999638965 274971555 38097957 829551437 36703327 388723235 828824057 111024423 160997013 567235935 62554999 214858173 497559995 568522123 608156405 786029395 206996571 721644101 14532209 282759709 322712363 807195025 87144597 503146293 933775363 232705759 735976879 164744603 105066215 315778051 835318455 85328183 894379269 770141753 332565577 441675227 174303661 401045799 515567025 980136515 447874907 962234331 284482523 719050509 525788851 782921163 173403233 346272195 182995841 56728529 804278911 25945049 793809847 757479221 384701471 857465251 990320751 440693923 377109709 65595239 983263983 478723377 332153027 117446731 85869985 680697181 71328225 950228833 209766679 760615947 732014251 783345829 399400205 614578055 838270803 656865781 940245353 866936969 932676783 355387931 897167665 120564525 49674559 364243913 860130717 764530679 95471657 820965529 374182151 469635287 76006463 387303433 805330929 99643423 233253109 805095557 959122437 84995983 660429675 910322271 913988891 929708363 372475753 205339853 567449129 934615265 511931997 863347443 342817367 666987589 601909857 661054169 689603565 414176469 307210035 606419569 341148511 350243415 824479031 644546707 877245511 33055223 164744833 173288451 706917995 660447563 603576263 547575911 301831349 163295055 510064487 499532113 102283833 770473835 732322919 605882683 471511345 752000617 414406523 786380935 776406527 689154945 124460021 19773053 66145841 106139469 250646231 287115855 694973307 401769687 883943881 971667989 602154163 234432135 569185303 527524307 977706211 912319797 463822781 955711087 9625649 504270111 527298133 283784891 940797681 865702121 966749737 604658289 911197857 202008225 605222697 120156467 725079267 734631099 631686635 349574537 719693953 921502485 276706991 387376099 77114481 307544051 966558299 532264351 927397067 812093189 317858177 549882361 602671571 154707551 659128147 500707613 877797621 457612157 123406519 134758171 514134469 940775493 269010735 406142189 83816701 311821829 897113067 240336245 219659137 221502579 273635013 790449273 212860765 675760297 555214137 63756207 780957377 259351599 486136689 25920429 777371915 79485937 380999483 614374645 410472895 829210439 622850831 753301745 867249541 309767401 608067337 980700913 571075891 85902849 469887477 899064111 396437187 123069209 497724479 986373069 218704475 301677353 586666241 300839889 645565761 664220301 834850551 820641841 515559149 57852425 368382857 615716547 686002167 301741517 741908425 456014153 248953125 136331885 889426283 375521389 497320543 375324133 696255951 2232511 294051259 709880987 955604223 39406519 554226805 530284125 262351015 338924219 153404909 538507615 874912031 55836689 170759857 644316479 242898021 730767337 166699891 289007619 10713893 892743007 199354893 153578263 802167721 496372595 269094533 900502609 426113771 879239181 168972805 382747885 111544713 850468097 792685535 18400403 886467787 398209287 282137231 893071949 262454175 960810687 509516475 516009875 188927391 401281973 503237675 887213375 691210759 323109719 556159187 306460313 186619073 177139201 199580109 416439375 234855259 61220851 301477471 897621875 963855883 306397781 270182643 508528773 423498419 425839675 543656989 320632425 25292249 547580829 733815701 974874989 991081387 355024475 872701763 458360901 677019393 637043009 201266223 840432911 15490651 506934013 379623821 106350159 122975457 726629163 944777657 808185333 839881055 608445257 354481461 418469461 972299601 818856901 289131437 401052971 252071377 16655595 136417013 877549215 46417065 647666681 952968709 883863099 440867657 804590093 78424069 204881397 782932935 498673459 948213565 225885485 983245795 309944153 567949347 943043493 843710979 374436185 3959375 137611403 957007415 301526519 365545349 147017589 500137271 939314393 746640049 842961249 973335393 645880723 879979239 257599921 102922173 769395867 81315937 852918071 850299641 21977687 509459331 302862117 847576687 629149707 384948183 526527513 461417243 661623019 586931473 413943063 508329639 307552015 567163407 445676687 41900641 300720763 541474767 454482771 548142657 189355029 952633983 547836835 654516707 179569841 100297331 924708387 447182739 886376965 712387367 560463585 890171197 408651701 53870651 601720915 107526009 302778953 628576379 611949651 952781959 418819123 993499869 82130729 306345295 408177869 262037369 881623681 16773725 595973461 950034067 787119217 570861803 341534711 797872537 631531637 549728729 695623365 237572635 75430005 147827371 885220533 677361365 788707259 158562963 162751147 13543085 325627903 445604711 466669167 636649385 765879899 757554343 382295475 900295681 682919513 534597241 378794255 701948685 30101729 678619309 176358151 728586323 159453515 999392187 677489921 779774077 9064533 834938817 31524943 11964509 385730339 48942983 665889067 557642737 908389443 522178939 960754103 193825625 456779945 170354871 963306235 996148195 872467635 496851447 772432873 40459521 177649959 462445221 482504281 921741133 140112433 481006029 455937549 688622989 342895205 713834795 159568815 722729899 565223365 415237659 21429711 943013817 587819697 977551523 676563945 404423413 363181305 336828021 925339993 757839039 79160531 705128425 603037293 497685925 961418713 544541947 933354837 510606937 359144467 977931347 592788265 988222647 191810799 598523457 950909163 852241601 370134591 185246655 299076229 156755363 92308801 946354535 526269895 563554993 758664605 415379075 718759787 419079269 535260255 569727491 625853971 550213985 192080635 189813117 766587207 22134131 507871309 511547439 760429175 925994637 114611615 242979845 50451455 595590091 44997531 411217545 45003807 396212849 550796629 217453043 546937857 547285223 80797005 765443621 879951029 798434241 884771943 841899941 205568053 472660669 600609521 612044451 154623075 109292477 963560353 508574195 378125829 648407499 933229201 587313177 103668689 576573981 872319561 882179127 342477149 483997451 577335477 78517025 798298667 439742745 277450283 810602061 344827043 831718389 705285223 490483415 36949273 761443693 642106257 518810251 475365573 806490243 604588851 528616149 541385929 321365589 182893381 59399117 446294315 707908911 769470243 124412723 966274529 868705669 74495633 104399213 492556735 226012917 719250111 524112525 732816779 778544445 44275007 412458311 502891245 200871245 267466513 680815611 754285429 712811061 340813209 743581105 969117 171714097 457052069 701785369 46867397 793851301 584556649 697486217 997221175 742571037 97602179 760098305 375341863 332357449 353752311 424268839 307014569 256209929 987148341 449187147 150821571 882595675 287096081 880486245 811574621 895844719 101622215 329865233 523989061 963700373 163404031 272068507 103133497 961053259 877137603 760546289 727838679 806893105 613198731 759973799 918047403 869950741 649593649 279303425 344181795 92944871 755589629 542433505 36472731 227357895 524344219 826777051 977655889 198169589 924821027 394493731 389218419 27754205 166452493 581144475 416422413 366396689 522556995 523864777 547795997 815659853 459801361 835402715 991014273 698588279 112425771 89781929 587443717 499911319 802738607 458682547 841555799 137964001 114891297 437046815 61080081 137654703 434207601 46669501 55048375 808716679 32543473 840831239 236644015 285992979 682095971 773518103 803636557 368549927 517447655 882278839 203222215 708666813 497977613 116612439 606454081 887114487 74726857 482457357 860728259 111907619 397164153 438207895 640405823 400742323 768945635 975555679 863713679 579350850 36223027 217843827 921575025 65620629 88631295 860602762 540451475 409386901 709909829 886959877 121354881 943551063 289425001 653541097 694490041 222431765 633021239 558274789 864332697 484916275 198592487 458730835 388847211 499225403 590376979 364251695 733305441 254255073 84572101 763057697 62895763 426677761 282604133 795737467 463578627 467226013 978330061 14831921 949204635 610921955 501166391 838215141 194314285 112080931 522643529 963630813 131163503 82203353 134248463 429662471 695908101 709808809 566137345 852067323 613768311 677933917 797400829 63681785 417411383 896487657 448652867 106912231 978055069 960954985 967038085 172122709 609502701 403185953 884125399 406657147 399499597 300183417 56632245 584543801 807216335 105695239 78137351 438195731 452014701 461716615 598468119 675521081 952033289 31859417 973922461 679752069 828913771 270943241 831871411 385332341 269723205 474237773 517748705 264887343 351794479 971596541 272967445 203843971 859068587 220271519 165829537 803083239 7072547 100143323 924494149 121134717 238289127 747668103 22009379 480206091 702581041 916648863 692927437 668358401 471672611 751422787 699181621 981725299 153465541 706167233 618990265 714431267 184720391 258482569 708186909 608953721 354456517 561530939 790414993 873222531 427726017 858265495 522078377 696480759 467739807 508109447 881680481 426955061 912466167 365292579 252592927 919748167 230144061 453106337 492092337 912531929 874145491 338829415 349162829 330691907 782943237 20922113 136549517 292982661 226105089 327101985 184467577 92464709 927338979 595008163 983812477 234659029 905723053 696738697 880693871 138901799 414923331 61368575 978821005 605882593 125980539 131560279 98374521 620403269 521982477 789805071 670709829 521152835 634555291 761136327 698770017 852063349 833616555 561420365 364107183 235525145 36228019 352156051 269785715 135552277 465798665 35714741 570689111 376649721 332028655 437090293 351073141 91015163 422575757 779102399 633759047 388463613 345830647 537270439 753235891 160054661 438627621 954114663 322068997 291962305 735327735 550680801 749899767 225473163 82714425 774231587 29079713 270742879 999367833 441389153 505852809 942563943 935283379 955276531 28664223 568459119 924817927 114130269 283256887 439303921 282252799 649492555 157991951 271807245 66929129 113536145 475474505 38364295 312438787 137186345 719909749 956164561 246334061 43227447 369012873 840286211 262066733 268527365 903605215 514089943 108536887 125577479 161947713 965342907 81992805 227212249 141954519 442056633 424754807 16396351 428539193 632436363 395015445 109913121 935423589 118984847 311638739 403449749 473162175 944501709 971750697 559356885 977902869 463411189 291865975 357030981 946681499 799239517 281568775 527089009 349678573 120797699 919652619 528758281 624350485 163425425 29503901 759607275 552668541 98738005 334958781 644396827 223594235 60327237 691776595 803395777 292592843 370339587 936150579 483631667 723226259 848016341 860537107 534384621 339115873 588247209 191454615 890418319 973670569 556319513 330016073 775745509 697355083 600232033 969114007 428767205 497453193 285326443 308324571 698548649 724291857 279011523 814170969 546574449 436466681 738710435 59229239 490863277 398140863 33637611 750080649 206143213 576635717 784198431 519938117 6128367 607422173 327799921 829111119 229436051 942731577 138548663 966901359 339430119 579890293 575580017 186240087 175295773 650293019 918741701 625475745 828617615 812668691 72091781 648248011 224209603 222627511 8774691 46297921 6777443 328859073 675457221 962666069 81899073 387337303 206160941 917919037 540480859 508382215 418734027 142720797 427286737 552895173 482251193 747793917 97652977 111873519 761331635 143027663 429854253 11264331 382856227 702125421 257805345 462555653 806500631 122239893 826678927 801090483 463982919 578390003 869761123 432561489 989224209 324337175 749763759 787829319 89887611 814193277 745443249 726537567 31414073 292326273 411532747 701643215 947413405 243833969 460618375 373223479 991439273 35436157 925935513 321190809 508299013 732521407 438066141 264638053 594754813 30160437 579128405 849118061 825677195 190516939 301510957 73558257 159277135 279452753 582453433 928233365 375805837 317064833 20811891 319631717 280834359 520423165 823341055 738009 471954915 116341325 177523239 317961677 235963345 553205987 597067743 479695495 859951079 703106071 700490051 674713267 568642229 661544235 365914773 69884007 523984755 35006537 414416195 565261599 646161151 939166081 594936541 929611969 104848097 458346445 67743775 845395099 507703369 300929551 873916397 45904993 107177229 277015055 430166097 639921971 1020587 411026813 598187903 719501459 34532173 489585397 443674837 271524207 642942657 756990199 118227409 96660765 510158205 854301933 901746467 935860315 203005347 947611687 628219803 816641613 188749817 240720607 470624565 593771391 851751149 89253175 965600277 124581609 113908119 402733623 311633285 239557863 895313081 737762511 592475387 788883005 705664949 528869595 911145231 321342235 618149279 925872155 537347719 210225171 488906283 317398841 485592909 909127461 353977 469834437 500882803 788935861 387329875 3549753 964387381 767042193 641267619 229901557 586580727 705520365 173125125 356076869 110940229 189068137 207820407 199679319 733561553 649623557 492082591 793512519 691261557 131316789 66819023 443101461 43854135 853181383 831037433 724171691 286481473 382659071 501838531 249008599 111523557 644236925 108914543 859214423 217338273 879872083 756414701 28010955 482762005 893478641 756597975 149355449 541320463 981058361 706650217 907302807 93068673 329854573 989755277 245506489 919767431 271157565 185896913 885870693 180307043 497996987 194767723 439452355 190860929 498172775 369088573 957117921 740036211 268771877 495184589 738348989 579955703 167504193 210684233 385821749 421694189 903758707 975648393 865576469 874236515 173092055 317033741 380752395 331282827 568673779 693437437 618802099 483224769 775853747 933463589 600803981 478226055 379471725 440489727 319845633 522327689 48331229 497072043 940638051 889734299 140897321 345116141 78351593 504965047 21069279 870048567 176706231 426820353 464445173 820125087 932234967 488243395 315777733 547500261 794361143 86416241 330333975 916089711 534452915 841622183 370368793 699065165 908659721 634478631 904506461 959506743 827233509 467240669 978194401 110925707 669745369 848950749 22413069 767786833 616448093 977338209 701292717 370055991 77463505 888206797 199679475 931848343 801807487 341649579 558156161 941165 133929881 623304625 921304155 560683107 553382713 979638199 738637035 221427655 105950557 375244737 345408011 148610191 263671025 757109245 992113141 779319901 565339847 545211579 432080719 785742199 398776469 175727479 615022631 721389515 234920959 407813077 412723953 319927793 108051853 763627167 855072653 148472361 470585777 902982347 820782139 433736027 440385989 361804401 630766765 340127251 315932935 472737239 376187639 612284299 67772323 584726629 334466711 661919395 999024555 103823281 734952303 779581151 594539029 599966327 700211921 496322417 290148805 222646167 251090541 292987951 342600835 666550559 781672293 141222551 346994689 594130751 139769147 470247637 888170199 811466071 812349663 892216499 219979657 801973477 289523107 114513577 37556093 833077913 117271111 202173657 448853509 252817219 397743087 479412233 193550171 804805857 330657577 145953961 990834593 395943827 818329833 578526157 913620447 965317799 153850253 95451705 684568839 958884239 302726617 322620241 289950449 118257381 49034237 792619555 980872031 823913327 221520525 510740075 357471483 717326103 849632133 496520069 69044823 852298225 679257933 711937911 551028457 515365173 832650159 577416691 867809811 4107339 917043937 123470671 133052961 820702651 720117379 351794059 125377347 936581177 283367063 33934671 185093777 795319711 647895179 243182311 193205517 294542837 347588149 720759117 611248289 439735905 666824915 994973985 977395997 968889399 201200649 500364711 815784251 971890677 207718627 329519569 477410205 445376573 334519513 201488181 982701515 309073113 862503623 533192977 131273525 248603069 927810547 615709519 140167735 716015621 532385031 961923455 707265809 96587507 119248669 280737235 369618669 101019891 470769839 411177519 793983707 85393561 554247331 490025753 573540565 236238751 70508359 128867009 868007101 937412073 873176399 225592315 675457369 884776577 858157275 92467019 267678559 553540763 563051627 553357779 735430245 874159763 172680691 602079847 157318637 899506925 268980675 225729659 831378527 547181905 745146777 784853297 567602703 966130069 335273373 840070223 706274357 465219763 982548825 419215171 81802739 856096207 366840517 286604837 256578383 70946611 480832315 278979253 139677247 249534805 565375109 12157273 835742617 898103245 409350603 771362339 857788445 201203297 776783527 261758919 72459129 420681209 759135761 338513573 975815483 83854763 843805043 480379845 646560221 126702513 678454681 25157591 242309567 664268911 561449399 363779121 776826413 182210417 804220523 100168659 626712661 881613417 971835579 962767971 367064147 652183601 566583059 559455025 720525349 137759183 605658697 687496243 67815097 208233323 712143513 321768203 501788381 97006941 371418283 991207935 823833673 474802971 838997641 11093759 454160547 528926795 100311721 791846047 647599215 892865977 459650795 755524387 489956897 23598679 779313041 938860397 336967955 379907647 244840009 71890449 641502341 794506167 468104489 698007619 39024799 769204265 437100463 828869861 513486197 117848359 295317951 609698683 391177725 273695599 379685029 664601913 712844571 648861153 26648089 345107953 828243609 312415371 972116279 226328357 65272869 734533535 423437701 242198779 672625753 196947577 192725997 31976771 287302073 626785435 531471305 506505333 224893867 393687217 165247955 621046449 759308163 467220877 269207857 240306363 471516023 404469549 333172849 607579397 683661739 86102963 147902601 693321379 152835881 653157993 697399251 182959705 222523615 991358659 219238167 467060619 699590823 223160669 871571073 28124489 972332613 971086585 573433511 124436811 761750623 564992899 148094855 855442671 810033543 683250447 826351491 413112892 752731961 979691733 627475565 459040995 511155411 929642045 576560245 284833593 40264863 814318031 787196733 14828865 6081743 285157441 408912583 760434077 909254779 404310379 905183875 555077793 525767335 574262097 238115395 597715265 184689465 383489823 324563271 185850399 842780675 826875433 351408947 951346305 215342527 107269353 136197909 985423189 799024911 327829507 987779169 422526003 997868923 361174337 617651189 84482651 545937013 965229209 844723479 512481715 10727509 946584867 545905779 599891403 277214559 457492003 673931039 345729755 304853689 699996167 202380183 74672323 631948661 391134559 123689155 290674695 827033485 137567719 760130797 912238295 177310947 962746243 968288459 568179213 822924863 558417213 363724413 129327143 778658899 840472139 315166853 698078283 885075639 528182533 614882513 746426697 165904109 732934129 685156281 675973783 791131999 90390713 42855157 540826455 295787101 535279919 696039599 638130511 821103905 295605327 557048947 395840493 404937933 2152253 13698101 578084683 6868841 789469765 758227795 365989669 715229927 550569945 26909585 118932453 68356127 352116627 187151391 536270231 304241107 686721849 63369873 564134135 839220653 719644597 105910243 501835871 565735741 484583449 300849531 519475419 710688509 101128353 291499047 196943639 805231949 424112051 897597723 704910955 404977529 540755671 535416055 733260759 787206833 62820801 423251645 441738497 656765709 287272779 920890075 788363065 338277007 759533179 387086887 137706103 182699039 484251003 812882141 464493659 492942993 103987357 9906597 8652585 735908253 426821471 695377545 499187921 29812965 699583843 930076161 767037933 531247857 358502771 849592809 702995131 779803697 252432003 45115525 332731425 129211905 684992173 984750469 428111535 50427297 267724855 134166779 178571675 741890873 427027597 859884647 223678407 647077597 129204541 317256621 965389497 69124997 570694407 227714075 283615135 823725075 155321549 186114917 899138643 259091533 545575065 150745257 765300305 770113001 813314207 217841005 415385537 120795003 976621627 375944349 743751797 270713225 201906927 141909391 63994593 853972859 2175847 24772351 333986087 525486241 829859959 311110677 506009611 342545203 984680473 306010459 877875199 76764503 286449777 502898121 811004441 385574929 428038345 531734457 500647193 971585109 885690519 283963379 734581863 367121405 239699571 757199013 140145423 210119369 581425953 966496865 769642187 513895777 256874637 397107495 649764601 399179353 8269515 235616603 588723105 603077417 165028631 85337801 729603699 52902193 932584145 140246953 817412035 241735355 999539845 983869335 351607189 787966459 526699239 651871897 554638477 748033029 499032533 145744411 254438651 958757343 840748877 917961201 343275477 832564079 185830527 445445979 486096317 752114825 56696507 914050559 284368377 389819363 383027325 319661287 247314807 428674081 237580393 466392969 347345873 697899724 130634315 303905475 228545091 52781397 829408789 574220763 973221045 450066451 400447713 439619455 126835897 52432203 34203125 116240065 143992451 948144675 616397753 890578463 778006005 829822895 253491397 640200833 354790291 907948517 264747215 60484145 613830031 443037865 274884029 48678887 576737471 162090691 362906779 720520639 748661155 330304229 722145435 958591549 639807329 603129513 541995543 777046865 318384329 821063053 422430613 505056077 56483155 906362367 971068607 387739121 972083231 385088587 840549225 649761123 520569073 289090989 680545931 699279659 693448505 417243975 779208525 370345285 523722513 137003297 225865207 371047177 373491765 54737709 819035389 707487295 629032719 680069189 536679417 622547987 282704813 671713575 468019889 861545497 953556679 978861439 831131663 282355027 506264763 930103005 870220071 304288033 79449743 752274365 635460147 415737941 119873783 832389757 452197781 950470175 1954629 778219623 563758299 76803361 346339963 723618475 548057527 96953949 308897857 563614567 637119237 686126145 121912803 779913367 801899463 369058725 617822555 284066087 412613675 534501569 440247369 649077223 451472511 431814207 466644721 424992401 350629955 549810219 542034245 281331399 502184729 160171769 898744283 130610961 832267211 182576775 431761139 145449441 381524815 307606811 885389171 538891919 274623933 39507551 98167275 532356701 36975449 964551789 63512467 867545973 66673039 720798399 146152777 132761575 299443187 899782973 750633621 234797741 620995903 539586865 589380263 515224745 782035031 934607953 466135381 246360995 712759109 38494653 652036125 432147787 874646079 741761783 239673129 127158845 345204893 295646957 880997447 957901563 27098597 822783221 879390189 550947561 6826175 431307723 898889277 579382621 868008449 26189463 683984381 340502159 627363237 94158821 872445339 725936801 386145231 835325607 58198575 732904603 760917451 381240127 14606459 788410221 225619721 326390897 323860961 398893811 580829737 165160039 268846965 19637997 378203113 304803259 351390443 983120901 70550585 269304935 195915171 419821259 381701929 483902161 221128615 713119929 955448823 912462535 234691745 450993967 551177731 765272701 64494829 919152761 342457307 657141649 542008457 423707845 736311343 679623177 55442459 579459375 450358495 384544593 406274549 316134583 490015211 1959231 603684105 338420551 484787837 241264401 249071611 369693871 57777133 759118441 386300945 177203623 907501745 484352599 322805307 457978581 481129841 443338321 755822607 603501501 108798965 50563379 927893195 379928021 958382127 872854593 116203609 59692913 265687871 53579817 663391815 735370455 745730149 852203523 922274507 688406831 358186509 514383431 513454023 402218377 278830281 518203871 502991297 431978973 408645719 798283543 961170663 620238353 568643225 213642915 718125073 992873193 523955865 339689633 476582335 976951577 996072843 208271767 185310489 262779451 139926987 63991153 345357035 213221327 242184155 495635587 576375471 260842557 596348263 25601167 799305605 931075545 623830593 834713525 622580017 662414297 662287719 785656709 350377253 27579235 641301499 213679603 658186103 695984763 191352391 203313247 88700391 517665045 434186431 821293707 837642971 735295499 295386367 825826725 702593123 868872219 513113803 831001411 871760183 729166579 133748491 112592995 369735093 634419231 309215957 285983849 340712165 40948765 966082147 358114337 822521205 575426379 480300569 632833731 596178111 656363763 437951361 636428523 41949631 702524487 268195919 625914269 249321503 804086625 350478687 7658825 407072557 743102527 666380725 41623235 130920159 184942029 861032825 129701959 285819095 718190813 744467713 472727675 749589851 797716261 554121159 899200877 967408729 63466569 958292335 201098641 835276905 894332115 625121477 98238661 656167883 698206001 341708473 878867279 931234663 245195453 6759787 900209371 44903369 843320505 837870873 361006975 938333739 23289681 784635187 500161721 331363181 557247633 749035337 482276971 352875283 572530549 115537943 272418277 151636559 736607455 348947073 67655901 49655543 69120663 449228947 137743983 763454089 719101007 820080767 786318879 839493423 322453151 819084703 408723163 732432057 732105227 339882361 267478011 569854361 97330681 574134967 832471609 549036531 920400827 529139755 18313403 356633229 86206859 265795537 665713165 112100311 132335499 554288079 157036327 556597989 522464451 393210219 520661093 84903035 766354469 425151005 475085453 847749117 448607625 239374463 856784843 768497785 953067697 173151571 482997429 796900267 445726279 443477125 491138887 724941549 221679325 745842215 797833703 296798283 891449321 376826743 476902501 24958321 70904527 761941973 401413361 374366903 179367381 148905935 414819627 989053981 581148977 828401175 440545051 205335627 709295609 858327689 648192553 459643277 58697007 707048743 206074413 738845917 263351485 796858141 184609381 904547547 826708083 530124223 618502771 857674443 962832139 676534149 77707625 291946911 145967911 144916247 615283385 243032813 912271951 955929149 408627521 999405555 362654707 147785963 317785157 722151579 546146415 608855613 419350133 784419443 734609925 581468533 209998565 622909875 950296537 661604097 474519569 528685113 950258945 42362223 812858591 390061197 571203957 358215295 881174429 75761887 601175319 609227795 696745727 753757187 711184047 257208117 224912163 62345851 769515245 719059739 400929423 205714287 923140973 747471389 772556079 377377197 180222895 554844351 225495385 269895339 153955869 952342701 495294667 16644491 435959047 236123067 880611751 802942995 279834533 382701795 144871295 388872625 722276125 772078409 362364995 58972285 520285557 145421113 681258837 435493943 340436637 324132643 983131767 25981253 136245105 539205797 679680217 761331129 331530417 707650435 862102029 483176519 695399941 423287973 842452755 955509583 693005569 248932643 60342095 156043225 172532253 106303795 787024783 206787733 573010873 430198075 120380167 312313561 594840865 938086085 452053589 445261221 765920643 361299847 514039423 532203167 291305211 637011545 682757617 345176343 512024457 312391745 406913407 43920643 853710869 755555689 102057835 901402117 514150771 505608739 821092949 434909283 496964953 292944363 201768013 679498765 278760813 638323815 463834057 307384215 358010419 156690525 358433955 304664899 956027935 493938885 522809123 398712313 203172491 387626937 839398135 855334983 924832951 152823163 706794033 351358819 962741963 897537909 169290321 138549295 6391515 387427647 256323897 804816431 802399197 522183567 795991099 472816789 562369207 625885005 583460105 348841273 161797421 200309889 73092289 771473303 484180723 912004447 354341607 191518679 244500131 170928961 142413419 740625865 724867771 637073325 560958625 475247589 181721255 390214477 628156997 791177291 23877049 678357749 993370237 520532927 457378855 191077021 239643095 700530865 495095831 168055917 742806343 91230267 399045773 244284333 177017645 866603291 755229309 806881745 62171723 753262263 155376575 556053877 75361999 796517919 200313879 856541531 736976719 199292683 195677739 580997999 109225415 211677401 501751437 172735941 948372127 46431119 102013625 231962007 277967777 365160673 975198733 551530057 639183621 219039009 446381267 833384037 286414951 60709971 667400509 147500703 574969291 610140953 248848483 210483923 44226721 829434823 473875785 806588163 348290235 652382033 135787989 748087901 579842905 104549977 969514457 390861359 35663903 602614307 698352655 16674553 199951387 960502689 158314265 463204701 79513793 187003499 686718591 611779879 719582447 12785085 201592755 622494279 48583659 457166207 453762831 785920475 170068577 439789377 216074449 789219623 278158181 31435067 987228709 192573075 653669241 833230155 712794651 78217909 722633085 845723643 123378349 361771335 629470145 523405685 274688957 839350829 620563195 99344533 370862099 886969971 921191749 49320409 644907617 726961993 684856617 285805671 130425407 217235215 100643471 228908303 805648175 751270467 766282191 603537223 142872475 544780437 646799527 53513265 758265811 448625109 869002555 265321875 917768467 922377983 245909783 44397275 772123767 373471033 496962611 268966435 661988365 937634505 242757099 569043239 996175813 95380007 490719749 267253841 710290039 98861805 326713261 219315629 431826661 537345243 716146807 827691511 878304953 835289313 900234595 50506633 724770691 565968911 32179671 663742831 359483325 929825443 332179101 429968469 130193351 943353597 118960875 39454099 125458157 68080811 344939871 925232681 312118367 506136927 7516415 371480509 975022133 414900725 350388279 252689823 26660977 718519149 927931869 547985351 917571069 182106615 27036207 502835157 77597609 327917541 515646417 505160717 662644527 793718961 558594255 984615519 425306159 611223549 451448737 331333989 973369141 366214807 276266017 49488221 613316271 507904881 763700377 391206701 735351801 92367527 30677169 621029733 876779091 645209723 367576195 675150651 646095335 310023257 821719433 380288913 230888645 433686997 505602473 861857261 261117413 929952679 989159473 301709181 4218413 480175799 291792085 845785115 455839073 109924621 669685939 621481795 398190391 799864029 388884305 728771869 987507781 554441091 345663899 32570747 962768651 365368451 719377127 350491857 528459511 190474885 118430705 465782081 951659351 190900319 348313567 715976591 727217253 213035531 525913921 5858861 18968129 144442795 448785671 570848817 333629429 52609167 888456595 727990363 500769397 892450341 119878055 422235153 235344789 91717387 375306609 955514981 436252443 228123139 515236233 503929099 341523887 258399483 361690087 374742883 611950047 223918083 245675765 414386549 925398825 64428119 605450367 904104177 711411947 815187803 401312953 24303659 880451441 629491609 903014209 527953703 113263849 245333447 234424347 690883209 976389741 845724093 502918839 751766177 375361793 901385601 117525225 653049957 828426379 483251771 93667821 766423159 692261599 267759937 715445609 931269661 951163573 833453327 91604075 177508421 415464109 40132677 224240745 960832649 647276113 134694063 327515197 562931749 255744275 506935875 776270127 341270785 772684621 662542361 420831211 512065711 522134333 876077943 588009351 638009187 806948879 965800135 545127553 923096831 463973077 419055259 215389117 721886727 374240133 7375535 743900551 433821357 595486723 362046185 901165719 474192839 540842777 667228753 225293577 964782549 67188085 585246233 79280481 964153341 886575793 971767457 129140623 988770063 819841617 822390377 360063973 979501699 400513211 158884125 701474339 742336375 333996609 130034831 982563949 466648501 567355935 111717821 560361041 707153063 725899121 266442695 348837827 24069737 600906823 466853627 46873121 720930487 834966155 4830155 632327985 510120955 422084893 974880723 323085855 810926147 248915641 225674965 178125953 497945159 706355979 144524221 435430739 894982755 516031909 515833757 638154749 314743715 541477629 188814003 335441225 692631219 899301751 758730081 67669615 380353261 797688411 768817 406185993 286084429 247613147 520263639 804364065 644424573 462916367 531122735 310456351 378772169 915047161 352838971 390858203 788057387 587220355 704048935 311875219 67819075 755160445 353270343 447983851 734890069 461364387 530307093 930534129 574005587 938407057 75686963 828396825 406858195 449031125 361849713 645908801 417239573 2198239 800981693 868089261 615183615 559741703 476645429 949738509 596444961 873949071 605590043 459447413 337595315 641142433 787124189 161597025 792815507 558908493 15472905 265109431 44272713 841784717 845052001 895173573 619281669 941785923 379215041 753741377 206557597 148630839 80845371 464825413 763420047 768772379 144127741 156178265 427105029 511481223 190698085 169509481 598662093 520178941 999674359 501165773 603917405 469485797 528540763 496270141 148070103 403322005 850597991 291667171 726600193 6717505 11814935 707411017 729927241 896242187 309035403 642320999 669081799 213320447 766858255 905278873 21255227 86062091 812601625 662834339 669639693 671481099 175101761 331711925 61313353 913233343 686827853 256823139 282465707 239675089 480134949 259064745 966993037 662418129 198684897 852762349 229515769 549791033 715368375 452258557 804184479 284936553 647202061 191017485 979940821 659500461 640257391 147465659 126707355 748032563 94709647 253353997 831406743 937015831 940122439 805274735 419548697 223609945 934458013 415295671 952174617 632656099 495908539 524044321 670914869 425282949 586604787 925102677 645404341 726319353 910867395 594760797 305590153 397262303 258888139 820217265 11017031 371138497 272574169 887639339 638718765 78633491 663300831 502790163 997569829 349813547 872268535 417991447 148243645 291223369 487926887 721683273 356003371 264924059 574972313 115109673 286351185 684957999 278497569 402296219 736874677 174950909 531359929 167032045 630187653 395236331 599005763 445175763 11782041 568492989 509279949 894408811 300953713 916096551 467598217 935642937 184462389 680630979 123176659 849033773 839381937 880434961 368238381 119843739 453397599 956558201 647249987 592831807 179969375 75084879 688866793 685861697 919177845 58420427 659589401 811575595 261969171 78629389 341455605 691122419 825058127 382278175 579696077 914499065 875562217 332123379 577715727 618376191 186707015 802595171 105620313 14552627 493684089 388211757 706764141 511974955 12358455 242740991 824361783 977949925 874008543 909935973 902890443 887261635 324853369 873801181 864603491 749287831 999382451 538279109 325938275 405190035 531807975 906297191 999570517 489371733 255692561 913543925 719763695 243340001 753059803 236614537 172400393 995012007 826948243 350440737 882468263 51779449 793571631 252815531 326033655 915060887 180148561 624883 931622217 339346853 235376959 325671351 366644249 810727089 702832871 959496853 429450507 831468593 337283809 119294999 830730985 753419263 618942317 289584815 141453993 24673379 551021427 52277685 622722659 493979913 471300479 488737901 445236829 141155335 968632523 680071933 152209407 255411929 777821239 204618615 279616735 510066535 166894919 814904533 104396729 706616571 841764653 748710905 989439341 101846349 562617791 395858603 655076871 127955831 989987451 338212509 923034557 802427651 396021131 374100585 921933801 726298329 103791805 177598605 684256267 6009425 478019209 483060853 648483539 94947881 926850829 503157617 50387729 893852037 271745809 622485437 385259715 406801139 369579781 35261813 566844425 552656231 953086973 2254247 582947889 968781119 943916733 301210947 956486317 507315521 254304423 532822561 585269271 462908825 134803663 769604613 890880309 732999387 198033131 752600469 838675953 62755593 775517783 819240803 996401245 803584643 504647967 498603753 955606967 11847961 672097519 168059785 861545313 194428673 170147359 476547467 376859109 743426517 576800943 867007775 166079479 175343517 111140679 851826017 179443569 803305415 898135091 6222163 117153369 543735333 926983277 576121561 209297881 749862901 752624789 825685451 202417989 872114911 542740463 594298077 142463767 913857519 782898029 487627441 941821425 979448985 138862757 180792531 831658403 417509305 142749909 91707059 314613787 31734425 464229351 647802025 268775543 78767587 60122985 278856951 580270073 713142955 333981075 302689477 483205389 769612145 496508483 673621289 736584263 505580313 101513729 44524565 679746913 93192689 720759035 972500337 110710333 200982191 799373835 675127299 525585387 988704621 953066413 939295355 457183641 647152307 963836683 157875317 381514661 433780845 578295027 250534769 717572241 71736049 504933083 798100953 423378955 155445755 787951077 249779709 912545763 655172019 677993941 615377687 743261973 153647523 176555039 911853639 457816773 629162947 305471189 309126553 393235773 507336047 171196857 660941563 888123635 350349931 143310641 699050825 359119231 280040423 130690895 520996675 362937509 295768437 852171975 149210257 286889811 940686357 57076217 755244743 431057049 779046699 503922669 529405533 637125299 298601861 148942163 171963315 122798597 543569495 635359104 54163989 755018267 469642303 134888309 758206129 140406439 405482049 361716441 906875299 644044419 77941965 435491581 23321323 403761333 909062839 607109587 49806193 539188581 225822779 885994239 563840009 3959017 994032641 439571655 954936939 985767613 464718867 361009945 96903735 568777857 37819623 690812559 695863287 279096067 356887133 249667941 750430751 275489077 412702391 674169477 754178563 984858929 112047011 679102589 239790825 843753789 621364537 483721347 913765623 176404163 70714097 909813113 199781953 982056277 469582517 537058019 896786879 902724017 448730065 608530419 367068753 355308215 989767161 178188417 457352129 773735029 408565323 750304263 937877441 24303389 677396555 380355763 879226091 7568907 79766761 676115023 961264061 172485825 734210423 210363221 442924965 31692267 780021429 864916453 483502575 792312923 267055561 673836739 448474841 581539855 420184893 634877023 109864577 141538599 289895431 54383059 401708529 27502833 712283269 446318045 771103259 843893473 990718333 280829411 35613911 689300365 837588763 309439221 961309673 346845631 236148725 370112715 769472503 86371165 405547529 921128131 895267221 895342203 234113977 436590307 722981433 895714391 660145879 918577887 847721799 660138067 228491669 93294345 871445767 810725113 417156495 921860453 951862187 369055485 157603535 512081557 528875083 179132987 882194109 816795373 185845739 320253111 496931123 156756833 611629169 625639833 251588971 450705043 906891695 570290231 916307723 963829191 253822561 359620875 94139167 630462447 118269733 59109561 565259551 389018785 236521349 897679115 964395497 251985181 482792689 660894711 498908349 133337419 967986119 113888917 613428813 762654903 586940995 136820777 638117805 143717787 59315089 682268449 677999961 580422101 84150465 114572301 438533177 800542703 597081039 436763817 437902487 417314835 101773975 537064665 48161067 979553053 201267175 656746407 348904975 601428875 839734895 526797897 187503563 922461315 450688967 786654487 607200333 115623125 821048689 287611543 292659687 848121335 607200727 839490673 415399513 31093003 122907467 898116733 267762117 162027991 70243587 870713265 342245821 523826633 594136609 433752883 668923443 334040827 130282673 202499407 849426053 421476649 820460707 679499381 122201719 350843581 986272463 242648645 728705849 568068547 246726647 885252735 287040095 212286711 943386053 804587021 397474021 496698547 238960073 712844295 55336497 316098051 537114237 106953891 719906577 744069011 982021699 236237897 115603643 546207931 8564321 707456127 874044873 309952123 687752205 316488445 362380099 931850873 589628765 360028317 314063253 855752197 570418771 340768353 421945237 27089687 329252313 746246773 37020545 837620557 422315711 437934891 617843195 476009201 305432255 769311745 358602517 351525869 135402361 109618327 7007039 809558749 737272697 731910587 295332443 837181439 75371309 369453663 843126957 832962103 693758961 913856159 503459807 876499481 121685765 439664317 552420875 982298843 358902419 2831397 517403819 548373851 641141419 77770347 22542757 38063905 830445127 304199753 627826245 703765339 95250503 241854113 334088773 451143137 841690231 376906627 999379645 794960437 764487301 815217437 250055987 148016249 117299981 816574157 254964375 929376385 295016591 176654357 569500221 761213633 761128563 320320417 549192931 820059995 102952973 97588805 693886379 558891283 454632853 497095675 633631013 510235739 482828587 916220135 466301511 198532169 208067033 35296851 379717995 393420189 749314707 82186675 21888347 355354557 482168109 493508003 596335679 794197435 799720301 820582119 270365359 230818635 616232443 144484199 282566313 558869965 769213797 542767929 261835921 705614153 90192681 284606359 793757749 509239661 909868709 424978917 511656391 661927059 461966373 781825199 975845609 69802681 300976599 673711269 408148895 661483653 742669013 792841127 276970837 480183367 393423907 383383475 480680417 386678517 590033831 326134777 922355839 238542641 158256949 62942665 168824533 903517249 688515973 254995359 133126129 783044371 897345847 992091167 892804423 460429631 204666837 845787925 449515959 186657287 505585361 852932721 500987011 821081421 305780357 599115091 962474073 385922213 323883823 391547641 152823887 11284547 128715261 563041747 800120035 128862729 157244923 821293169 156212983 924350587 4013351 246001297 8704733 55803851 24447327 537145363 728185669 476967631 592465261 782083077 178074705 509229575 607391235 97436569 153054853 76619929 257763001 317187881 216217547 146555733 848237843 325840699 140533885 330626483 313778551 955439993 520995925 117993169 126703159 890451381 762796409 665665143 111793295 548004589 435128183 959580181 679527325 47297601 598255683 193673153 860514667 642259967 266899771 72363833 686681067 363759769 517922341 23560423 44252149 962077099 442625581 455977689 290090059 104443639 276052201 752992199 768566423 528398697 734160725 570071565 742605931 379934741 98696409 358289591 312192573 471719731 240720959 892074097 446185073 242672427 275209917 303533717 785522767 926535557 729660147 551212575 572660489 331160565 278604771 495749303 377181367 304268119 179384829 293959599 214974811 588953261 782905875 464049403 980523999 467641891 120902757 158705725 149111573 811851789 988029335 16940985 249552563 438657509 380176821 741800801 686400603 396644687 579588407 569427915 657931929 323690261 709863929 515341623 721422813 507344939 749560897 571318411 166158207 450963117 310975931 35784791 227119297 360981215 226521723 346752467 118229453 740446249 775218691 395845085 212839091 660526624 679533619 345202685 975530607 541904769 942614107 954928483 827196893 792132397 401686575 405650403 212809931 324434223 32905935 650583809 790181097 760559549 372806077 230897377 274757839 287862831 279543271 410014035 138882303 377897993 685648547 625513165 774884067 213969913 950525103 522515825 185972171 776406223 489681711 608250885 637609969 17413255 755941551 834438391 241136501 922705221 26352167 25270623 295631203 240588373 98003443 513587709 94008491 418405671 141372119 360501305 680856867 454530651 891373827 901580575 303224467 147446959 441762057 977139819 5263261 462931987 460456681 878024055 426953431 144717975 875171079 987061837 793695673 579721079 581695281 692203677 894847397 866649625 714204571 871027389 730790113 719034627 118707173 552713901 799243683 917423853 116508687 609813267 423959297 803012017 465389453 765908031 205262843 814641999 811836973 144881961 807997055 420636407 916096307 862993519 227507291 362716667 73023551 761787737 659545673 468113107 279213155 911040727 429589737 519090725 678743823 236017789 778274247 509612477 943421733 952074639 811384913 299922829 437177831 706608625 495282915 375323825 838808581 882122035 714288061 546376811 706971793 756795787 772656647 155638055 157786635 527601883 600498901 925899127 945892695 825632167 813231135 890796313 214717633 245643811 978487749 798238703 544940289 92606753 320977553 700671235 400470579 724732707 109200695 249528713 481416925 175219537 654305099 770808283 358632171 469807223 935641171 168205953 476324019 743969295 173945013 341659425 770758129 52250425 759269061 614872975 950888139 676306361 634487227 510364361 151879375 984939777 249221815 224311281 707170291 540159271 62825923 106139985 115603857 305456617 671787729 303590749 854744945 149628339 810255035 473084849 815002817 589393039 432604737 990032911 693805843 507462967 435901707 437409637 117151077 808243209 815114925 143434945 144551199 683758093 706674589 379378787 920335117 93354481 99013695 156793517 508520545 720428303 196683739 250682667 536488893 211878499 261910949 107763597 779596325 11478935 909187505 759136945 212770307 700129785 647126021 610709915 953817649 503466367 698536327 752460915 952834281 869470155 493733641 903052687 872393937 678475043 686396487 893138537 788619255 112845173 117762271 563505317 338401487 500621145 139074395 297613583 122006839 880383247 603458605 902911127 975273333 335724925 852070061 865708379 736751413 411758901 373879839 54375327 217752205 634409835 611645609 50070733 897843963 650083071 706173533 193965175 214066273 709732219 838015031 69049177 512621073 34806793 324771093 698939991 501202363 918119045 81482433 133468541 695468161 246813293 666113259 26722557 358916581 575955431 145635377 888114225 791768279 279597763 859529999 287617695 178574505 122444153 249134833 632371951 74290715 727715367 904301351 897361913 191414353 995758997 20760045 667211187 756718041 79474739 519562593 442178115 154236327 137154325 394574477 616494837 604670489 620634367 411653217 79154491 631996403 380944723 928035003 215997361 656371557 37690661 896852823 721576729 997190403 699594795 615399137 762087773 266149065 631788481 91057641 857113749 634876191 320122867 53651945 278756857 513134543 861292141 570665539 954137835 548184335 52310919 768197951 749826041 565632639 525962561 687871757 297517525 463651361 181449283 990593227 562919515 586143587 876261593 254498165 962316173 259086363 83226621 998949111 418109591 518000519 865914447 366956321 51508427 123067211 901443347 203941549 858629287 323005043 907103035 265985595 539145933 971065463 713393755 506260823 12199687 49836083 127388087 117358449 670353225 107305709 264510771 995380449 91468463 565950287 859872351 440613353 822406267 40310387 614540147 629422515 249019673 93865683 915235405 178336079 996069661 555714901 971770229 659599543 853083201 366120519 211384089 848626635 898147945 392720989 888878099 586277207 330174623 602176439 280110303 158349833 852478999 981135573 611537575 991385469 574516525 213174187 208775225 392926515 400021605 40968329 704797451 249355669 267178855 926204205 931063359 985602291 414849033 625052095 975909785 610703495 781552965 762444745 853853835 491572593 961040447 106285891 724875053 805391293 447125315 514753415 515569979 64926041 608477377 800193119 601706269 178959649 269043287 969270515 516113635 922683349 1032649 414096093 503944519 22479647 900777983 135442709 836748451 762762893 562791951 248933637 847304193 128980125 126157365 959221625 933756433 352028077 892847313 753499557 434223145 919488777 147630959 986041383 840299847 610098655 767792069 481347077 971785493 741425739 636315307 973761451 238382817 793707597 298556711 100113391 205244579 315486925 510181731 208727309 272641017 902779039 517090225 781907373 210370347 721635195 662283149 965326809 301062695 213918977 53468827 507022855 796672903 537936315 296857511 576533527 553738119 411770909 909576611 37410891 816898321 390488955 237684395 917142097 173840051 896977691 456006911 302870079 726838179 645491491 659900431 968680851 491964611 97927591 289552749 639363121 985991575 190694815 456543697 248743781 318684497 715189739 443162147 393109735 988683719 54472277 122186345 793040851 367653497 298212495 186122971 802657711 852844943 679326515 424641235 621413733 42456277 410140351 224265683 425197647 54653125 53855393 544555655 901898535 995128701 545876005 189373379 856291603 410974663 654140297 900888959 667529377 751569421 629327595 724667875 997581511 3155307 441642837 545169975 529273311 631011487 904267193 568405999 237457585 376813839 315677169 162311079 246702953 353303499 62465467 306093089 275595421 963128459 631532995 949315401 200007755 557269163 570609819 523310899 843100885 167198775 697823161 578009369 370302477 632581853 582291073 247461981 126261283 969743089 110277435 41932175 928536761 889590901 845795353 570095965 312573393 486289937 246859829 372706725 320136923 466874387 111477901 433099369 923328937 908895089 163144973 457713877 24898939 661603533 176195461 29872189 675015157 509526379 615633073 155627803 596429349 159397437 834477871 339242515 210223999 442922201 314947721 875707633 503739617 565217407 496988721 301183397 242382737 733367063 112681087 506052429 350402619 450419245 550672821 810606381 114224117 63036411 723737853 792026029 13190459 575173215 550216039 267955555 185654005 184956897 94107887 143449609 255050605 691164337 106107249 922241411 907216729 674988453 803447739 577302749 800019673 481003323 983705725 914480967 903550575 23081629 978515279 154284321 371241481 760326297 466974133 764353769 27236861 73101479 430424595 820129871 599586313 835538405 776315073 533401891 628219985 829897755 467664627 605460065 779493475 324823223 250734027 631754543 938949683 882146771 13144917 926350803 484624671 790978347 91566465 688487109 354005227 17327913 859627303 53527965 262547655 99583961 185185033 444795425 301270085 783828981 161773777 756063035 739486823 434974173 307506191 387455997 389138573 979696279 544802109 868672677 910268807 691698385 212298429 854569363 938663049 616928227 818989015 724346453 491019827 678286029 478321083 871902877 793343877 481533749 336760965 376137029 623474931 816625259 227431477 324062547 87329613 522817639 768604597 828234993 567096529 765432519 709730261 239454835 798101543 177587667 897708623 683768657 543458137 665485179 55365827 338013491 51309279 406067285 289671613 672234209 798119061 490559135 653360043 488984911 752196287 930822467 404936169 54632601 437323021 696512719 17421239 230759681 259110289 639255675 172428095 757494259 73733067 606918949 122227345 859338497 351188383 802232405 883396775 794914537 533911643 146790713 703143521 875556493 699779507 82867625 46657931 837044215 143238853 11213095 999050195 332918107 621476631 426805205 432825301 471756821 190791061 757797767 160461841 97324967 895418261 169530545 187265007 507568319 17219539 977825653 925778627 110081579 224436087 506276503 213483717 520742891 951575307 612340361 468164117 209319457 45267847 234047073 280668607 757551639 701913413 735526623 540249777 681677635 862835469 381636457 681938119 556341309 499699981 203373841 467406783 513345481 307875287 165963145 546671687 972238805 792113003 66068535 740560621 807892081 563237933 345500445 898236201 732110041 426421737 998047211 50624607 233308785 13820119 571267323 670520025 641552323 301292179 38268491 806863557 860247941 277589283 306604673 143368511 162711439 779016691 107994605 881847621 733239781 195503319 812534149 267290821 335916981 386411279 869425131 302607755 517020239 545796673 127888485 685570645 266145327 922409335 389811169 859074497 566313467 896516135 850421751 866911065 150947705 240660271 622734825 11297935 79114401 306663381 904510873 9664957 186755723 718833351 409178267 498922273 10540157 982190871 294463779 526134249 621000929 452738883 414994705 944034593 937514569 966871603 600017135 753813703 51977329 505416241 516723945 997591737 495703871 586900981 162712023 225369025 278446009 902850971 367801401 562440849 403535127 30161319 871598901 439274689 335194547 95096841 735431067 820344789 355177999 541011219 962139875 242279475 787241429 705245317 230830123 850325037 352342749 546491011 858501947 240193279 634124317 376634523 650976131 657886151 160464573 348098753 30792473 568434319 495398149 886302805 585928635 573616457 682410857 497433879 646146003 800343245 639664515 901799995 435428207 821415391 708097817 441310543 452869445 224399909 351401749 841047895 835645367 288382769 395086987 405245363 404718539 595836285 240980917 877612853 30534191 205004139 294035701 265377037 43634749 326546499 35551705 475766749 411946737 475093815 820055573 5046439 751238643 603864671 168747647 215050713 906680981 48156605 447258145 293086795 3662539 233942075 253414689 206490165 889872951 133180587 623594453 173816897 218486557 493311683 295270837 826149499 709958511 60837927 788172393 628183383 881256899 284278623 344498361 505003187 689271897 132177115 41941915 79160021 436683799 887299063 33461543 756416871 456898957 953683445 62689185 255287427 621185523 872333561 989774453 89486243 14096423 399196955 912871223 137773231 671198129 161427279 753668257 592750321 773972417 349638775 926304663 154638879 30041131 427762271 62703653 446662487 149583475 838540983 958251131 682083361 96212669 289315351 114351607 532824421 108999897 117081857 554039837 878857339 457809725 213006559 418203541 554485279 713811467 454641409 735271733 86774649 698917897 802254241 618488567 203312917 655585189 700185823 654823169 435952101 265730039 311869895 194781849 655808587 619614655 45343561 260772151 224780043 723497573 52582205 309227891 752728143 986129141 766560613 94472211 115480241 121382697 608152681 938359039 275661355 903510113 172951773 472939597 480455971 556730529 536059449 625884985 265841511 412038555 392630239 109012771 817124651 860150181 927840789 533604505 789411853 60124351 692324625 133252173 314266131 129285519 837301225 792952345 966453417 933787749 369231262 987129859 969594277 698451001 313834011 529708341 991938629 663623081 527846193 41785089 645321771 781845501 60576665 727413219 486209127 73055781 120612851 845174401 263480943 605053877 261495755 287842467 198728479 451226097 496727183 379449405 234309563 145243325 755898523 810808425 380381937 456509863 856899119 770111085 159445465 505110251 524808819 902996659 909914859 676000357 653554811 629941711 592940305 227229851 422982207 918046073 1925271 494672321 928113055 323144089 510733873 367418025 440148325 37882167 412058109 494484437 827015749 836496263 405392001 462039147 906385363 665829 658643369 69743421 343260053 64483283 277697481 881269695 826685939 115119613 58583203 967028497 591389499 42458423 596778071 925296893 579750059 859330683 569173109 548703983 619627873 909456619 200874737 83159807 749086567 403418837 533148459 237034219 620009137 287818925 433367269 313781021 353710099 437634571 276464973 165112229 728743507 196888243 961966585 791759157 786659095 751604113 962503143 296684083 489793523 852834233 247502459 211029919 19771741 37015397 216264321 767469615 280042937 542746361 455242033 83477303 10805841 517004799 616386343 171691957 934024275 330867755 848708455 5449043 888177113 193338459 292624481 655757663 831674599 147859853 956902633 789299663 112200291 672261103 188441915 470497349 380150047 173726165 314239485 275021573 993711831 242614459 350223165 562498051 373274921 84598849 586520943 308485585 540000415 643440947 154693233 993629873 887984555 628686983 199468169 747077001 874244005 50956885 543131491 796411627 390244817 244957409 972300053 175418891 50761813 52961177 955280667 877461449 425920835 589450765 966807901 990123951 227506071 581291769 601273637 797835495 361558575 673414979 472629291 382272845 585173717 144730865 604459403 259408479 242915131 904174651 284944073 722917443 338552825 606231161 871947475 583478985 592576401 251788593 458630401 555481705 141416813 342169869 240464397 113532737 120570591 860414687 736392989 239429657 739526173 146232485 618774205 370616159 755887435 197892223 152112613 948278829 741009777 806011323 304593137 422935871 731803007 849102283 422483111 563759615 438787923 602566985 336717619 374153083 31378601 229848827 171692331 996593001 362389549 322036939 674331275 439086891 377037423 119838411 980914617 515738311 827688681 842757689 475513477 54617067 252932861 860884085 244457247 382487279 669268723 982500877 698956071 316756435 670331133 31896499 530516645 436295487 802991667 720504131 368075521 643223935 23129495 689034431 830652435 5631373 613335827 574413139 883671321 331003911 381869175 332040275 403734965 800308279 354812029 254615609 954163449 819619079 157273543 400709543 235723351 210144787 514170843 665995371 977901741 955688601 247574575 897036919 992211775 725432959 267782425 62562023 355314365 245467989 722400475 327739647 731784249 905297747 833634463 273466663 954014773 163407959 448472437 588576245 107723153 740207337 552843607 369567521 161570461 115153207 488188453 436866707 29638157 839154203 823362219 550476117 329062399 679463441 227112857 118167191 834022649 914553923 256834181 74376887 757489895 562320767 51173621 503944247 375495711 721770811 223458129 279023813 896707679 467178649 370805225 84155951 107050441 548152669 754433527 801517431 614250991 109408505 901442715 431019963 664382657 827050373 909959137 469506887 840097185 575535805 575488951 681845903 535114833 928290057 710126841 888842033 967489537 383439993 502516839 216669931 323202115 393824197 212321707 462767789 29859863 999668045 94631509 756570503 369204449 209987605 802159325 689941941 113892207 454459087 255234985 361438619 562073333 510726865 194742269 671837381 429791761 712101145 466707725 432577251 697322441 951290705 212028659 166791893 411972233 203121351 841830319 284494233 779164453 965993331 821745705 678949727 176060383 477542131 782890805 140866167 16134999 54022031 791262859 730987615 211899805 394391861 174370251 235642039 556198183 658488959 940877185 297964109 147934159 940845993 418401819 167725073 174259677 390172061 51326707 871408675 349160191 431473897 18088269 449636547 252430151 500331715 920353105 231292765 570882613 814316557 526116621 517866371 769421227 648747083 560215423 635822067 286743291 780930735 204016517 734712205 410458583 677664527 412339433 675934815 529417565 750025451 814849373 50876059 311011601 874279531 346296699 370115995 435196387 52699483 655977411 535383781 487246631 1104949 59862941 924156195 993435033 993016087 267988059 950339881 637685343 323086539 951973945 362688753 585500679 520214459 643237717 635560605 227031941 845428483 611647673 349567355 94186297 28049761 507432279 677515005 905426917 248650299 689530121 966738879 902762935 124591265 389254541 179274883 572456773 382899273 289995663 568603445 784207499 675499157 167173025 129911273 824277489 1734027 196092217 904870361 493123393 149116635 281772475 503442537 54904499 398921945 906481007 601437731 808905187 84380551 215024263 868327355 384543957 151772557 670131741 253794573 609806583 977658681 948844847 702203421 474784801 706852225 171323305 54654483 764739469 123319047 460502365 724765765 643647713 507258639 277543681 13262125 484490027 933448331 111824697 476974959 558456287 763064081 957557133 133411029 27984347 355877857 273304943 815327571 717681765 688860899 857196855 768169477 735789097 634172835 369669927 539990575 237722683 169849435 883635817 545817145 926741277 657305321 86022671 956312249 698390959 346353109 690621455 673685867 952592449 82414415 854847053 870272559 425723785 763300909 76776849 638718481 247822241 254739693 868216459 213811783 42982675 952375993 85787351 358473001 159137735 106707551 896751607 83248957 374110741 950890839 747385425 743259179 938684347 188560575 326250039 285538249 438005981 599748703 597765859 730047251 910192391 476801957 352757111 125784361 536541233 432188587 82799611 741923417 643790263 646778157 662647903 899891987 789611359 973697939 446434175 612643575 866947155 169123311 93511195 520259013 394636333 207199989 71730653 238233191 59093479 989578503 956501 292171765 223235817 88402729 324029437 211906725 128656893 285702157 304716087 539059421 451256409 942856971 150593867 813244969 615367835 660195101 980802921 831818299 85264329 411464689 444583853 486512111 721407055 593618129 306794519 264642119 792474371 572902327 406620561 438485871 862170147 393946689 320419051 657509817 367194707 36229815 253807583 595773091 920955295 111676681 130787853 29588941 909371519 684953037 986699777 505371141 906149069 571798337 295953451 227956797 797915859 616837199 987975651 290329233 746874425 531847045 934839401 598166851 99343129 577250331 720451051 558819263 608464621 835937519 849247863 465696153 776705435 932903305 5616391 973893515 28322929 979268375 416143995 867697271 766600995 597006705 239475359 109515371 505703631 106295833 273214753 476696475 862874363 771067185 806410397 476996959 359706259 21333133 74295187 280416571 370588397 627795105 672350059 328466907 522157253 912074639 947444601 138348051 586373441 858823707 812078581 848242141 383057137 200882359 855175935 322754397 744796869 235461753 473401763 223009757 850923807 762703393 97630927 636290769 515560641 418067221 339711583 999497429 874364889 28824165 144915987 50890413 473560831 594304969 589763731 771659841 652249131 571354273 525122675 212176807 608891847 387971313 501007145 613859353 818324383 372209257 416414747 360828155 569964007 994337123 659782541 693170905 748086333 784026589 326804915 904573027 67793573 655318139 556396455 649007991 670873231 533700497 179854439 978348569 980640207 848289301 360802273 723970417 290548641 96358565 416400865 995216597 358092715 770394761 205890853 346815169 707439355 222155951 575853643 465853397 300069639 775355567 660530397 117074399 672728233 864495049 580847695 286616783 760629033 595023845 673818357 120643525 454773555 344148113 79453461 52404223 86711261 807753219 722475477 154611181 540288421 40417819 98859591 595729439 501377391 197814627 59542119 437291603 114750855 904742407 552395795 283944553 193698469 887030495 159057941 695042415 73422565 996614763 912640287 417277079 621098699 123865041 383890635 824014395 122083911 809664993 590003351 222219489 623930283 647996435 680595695 730980403 984509111 503072133 891465253 455804419 350960015 495593471 901569903 674019663 36905921 871007985 280854513 883868983 818829121 464397425 625545139 377592329 451733869 829827133 878609575 517173815 63764491 255700159 635606437 397310813 348869191 394987525 808818033 331885373 10214327 184130757 500652465 921927875 368268119 396845921 873209335 793340673 756489359 76802783 223312061 83457077 61442601 181109229 488620133 824362689 260139357 1449957 895004215 593282095 653943493 9854403 330218853 885620787 289190251 221818671 200300039 18304425 459210167 436011387 313622561 694825363 490304129 944629915 228018841 173323293 283860999 907716655 959290433 303465371 666820333 945729665 126592723 568895879 887339329 654624125 76600305 384477573 69001591 906438587 24980515 392646239 562915181 82104187 21338585 176296201 215108455 262946211 312574065 470090655 790603541 251200195 705018663 700450403 37826187 691096083 956336679 589206211 701512517 747713649 122252161 579428431 533004585 210864997 95697967 111503811 346358661 613803551 746657555 97314819 390334991 55394931 133052403 306821401 529638369 686409701 864029317 681063737 24635011 477251225 957162847 858255809 135915233 79500893 629192963 570556975 155276883 913925549 718624475 597872947 948059025 293925029 736638007 517546909 779683781 409871883 428576081 960202601 482517881 423739987 743525963 513954491 941839781 640004239 603107371 172682461 574575269 937664385 873675239 755386181 16095549 606324881 830434133 670594187 695702429 580729547 778649655 502577013 473585753 640398313 906293047 74105325 277690733 787756875 600059107 675722245 956795711 932195573 338425529 528121 211569053 896081561 531337753 776352813 452385979 847659149 814388043 679044141 908695095 649800913 173482623 551375787 122001431 520436747 734819025 851888257 850666439 582454411 874867521 69250229 837410077 761637705 641734071 795262321 906986325 698998499 838544903 698585607 213092887 581140641 483423977 938483445 933164653 707458419 35983613 709996763 639122383 122410221 198025167 84230535 215274263 18924627 643139789 293464811 42411917 736041865 382420051 943191587 807576031 532179997 289980577 349823601 849583903 460760651 433557215 951598657 938481101 101050863 357877281 876972581 86872269 860913551 850170463 564845019 999305325 114733405 991139705 938534211 818821985 952586289 944995387 690861419 192906183 125690503 100172115 211526021 208001571 639826823 919333981 261162989 326531173 103524867 256618711 659335973 687939809 357842799 801350447 514640089 366462803 636976875 547983793 501653213 299181027 296453185 552774555 890813995 996893211 324339421 510240267 384368615 162501617 383029463 42453261 642987611 13270723 828431853 909438095 307949051 676313689 36342921 207377259 80413283 918544347 147962043 183189605 622578005 242705121 460838709 712771363 775853501 56892009 754024539 243753273 963652271 915447765 349571891 814827293 124886629 853428727 214442605 214358837 215470403 586939905 602645343 643038917 552394963 687287441 166121223 775507201 937935051 337074347 213271311 581617665 617907203 276330687 921944773 263508937 81120639 578723231 778739231 374351679 915979629 927041931 40578751 621348663 558095901 316432167 631219433 181568359 114017035 533529217 416843919 731878259 845528027 790263823 956194377 959617507 485884759 152870827 281625171 741133097 808894581 303751581 237771669 938405535 253586765 426700177 417698977 959013763 306205733 675722141 292692651 870433281 523502181 554517309 329904275 898700331 853892003 173074521 496162275 799217911 622986395 883416123 9016261 557899081 339026477 693350043 732799509 836431593 828686439 789052051 753249873 9757577 370597241 102031789 162452639 55375809 733806275 104108241 800344270 679808019 508646851 519634263 770119513 205257193 63677225 994143229 476401755 449077397 619319237 46543847 363701405 578054733 625822613 785700771 583955597 744054581 543065785 805911077 875238725 792696405 634488959 294626251 589411201 614371487 963425369 871233883 710697643 339941867 385930467 702977793 349709265 878786043 860687581 212879185 185063081 441455993 787754039 389996621 360821909 205994741 558358275 1223765 965551003 91808745 794277497 965594937 55809897 575924663 472238593 415724847 411726935 103233703 149316131 883474385 889792613 749500139 298014611 360866087 84620345 855836571 636318765 750665885 97522725 539871161 734767603 626379275 851991325 159120687 69449745 412355753 55498689 792734669 409237465 465082913 405346651 430089805 469559241 585000831 505559253 326115665 109949059 27023415 453531595 102389343 449881041 482010405 441112955 930582765 505866151 834679187 638340043 715767633 278263073 810696747 877682763 344441805 116132737 549006337 706329395 237567371 889041715 677812117 141100129 218940315 761217227 15617483 864791133 980288503 411131907 130062065 879078229 937699455 413351103 648251325 877151779 396334591 716176905 13994057 966093635 176214823 638300949 305219357 117090783 326104463 679322687 234126373 463004357 498220217 861801995 769863607 219228523 915501837 945671201 207308175 638652659 672374495 869599831 717451733 195857697 115198823 567490471 941988883 963596135 470894535 445166901 362121793 610256859 334802437 982536011 739570619 500193341 746298903 664619615 868147781 70174453 118183633 249332233 623471373 139145743 987189497 604583439 548306859 67075653 777643575 161636697 466309913 789697015 420370459 645470461 748612285 915258921 379846429 735469365 688518499 973054861 715089827 209031783 661576773 556112247 414421233 441233945 49565179 610449131 514432061 683620867 188077963 59943821 846335387 608572669 724778853 848268461 886850321 367879693 164418653 956771395 158678407 577439067 561634991 968111597 805911499 390253887 768254723 56084979 226425755 172236591 242428259 6049859 753904789 138925777 399782469 430288759 491016005 139321585 782546825 973168587 728032281 591261825 531283825 745143337 26615405 131981723 32260523 783164701 904686463 523930757 450519631 624851939 611363197 244164777 294563029 636237653 737778291 464881049 513699111 935088895 231254367 832486419 3252881 352790029 661029663 416886519 898905799 391627351 289621373 524475987 432200933 742514013 838992941 972489305 442569333 369177415 743425475 852215397 787041889 201305057 702359237 977465849 123496957 281940389 326428825 977825729 173894665 310929585 6315667 584154255 307974571 181181389 431695081 702035553 966829933 650539881 450899391 62651225 246910533 591512731 782476317 273499841 633099409 166471203 403627253 817101837 927719703 154100583 132547105 231929305 184668675 529334647 698495327 941064423 211761643 794750473 902296413 512952099 661868749 139740799 734416039 686871201 465822475 113738975 299976377 953675417 214835831 220705495 417808117 719561843 906777411 503226561 584557989 84318903 456676619 917157017 174532343 183510043 229787097 348694281 655954437 576321655 634178325 418480223 447233489 574062543 330337433 127525265 786068549 148478287 156208029 33905473 511291699 20194891 163104717 602392755 512155473 422360893 227465263 997093081 166148931 945164489 144967741 823159625 472281745 438204089 799358165 36400451 509127853 244210947 962452791 302769837 42227695 475802303 842976789 204884761 94211737 464452913 839345283 434549947 852213205 327351495 925387005 855547251 845583541 656951825 429728875 434173385 942139695 679722187 480533783 568646637 376431399 957063385 721096633 190029493 330692965 490297671 536944235 627026591 302739097 988712261 926364085 715315413 204640353 317064497 728222085 328652837 434539577 666693519 866033197 854416391 633559693 334870025 102728045 212898201 868866989 684555889 372769639 212463779 170327251 769575875 487909805 120644243 939188001 193767715 391711793 383453569 940639903 221699805 523761233 156050735 676420925 579656035 751090641 696748543 111044567 79467087 471575009 113872389 698397487 406891367 553638933 908047349 91014889 379622805 198666089 455587889 707420315 470134763 396577603 435820989 415251135 663263399 121106545 198150475 631500721 739971113 875352105 915749937 597240511 949168127 265564421 807312239 750372631 855672795 483390477 80327853 740234965 893420695 718905773 106319671 818117113 749709625 165647547 475842823 722816877 818497515 517847925 199614907 607846401 87449855 446988925 376727963 206138735 434466291 229598181 55152791 146353497 498421353 565434397 919861061 705135685 858030891 160048903 394804195 951822505 947827501 868189925 172868955 373062619 936185993 355759463 363849787 525317405 10977671 943015073 215905211 295087255 530193805 419225101 644097721 776146013 395241007 302849431 258944187 3906407 523512363 620874373 678336245 352180885 473607267 630879377 780318521 469258675 214525665 380634841 695106313 827606639 591441369 965201117 934488717 460195173 541030567 78851471 394312083 818942229 897041101 668467779 9377937 261734121 889834231 473718199 613878183 635007023 152609785 185987853 387541919 939109157 43858381 11256021 976551653 44709865 94258839 464776197 452320401 827851143 932738465 403526903 902447459 893786349 753700961 442839669 492212417 439900663 454890863 329426599 716188091 528814181 288273295 433347621 441048073 483841247 770688685 666182893 998902025 573386745 17798365 37676899 716121285 699282731 126849371 45113683 785276647 760291797 988439943 252313333 173149131 164320833 412141037 124708325 487808365 316559521 325419329 635033641 78358647 548568079 654955361 135001901 826633015 686030731 966234699 204036805 471868581 191303933 641414959 380117555 485285727 942591545 42624861 116556055 706599085 632656885 816010577 496080513 25070461 383139029 444979119 758093285 478750055 201981027 792993347 196855331 974558635 842331149 687154943 370848893 683964465 447458861 976340733 243683233 261670023 866597639 656619395 826799269 821032163 510298561 676237049 449886215 614757669 946564463 162668023 793611945 286288343 587295751 243100723 77162717 76936485 136400749 597389715 776571731 646676455 583353449 722465571 133393453 800572061 569002925 932780565 665534447 368071789 762980051 351678149 54511747 312947239 11054425 939296179 383322691 950030147 455044523 402069135 848952553 767009503 977502235 21314859 91974299 488654019 754488799 902343295 160471783 640052831 799535131 666267571 428853697 594289095 333754071 442221839 518882439 372261567 325273093 184317703 769180927 149148587 265093757 85963573 533634645 90944667 739756291 280091999 918049311 971396165 836100413 309137519 149155673 677404427 46988477 498221945 991377771 398342131 726036991 406138551 837732127 246065579 430025055 394495627 62362027 969762699 555075115 413836931 632479151 324709525 623920531 76715089 675771437 136631403 463942575 765644497 723423125 699998305 850150531 918857477 473143481 705067627 313616117 768352027 77276633 149968425 289429463 366431585 298457497 104359397 742571235 769570647 781605893 949887883 218886587 927777951 586797461 29197235 526619879 854722051 304609317 947491483 738605785 861800569 275506683 802285871 662616809 605772825 28657347 749849081 672109657 443870503 374743697 487713331 602989907 721493775 848671975 475682491 626396135 868147557 449879973 562874649 765014287 657525475 3701787 831942779 205472173 551455853 315680253 549880507 557665673 745255437 165629035 696090967 107271763 992475641 930133223 409110131 81336999 168059273 115508831 944632291 208482053 8626755 787336745 405951517 37602007 688964815 130893059 244889919 328186733 93453315 514306063 212635663 966033153 555605977 676735967 719088385 781040565 98599029 42875237 636871463 501376655 725684515 140632831 415878467 521649285 359222099 756936049 225455805 169656173 847844261 628879083 291927713 146637065 996621527 942770175 929708201 297241603 969457369 868725421 385649205 57220843 715755963 283844953 646738249 881954107 80514747 213115345 196342167 773574227 349058873 291186249 836332917 484737151 110169027 874971745 912540387 938597869 980975881 695472665 163039367 683327929 263427307 10041571 909894833 770944739 618079593 963099283 662179929 651153235 197586861 876019303 936090141 142166237 578725135 407684609 325684549 601716281 360077317 568579187 918978753 520195593 807573815 110483245 621540389 24449491 136509037 973877009 468631733 468653835 672787353 88039265 380927571 763299851 979259355 193779405 880484499 764325651 844097139 787988071 824336299 812106061 984639949 501948079 882696569 98563015 485963899 272663177 714331779 231210623 552732731 557891137 783922427 905557331 40445167 987646607 75061177 324826383 308913057 306235791 673440057 19552353 279315333 449043911 893422755 715220709 60078327 898470179 634458313 119492633 384198265 889989625 136550175 993545835 505446327 484048389 83292869 655916585 223001219 665343853 350788997 921677963 959083995 197644735 230681801 361068725 97804001 641681649 438027949 305085105 927898591 521725533 57917167 93743213 459091785 417261515 314753525 966691523 252368571 80976999 183652303 462383223 41705465 881372617 239835445 872118063 468739051 242689769 594957957 456065663 989349799 176243505 883949767 332809951 169599847 467284843 225960619 43991215 625228687 476283087 669688197 448010553 272504745 528433657 465388633 682310063 417572201 379363823 86133451 526198313 995876267 975448859 537897001 141145259 117311859 208313431 539200623 135338523 315049193 413540317 106493241 759700813 562091107 549483603 882953933 552693239 787188059 846845383 750486813 978257341 459855733 744963757 16878785 574190375 571271549 238062819 707573749 291444391 795954275 106737839 269540769 334478231 198903367 122195901 615819351 791815989 698174311 658306595 935535947 123541933 216304947 283628895 586911069 308651281 605303611 717004627 236583957 359952983 475481147 979442001 95159971 630693987 421422871 541101321 415681757 704503037 984382427 372275613 863879747 147014103 489468601 929786511 348761339 689075593 689127179 994299087 852795093 765957783 330845783 154660271 989541449 596585575 613263687 44525551 158094197 177008715 263914157 827642547 779844897 943626877 71274117 160808073 69482427 774330655 965619445 494874725 56999005 992246585 593957187 40968357 197744067 762770365 68005095 330445325 268427607 615908995 875302523 714948813 451288103 195893581 68121793 795714425 489695209 70286533 977115045 585129485 952392191 807257979 434849593 343720689 22973039 646789355 390563515 298260975 216366311 43534449 498786699 424660797 262425535 514211419 426245687 407023227 716250871 441389785 785436017 520523179 146457909 236587779 132691221 566562875 188872907 724841435 956078373 364913153 129913517 957039435 934722253 88637499 895789947 111798051 938772321 869168781 182056061 864169501 753175897 574082051 709915299 227584731 669404509 879976981 678035331 186858725 951402293 833428383 637243997 325049259 708555989 971841511 716248343 898619785 622657881 696961943 527868737 928875711 746168323 912643017 877448979 854939255 99137 233272055 406723179 174322625 452581793 373531655 384384465 27134615 579698915 751283527 1385331 865859291 882861801 356937067 128279083 213605203 227421885 339809427 296631413 156790453 206998421 765616959 464240507 340883095 367450057 999389027 494777353 639121531 75860445 687533903 459518363 811028681 112729469 998357697 757131085 686978517 882107517 473568225 189590245 821882583 263797719 909291065 86980565 570647793 742686383 719451585 293912627 621949481 439078225 649246163 977361855 199427189 463002157 52072505 24798945 57929899 431657697 396569115 539519909 283262859 879124273 195527443 179542725 325110467 66545157 996716569 501911713 349247457 341924981 106489495 286404157 812561759 559150775 28108633 682258507 643426205 766272817 684043667 842518047 872901093 601668461 863837155 497042109 538642795 9529633 959628623 868549577 471483461 874363685 313675843 93413011 67031667 306747007 653947797 886143251 377660643 506512729 71636865 271128295 223764067 70668805 459618989 582640727 201196203 984461311 155154729 381472081 17730911 795986157 132595557 606875759 655065865 498853781 601894723 784741869 699398679 541645039 406452997 334506165 135961061 44195093 881050713 269624659 157822385 438429769 398258005 40665859 651786665 462165493 556965751 767423647 728144859 817901489 576466083 42660787 310100287 618333235 78918181 391783275 384027321 44502115 355805109 917330335 316331027 388529225 684672623 300792271 311782651 484758553 427516889 201804321 212469771 818909485 234213085 991771239 253383623 422137611 417471189 701240085 369221013 290850397 724334715 110771787 288167113 52000247 103504629 285950673 201098649 132493777 424379089 13179671 333541417 134122003 136974085 919093299 696227203 578800645 722790379 63707363 226973845 624010011 596280395 19188883 329654073 769666033 812095569 533817933 506884915 925873481 89631891 644530633 796702505 1264911 834144527 394813545 91601837 967973719 508156455 386308147 990122043 161540955 730704811 360637653 674160689 905891455 643526097 943772841 178561497 565008205 31031861 577689515 641358181 624311417 842267355 166379141 1339373 162615775 183723827 277774213 705743987 366519169 208633103 669483425 918051043 959595149 64271279 488988025 550360329 281383505 205509303 371005527 163928481 281939279 782892341 865127207 221439821 737313315 324900509 37559169 484615573 147436191 508230605 770947237 643646955 269866161 723894795 656886393 867318951 324130167 256961027 523841679 396763661 903342133 270468299 237596443 832095043 280217427 627328735 599655421 693350747 607949671 515090725 205870013 976039503 293163563 19076589 477255819 767700993 348453763 449469927 242375997 764055353 882885755 640672053 344429137 779183785 562982981 523558489 505777905 697919465 658341691 425762113 959786475 344244347 826504673 846849091 806791863 685068489 381205989 411938589 109617779 81217315 80615703 929178611 818991335 852952259 737540213 745568339 405382017 671194827 874395935 204278833 545294425 68441923 777256289 910423273 57829681 977002523 633982897 371606597 944685163 457931313 415525289 826232687 989606427 145639489 819043593 593946619 841701109 287571447 138813121 701090539 76864347 317575907 914161121 697786271 284984913 939818879 100050599 412495079 92075657 394934315 188978035 842983927 337428313 513556531 117057491 399832943 689345985 862849735 141624697 763541071 648862569 640786431 500531009 358241035 762711965 489597917 776533037 125565555 828737111 478120777 969646695 488587461 999664437 63169303 744755783 989406377 796247167 39353599 779176261 977694761 160452133 757205667 716924675 114317757 844828861 492589193 638333519 151659329 222267525 518423847 189924379 380605177 641546343 440055251 648218243 58968725 523681521 90419151 458928585 991759399 196001115 419536195 375014745 923258159 721478275 377509443 155408583 2665873 268447215 403658695 434670795 332987035 781384403 108538545 418934861 370865153 599430401 195189447 831505237 600613601 314214395 902851519 510434839 518381249 891914729 676571693 201762287 845237389 499849881 909593751 629917281 582130587 247014529 291215973 597087253 862511271 535587265 114746599 353284577 190334681 93636387 163650133 902052799 739482299 289337619 225491157 592650193 935149381 73915049 505218411 779794791 295351505 154114725 742706955 89854959 218027559 230610029 248328079 411605511 345326453 273039121 555788983 969971315 963740493 982096969 557171499 127976731 415964079 852896115 713653631 417643029 829247743 503493271 883774763 597617307 592503049 59062629 484607887 117177873 492831749 68305459 688505589 402577665 889825167 979644671 292138383 51585057 443591597 544545907 797277815 592815945 952836553 355610333 978832045 323264639 515049405 71262005 789083161 778978027 169384131 63429145 402462863 135048163 213300355 572830415 400263365 333512675 527280647 304312395 975237471 506230667 105084613 84507167 98681319 74774183 793859483 176452493 423844811 381864749 405166543 3966077 991411557 269157429 850426895 52713083 611148025 253113605 963896685 295655875 612873133 500298247 619864167 97453103 900757 867367885 577970661 84170315 302657959 412102675 43171377 481205315 127857863 601879231 102234627 78664943 706152637 70271705 756563831 645855437 41514555 43649939 304163601 968928521 999640283 596795725 949199553 9098349 117208091 228290695 172071129 941681779 710392423 996816621 618796825 633774137 555291153 698521169 726593957 988631943 346936399 332589489 689806347 227646925 662975557 375520301 808699967 119240991 174837243 801376787 924848545 311116609 766761827 530681301 106585073 153986711 643091287 676187407 685253217 749906225 289708181 267068803 741250181 769995717 648501961 411359773 445185883 92014261 488277891 622163951 299560517 102688007 524848959 625053495 832900115 777856361 171248731 44632151 373368827 349366579 610172449 942550233 429849241 387500389 722466753 172393585 120477937 725706151 42060633 903483387 160024945 857464647 966835941 6043257 989489905 642839611 490895185 339363863 942222249 263024163 306230637 737525545 960398403 420195657 984749811 596240169 957005003 190998425 262456709 432663993 396007861 462925739 965461419 588518825 731991775 788245949 951239127 49847783 627614351 977714363 346967905 575878801 394223727 864902959 976651147 582172137 956066457 140211283 214988415 141248349 948208263 7698693 446468685 576912507 892154913 735963853 694768111 432960005 5303985 486424793 194712135 903796951 488280557 788649219 690466077 918855939 588243187 424748745 739604001 597114039 159333705 926886479 773398511 761535825 139447261 198854505 619299079 320771669 738942465 627389069 334906579 857662059 683530867 608991705 47044259 253343337 987379291 997835283 342551217 549860427 988763717 841292717 393444639 7256625 289132835 685745087 458327797 106583399 580058455 362136837 213322019 778413411 11618725 308969703 575305093 242696381 742251063 906138743 456509915 850765371 308576167 983806313 339461839 312748997 630815215 381240607 884344561 965796211 570800501 633780125 266908603 602447483 337090567 826109589 51374221 537716291 166516697 77221981 673455027 652252503 377105033 968822005 623298395 60402281 969279517 906296067 180353185 140345683 636078081 865823959 276180101 370563611 115635211 967936873 133144817 717857771 353938807 931802967 899741109 457493013 500706285 651806185 688054665 122293527 870634615 272739341 668583187 320314769 152322701 157056349 767290327 852354385 36251403 793678103 661617995 609515081 929483573 682337567 439745987 383994771 4370361 33541385 542334341 862728821 26548143 856678667 854042553 145708889 466788751 399479553 320073583 823645907 963036227 706730359 61368479 414341789 747305495 539185817 58655023 675099801 443146175 961792321 188565987 52947925 306230105 824046059 975525231 13851523 850110827 407667135 956376941 555377151 832307169 716812687 776684893 131784139 637757199 470701775 307917223 934034067 432074935 728201375 592239263 975766571 311551225 589953225 114829691 778148749 805377893 458939575 731740001 507557339 757335535 758021765 728309845 950251365 485547511 83626993 76406347 408216729 158150463 326321505 295490589 52719893 112536821 498789605 182437513 698304155 454403759 84079413 443223357 839169047 71820139 833150127 796250565 862490781 330118797 376683611 994557599 467566183 812906209 285186793 671735849 213246425 755305375 266296237 729133997 602023549 738309987 920613291 439803997 719665673 50881841 982719623 540018771 470147925 832762745 22175631 713426829 724019045 363362063 779248319 575191287 870846567 72712239 964823475 97456483 401192619 126222207 406231729 630972039 490754989 618610445 39058347 297237511 771341073 434861389 575276857 850432109 867973537 950895645 414549399 316758055 840745043 856069571 585526701 172516495 833370431 134160875 302830093 899767015 710085803 780911275 915560939 572521305 194504703 679476095 57149991 310230519 530990289 372157519 399994953 435103159 350834141 390127717 524366721 877741437 936700931 112209273 337294757 648569617 622986575 237925543 427354165 185758757 794584567 648580979 436557655 351212881 309584725 620427467 645357275 913974553 590011113 618062343 215772985 540621539 567177571 681706465 670325903 11542017 985579411 836679039 148289957 925961901 645824375 827275629 706868457 846533897 294249263 999274147 333038453 860600349 287024649 650079613 606141445 759907035 799684983 73986241 264515075 62194459 292532243 801857691 174856317 269202079 297142435 756955041 15562537 397279249 339219729 772489679 197337449 221248515 241684849 98639243 981164353 54173675 607452411 429542563 759127141 417852715 411879703 352528205 185633575 217665551 306825293 898213667 736741257 791693511 542575953 114918957 932290609 212574315 612846077 947013593 234878321 276112893 260743767 934844409 637453373 627314023 920322953 67931597 519361845 560856185 704972007 956891895 766765473 40231405 663705323 519206025 237931121 546949733 833344055 559791605 836726587 494614377 117843099 593870361 486198079 998818409 315793925 252439097 271146595 195753409 892467091 788012293 257826359 927009201 818605703 473556879 610207987 768758115 810479437 306998361 380995701 938950119 319848569 274712131 167018821 410693431 827004357 957164957 869721489 609630005 421304083 111316251 580251699 875060903 84215667 860691675 486044583 199470147 208312339 15135075 670525719 834846623 6275921 700031647 781198671 566952509 868002223 431062245 225632715 515197575 36759771 948928499 535287205 321864909 591456933 230918635 150616233 533050439 544195081 278762591 389359683 820581403 490924587 846254911 687370379 722606669 181419861 705710061 755112769 299635411 43449341 469211691 268958413 253455491 595290043 96836393 930786107 176794143 635026515 71494777 276490053 614143311 485887667 454414107 30360905 431165351 479011819 641523827 757288529 802553759 798172727 49529679 364719367 173236119 884452347 321759971 934087 753978075 667764931 1662413 711392399 504580249 950124609 916448019 855409157 504545005 567459663 330998561 106415737 571852757 107401971 46851275 111972835 958209087 57482069 540906579 683174881 809016057 406629579 862280793 890078907 359076795 677699793 517752045 535010399 750533675 751096071 439391877 641764199 660505805 523914811 907370235 117612047 110340629 380332895 987157655 21019969 779866461 84194957 819176199 162649481 309256165 473318411 186699357 867909667 214122453 238878531 766296601 967243241 921476929 494428615 251926045 570134119 792462623 214458453 544198075 545879753 850676819 223590349 988061861 401269991 370753191 776693309 220955129 501037633 183395785 232058839 916030779 467509501 35821651 577906679 803403099 628110061 492503753 22435359 342112685 380646533 763272337 799216891 943888109 494193125 580598527 853781853 131078721 288786389 829259337 979094339 741841463 847544005 880916627 738921165 156848579 8424395 984419559 98274633 68691781 548282789 39734835 624503851 484463997 452377533 85394001 589677577 753878175 334521633 699896581 587730861 522179899 217182089 190902005 782127869 164495183 834322515 988703411 765077517 829392707 983946631 357754811 734499867 406826721 800791763 932537707 644361865 688076385 663087249 312479245 219479521 930385759 467867837 850102227 820043479 318377951 325374977 674129365 415901511 141418319 514293417 482701079 645687605 477617543 310651313 187492735 929573321 473512897 506751411 679888095 463490137 812274595 458463739 26108401 791385951 158635579 162925429 194049879 436858239 351855357 350295481 12042393 968269955 596699335 82531335 664697129 113046113 560299743 763713093 362071903 418397745 512410097 652844037 147735935 286586167 71375121 139316603 846037167 907741665 710132417 729451655 774299649 637315775 587330529 990754225 177007471 55680397 799637185 16019753 647028443 620348975 248902679 676972485 575723277 875852207 592544253 922428931 97984695 790994243 924933885 499565837 997759857 419765571 727680255 54377393 659575997 164948021 729693275 120692071 216622341 488641473 946415823 830626637 571062425 303233983 424031359 40597289 894141107 569106725 436735223 881962095 578721909 35528985 323359279 736101681 358047207 91654631 120231811 279168307 66846971 729842177 733995705 134050519 432342665 890868993 279694075 313380401 42312531 531318957 151358947 373556725 839924483 114647021 597645931 328353413 800429353 676431833 846194169 130011877 429149759 168492711 39306587 279809479 548139685 746408639 636372423 309199489 373786535 881864103 737162711 866967059 214184565 528981271 530703507 885818403 673889575 91006953 980655207 892449283 570080191 112184095 540617769 340149671 553076517 142469349 79546903 500743343 528245295 443880845 535416533 320093539 286375567 148978837 212273263 193654707 568160237 589110173 60906845 784715829 534362831 62923123 421606777 607327527 824811429 905640201 693383437 74535795 418624971 271348347 890726849 632951207 701512321 812139019 336630191 107991803 786941425 737314085 648386641 417382475 778112553 843568989 571386253 150018339 901096487 799809901 374988977 286195377 803145931 190094393 672819057 320455881 466383835 681173451 450462955 808713965 850154253 407734359 992722085 558825285 87745269 176965945 574977931 242472349 829189145 410922995 665416947 273440369 105632225 856530225 508314009 249169883 254747037 710593991 775507107 47602343 413627269 577024943 480084129 18912065 379262399 65727757 235673219 829145281 717919567 136591147 283044523 654753767 176973099 51400061 312937947 891021849 988640039 501555873 420581441 494830183 452089097 960078677 919572085 732590217 617377143 472492935 893707887 877642205 875765509 664849227 271783065 333695595 906474795 223158235 826588863 56669667 51967305 637496475 483361557 502715547 266389929 200193047 732300089 431229073 958459519 892251391 939673903 544231535 979920095 865814323 606324839 199002243 918124495 307028657 171044533 923880389 474875701 808424105 104211797 788721363 488129253 527131243 919934957 654717171 310993813 47495795 288259467 754546457 618314731 233044837 995671973 707491031 266573675 20280077 555137813 343890287 484054921 462844251 311294755 636821193 275025567 984721263 749420667 429264497 464925419 751170185 388987443 800989859 232824217 720056083 27274441 217746745 236899771 486624675 717503777 579109055 452622663 965323253 423175047 855009119 573280801 53187561 467970739 589814775 827856147 258222733 96089281 338394879 412019915 133937939 157036597 521340837 936071907 136435669 572518143 251873459 872884445 401020249 923955057 65168291 982508325 711531849 563048779 935656339 61762055 128032631 230842033 35896395 388692671 199410913 797580081 654167355 892082287 50318503 367737023 848605815 40636193 327025943 695639225 274846659 816109249 351889059 799075045 916953475 304781871 138546919 553526383 607516615 475814439 588063653 406064877 526221637 305288277 7306697 799244635 235237983 497821259 97730663 589276961 803574811 680847487 958285239 101506313 88813351 845283157 626062881 115641931 121951963 115437589 984494381 765043073 168963127 710714865 422028943 748941749 158820067 822043905 865171747 580575567 597803053 682325831 64229867 198181159 295678987 138669 247473939 363725179 423849501 390271747 812097263 843799279 199955117 556883203 747849465 511779217 803260325 453275471 51418837 181387221 62165921 508732015 861007693 975623577 687189215 428040405 392344405 689018145 900262983 185233369 326872329 391844893 526494821 920207037 575409325 154259105 759688307 315531691 801025961 998261801 812682575 766609075 93541779 923837083 927776385 991248079 360304421 441876293 464452919 371026657 751331651 414527453 438842187 161466545 96987639 681276285 187794489 420754927 558457207 892095405 374201387 315739449 886141723 243461465 456244975 394910475 79131239 33364439 921039101 236785359 330399753 725236197 787367025 309939673 87055569 485575847 246031383 836756577 216782523 321911465 780603995 760425609 77661163 170434787 455272535 805993817 37604781 239433649 194898631 421021633 949289841 191705047 73339155 912176029 795589079 115232133 29908557 465086637 219551133 236929357 599241769 960193435 92687539 547037487 228388361 191141623 508150057 925971857 717050865 174449211 353255995 368694331 837393299 998173383 232779599 270219625 402273605 124146407 149530859 693892787 109956359 982829257 8901575 628862497 240558463 83158409 705998781 920275231 468359421 319729703 473713357 723215747 776450169 417482381 207708711 615776905 422911121 913963147 589533981 824019417 545647757 996964571 364268583 907447421 53339483 936219165 412553197 718755309 733243029 103256027 188088373 563084547 757198199 789876617 905297655 125036807 422578155 270528381 202390349 312737447 891357567 374799863 545198201 105547509 237732459 291674149 938132199 681400433 371604619 596412693 538159401 113545215 706140779 297189567 580763389 328647149 178235959 77843209 418403397 942996719 208505543 435587255 162204683 346044707 153242269 579617917 918804355 220159757 487017179 775451637 135220999 74282141 764595285 151326367 34041631 164508199 32710783 640071907 346525553 470511463 993927289 324451605 751259089 383770245 874445835 371692141 352464701 582697739 688714405 643160587 882516183 319859951 152363613 314548217 522649833 460426127 183315187 359881769 232358887 622078643 547841741 139022709 93180781 472576899 439597563 9792667 366977341 187532695 239349045 733266249 674893381 267038189 473229017 164024075 815125397 695378407 851573231 861169759 245906793 926776919 354639655 50715555 130300451 235909743 433524693 951616033 405388627 805709515 802017533 893612299 812177575 477260405 892937793 339637371 294203645 489000919 294369525 169832047 197996377 552520133 156232463 274968021 243973091 919267455 22731307 6155641 889853681 947355817 37451925 530224921 384942589 186301009 767227961 644335187 812650155 664328173 785416623 665121201 53027271 293275479 246139705 705492901 475556417 379398871 536882105 391743367 472227895 676688921 579695553 174365339 921611245 835104051 772007051 671280903 221750477 150264737 490951921 848343261 428835945 842802507 594104445 191209239 590645629 735866747 363709023 306391191 200443629 904027625 934583405 607168293 833994437 89928111 579215399 366617203 520254775 318657111 460938675 434758939 713980317 18224329 981015265 178656667 448216957 822531677 662960169 202332511 861405567 15911889 875513257 18705847 763574395 69877321 170755625 513237727 844448359 808030803 786738199 840865523 247072107 468156131 602200717 430304513 795655373 527906391 113445447 419772409 684729349 454053237 26011823 782827443 237282733 342604393 896763603 914894835 702292103 1760711 329017961 50187615 92971645 534126993 240990931 267229321 232002471 384214055 714181653 824290539 172508989 845153113 316998625 691166183 512037537 41356125 953046159 146107845 257477217 396609485 431481371 615908533 669063983 658662577 770676525 341573587 369428711 553834869 365123095 472654879 505326475 174436337 62087117 200231811 938137671 864504157 782605551 771771343 243891821 179730787 445103301 922352575 441825403 377910031 134084671 29731823 604307731 200451027 334917875 232047085 946814463 744154257 742071841 640238889 120191795 13605517 495406511 148376571 372804555 968329331 548459309 139962533 362345225 882610519 884037331 301265999 533060953 456939961 622328959 17536525 310644559 214320253 431426231 626230743 874587813 757076977 931098543 436683663 604583231 839896267 699253305 289112573 396254759 610179365 289936089 805201873 436360849 904020359 630338227 778850471 804092635 683321821 86088853 15937023 259596163 754358909 70367739 923615811 853818935 669690147 113935359 254085059 108574923 186684407 939435629 677071801 293521977 573774467 370465969 480835909 249217445 672545471 899469027 768736883 551847259 994334215 401648323 848864049 782482379 962280479 270409913 60074075 120859283 192664117 949616337 463765681 467024247 821046241 432864709 251407323 87797087 280747037 909354995 395008877 169164129 483113039 241132645 419959775 39394745 516892995 922703813 557128593 894216391 796694067 13050735 531896783 384343575 421264311 215198305 299156935 703564127 64551125 61644865 473171349 891015031 117989373 756538463 60222265 177177957 860817923 61414067 71316379 771331411 813322531 311927003 343272847 904065427 987527173 533388063 403822285 430252449 128976563 712100205 667708149 626856227 825056675 858926173 213282961 721597151 359216821 806328881 499463699 349166541 161302059 446285771 897554645 157155847 752206771 493913535 960037911 217305549 86766949 337298755 171383297 158083727 819154617 344878387 681782951 582794719 313638297 296049435 194695423 363489909 199355217 1768999 298524143 970247993 242702741 339756079 792452411 880005169 164077953 8474803 924654231 158251413 608614559 260754905 25555613 478204607 991622617 904268147 123817419 949471025 151775363 13661173 844381581 839939479 172976989 913544575 710404405 779851461 37107597 720576217 534551291 455401651 122013597 614201459 502908671 185100169 796356227 178340195 508768843 384203407 538029725 218525799 655901137 344847673 234915505 490269929 794244457 632402467 319626475 427412471 144927959 482206735 705013729 198674761 942844609 83482345 55101329 313152573 544469947 621769413 888541277 679169755 673969467 879472349 148018199 293691089 945991845 534979219 531756785 211706489 900747329 541268599 723984519 307143631 17289281 588925239 463176419 444688253 241139645 149468849 878630253 17500623 937457081 19858663 496198655 439018945 34746395 859719429 658964945 763717613 531737269 341804127 24813709 841871775 242641475 320033647 303194431 105797059 368220513 217170649 461357403 355588081 560439197 608755305 464685505 153390441 790309479 865848847 99249585 935238673 196349465 325129449 502843357 662730107 379332337 223982139 593442137 639785947 87626779 114278509 860401825 913926417 72499367 931911189 671292061 656857509 911654543 98877677 711969175 102267847 171506613 938588889 536295493 490572363 485200609 938631909 176940231 826180533 59576005 296032833 681250719 710688041 766492921 930132813 161113277 265666935 54506239 933588615 448345203 348913175 303697729 152971679 855549569 88598055 434556943 283468389 823425801 208099181 713225381 397386709 213436317 399930205 811330591 826437397 149284399 235545609 410848907 567433323 708876317 849548595 549949913 833689679 210655531 92340035 689078497 766511193 471181449 440455751 354343013 78199375 921927627 758430453 944673807 795388187 832245741 453917103 945117551 860342223 971199061 123356537 423698687 335832233 466166225 544001285 113529633 563039753 588065173 812753833 62240539 758211965 996543041 891808357 60065827 796797623 620061399 362000095 547064911 517302417 798735813 133709929 548528545 163996177 39072225 437234423 8097539 628790625 945697641 580331049 5838149 100819669 386754815 144404551 471090209 704098789 432603829 648467777 174995255 557709369 89956091 653428651 878066451 860050585 390900659 393571785 768441891 276563961 514559775 625045119 828891587 51526261 475193071 83071581 420039475 249252431 958102325 421826715 630054045 90292467 601788785 251057685 42477585 958119923 192635271 502328919 312060039 490212365 547142853 910028429 623221989 332865059 624029407 430666897 32471791 263091263 463277813 604595679 439822939 287453333 559044743 859738273 446425535 115125377 55532167 125677731 281826203 632328581 1849417 671577697 741295453 654476879 291156107 446211061 181289043 724442029 997981295 660710443 967666871 453170591 16754821 686095727 514879657 402439751 275273155 87172313 336707891 425866991 182617731 822823721 360388937 574665997 181308815 270817221 816080063 444022073 754222351 868490173 504215387 703586359 367795611 797600969 932473285 32178677 82491697 38604359 690078347 251789443 174993461 970205759 577197867 449626397 472318579 480293985 864722179 550429479 466959395 146533123 932026975 49363755 340996321 382144035 172309357 366151135 407693491 396935787 474403143 467109659 577414405 545757737 791915249 364024037 120864683 938358357 758324305 10415205 579249639 936656779 942032187 584098033 807555417 998653719 209308263 198637827 667264273 530829799 246798965 499306817 374932099 701799823 22628079 986860401 632339599 299371345 291319623 860397963 716815479 295546133 438481367 108659879 714566889 401910375 989816029 700334091 282616571 238137219 563739013 889164321 649169195 525012035 509088481 848448379 707372635 579771185 182642409 555012053 38524637 705611901 321238397 937285397 341007713 416113405 737257831 576771649 706152969 523214129 600570201 117379729 954783065 90531903 63774955 349721695 152118075 984962297 201214369 170329645 642043913 94444243 56420321 862140837 932639613 394367213 173966333 959496351 561778621 251713295 256912689 797712401 707677783 590177959 46482075 669101347 335464767 10839503 532544069 762483229 207074771 951270981 556666401 425489779 279300569 376123503 375282951 922962111 487228029 411027035 333291449 137296841 557330773 324058821 685497313 405372789 934087005 231320585 344110865 147934429 399990269 533840175 794739647 891151929 569455615 542482661 64475727 879499243 801598105 909470851 664732169 814172033 296797803 819703049 544867359 904162479 995318903 495171103 861226153 203677259 436896557 79836433 835398057 159975263 616906079 81701851 131956233 374442001 996756813 39606295 484951705 686010551 250395547 238747663 282343189 623857353 73853525 91473843 275654425 217736175 447820787 91525017 102500147 760177905 866579537 778357249 536783827 960300229 458201525 783391697 997019217 883544963 465810891 116999579 223444463 302739311 189030567 876346001 68080855 685634037 416076235 290264473 121657113 215919273 839130391 27431989 350677425 361168453 113681371 893351829 32213883 648876973 882223051 347469715 28821061 709921517 678337031 1153451 562181567 230431797 709304849 716861959 511396481 130995939 215010519 229339765 179981 445779579 703798191 698992493 498140365 392977829 366234967 52497675 113611537 795007799 945754865 248877595 667023379 940768043 759358735 947263753 992380915 198760871 835827875 194997999 295510973 181609457 754901003 632109193 548673631 628311937 110671371 186391359 984811957 516250863 656404691 518942243 288036735 727838977 693241589 300190953 188217447 877989791 310021233 302621937 736622845 706535135 799331243 599775813 456567483 189159933 203705457 572651153 16323841 836310105 734772471 882669101 460799003 307660417 813684445 165974295 413584441 516037927 719400483 604963835 188755057 22835749 515412027 86319395 300179913 954922881 854300409 356092809 115350057 767932517 346631067 76898763 816694625 630520355 538654147 652576049 621177899 874438457 456685699 586667689 598307111 906959943 344792395 3684813 878999009 312153371 55838973 591756761 422161351 370822567 72084699 853385911 335575349 360708869 473679765 806181877 943225451 201816187 855717949 647442377 917560465 966777971 652517715 348445205 662490299 577131393 767109563 341360479 844892385 3733341 952435649 498785237 631821539 145747439 784481821 272346703 965263243 626762815 680376555 65931085 931750797 497843585 520016561 316313079 954393213 957575185 91279707 370795289 447071201 402787953 883377471 665821743 176065567 709033549 458299417 131864147 708586891 318742905 189761551 714953551 240251741 446366959 642909871 829804179 244891829 560858065 968820207 439444021 144548765 106997357 882433833 35763189 497838087 727142711 942209573 37005881 212339917 993615303 270637071 52813585 560561839 462589921 7007359 660974389 100640085 155651697 961164397 630401795 938457683 540583563 871737667 102222211 823801887 390967401 923708875 336585571 383212317 117102191 900830525 913829885 479122069 478634535 979303989 260206671 759816121 465125189 673552313 986565117 572322467 21011111 566816307 292143195 358176595 536511819 754756221 617951583 295082161 25740127 898625745 277313189 618104207 833489719 904554453 571724409 73823657 997864527 938608023 770365639 264627869 316962887 758380171 90887207 664839925 403329003 985697935 935353049 56506659 891015217 564629993 806497221 102213247 780528945 254322245 478090103 566474317 211907887 31556025 615972649 182254259 181308313 293107651 117115835 397577155 506789887 603012677 818611377 264242297 227104541 517435537 81286973 624506801 348364761 64096855 994305845 150059835 646649401 161892025 745454105 869962945 729957493 640518457 346422287 931657443 30153189 265597127 234612455 683205149 768051215 211329205 862810905 917517275 662130589 46788547 235045059 246453101 678699873 403844373 37354157 103697679 411280217 886766905 308380485 158171357 312008613 391342883 883833765 572112357 833037203 850198833 737087625 685012247 949916309 753552935 990548827 223499851 350506309 527181877 112976681 69659461 147665001 366888431 654751657 656765099 106573803 853118801 357340733 474014991 598688733 9268419 284988649 809131499 282728317 270040079 531924831 26592929 210359339 554332011 276993527 615001977 771737205 10177143 501847213 310428835 102736141 77315893 972098089 540214075 916242895 159422739 298238653 773305923 127285949 332017639 962636125 286976927 199538435 514153199 12229801 846723367 40372725 509808591 673529321 603264911 535196685 29403539 904133645 660686201 975797741 46518195 595997355 716126833 975534947 435929355 927878403 347724775 641988707 703053535 290951419 324810803 168914947 362515935 350988835 198911895 807314829 260984095 259264689 175732541 302394215 130466587 970544775 394150965 73110567 55406265 865769003 400095865 84250503 972370503 163098061 85009897 8604521 669129337 482037313 55647057 983674589 672138095 984553483 364354399 104365329 162902441 229032013 296505775 98734691 125695771 763203035 19785153 843870037 771072533 136454187 931890687 119954325 240742485 25879641 800951993 382594803 76767235 647631921 622063913 566561899 556931753 520994079 871804015 475359521 317243967 919430459 472312471 12263775 412470815 305301573 921426319 466687897 245339155 326079139 902389299 149761389 203657539 831655015 921196867 379916953 430681929 963735109 415426663 991760909 309049629 553587357 671063859 755011289 240010281 941605495 555935263 108910393 937000249 609178755 287833995 56920977 621262721 971137559 680901827 86159213 542145951 578168371 187099381 228772477 718476953 666071677 614565437 337745313 896273627 912155717 140721819 283146711 374302523 83293059 486947575 948923727 185005045 514219477 78457381 787495001 966262191 879537025 158804445 162222707 916239481 97924731 604266431 856960317 393447619 813417301 959979605 239254917 659854447 823134803 345121299 519155771 927369663 182614615 778949197 919093119 493208673 73932789 711217737 540510609 899066475 568969313 866899501 453747677 473558875 770276989 64547341 180369909 55806741 348760527 213021921 286523543 65810661 287803269 615302025 420188835 317595267 989864311 450675663 317642791 688284939 249094437 66632037 207197525 685127171 796506805 164577509 836549511 5433941 853426169 560974029 475897923 759150427 943084901 367450763 998304307 181051855 180028185 25023851 800430635 227880663 942263773 305152427 125680677 177757441 843010593 79718761 190775875 315123011 208067323 661560239 449261011 775984631 82830121 128697711 11819591 540606949 690114069 311962755 488465979 588754233 889353933 427966121 653264497 304059017 993568009 790862989 764493525 378461137 276123175 979192001 39459707 845126009 645520431 329477819 793453469 730441035 652111055 526940639 698394271 947306367 421577825 207615093 706349323 519794609 617023713 78033583 30586261 501710821 954418425 80278439 245897753 586858891 575317237 588215387 55146651 402125941 271744977 960416951 200639555 6238691 296146983 618153099 751866983 294605177 576661827 496194195 417084289 404302405 328154641 429220717 781304373 308035003 227665961 147289763 895671885 844735161 967817419 648580519 449541053 788457093 893517277 749566161 449056163 583059915 205234927 72542307 684178237 137718689 709397561 289171335 112706297 516468867 942574491 502729037 319745899 740604759 832977305 86199217 664939599 397554285 533712485 18872975 469013381 958745205 919163091 981794997 822070297 136950161 741996903 985036499 572730689 942241859 323984709 256384641 406773589 893459577 767541053 972810563 615075035 236070537 334699719 251967357 390636411 689757233 134925567 459331463 961414411 504412565 352828337 268256917 217798791 529752643 109205579 509544393 414467343 211040303 382661345 118688559 76561137 923522229 936145205 279466167 561280669 174870943 756741039 533125433 22054323 330365463 297952861 107909495 943839731 840938417 122483701 181371163 70327879 256299887 48117977 822187957 108007879 570974897 49584653 754368959 68424361 89296455 966786627 703451547 670031187 989320549 239847121 62200975 900986705 426645673 213961399 185864657 903998037 516985113 846157211 326684023 332385083 444173603 115634383 374300035 528209669 899383705 588434503 433279711 909342687 392197817 364178851 517674587 410408475 905408811 174869291 416869297 792780599 856546041 880905935 412722817 346864339 595771547 314546979 400478551 246359997 761960941 493877867 297986209 724405991 741076275 464357771 379881915 594440301 496778781 324820243 847050725 340902033 66846909 548090425 411821385 667916479 200708243 802003423 944678391 895917707 750551427 633601931 623220969 487740079 170355931 830535275 276630271 752764429 311784527 256429145 532504069 307015859 932919037 17270993 912483241 623135445 926890603 658919421 564686983 623435211 903527813 242898857 561537311 46142745 94053793 964096593 72724697 106783083 330301307 809257999 831746313 475629461 665074235 584352687 514460647 984175505 662870123 470046619 213057939 500772227 894471937 397026545 864447769 29072565 989952093 666718313 115983207 715599515 705019201 406599537 415574105 50787793 826690525 189472019 67958701 355036955 803505347 572650761 720147985 366712929 974430707 798677681 984892945 141153721 937636817 766435859 448449323 824717405 195274793 82458847 85990589 746431409 294692147 822667627 9918227 84774465 294197899 123700149 48671323 282465469 63660599 12113511 147028401 209991939 647539105 875274191 939425811 402027799 133483171 101658341 780295535 946136609 459464311 115354693 575903121 961620857 797957829 770651451 768835383 54730133 22859927 438406323 776155391 307556635 77362531 490821703 683814515 562060759 596217351 806030131 833473797 367137721 479506889 891102049 570745103 336152545 690599255 212320349 646164687 710402445 586095043 167425633 47476595 681781037 513814923 38939981 391470599 190914385 521206679 355215781 859328137 193157047 778973745 60922267 819271895 420012607 728180753 144248837 453347771 725549559 140938067 6243171 997534183 258411025 547649659 220192987 96295155 933339367 454370169 972185407 886748771 267139327 80247967 411474435 118184093 525335555 757342125 252262471 568955379 893773765 155819207 667413971 661376417 490801475 182704507 655028245 156119237 689663389 641896893 885612327 12719977 638941985 895227629 609105607 781335935 547107905 40163531 717843289 928497631 930707609 305449609 105633521 519541579 919567851 471996347 580117061 395794287 264653091 401636703 794441651 627376599 705339219 930388183 607732289 98456319 461867705 162652915 50168483 842201417 246166455 132561129 993099819 322235389 117038551 923971925 600904667 120874573 397849293 925876539 544798043 166614097 882033013 540547849 412060663 145213451 290547409 864894871 68323755 946761317 790934797 856026909 816942609 781941297 703401085 592501829 663420787 274949925 213657243 390769947 301074369 915306213 254730507 589614611 884012945 734123511 23318167 406765835 504310051 816074961 295042611 712489545 498897757 473276617 21529083 300533111 677129425 888441123 163963955 331304111 720899761 354686467 628011587 319409003 900326883 695752065 870583745 932238739 343153641 879344785 7348583 862271089 950773235 536324117 202464281 748459451 130458587 742673369 137601505 53155471 530050333 44771213 437282037 200886387 59255267 471930313 273237165 380273749 773365243 148243215 992856205 243831687 945199069 864835785 571317571 777005255 386417061 755171911 637869983 73691965 187448351 282809283 576530333 204415861 220943799 969511773 388158817 655517281 684148103 968463905 970374711 712276067 92227659 649502975 812061583 581106751 744981867 478138831 515951623 555761695 799916537 92244051 760367715 334400669 63072169 770904371 597110925 321947059 528116187 40564995 942744727 658926535 925815449 623592251 247789501 37388967 135106959 978495293 128183141 931886727 469972757 298362703 90494485 605212421 317607209 141126567 519647365 277034535 309994613 935303515 134342797 322539353 378970441 86434669 551137843 577348721 624537241 966586821 660228257 531084971 519960837 710115383 355741481 796602799 548667861 405154683 552705609 286979719 507136503 229536817 156775585 274996907 382732037 710975461 881384959 965650165 461515835 66951685 807739477 268667055 47515523 775067373 194391231 662127233 258917995 108983517 271548543 38501253 457229097 625802493 453562369 417444915 649178527 612954721 178637271 248059253 480420947 900256513 105305023 379769751 828228467 587234493 433037209 734315341 150069207 796584031 976309363 581998261 128808447 942937243 425470335 779797077 200012051 925336837 230732057 230567449 589681631 278526243 549840323 437696085 452513247 230608731 37997865 236304585 444619821 182462465 199210271 764913051 73517715 558943309 834115743 388880981 82455169 387008863 521022157 703519981 488867853 930283841 626477043 708287683 389042423 213887975 559537797 320996761 910870437 760176677 904457247 376135837 873568295 151371969 579875971 27982693 13837109 553037665 69193887 116187887 617820461 79519641 501111681 587566751 272047383 123422687 539934569 669354817 423739297 331900567 33980089 501718541 928136229 315579147 165553917 687634335 736234399 764421737 356022245 715062523 903696313 236042955 323155023 877768849 345150913 288069685 216188733 897824563 283035567 405498765 867711197 25496867 905534751 654655397 447581567 889488129 435382877 495205433 609362591 33138909 353271637 873510631 8421345 462023979 936165023 726366777 57195023 559751625 215197819 207003809 38514207 889601789 326421457 593849719 414288937 311350899 688912685 138423807 331478131 350742081 977659337 568388703 597593189 935313891 105075845 91744425 161708439 946991937 151542501 940360153 311362751 64779173 804425243 129886413 986495683 799322311 192641021 796677967 551474607 628061123 951033353 517318417 247936947 84472349 948236395 243917483 505559599 688725187 439329517 721652383 11074211 688108301 628443655 842105431 495273913 884562357 961150941 231129893 530346057 484990945 510056751 86547263 730715721 565766685 682036851 867559625 608203231 258656609 666715837 618056907 780620375 124444681 6106315 899299893 121510179 964943579 254981639 488240869 222828255 264172547 310424445 369810071 368700491 527301655 798350569 955344375 188864343 721580307 244135 702157717 603919893 423774557 277193661 108959979 564133821 660234435 856942813 826485083 987234231 853101947 118077791 667438893 735130763 607649055 777869631 450630291 823604973 526636983 736458533 426525349 545934009 664828081 873360737 867100773 573119473 946365407 675876075 807257533 745065921 711014017 756101731 417574525 519890811 48790585 507475725 226914655 594562461 960906265 772425179 14502659 411633865 563714451 794194019 272861429 911167177 239948165 396686819 868989605 853665681 469009715 80349255 505498219 146808893 684222285 317149977 75808905 592480271 849474789 406796945 885231145 511226739 415209597 35268753 213768795 264425213 232879349 979227551 697872153 57914983 73695901 893114859 121766979 389142421 66243113 44974153 373523621 426489233 490171831 265247549 907558125 886826895 292214733 241381865 469247159 799008235 964355671 866810145 842403203 52258089 603889579 317463641 435629499 381288177 221540743 172700339 648554927 344574233 738610189 836218869 787358361 266229915 981801679 640162701 433495449 327659163 599784893 86289811 734212795 485852515 45491769 214143943 19776493 882652521 239430661 613274767 315584011 71664197 699748945 623639549 635518421 387541949 946266799 455655109 584211701 746294969 381693983 267172167 868598009 759051855 511930885 412189323 151962719 294092985 774476591 736475969 327512967 712249949 787238097 865922751 85303223 988349633 382782857 351935493 944740899 185187741 354558045 248532153 935733989 930935753 288504249 792342571 122446845 722062411 916086897 14829137 85646931 651887947 900860103 645999821 197202619 742716705 450921819 773962725 447395053 162490179 207979581 357022601 865538185 764522839 529832931 488434253 67822619 54298153 119713319 901038197 715601425 431627947 891854161 162055907 534104517 514415351 887499535 53998635 385004155 612539219 534782835 383571329 653039193 419201833 207005181 652107207 433778547 85038091 182700687 797256323 372833985 435738807 943827067 171568867 508874019 769378829 309065587 27773631 274922083 699746331 617119381 67990423 379637299 613206803 906324325 819413905 264961837 181808209 751913171 30296701 978388945 763790167 308012595 461391571 548661639 791194833 778852417 216312499 880933793 415423377 169939491 544988897 239819867 844644757 172121703 174409167 781996499 884130559 673288705 946122387 313547027 495028505 829651793 98375147 400770317 561749335 983931159 849279297 452129691 679203413 460806023 745995171 545063547 955960533 865624369 227579593 132514393 633999555 946820627 997222417 342328775 672314419 748091541 466606979 5440059 213045853 939294849 38640333 428436761 486341289 666174991 654330953 626874025 88640415 177510619 168174067 958411549 73824757 8842473 764020339 168426383 928543619 628434855 547523611 654580477 778945613 673924333 257071583 695305555 163705727 389338613 241841249 271511651 478005869 593772133 718266087 160909027 631739793 820524363 925690463 712506231 593079183 435937307 389917281 679498663 656686641 247348659 938246189 38438117 845641581 186214233 1751977 862416265 595936347 227475897 761262181 268607445 857868351 184236007 318544537 824127219 337061767 245320293 184900133 869188597 158512323 9019411 797210509 896421073 774891951 216463681 518131457 517051755 197593135 343217829 779628891 964879499 55854415 736308825 835546393 444604129 185009727 498789093 814744417 309635593 888036189 281024567 794137859 38133637 931289901 506004129 340399477 256524731 877300057 888877027 751572441 151606013 986719155 313472545 454901749 688118917 863968055 28672231 620099897 993756021 658440969 438640685 166670777 262828499 251772789 909793615 217739575 167915413 49902317 768843283 74365979 448451985 918511371 726664611 941646963 140283529 243618709 415536025 130598133 626999335 727215989 2628847 645266433 229815291 232375741 774919435 761664673 123409023 132997803 774350011 621263233 860962837 927711391 352555317 221469177 838874629 995643687 575628563 984031497 487531391 339189237 116910429 388449879 891098783 260053987 958724735 886466355 245910885 782989303 339754831 921417621 179484859 54792283 553374219 430279965 785107825 707745123 632347991 538335247 827467585 464669831 231641919 375638619 886158795 399306607 612920891 382491291 457733019 249588451 374900261 991067405 952049953 730241495 80968007 635102359 62033331 385274469 219904841 40058313 463979159 675796693 454431813 307432921 595190773 583648397 562902453 469850025 19554781 565425441 428759423 732443327 650419529 4451151 865021681 815302217 180785945 995571705 703755711 524248609 545279257 782825769 563312903 882795971 29405431 939538707 156501583 111082841 664669519 50893075 615975555 208213167 372420257 523991211 196383993 374180927 435718741 609827975 26423917 689120297 382726591 353481083 22169093 238837553 152765719 75080065 100581969 661389257 353998461 488907453 771998785 127869191 581957885 839264889 691890743 314448299 86915461 171296299 867489525 146065181 292178929 631067755 726437545 124573801 950464511 368459261 243327467 743709513 718733917 293971663 962667699 3709211 210696089 415249135 428788587 835676647 330044203 324267935 181684703 795556701 887928441 636601405 439812675 491721169 243668423 12081493 161151029 66825031 103556425 980058013 191988153 229929571 375704089 977041133 589094975 155342197 579373365 978116425 526518683 92218739 41394315 6829535 139504905 300823295 901987303 33961471 752686127 616077151 962690055 36319781 842266139 931819393 431260553 121614069 877208643 309037823 576140791 103230523 718037377 267262741 618996931 793751017 747595549 307336619 332641863 62892313 561999299 41911891 405923011 920854801 19575433 978351425 168072543 130915385 127946221 189286999 499339053 700883753 782822099 653857305 337684009 840531863 465873287 898521785 634539569 77274473 686652097 350983949 465433615 644308907 83282587 953150357 504887413 470766991 735555999 975547255 294936315 446281585 536093623 157232517 262683941 874611665 241636663 859503409 72444761 316528223 416742367 410922401 683659243 691091181 809117651 553563799 89818129 873069171 156096673 638899075 472096495 560761369 696402493 282276991 792108685 519846951 896684037 526104391 154365661 383713041 223865279 529486917 440243895 82020977 278637207 729035655 531060959 948713997 204964387 258764229 204637947 893542095 334714207 39808349 26176157 882378187 780186035 348537173 842004031 155750715 46237161 155286113 850172483 706009985 611909945 764594643 681808881 467082795 604788797 262145709 403976827 451948267 555667453 127664791 385476089 453206685 924247783 642719453 920867439 752700483 930153933 964109177 34649793 678198283 186441455 223272459 832649671 960132675 660246769 379663575 358075189 916707947 961798625 446413775 566981295 596095525 992036915 994685321 50184381 157520955 316678085 8121413 154332623 48478115 49338075 688382185 32584001 936447605 340301605 717914117 926312533 799006453 372647607 123037393 518678833 622003855 14924557 871668779 433799143 316698839 386786829 473612699 692576625 400323719 787394309 284686417 941034159 718638723 810076587 925267491 61691245 229401813 449405721 80858767 289018715 242486195 427081943 966160831 479733009 911022197 407093201 241119105 543197969 472369825 147052893 712011339 91773637 732115679 666745401 250513983 812256125 825097733 736956297 841790499 911526259 927568397 569431001 421951077 691636425 235317019 238942241 651622429 447334021 66761339 98401981 883133965 366669213 137382303 835590769 186741655 77082599 804419873 892716909 138601935 164209445 241483717 835370051 112575593 336007679 289085305 574930163 298476229 922231049 999599693 544664547 398395117 536552891 795429759 825775835 286321803 347292023 519497839 933787671 586066427 260825219 494137771 457853743 975782715 801083669 939490275 295729195 564591857 829366851 213548279 703987831 834747759 837846287 999303911 910493161 859194279 582376801 874809565 324553661 419581503 816022285 19842097 639278491 870252153 732075211 768402777 586062989 30055237 455812411 445950717 864510987 514931261 796538345 183842533 563784431 599040157 181512771 837828867 821721217 197338703 968418981 578485879 541402991 491235553 503250255 893874817 664498379 56588937 448193897 3353485 234644757 532729641 841940487 999855663 341297 162185031 189631265 837214239 90337645 374343441 152389271 736560965 20490877 368108895 718343477 81306793 195027583 516580529 704059817 615419775 910000119 613402671 230996879 822208547 558002389 954878629 269336165 188043543 641626477 765712269 289243289 419148295 774047611 953391623 183008375 42308293 126536997 879928279 686846269 869980751 233402875 646913647 500483593 810737607 573589997 759287269 33912551 542992247 374060123 110841337 951120837 815616979 71472907 936678673 27267453 967102583 428295467 649112893 739111635 23121191 647024205 133650229 448852333 304811211 44798321 251205975 606543071 509656697 271749625 94400171 701514655 279667819 970002615 398750175 509127697 612607749 500663517 868199501 225680255 501415377 469820679 500323057 42613527 545334403 436974655 814108533 978067187 223920631 873680111 681505575 388223767 934808881 260179947 288189949 187275881 370235481 15104371 733661081 829011901 247096261 143640107 234630209 88059593 28961007 978201633 470932963 785350961 30270843 109313481 705474327 615901053 931783221 726894339 458944029 986038303 450342925 361835537 848835037 976707185 988234019 771420321 773520099 431011761 689161653 584230089 506885737 292631563 174001971 194640901 734845263 105946513 182437677 878495805 20737817 744954681 935861343 459570875 710775545 829879783 250550189 607057719 196730053 125821283 458096419 321016523 322457595 198608735 428119795 530891521 430132935 174575731 848935543 374553793 389113075 177965345 159490869 926326115 243294455 30485203 347149271 938945445 275985653 320175323 809379119 10054827 189041075 449964399 76571449 338275075 188406689 899558579 743193627 809078689 380260307 490105775 531461917 56076515 827353869 475598677 255457713 611253135 906240691 372555645 94173303 213886929 805204435 171137513 939044399 960019005 745270825 103361347 88429253 541692117 135165199 250275867 30516811 266611705 154787985 285319147 623785983 911515001 994248795 843895317 253761345 189760395 718311621 328433889 102473375 578402249 260410831 31879297 290151115 880973371 32577569 626687501 781343649 312764493 818158599 622943367 280286499 325173207 350562939 81809369 196157565 960314897 990229533 296056275 577352451 897454757 403402289 466930479 768097069 530983071 654782377 127150735 204804515 775444337 933792795 800117625 691957293 657673213 81575621 883344227 915723455 648607623 645906321 830619299 231861877 168630459 927846415 931512187 28152465 709010605 236775025 42452245 884043649 348473309 75425947 340842113 712598483 259976495 49898771 476105145 747317063 421124337 29440521 814626973 322102207 918455769 914499665 142115321 963937349 328015361 707752047 996013181 167798287 971372529 501527429 429723585 71916405 846055317 759703143 628080455 487025915 887103299 875743881 629925751 13998669 342371511 686173965 584524453 934608703 267853337 955631033 11389961 327692491 781820659 628731899 426050755 254873109 851209533 979203563 736727775 24451433 209852499 516508489 637331019 706383671 658615289 198726267 843878883 737515293 209581405 851662739 162591335 84633311 653787159 933244741 235772801 369345383 341052193 874868209 366682817 694746567 326731233 976170143 38945439 241166907 245675299 267113983 279475073 412007719 507550753 199741287 928897195 955352087 901398387 576525783 57966419 531734203 227081247 859186421 964328333 753236467 516306581 26239505 254240607 781641405 174691241 393755425 628341681 771021641 505279895 465130439 960469329 104828391 862858503 113316425 973348861 420448275 512504835 554960023 56339283 603368307 448649473 678266693 3525087 724146381 270382049 764009621 158547471 148555033 933621989 657434479 982626623 590100081 329042363 996355169 582447277 722614039 974390907 430923425 103328903 707516021 556354205 270382353 443933401 804234787 348262411 69376821 660803233 732745431 453797905 429689919 696141501 563597177 184784995 120625159 23859447 406259729 654507549 771536393 685192451 329178323 972709577 74124909 318652277 641819929 318005585 177612035 789711571 565156457 411566857 201830467 672598659 393831789 675577009 534113357 395377113 5116665 620274031 9312229 907628299 296175879 648678349 787555197 139242557 333981625 369713345 872245801 206827639 294945885 814529193 264516781 995661483 341032037 87916107 704882797 480567987 923894893 605130195 254068857 192786509 254389047 585317847 586679433 116196903 850651823 632677973 630821371 453143245 902126825 996195759 606420695 263399355 925179167 960806838 855988939 352318547 318957237 341484701 741913135 183539423 684246581 694519811 491139333 584499595 647438931 840843245 73397231 892529527 780500203 604922821 431592769 945204127 338266623 140819301 13185007 449568751 960289981 74258949 867256987 312582201 876406899 33017679 423658121 790797619 393585059 39080015 352947883 22963073 535418089 790141049 367271577 602690731 889410583 4044459 938390415 177913379 95034139 219589163 991034741 384631873 521201427 90376613 392612315 59096391 184018243 374818863 138133753 125315679 470540819 604905029 250528943 86657179 96351257 501379791 468802945 478734833 371432719 639347735 562788767 233201221 179588825 627258579 769236963 342864991 639101571 529199395 802179787 869936879 756156735 500625289 607041405 178511763 701829991 970562037 289147081 624960967 894564223 901477049 259584037 913490935 449533237 413391763 770828979 179394163 179861081 396572843 605902905 340928629 280098793 62734733 132859429 943209247 306601221 241454637 696412817 905941625 845420025 513828329 562020153 409227891 915309883 6119045 222523527 30493161 306829925 769618737 8210055 187195291 461691191 60361601 438617589 289251123 355857569 793987697 720308011 58677825 46392755 662103399 992948021 490377023 756673707 336652593 290080447 898924687 367240169 10317059 320207137 695674745 726750971 452929405 172754779 691072301 351743891 374637985 978786067 7194567 212127885 564014557 15981465 711690567 114510059 688967431 973916901 836808855 237347543 554515805 485282455 461088391 388179625 639111553 439977715 526256849 58973145 886330245 497718249 130829079 448216073 296476121 11289619 926608351 376828423 351241823 199045551 448220575 245463237 302522201 179907491 105017261 739268703 328982647 269497983 802584907 833607447 281201099 409924985 933557921 251323993 985998037 723517811 151759811 243882425 632042361 517141491 209495977 501562863 12299525 512298535 813356339 667318243 896269101 671070185 820427309 830343581 178002705 46264501 920635973 599627601 119212593 541774003 28765207 414759003 108989311 106015669 897928227 518396479 401400399 14435375 166076369 159850405 259553631 878924355 241921141 438797667 876582865 985108661 690890823 359439219 343779893 959926263 347584871 665859063 388638081 529244447 591075041 758538815 984828431 774407405 326410659 578599865 311364777 696648905 430306697 116262659 763073399 690406847 327654483 299423457 182356241 535467401 966049961 263054651 48355701 756855685 896302367 27727911 287328007 821788603 193591083 205525215 216747923 252493787 373401651 102356167 573518673 96220217 838162043 495651945 869952989 511867097 83171895 567596155 648948029 959838815 727245441 521295061 593581277 865359131 50979417 538787197 598626961 597515779 571908007 753679259 184851867 340415929 671764031 747240581 123218843 631652227 464500951 402160311 184561569 586116687 897383443 234467537 599930145 800994743 896959869 497401503 969579771 676399863 275985539 232335895 738598001 984893431 463324543 564955217 983052337 141392457 600780981 941488275 224882513 222204449 247768907 850473287 639446605 944529761 756510803 496814847 226614285 523596429 274769353 619703673 399042269 845291479 624648075 664845461 34349935 212941333 202570851 502998369 267238885 169865671 632615683 138500365 778814147 541434899 492861189 866644473 744556019 4437961 63243751 124694693 179606479 700878945 925388821 842093245 641126929 292571899 75512289 180964883 248537823 1746267 261055617 879681957 390459335 921905905 323844377 850769043 18929853 548906455 873130929 636905259 758095647 150852553 887761467 901760991 254017715 688876849 394490255 577663051 935433893 525915677 43327601 810431537 623117963 306292549 880487047 480817277 165626209 571021063 790926179 902063681 87819407 199157865 137696639 310501307 616430815 289784349 991184701 760507213 470650759 615711099 98080229 660339329 878368551 765124479 580572841 965131531 10323649 823613907 515781025 350548935 519173317 571784643 1137873 543702455 911268869 956090697 446997279 516964615 583606977 904991749 529261405 261620747 156393373 703230523 645539141 431954493 714350757 653310429 295887993 265459519 169010769 397700993 637012865 190523361 127904893 723313511 919331021 291616529 877295983 34735221 605126587 523549933 89658579 151411003 228557191 26771895 523732157 903408881 612939869 611129053 620380335 254107253 879675981 890868717 796464777 496835919 896661585 701824937 99379099 962163887 322983755 342151917 684045209 117626987 325439233 655714763 451397027 88607233 705493801 170802289 208012091 182227355 457458265 992321085 621648207 836613383 69011219 755946163 266788149 291903163 104687297 401293435 965812139 917270233 530761907 27426411 411127251 913623079 232828195 28464767 48162879 310340371 449021491 877455575 316046305 766068405 483257577 782929599 28776727 653483469 232752699 250155437 267609253 138208707 466569215 723121721 866301115 542571941 209537015 735794985 562589163 24091945 621860045 591919719 231917109 878652335 541659409 130238469 154789373 71440703 696740413 208944959 883748113 539584905 935131569 601222521 582504357 472962787 202370489 892508991 949892441 560466253 909466755 294299459 811625517 388789613 138274091 483807583 851256723 112917907 252487345 266562969 622707039 448053943 292493565 263310107 711620815 512534903 475829219 688559927 108094341 313022747 575054363 480797291 11986579 780798611 82019911 67473751 657383785 643801461 752143853 585913289 121508073 947333375 625024641 442609587 579987541 144526619 166389853 318751281 995988571 573972823 217594305 268526723 794637331 415914985 988387285 939608857 380655607 9751731 793909165 398478981 168416493 135067195 908796225 801383553 725621057 234328751 424126577 51327215 359395243 632770791 330428425 300610781 783199303 915560291 306001079 41679229 170937755 271007563 414087703 710100779 301235091 230206827 213089703 39280233 737472133 158214973 358155733 278990051 211880493 490469857 977210607 668515437 300983473 455964955 52330029 567456257 750173599 202781277 34363571 989340353 979361517 530372541 766379659 198829309 315823605 999558395 852252579 572415267 745904767 291739261 438215893 280770769 656272823 905540179 358997221 797125065 619548469 565678389 95263097 760832759 119050225 843710337 659365413 969100143 994319189 63397951 278401889 436260715 290277419 224136733 637820301 3761999 640278443 535840885 273604595 231039141 754403953 104105539 730463173 1023779 144789891 126812977 395336475 506471841 776175435 930347661 377799673 579061027 760538787 982240845 313157 295455703 231971269 49237011 572078547 37449229 618932567 875155493 376271705 545539393 102234983 9046641 416057723 415177495 795068521 672460175 970987201 243737689 908135483 809665471 231701917 496997373 689366307 535983593 190008681 858893339 130034893 593642649 155867491 155077881 122560335 195133193 407864759 443987455 898397735 5026841 274509431 85450947 51466551 195700045 74762905 501565441 31755729 867410391 612219649 156625049 53946789 743004045 186605943 796785815 345712085 114886125 735356333 214367281 689317347 587974945 715575867 778054849 939710655 877909753 166307237 965309895 779308987 349650407 698838353 34126323 380415895 400816655 160514705 486020629 265708407 776026167 822388639 243308587 517667817 127152335 424817821 15993429 523393505 803693803 349460627 577591265 521358269 430382415 996815987 339302977 385453633 322592093 860856341 665745935 694972829 453021737 460656443 184070673 519873125 600585577 489335439 553854513 176914581 215961209 278407841 251234947 825958549 100352357 138986221 968091199 809081391 696366041 71110351 190843597 636532633 439324717 512423061 998524597 500720755 540267617 210448495 611041963 176466111 821124381 279374709 205565577 824413675 782860973 380055209 276181077 67470285 84238347 550985205 584316217 597340067 741835735 515058473 167916169 977597201 937385813 296427263 305516223 517302051 185617783 983385625 528681085 327298385 958826451 213837823 504423315 849791607 275361703 27922977 980512239 390073817 419228381 859457755 889056943 999708199 663981827 97711725 553297173 260257909 489395793 550534657 514106253 17889087 811221157 519318695 595453611 810840939 886449287 580761177 694127145 895371591 669273639 192027897 682875371 282929543 18077273 790477645 176033019 39338057 7417759 250284555 861014669 101836819 254561057 139752649 596069117 357296337 376533933 710013193 989673167 153465561 954025657 410386739 624460203 572755433 808656231 106042779 392279911 621556773 217068925 72341369 464957693 609014553 986434153 879414255 834412945 489924797 817589827 671185155 380412269 571821675 960466635 147889323 604850951 705346541 70835303 902839739 417365495 482956395 92144425 459304185 766438913 189042557 471451077 557671949 340138003 29496353 860658843 945417351 794145597 104257467 837216947 47786721 827440059 396118297 213938365 285750139 486840305 423272303 73900559 976376735 82687339 107430235 513123751 81950849 167083995 291734499 967297841 227999797 938511899 31502195 132407799 734619329 758637873 257738977 48253425 884996877 667439941 893357161 498390209 841338855 859114669 623424689 512838829 670616845 45107429 167291849 466854821 122261021 406162829 715034657 177204285 123220899 926723443 242421659 674739895 562378253 330881417 359680633 130482171 234569911 470425065 852061801 651266199 724728031 450406105 599393153 822123969 570136755 73301443 810194751 504088155 860047935 135843897 376378247 943662569 183218305 929209081 216116645 584093 355285591 118426851 32041809 944597839 156669325 987070981 213927335 204826235 463157201 990449297 773693485 305288521 128685501 164554723 730404301 789832585 178395093 42070909 333204961 747323827 955443583 733164043 451769123 295333351 155026959 769928287 575108281 216821993 236503483 155118199 870476081 203269417 621592743 378062963 364536705 715337153 972921307 870725027 247142403 308238191 667109963 636697973 955599231 694555545 611886027 863492741 340374561 319607119 127953439 293027227 189317247 65361481 198832627 642391709 538727573 561487333 480711635 101652383 228317899 537990697 613684541 666456031 699793643 566231753 572283279 197275839 874629421 225823255 330767635 457021129 750647597 886267927 481346555 560609969 342378223 722713963 100813663 34160723 468588003 877753447 918924865 760503731 470242779 817496063 963045515 861129209 635517975 139364565 834506767 201714811 704081979 158335533 68526467 80990643 529113429 5105401 995533195 601823301 435339993 283630801 584536495 250679291 915771301 380684015 695102817 170199755 327256831 754251073 815244537 440675277 945664403 349992785 895316155 92555845 429619831 967726937 514978765 57759393 691892263 518002999 839717697 970310513 191315337 195141493 208789265 176101489 136856813 585013821 434993439 101484933 47898883 653657195 416152115 502526391 78842861 927182461 241338111 370738237 208062509 475650457 405727515 185989487 129470385 606323855 356937225 226780627 356268751 244021973 127511091 372934929 122242885 444088717 279112169 181449473 540829495 247228541 56083045 650516633 975441971 147216659 669258953 927321855 549495851 310922601 888655133 499275391 282278017 237702971 386240849 114921355 798703353 788587763 224497219 986743229 218067135 433800349 864757935 312408283 992111463 301358325 227033663 923871695 882813939 517104725 867716233 602239915 771989955 827486665 967586817 645928619 231791527 764925437 78983945 549459765 834760915 817237577 277677293 198867153 487089125 631250349 222120157 310651697 126238691 376877519 562361073 792788789 301799227 791657471 71696683 220553693 995280063 283665461 465665139 527675221 221425325 645899791 686960029 667192815 637500333 485999575 627057249 334887721 628405193 902645623 461101153 927286437 570425721 285680011 974331427 65882411 402443417 81016913 504972829 921977781 712746349 270056623 618888101 602886743 858236837 105065781 583535101 274388313 868405075 615964441 898907981 374340133 707369463 253085501 585684905 258854991 843511157 646619943 996673545 71516305 532069147 168465925 112401231 374035407 796743837 373072817 296485185 239578643 70849305 753798055 47958931 718094737 234116629 585062415 469048543 543386021 280607357 679038651 371841445 721115089 373522343 877847583 18699599 42650305 849467983 139545181 885423915 641548617 464660893 114819641 997396855 742293347 475643419 775899173 193635411 639164723 602988223 569285943 454028485 979437571 164132329 764540975 418263489 882877767 619037787 94954099 514883361 806549405 605946437 272358677 306160293 191892931 397096505 52997577 89849589 501903271 795468855 83833327 151423141 180514141 792395937 17931663 720250157 615157279 85664073 676110937 295462893 743701841 528801377 776636065 537003823 130562943 460167559 759174763 282370341 264326489 779205313 401744475 989626089 486099647 322814841 493760193 342764923 111434159 658388873 116118675 692572355 987992409 759958059 380972147 457730709 466682125 241417479 343126439 947896743 701453639 827414311 547317533 449727645 520002219 499127809 390080623 262727937 392371461 221083251 326258393 312919105 903645253 720357827 397554755 42721463 247072139 727660701 392693311 331345063 621334039 562430489 809125633 70087479 753846867 315816623 24873067 437503355 235886293 596016457 883678977 516550505 662277465 809897009 99971317 228100837 878247871 307791903 136939805 34450103 531818773 657055535 411992057 771087761 55729293 288436709 512761519 181569805 591627393 555679793 167043087 252848297 38757239 7806053 419107217 51978961 178722585 100530241 148604499 250734551 704517945 21074409 171947549 303972081 114068693 229294315 524425823 270989635 17480975 548530491 136002351 216918229 32917039 744703545 761103947 465901977 306941613 512943525 972294173 916354153 867553827 325127345 123907763 663416835 228109395 481873649 687069893 730520595 805190697 27193187 802773167 940959785 696959673 752489833 653711741 535026881 812465211 157989843 296564699 808295479 380565783 981966295 348270371 865424857 860731605 463700497 850380881 25968343 657089321 784253317 221525773 94218059 366261487 957015201 367116969 704158003 430625065 26442301 932701977 663320443 778928131 301467281 39066111 824213235 242449361 391714887 420193695 550648149 868407309 866285931 526050795 587225155 235236443 35486833 76256633 141191237 338969477 961969463 203025545 239610317 266299007 854071297 350389249 480827955 268907365 172763263 898715249 446552249 487183483 235350213 292729617 510482313 469615401 663599183 156824255 618549427 151743237 446438661 532139267 298402097 713844937 700029489 160857357 791064037 379549017 398288777 554547379 112715927 855849151 592224299 98903411 595074295 465577777 894367133 42038135 277432737 225869831 341080269 414046861 729266965 406686917 806177037 608572203 179123389 155099161 554235163 668205427 18894313 334694611 972811807 584020523 243930835 383232239 433342629 535587265 831419805 793457297 795754911 507226445 527884623 901357317 80178031 480959887 172323545 967093691 348975833 147593199 750627863 461654867 965993479 696700281 685558985 397844107 592049043 713787369 546663321 835096915 105153911 713463961 897982231 827033531 119142425 717467539 375249597 344554753 687981383 57484935 794552811 673877125 240710453 501329355 926855405 171133651 479743361 63482207 221520881 692742305 279967793 922238953 239933459 537252297 126676657 231598521 79644755 560178251 791487703 889685447 7607451 336588119 77897695 175856817 782678201 906988095 884725105 103243199 778552171 418960251 452997783 573648353 862718289 604781491 898178249 893244589 194248177 845974189 910087393 729922401 965331649 842834529 520861225 81450983 347366933 990749673 261066057 688547277 293257267 235497607 489846105 385983305 859073091 175720615 3360983 458786877 623761235 612582619 675587239 147481903 83586913 69165793 55756567 26027597 550501451 714007195 808190683 991135343 541249757 675515155 610248209 901481493 959260613 207918461 652977983 537536103 556043935 162953267 747280975 59869745 433945323 5302205 539395483 883331309 111794961 293187521 989641437 187631035 951672165 427992595 24154173 252062303 203381021 152157105 762050373 240752715 129172317 514624957 449820651 321027989 309975087 636788353 199846799 93713405 881017217 916005489 427128819 333230057 938270255 396923177 219934789 399139177 548814071 796107883 521990171 85382453 670794119 215970597 352147059 390923691 966871403 222071399 193197233 331495379 205632289 407665773 436467105 802165339 560521991 657705881 612849275 622302365 172830823 159497595 559859675 707224981 903790195 382528449 33430213 362287341 135119173 903645513 507393961 310752243 395061467 445699351 497486681 22538397 725154849 423590227 861638677 669489805 16161257 333607507 36204163 963161609 482699753 968621969 922584749 521572095 370446789 306386609 204043529 152056839 497572357 11757695 814932853 590305121 952030491 530897899 239453751 550112757 814126177 751572243 601288443 309609551 503975701 198318651 356273111 991706537 966970211 290815693 934145607 195633889 892151645 249528923 580238899 694203777 36073465 571233697 692175589 332364469 4900379 20303235 227277845 857455187 438213515 836907533 415111903 643730399 667673083 840989041 790823111 295065981 89057795 61018377 991785659 528834813 579682855 881053787 150710291 760629975 422197709 722387983 28751241 377929513 279456327 60174589 607914051 931441851 542698447 855444251 187124429 377945597 922510983 144719505 780844063 195598339 528154487 51299493 926236309 422558097 866877329 138544335 570451701 70321673 228003501 767405481 786844011 560936063 234419341 87490549 863751821 579947177 680767963 923660703 628400727 627199459 315368233 519212729 261338927 167812665 641569773 494558337 428581603 186135383 380799881 799514711 855578537 2485141 262497353 668548297 653402395 737919219 272152669 885907081 577911105 951301657 481084637 341441395 451527049 735258451 776256715 417365897 651781573 683995547 835006993 129951735 717252405 387956113 185798783 246740495 150761851 455306873 969930447 636404815 688493481 990306117 157897123 86317401 113138993 583131529 950609027 996362999 668466417 552272521 221270751 678850333 551186477 473070121 671941907 624666343 831740821 168253433 785593183 478225303 154079291 955183153 432234221 254554521 460761247 211131055 954426061 630421377 500251047 886593019 88002809 320398601 27340189 729943619 710548819 747880981 216826679 361498209 278235809 993490863 887874707 620361425 581385625 60080397 132826679 625070781 722945489 59114119 725729295 71057651 52621515 743362209 516625009 335301353 972105967 298402567 463109915 151279041 309264529 238580109 296388143 361415487 278964969 622229805 917464383 683319511 643661081 215549195 625813563 890156699 719874855 476918131 157406341 823772237 934288649 74192597 222339551 5882963 856818069 192358607 749030777 51046591 321639309 856861477 957636325 196435525 557601945 847450303 289398563 159882053 983873101 870195891 923580311 318615751 419455265 869968189 160748303 719336827 479330165 207141565 397520063 179642551 821603477 115175615 549036357 21886329 322709935 930544377 793766823 152708971 562923743 348253763 235585617 39474139 512940067 830188963 664843287 336187073 326091369 632968003 720063291 332810171 330968191 50225013 103645789 578732817 662056989 435926453 381162381 577376433 967605481 606600105 252976961 139275061 4202343 518935063 328186707 66751193 465699339 630513655 938317323 213762183 109540399 511919459 551034647 520723661 113410323 255969435 390264457 976795361 806858463 989758735 214939105 43303333 115420583 587300945 920990465 719298717 645340257 827122457 22008123 651837691 313786865 749450831 57741377 56253589 422981665 412058617 589239601 84298987 654671007 959984207 70031759 257553445 396556805 348169387 605737035 250839567 668668119 176738447 746384057 560289571 852612219 975374503 927206293 781492095 567574597 979566023 210535429 587826669 975389291 285222887 860442263 481092823 929379089 315388207 37001791 844557657 763991873 594778343 593689947 818829873 127565289 624310915 759307953 145349317 300813539 558939807 266597487 729025061 646103027 926931453 873230631 59147273 289585599 868384393 947533015 823974351 705576665 463777367 603981799 434859901 908287165 694123681 522351649 982144199 149907657 421817033 278469565 357111807 273443143 822171999 214626391 764487463 865477225 922005265 88308723 920911591 299841863 973132733 410929663 83992461 444646629 902219621 320588883 758508559 137368361 547913013 467764777 265255695 289278437 819153537 938826535 207926737 548107219 114503619 68292699 327668551 195868565 375731615 795966265 493093127 480726195 208421345 253795487 839354449 577841311 591377529 376033235 723006733 704500145 759088773 378334591 224886471 408442925 612381513 700015293 658100153 477152057 81399597 534548489 997975489 282383335 129044679 882511429 655350631 222999089 440120273 359510465 612715227 740801017 18542127 432104755 19577587 392637959 115563757 648974005 777250351 359241997 2741563 301403343 895860149 953100451 548807033 703989615 39171157 797454923 239756325 573962471 247537029 674575471 954393327 36165367 193576551 717746015 931579815 182657987 718734017 681054805 30005065 819847383 863417857 31018099 678911227 2329643 469739585 863576513 956652803 360766747 112476477 472753713 153912793 869694317 949867359 694301851 279516437 121297483 154576051 539925441 91017853 436519759 264084981 337460557 550745851 821031283 920667519 446067407 712864161 422883869 417735261 215110337 617818285 975606299 349092155 704963971 505529983 457920675 44064113 478230113 857326245 46396495 519161343 336363659 294453969 36064807 51987595 793801241 674621405 564535447 13466213 353614093 697360591 707091573 88910213 826980943 107021265 577850367 89097609 175038131 649686327 339315159 102734523 72857585 512003193 666688527 194707205 62687659 569697599 520551705 188859139 546970729 704225873 239962833 669476083 891108507 10664099 310123905 58757561 423251869 120537169 21761233 587473897 689290415 577810333 897032411 635622073 535085049 776598003 204512537 647090439 865207694 288610021 647818097 958784091 708175465 995659569 155303217 371521507 855074153 371054009 552720397 887332215 833662037 30736519 655330595 90611865 71103203 768483791 851903993 985596779 668939175 265127149 636878203 191546305 28827431 54987107 504796415 426835471 739452619 894728159 205879105 264109175 250608611 812338479 483140967 928661949 760975527 267262803 588389889 988979795 62799677 827455085 785254399 377920847 101823657 284438985 336262595 523438961 475063775 601356503 953798159 778611743 530321081 642366517 274218257 57871979 651838199 200410277 733343073 682783753 418400065 869682709 615225591 857602649 25517611 836297877 992937021 67966307 771050797 340093793 384725759 417903829 945885095 151606749 386923889 176008969 254629859 281695379 629695793 629741053 557938197 879430201 738518083 285232215 20109649 804361895 258743319 109877351 733699229 253133795 893880961 634989859 733160927 750309653 959986365 979396909 421432043 976613267 387929201 36128203 146758263 483401687 249006251 339255275 133300521 271206535 810326753 310776613 110032005 555555177 444327917 320748219 947828735 609328757 320456983 46216335 330630127 94870723 560688907 336970293 339370649 270703001 862951135 598928865 367335715 335325025 604426001 159559541 567675041 566238893 736003203 131818869 738162441 99858233 178125703 588928531 311542335 763704555 863626447 999228453 689613069 729887433 115439735 964814891 531830817 905992715 713642761 604049739 964028693 479709451 607180909 588737621 874245483 329644107 258987261 156918977 167953295 471510901 234790515 401245101 116573645 800818273 752049909 206078177 176619361 520433669 315589649 536125901 445017965 800102281 386049467 391637639 125377529 50168629 283542353 925060813 981176055 966738301 663488665 368140553 130953025 32837117 377388223 758656329 537124245 377378423 887348569 937323077 232748959 764991447 291469667 149758041 445283057 490078511 673398853 265681041 146308609 888763581 67136713 778407321 323917619 306897121 607058983 63579851 57059791 873332011 498877177 907754275 405917445 836559177 182957639 662008905 648438515 814077977 450360959 718109071 859667861 820801693 254642803 551293161 154098135 825203969 46208099 622591993 789558921 887903129 847815923 486569219 716904805 386291167 566173745 600518649 455874061 999372149 46023313 345286513 140011785 331110185 539367409 590331307 123206347 43535343 516867733 626758541 179807915 657703903 803709485 180408231 361217003 580043069 948369101 530752817 964701877 560084341 442207729 569384713 74680089 845991963 819819391 477680311 492480017 717731817 218776773 298539883 62176383 556478403 279329657 142403833 62572075 790645685 55169205 828186341 308965061 771187695 666006017 990755667 751730921 158610895 951820873 117179411 518511385 595704025 319059683 664043931 839787705 229005749 841726605 895418381 162812703 947320121 589065323 623991855 325001859 137032545 918728969 438643311 239677191 521569869 518590815 603996133 93117363 144270153 949000649 723770193 957196151 514975179 832914699 21302299 785015855 951420011 681273173 677850447 707944859 382173679 359479097 295772841 267853413 186306111 477204151 76899203 450724125 462740339 315836981 30663143 843175229 160020161 323161467 542218117 318870053 328429967 570565829 793561779 288463905 814509673 616652715 314861425 133640031 764130817 156000309 245226085 291094779 187172401 841363919 439990751 8353269 437226239 835995215 461499607 638388791 826660245 707454193 326190571 77983121 570032965 190453085 816990307 845365947 542158989 977213085 444044591 363559515 940796941 642550311 258507747 559438325 740477843 200788699 649689539 890782463 831115537 332176379 490931891 352044493 990174113 939706423 486693955 292125349 823687817 760725665 287000233 262876335 505463859 190392249 378881479 186023675 299345203 366828131 357909025 781128065 652548929 260946157 256703979 269503527 420123205 304422411 739442167 360759729 274427207 529843675 289311943 164786387 198703995 625470689 717445505 969383719 577965373 842380045 797622519 495295533 628122895 690727603 23539869 556347469 888245917 777364879 467100053 833771483 260835259 723426759 299551651 379461645 637577571 612535019 790242873 515367945 254451383 504915691 300344685 556540371 789090309 872267559 371574013 710700383 932460481 948822373 588272981 362099591 876059011 57989843 766581887 343778569 434934543 289635075 238027061 243390355 158488401 586460917 726642645 78963889 81517405 288229899 802875239 493978337 909397357 864158999 915485337 590093953 605599205 939830603 219853509 158369499 151227983 954990403 460286695 758031137 178455137 108910601 399860393 24552813 498091763 399540231 751346009 339039165 822440201 988712465 417133293 942859007 226333391 858564199 370357511 233313791 940986521 107255725 514916843 631743097 177022947 177755121 184654733 483530255 17974861 140609959 597778559 542752587 162038947 987912879 934898947 395181211 512475099 121160523 523785727 78731097 40875533 518891817 303795717 7096519 689003389 76936287 717255753 432895249 59032473 129193577 296231339 502750787 301724145 58502959 114920373 334147417 845317441 651158523 463158673 494627125 567233135 914852997 677542171 220208543 418797953 823076839 35494865 576960073 551332527 365081001 397596121 577413581 595469137 626761913 716731651 293021353 897965293 833604201 469220807 416745033 767024173 883598201 299936835 153094141 202576355 203727117 656493375 239333375 827056653 139376051 991289643 913100913 27357899 550607967 395452699 67771995 675699563 257553775 752022483 139007663 469894495 108378537 946798773 688605509 399842625 799110457 915362517 958796257 974677975 666618547 378363367 895346983 416751371 989807129 412671821 171382191 446439663 322211275 760908045 73202413 939790017 75859865 506528469 175316037 89846241 688927161 350319357 603672061 716659421 24796613 854227845 852619851 343030887 651131845 913461013 499146309 62513243 786631461 274365433 911535341 731235003 335473597 819235115 724928045 864566963 484504773 545747785 820522453 879563159 568941031 422663069 990237343 429581793 822225455 583642897 506785581 341533235 318164239 861320001 797718791 874938971 94515561 504611179 442184605 512901197 639910529 229999477 117803853 313738527 139144449 520537327 916781139 651968027 741851139 424661009 180624345 69994919 884338177 884781241 220167923 995325017 661574625 260024175 433730969 757736427 997232113 419228257 47927213 682958911 607365351 872225897 43483127 595297381 137360093 651999235 559554343 439496587 974840923 207962201 560222937 729595919 17211213 316646457 399167117 769461875 739529737 272880921 911204525 581948005 333656139 537294875 212016521 533221813 438314555 240132867 289826393 393899871 59709795 449316675 568866371 146524807 9020347 946004723 193741645 895489399 923323551 785206735 609562471 200481445 232178643 881691711 130417517 802863017 57092229 65555027 706485279 540569671 475750989 773079747 294469925 969480557 843513893 85689839 971700755 145909803 333200755 264297179 975816545 494331069 165984003 805192761 882627951 894519687 771879439 199171423 118691209 97123349 654757679 483615051 445997789 900656663 628613993 875645351 77648263 47036525 400509229 86130625 197784455 703114261 213179215 385224081 242234821 217627967 991070219 264972981 442046229 363957819 6284809 36818293 61489455 172233351 901658451 251577279 298729907 527794627 977427039 358768685 2603307 597808317 957724429 202734331 756929545 588779109 907249567 249389331 17078695 448926427 160699331 525822723 759609669 428526687 668255121 125652993 985992971 810471517 358662273 886630639 495731981 426807399 686368381 3994449 973588545 998282043 491865809 450523225 49312653 583345081 828527407 242350557 871912629 111493615 14053049 964600157 500359533 651961871 442610931 966016769 105172047 850185589 620883657 294327445 24880601 840784803 734626703 804546707 529071991 766001475 981918213 675136793 989496955 534961453 984059217 773718257 752725277 780437337 411308029 141846149 352868221 43943401 937182975 518489329 801493157 479779883 960631989 43919603 950897031 710518161 551752677 93867505 351893499 890422455 53147323 268737787 554380741 490513503 12535245 313371591 725760907 337468023 441144089 401822135 186235359 131061005 992262913 470571217 546956861 984018785 914194263 446184133 888571395 463932117 454399051 197922279 755170683 24963059 194422655 426146361 791622871 360936815 815289589 688024163 927774511 710192421 33512477 239258803 211404167 81256729 341213897 122671135 11862469 180799091 846031417 621966153 967984059 794460809 488216081 89143669 723299365 462429141 314668895 724853653 18789791 740066043 526648215 529625919 189126583 829537733 879317911 316770227 855252957 561244711 694014117 670570201 902130795 632900927 632607085 968514621 390559135 53806155 836867845 589711897 924012197 385563577 519991273 719175243 569554573 58901021 249111297 478227803 486947665 405673267 957828247 213409145 546950867 617244891 426973025 384396155 282274779 118479905 973645183 167351263 134661915 275453499 741473651 172127695 953279531 238696321 161004331 292144665 910934157 945822329 497375487 822925365 270422187 919899851 354876071 330938177 582412501 669833805 168539213 572395269 754792519 312441339 649004413 371130095 169010205 719677685 479642667 511898905 141650533 859324809 885880757 164608319 991351567 579636775 352255455 593222601 855472883 984882799 819045849 926826185 828810963 221422625 679572791 863024371 388990553 614164519 921329397 174858409 274344213 900764057 103921273 778455791 234682241 558688429 323170449 595033719 808315391 395265483 101764721 982377113 882157013 806686841 439775417 388120657 289491513 262074991 580448875 54276423 528652609 410593415 923661813 20099787 797248239 713030083 222473773 927384277 220403757 46052431 159145295 222037763 476731851 260692605 825133059 375740829 267926403 879199179 158787669 29403795 881179893 108629465 840646327 925182075 521304749 738699125 113978123 808010643 94018841 163428753 572493715 888125125 808032149 828618313 24611839 808648863 960135009 742647775 757623393 990061657 14588071 161494463 834418745 5676753 865943415 840583037 228587883 932688271 749776585 665919955 382778181 359369153 749238659 854340003 371104123 419709759 80046441 293312763 635372845 413406603 521142833 164973583 673078235 8670407 629418609 126924855 375326327 847550663 341900457 921320695 750090325 825218047 373685831 591818491 618882099 603425937 454718105 160622871 518181683 377513793 200000985 138874181 225591269 119988865 655409703 419164585 835324223 853992807 986110605 686217101 488062363 658467507 670540799 969852005 898038721 365121995 562573393 214339277 547816415 432334273 941637449 180031881 857021575 718806087 109137295 585296513 80637881 334076099 448427953 68348363 458540505 675117879 146770221 706871969 79001779 691675475 717982561 737170023 390942847 554427249 315541657 663743401 357849305 124428175 734410499 641191703 811299271 630336083 205642169 998923407 412996789 792080395 272555455 290766357 963497335 832567731 14409467 952516817 350417231 162912743 75113281 403023899 5194717 346986479 674462025 707271785 406874673 877753017 223305651 781068897 8286143 567367645 525645833 694115279 910580071 842107037 689193917 851549859 396673643 173576923 467231017 914109437 666104697 685323307 366613131 328560923 358203815 552969409 452717839 627916909 182840689 197448829 780394439 555116675 569876927 187261929 477047465 584695579 264827101 810389297 23027609 897120789 810230141 676943661 947815777 617853567 487023041 224198749 895148207 13091211 75510317 180008935 331737885 329117587 955878571 204173467 362172975 489041693 157377941 996792817 878470731 267467731 13428389 242522375 640529347 691371911 339159553 734441893 537563091 803747127 232081207 456738619 884911513 776044547 479576123 305034207 490350367 560628793 810684523 620990799 807383127 266710091 608620429 123014645 992572953 523432917 851055821 6581215 211272999 682141337 364763073 901802947 565696299 728866179 271145317 326155267 83995063 103404965 809112863 128155557 802445121 835807549 389393343 937064791 150398509 989764269 918597749 452881523 548257219 553539967 112953315 369260533 206305077 642334567 622517003 24392069 305066139 186713921 870135389 262939253 666183671 481304079 233176235 870241977 500388403 956655101 71773237 362217459 796838431 233593695 646562719 278363751 848063863 333850543 211742965 891065863 27295191 701111953 115570863 948753257 399673805 263972559 981621929 848435405 698659273 865166685 343524137 196920089 821158691 595114071 307170267 788930269 504311581 184507905 113581267 28063057 37518305 637147075 83001235 71288147 132721023 532264755 210810875 231616619 396276977 96375051 446845787 852349385 613988121 598588463 704904551 18655041 215086015 429095593 355251007 121549911 327025813 741044911 923946085 662449455 982875699 499280281 771011527 338930073 449366299 185585387 598510267 91567627 533058231 780158291 118381567 940680871 789311575 135010721 136494773 633714739 293387829 392850897 126221679 79049501 323798641 840162311 273862431 425538685 40671255 764463503 520546337 860625683 101875221 249232857 292780863 607032391 374276167 202145667 740853411 92568357 443578477 433260881 650421985 336401255 3118385 35282221 220566009 123329133 839278883 589983529 14976079 774505019 491229117 691430017 275001777 156373123 680239199 865400987 833202771 301224347 82015061 597583357 759035347 85269891 580938447 907580767 604518967 916505313 379217891 426727065 357649131 816464389 907516823 634652593 824689093 261038055 154872787 663487953 46153731 520441125 173475431 103170635 886822215 919761671 509376525 989530013 652748963 787165821 859747173 658956903 323969927 42474779 344553467 147418231 564364501 170283045 799277373 927691711 811459023 693995903 850285447 602138459 377670947 39251127 195187991 463025293 548586985 269228041 803449627 72426945 688605339 130501969 464765601 397355913 695123999 395146005 446358433 503268771 162540737 544201097 148291073 45066735 555439417 224257919 577752197 668323195 686103459 5485945 133077985 107640185 810007685 405641373 136569263 633747013 933799883 806258109 831877999 390390881 305117131 541702221 6523785 440343417 134506049 930970989 600046161 577456481 194955091 629764327 718492927 967921939 183849615 641432615 632960179 948024755 784211947 627488581 586824055 228217739 769158337 314879 364400957 288749839 342607577 294428863 74055391 398294491 100108639 243512725 60517661 308339121 139179499 449259827 820744607 477677439 373915509 265560573 75228151 899105363 768553319 210888953 674857121 168576621 208809611 637194455 278631419 117835823 133639193 319222509 234147663 592199461 949233837 324988985 369005519 638176511 275704653 409309285 881737109 193478811 913473635 590821055 749024415 595972347 213184713 994207037 902746075 884931149 228419769 259515777 705655317 784618721 313691865 555727311 536194315 980266547 786119479 192515611 180254811 283122151 400101447 103401207 573240975 722318535 548598759 225754789 919890457 794149321 120849501 738865163 393364049 323453701 797452629 616913339 856214651 625906369 375603941 602496233 559035581 631903845 191233675 305421941 931595049 510238089 840714793 56521193 75273401 116771555 529098001 207248495 309908047 813511513 93381363 759826915 291258803 221887223 93663985 725208003 883712151 399838189 463295117 119569461 873100693 619825563 161780919 594397961 839589163 348949889 971765441 707644599 967064773 205562953 55182699 47330653 9250227 122681547 749885401 431741379 900471345 902279933 97863833 206594647 157171803 492604677 792824991 772418099 710411583 702699567 331322441 487421459 755852749 560131565 572589147 799719777 397905885 204009691 401120517 721819435 150484275 175545 704978139 801421095 571918965 781712503 962800601 537842359 895908917 576502567 886688871 233050593 516071917 390202113 6433359 188910163 207711487 533189485 208803783 152981093 749869491 908766451 713832047 9672727 707095097 902173767 40279625 266356753 10954157 11239749 611160771 59448479 124225297 364799471 648285619 186471099 960587337 299020145 703811671 71601923 341540141 321028893 162968659 295914177 390714993 414118257 986614451 770872031 904226999 177251599 237264111 917293817 81174923 967818177 698691555 945839181 848443485 883286907 633641171 301491393 276971909 52480345 396335215 372568549 762713413 393874077 444239819 458157041 518974661 813567411 26437987 372507331 171071259 637791535 148824093 584325859 574491195 667428043 566146119 534839935 232601095 953435243 631324821 265603185 566489419 211653401 521846565 148382517 915934901 793381385 879153789 367944693 74682337 184583063 399140489 56990079 4518479 609985607 106659743 738663753 132327529 321592257 273531773 407004277 671219327 96683483 774199879 773973191 943360459 14620559 379252617 365054897 855805805 905265153 938335035 564290379 454944625 38664571 15197367 2906961 547510213 941135475 637831111 294673451 668886341 749125761 456428435 311061993 469189297 112811371 669634483 857227587 665389489 715137049 944279845 753289369 988485593 263402913 642385741 297033455 146746273 688415805 876450553 835052279 338187113 118854739 648701789 934308359 452463741 944182121 254162711 109167389 707503115 856475959 991197997 195304931 599310895 657117845 628281355 602031527 98247913 255064713 582229127 433611361 873709857 823824187 140190941 411592111 305991595 725345539 761732019 373681113 572668991 473617751 237088025 854509773 549618813 312991709 342943103 519395621 995202287 601145697 773202631 696080669 983712265 567135957 514119987 629805471 67239199 518358099 194635889 177593145 75469175 137683489 413840023 208963873 450870583 999602601 368159523 14597177 544859763 691481213 376781305 686869509 334503971 954232155 836017765 344096183 799408935 525627171 132202015 59450661 262129993 474357731 372163139 972234191 761493051 530888141 900458583 355196381 186222743 678825533 793499461 603663643 669719771 76667061 971390055 11803139 500490869 971741665 255813239 437656243 178298545 705822355 781324443 545505779 966754765 785923273 306766689 364687411 362195943 691910821 264454077 97255561 537075209 607693681 634297871 701452725 550068517 232677025 906288409 328441629 860117267 218369745 608606473 725160401 499025815 667998403 443988085 283808135 955242839 208293987 241872217 440363937 262595303 706454981 151657501 228732965 492264381 493902371 780138123 411388611 140299581 34206431 124829915 170136527 800965551 959957639 558768809 572620619 536560453 105689039 697154553 343571935 380595479 537985167 989115451 892239833 977522217 863729354 669867329 809580591 787646561 141990831 925732939 655821699 313578897 91832975 204756733 87614745 337021557 144286693 156489317 112483811 509304235 278263381 392593399 987448695 625680061 111639465 354053265 216327445 335303451 480423383 429426041 208416421 488064803 987487223 892449627 232612275 182392593 556309325 551292237 852572281 168763409 63512647 796104139 641041109 26075955 758720885 675697083 301608271 247628915 794300051 513039725 714490391 762263981 952853893 970048913 984100355 754239407 390775127 136721993 733471121 658480425 153823545 267940887 18975723 188213171 62922121 138230505 428551135 791337167 476926667 470352661 172282597 999565543 535053481 108147801 868333083 899976269 917203701 995140825 728964425 406179383 442029739 285770275 161048029 703114183 797864175 740617257 316043249 495101705 250091533 703757901 552235329 85637613 708362359 748326483 895962165 132613963 363855303 240982887 677671135 868172261 478225859 476687133 882675187 569185637 293867349 136659573 694370771 560786779 89465743 234948309 532420483 267271233 515791023 900902663 695464885 632609401 650853653 338961985 23932353 263188809 21965391 386215201 688219809 797584871 283018255 193546925 673138179 704631913 553672495 600803667 629605681 601115345 683933365 930460645 746886181 287243785 346145483 680533665 751368317 655057121 305627077 507268655 850969217 805439251 536448283 912496793 771787809 940496959 977775733 745146455 349190643 64560369 376908443 906778437 639694389 652309399 451281537 216928679 929442769 712451981 572052545 790434093 399237461 578015763 519403043 831680489 628588025 390298963 352930701 595228507 908343963 251386717 422209555 170472807 466490051 347382571 363645555 134373723 318698399 622375325 250055567 108987115 107664135 485782143 47512945 834519349 456696955 159348095 261490765 757881279 878287395 273140537 127963519 531682677 261129165 255279661 72124553 731646893 715282415 966749635 240739351 198702883 959659691 784939343 57650941 916707583 992262853 3164937 801775413 940744651 117888175 561218321 952540899 492179069 726401407 729370737 566222161 615412597 468468725 997667357 915656181 204983669 301153655 605090281 343289191 805640877 2291477 991741339 174721131 844123055 777744519 370711515 696816879 294400123 86727981 359034167 839355649 67319667 12929291 819017005 912486883 884401769 258986961 963780379 681294579 912569743 734800345 463343949 521970877 43042947 953649953 908695025 649240567 213559115 756576333 933169697 242812537 28288849 319252913 348882145 661791303 876332655 626524739 446988313 635154575 625385951 197976225 110888855 521203361 434113351 561329683 564375065 982518009 590294455 87671687 704498237 513409083 816924319 43634325 946156429 935204915 891106015 293730941 934914939 30930643 97234365 442325799 361621089 460219701 398707173 449225761 103613565 814770335 708088943 770295201 819307261 835463033 28112851 268811143 230562029 620464219 951650043 687843421 998275147 137815291 421034545 271617615 810097909 563953471 684120621 996007477 828048309 955600435 335026443 175942799 592184125 641460489 994089807 545096323 998243109 887751709 368143593 606339809 980537073 469028847 936243755 371907873 549456135 702649903 867244245 624343649 559017913 735377583 637922059 78818409 396069443 207699559 382522971 776958633 731193795 94578303 929955513 95610167 913229891 667349823 701950341 7030737 147491253 693957403 260343935 764038369 36396785 719971245 85866201 983709813 592424633 147197627 191065639 56484163 326990007 115788591 928209255 46144429 56298109 50399773 409533947 85065913 43891329 761101247 170281651 726017813 650926375 160840823 18933957 788314137 522813367 5914067 554600653 694028999 92885347 973087621 597339599 768900801 992779843 97389161 18860601 741327195 782614105 238568835 641524963 197085321 762604687 414779643 683320837 955552747 918105527 564291877 569046089 931462603 357431687 290413439 541497787 762744853 726435233 483701163 48500943 689984353 267273361 575359091 290639203 890215407 153874119 973034189 922458555 932671141 395317659 266835665 187687815 64479763 767334479 350566595 932619995 195244913 772775693 63425039 293671731 242034077 156680679 837614153 913617015 572488735 595437011 140160555 594564593 290385959 974493619 521975961 951208791 278583177 628411731 621460381 914985415 584853961 880844387 199393645 737467079 202795787 672362363 605913441 705728325 94403869 507340061 637891327 728051347 174579323 304285363 454095087 614042991 196091713 946343821 89146375 910810369 904842805 128228837 996362817 129962453 867047371 553032667 287482305 30747357 520884501 2065531 603780051 421919867 668836565 549006517 567476201 610453363 411704435 502820961 325101725 394979311 436820731 358829889 406162101 241382537 880493607 781239293 369845273 557550907 827255639 353227049 811714783 864476779 712470671 291019837 426227779 439281127 302659969 460881563 576272293 792322531 275367555 641048201 525497235 66072061 905252245 489492541 761441981 371216443 896745821 771631821 479271683 157479945 250482219 825908537 299468389 715449661 146608375 827468143 459470861 198197011 16027231 871848765 691755859 125824819 167503275 444212573 10789037 957787303 467620811 105840239 633146563 117710055 129813587 276628991 424144733 972594893 814716039 130005883 634726511 167187875 104173129 511952703 922849555 648348177 707505453 633621387 173372559 914358063 303059817 803035015 850254157 466014587 622760155 674252359 273344993 155636185 717158921 155440579 342864899 350807703 276165925 634405339 455191451 217376361 322718983 501665625 976824753 761865581 155419691 74634993 438396793 126125609 607094713 780184119 488263503 787911303 541073027 776889009 13988789 325381345 870997501 118697157 265406039 491865329 130123591 858257607 847634185 285220063 283069483 289105903 737581251 999365173 54820373 861706589 172756653 287013097 1233179 403246875 775812367 437170779 949165825 985722139 771460189 801900109 458175019 259507255 524128819 275961837 586220715 655919919 430158933 185778385 383962419 470801835 661801387 437265911 491660839 564931903 68678987 72089283 169270925 279685729 652446063 815427073 169045269 938995573 516023931 296626409 422744339 173896131 765952505 980168727 751423371 282850431 840233885 249378959 970476577 713678781 892587587 732099265 757804067 53729667 353498351 799171455 350857613 886387895 179601865 225149193 43612667 685108779 259854119 76865029 572178867 309873563 777811587 555471997 200655527 646333093 655139201 676310247 44111215 235619795 370520301 798382881 76264007 303997847 216734135 237004145 417848855 278144841 264359935 531447683 50440561 583090221 879147011 532237165 357498761 517890153 662499635 947574955 503219007 482440719 792571679 50246949 597032987 656188443 436747907 117218853 631706445 227896683 775235139 969768291 310170795 221125065 966894699 410155003 848412085 768302823 920301869 94493041 906148497 488707421 971478499 384301747 896415503 693287853 925764115 657754393 399599015 998890305 93608039 133086045 63424119 674719083 200777137 721968291 138774087 505252449 285640685 855318909 774877573 64607303 728894273 116934365 875524939 977013285 214263541 323292449 286448213 531403499 345585275 955541775 956136461 160447607 950401139 201970387 237039489 865788037 438142877 944242435 424511079 47788993 357064677 710327707 866633761 308211387 701260125 814809345 757783221 840245485 462780227 235697923 566700497 760721337 130578167 77368279 643445197 965338983 848984327 879689495 795050665 231972391 971489317 892074699 790788875 984350999 61163053 996997217 399073605 343482675 465070369 667714987 993824331 862720615 575393325 231101929 932488893 680200323 346427045 494902461 360688613 545505857 69926145 770421561 587433645 95742529 287488489 184291535 994571953 528012815 982163237 153288285 639090991 718330651 411787945 570025767 289982989 879561149 545108881 377215453 196212955 304379447 133871391 912107921 735615953 359461811 168467905 154561219 412589773 962036545 975765509 696394841 78230103 185418459 351909803 384601757 523790493 421663329 135215253 516698693 169607289 165730975 123086797 544302959 744609895 40896067 334956169 64788129 409475473 638206697 623330081 108205511 226740421 911423505 747581977 270383927 686473593 531082277 943840541 123602607 53977295 893606773 869060609 920328785 293753995 778515771 497886143 929146287 639818271 294302359 240013179 44285113 144300961 925007765 179440001 389744849 344561361 430455331 501844545 461881273 3033623 896828189 361449819 466644641 484491647 507275075 296975501 534824731 293629891 28753983 752552647 613937703 347177795 823364511 745173785 630719785 321007363 574240737 278315967 978818799 711181749 449317221 321371933 720273069 195912365 306203505 290592959 895409409 988896495 122793273 346861141 887533809 281464863 664600791 371727039 251106537 704710541 172725323 82280699 409298877 728633649 921191549 1578809 583162799 650146985 465175617 649355209 731975007 614627389 18967375 808828457 425441501 451740123 615536455 276268025 264475807 415445533 739160755 736553477 375499903 920060223 94718471 636593987 466963653 996611627 960010903 864623053 567451935 97643885 81142185 672662501 598456223 337826369 74504035 329838837 942085061 315226497 327326169 59589269 945657715 965567673 373095427 856703867 854726651 390591253 451808449 831627919 645988111 294312045 753329117 631435737 187626957 12547137 798314249 19979661 494778809 810002617 502997727 72507653 219567555 673308577 888180189 46459335 839682879 815308147 42415473 418002557 218855657 931466829 850194663 692566523 879965671 434076919 776487037 985562683 159680199 790054369 486862929 148238687 568889469 548989985 12322669 281642165 730185575 209888375 978304707 316024239 405307979 945039945 980728365 593799401 3350871 713876647 5773161 374694693 833514781 485595463 896233251 298738255 393046939 213587851 163984877 742583931 361306425 772308857 554024765 789545699 186793409 879440063 708471927 723608299 62501227 644422071 214684643 521719069 987490257 504258653 675665843 546339885 770044669 787971931 736726785 670828535 478275671 351501567 312418507 567479933 964943289 806199359 905073405 702225133 511583837 214175677 847346025 247325335 19282409 369351357 643799237 939474423 661870443 124971569 532550069 864208815 707654743 160407471 107356609 472328079 658819467 711225975 825958491 560628613 329467979 349047919 192417243 877765295 222212935 27765545 465446531 968922193 203702675 117588185 824096125 19601107 49490861 783264095 985829849 705813707 255515255 984485699 180177811 848184819 274636865 733802165 774029447 11339823 68167617 345126027 357204355 162650251 291360017 170960707 551262519 851073081 791303865 211179015 260867899 179449747 701525159 331828133 351869715 25269533 495963437 429301653 987809061 926873221 436332555 757668597 937423299 32888219 218495333 109193613 413398055 542843741 713908423 852521163 4049779 481844459 595650089 331786951 644940205 180790929 771115239 134008131 479224523 686414533 481519303 325843105 890076579 976933153 35368691 651793141 103291127 976806245 224428293 158750451 586252401 677090433 18945527 963187965 145746337 400440197 663952175 2915351 733715201 965406383 643745659 852138227 790193395 432109151 220649489 569523431 685504703 898168867 134387595 500774131 706267029 726273453 941626097 368798399 209128849 656826329 218613935 471124375 313544883 377142185 229123995 965532021 327148517 248798535 386921459 964634103 491619319 889391371 277391961 194874725 738964131 191733357 726572255 786911663 126865289 200764687 499703287 964726123 532871477 646590911 158990205 127731927 454398997 116063599 11716027 925852893 827462533 716406843 943387225 980848651 784244421 496784997 629361009 252234137 825678847 54303577 494120061 234077797 146312003 711756459 477228387 278477813 607282059 181277461 491763057 658244477 542086071 873783673 793405531 37439695 809536915 382832613 546630975 646473581 645447885 411961997 696237475 919993215 583010817 515699399 363723891 354883283 182614447 369986589 883689219 389502431 974059839 426776885 235436565 75609795 547422213 422429925 384494281 834366537 739542073 649400103 346711985 143760093 780043771 205953053 536089533 654756247 792291927 518024983 714194255 901584183 869406779 84650371 337408809 494655267 153890691 859075583 66853241 144093291 858454509 449599823 249993941 264158407 660044839 423147355 718945083 679994773 387692223 351243833 449115919 24747231 477989165 283475747 466508319 633127503 76592853 284500349 613964447 378244161 612472833 161006545 143943725 708203185 836036831 832374997 630738125 863856201 460983435 759384673 305156591 60213079 250686467 103154299 119949671 174654675 941567797 9594955 640821361 51557723 570686445 295348007 416612019 426065973 900191465 498603915 585971515 774255189 612847815 461729303 300935039 743861581 278468369 976948887 956658265 549333599 833732921 769251585 639655697 874003315 34363801 769156205 122333267 519646743 992641135 749193761 33786677 322840705 79794409 981934727 758443573 512954513 63153171 230553137 496100917 22239441 967942635 291849949 126436231 889942893 60042319 930042475 841946333 183369533 349300745 32693737 923184723 165584575 603241931 585218695 319627891 704282911 224848173 783007397 781178149 29374759 472599475 461805763 128336579 885387345 495620035 272852621 355693319 148803003 429473713 753313749 546032663 279576877 829807283 446299033 939585409 586453015 833939949 333115129 966687545 872204429 756175207 652365891 683860637 651382867 674786067 804870633 332719475 938837965 977476553 173913479 601424615 617162507 646505549 837598943 531738255 246117571 174509637 593891549 275864935 314353495 211581251 383243923 322649303 49632717 222195137 790224447 225127337 347018963 617717793 680455235 659718421 401381313 164524459 385339945 722677685 724140953 551543185 78191013 113440401 664284669 907493355 38819219 528227351 270806593 407475387 560181493 877760793 590200921 10198251 320571383 706653655 408732133 225413965 505543917 207449845 821872431 649276823 236335441 473811585 161504803 858623853 80319685 939633391 644680025 329140567 71848473 716597275 969324303 847587269 557764667 441061455 466574897 131956243 569005385 249290549 509048649 161401219 187572613 625194211 382630801 52524601 413660253 191976661 370673639 861268045 440307041 992245489 919098835 905800371 231977805 392905861 679722115 330911821 932672261 506558279 350095313 171796199 798011027 199064657 173771579 621111857 910225963 97520939 65994981 913675971 376153387 142402753 956389027 294989087 815209745 561009257 264917739 318436527 117512843 89123553 233618907 170255555 908603503 959450445 208385081 227768213 640488115 132747833 92374137 448729413 641898877 859964573 669260205 428950239 504949783 238936789 97431703 941749587 115586551 838642597 992566431 966155385 150147509 552233277 377405649 979434003 754906135 687707183 503440615 349586633 708385031 360657019 753115201 272224047 680558743 544507527 608037603 633259197 930184707 301712923 553732735 54111445 351498415 888926579 958004075 819747261 442487591 645729319 775670695 375313323 835409437 731467839 855281113 145730997 817320811 22290215 820414033 572180189 168619287 47054005 856013831 386976011 144570443 729064485 79405465 634134035 180367961 658425631 717188687 733568173 745072575 669996205 171036439 77556089 156354333 628072005 874622347 741924867 748137537 996232391 55674601 170289081 343804189 266178933 803256085 896329975 946972877 106537215 262808995 288928765 393695379 569153655 179019465 455219699 93113049 200185949 934711907 310159853 455836215 431545749 482427645 155368419 413521509 476266605 79479491 285966773 406271813 338357657 501009039 331359279 489497573 311313207 434463965 841105919 275540343 304454091 686514901 562559679 939741783 751981893 134664009 414365683 930350855 574720505 914035117 737260547 149677363 298318755 187296545 584943421 891846831 131150953 350063 810118367 181208181 513162713 469886465 111934471 487983015 643846633 734962 487584959 175188117 722442739 495880707 307314427 56598957 169415103 837716887 983320463 924640397 164519547 901695423 455650113 976024823 535548857 817595699 491703223 899637719 729463415 639767633 397464197 232353857 89001501 710858785 968536097 827360879 190813047 584135507 704178415 660491973 240695225 922174779 152373305 648390861 467298175 419877597 814619437 743551549 455051731 843074013 467132389 918189549 726341919 61304713 742119525 682220769 25127479 375518685 963235731 282553671 144872795 429296245 653793345 881659759 168828207 589577623 476666411 559051477 113737665 164061493 716777199 756626717 174635397 522722279 226798359 83166993 978405467 150145001 676043541 961818535 887211141 842599459 142614081 409030391 575232433 525472551 79221727 208265543 158534645 922530345 652789269 905431039 405395661 59056649 980575989 246095029 152134689 155257935 192219003 427370021 445979963 204632619 366521989 297669423 101619667 876097907 418661853 162419169 706672387 941676967 881423157 347033195 309878867 801468141 535794469 59677741 620503729 476095765 968280623 790482085 786186607 427492503 557572029 896828547 517982541 458905489 26622241 107598487 577479535 78282955 152433809 311207647 904986211 815931571 635225649 163895163 842814237 483999843 429806345 103448505 220306939 447944855 638501899 62071563 899881411 452652217 780773647 408624139 691139233 187185623 100760023 622991743 221168425 582902695 360775949 301459281 754186077 963482507 577365825 73850773 455003549 808135049 547014125 474136451 249366969 572291919 536183923 712214659 136649703 252631349 934320411 192642333 510718401 801158459 62879767 590354949 900995407 815315463 105769087 444676373 426088445 731348971 557828437 649376339 222987171 979985371 341998211 213582569 530314617 385827447 758813657 791299115 426286377 543763719 718173201 895880339 840735677 667740283 766601165 264718533 514388653 498466921 344623251 455192715 508413653 517445137 380456409 79923161 477673851 268228953 304986101 178279371 316967241 771860433 762890025 891822499 386252633 227430833 485607583 679312333 126143013 664981207 157142375 896621789 338168467 720347595 513506683 172982925 932287217 654109883 292851387 94652609 279359987 709646465 31029235 278387843 409099193 76667289 845451219 148787463 672438981 627973933 973379569 683157673 491673861 8821257 554619859 613685229 574547151 498275241 293524449 953525883 33258463 328579879 376361067 790448681 483948125 240872015 43792555 488414705 651865043 354236045 213786561 9591031 556370489 905454585 966090169 549522821 72973035 78885971 562907265 849064465 837492653 603184131 349425909 131044403 547093933 581367061 376603605 678758319 707121283 447682115 392256203 791149427 514990377 111217133 846371175 395131535 556255493 659504919 388689441 81087295 167910115 695585905 67599711 123165671 618627067 555608405 264734309 991755283 297487083 563856065 118388329 851381109 161842867 713967707 570973055 223187175 200161733 723821939 610695085 472478575 963805429 508537857 35027931 452782389 974957183 507416483 291138263 411719823 338366219 66373793 924270175 517072121 265475235 647554793 732522513 979972115 546396605 311525653 678009 511124139 595691065 197615969 978366981 739508147 183367257 802501815 925065233 853288261 603820491 797004707 778706395 903583143 732261029 641414497 209261457 265343043 326851173 358980299 198101823 628501675 797780719 249853293 776548323 97624477 389544337 67146355 304309339 577696249 47108605 793945013 574495345 971709389 763343189 41212083 441383383 173676875 635626781 844887955 577123111 159071183 925781057 536442919 273780449 732366555 833093141 208049379 790130797 261929243 690823001 258218983 292372253 585032545 55048499 210440699 100810029 653172139 762779691 947805583 187967163 840595483 639797565 3619769 268820177 883075579 534624449 577620279 878765153 597403327 981904767 731993971 637886789 616374529 556028323 192132989 531955003 4379017 86275011 23806727 996616431 288096829 416465885 695995765 115443 612203313 370668115 565290189 174164157 8578979 628911351 303375549 884861361 542209269 348676089 923043743 560063511 185707441 477974267 161670511 24436257 620725389 18886655 750809815 853432041 340319 854285941 566758947 614679405 639005745 704966703 800003663 574299545 252743209 758999149 144381429 671465279 565909661 323019475 690299489 146429717 577063431 728097391 88205439 654179263 500442379 647105205 523104743 840547013 738383219 774434435 914413529 365379993 13575477 722235679 994388027 514219667 339689833 677209909 476027039 691027957 781824851 145475547 64704313 83597545 286838113 838100365 814834665 313268353 437741091 193278771 984826167 540626099 588353365 294166807 188673875 739340131 248990939 479005167 754674963 460860249 723670975 581677019 875684597 903890757 751254839 571874653 523512355 72809157 87019931 198155875 936627563 207138645 603181937 918052677 676461125 780946785 600192097 599399355 11104207 892449593 828328003 745335791 684162001 785714711 319853581 465827693 116113337 401247517 929926885 864175657 437772703 243773523 104288535 233576833 7811397 734818729 120510741 283969849 479277325 543426555 384615545 652518529 886891787 251822089 320935689 37951213 826449395 688004989 173769647 290942329 96517159 638490599 167278973 350386571 623805611 395627457 134655663 597221361 428599857 713545581 479743403 840140767 411933711 733928499 770052089 522898933 336127301 210974531 969868107 369421621 900968827 518580409 93153409 7755789 173796349 234594453 490438299 746731859 650737349 391493569 54874565 293018435 278034801 537827597 338045521 446276229 252894281 362190387 235475389 168686883 379575613 984848597 339944875 327791509 45433571 803016569 354325221 701688247 595066233 748444821 929298527 374442445 39601129 981707647 747752499 508658055 354960577 650188663 365043879 831653623 91715385 263030443 799065893 358402461 382508591 135886121 216659265 922413917 847705897 106081259 870481333 904508293 684313947 446430673 151686501 981965257 56046743 510492327 439094363 475633993 818792543 31160859 440631499 188650373 117670619 140907721 417971729 308208495 913721817 528516401 387046319 708843099 891192783 620836027 196496977 438281477 651899101 610250427 806078155 789110933 384385485 636544361 536461591 646289813 437014795 482535653 307583321 756364029 717770159 207420987 452758235 890867495 855628409 509815385 883481875 587258587 281716431 672742171 462902937 111381063 54220225 238343233 458696753 261204477 873055495 476235891 743070151 286135805 378826751 243085893 147599727 592621739 114310833 385743661 196702819 721100243 456041165 638641297 137755655 337156013 735809193 207046837 65348327 349414869 508567107 331933133 239010227 407501393 981247557 765964019 550836811 716509837 24040701 907124517 171931821 643190877 685078371 767669329 517406217 90858755 41328149 676302915 901774767 634365471 706179161 945474489 574535195 452984513 981981475 642661201 98887153 285778013 202016773 728972437 356565757 79016915 841479745 373482745 757583151 1332837 771560383 454808273 195322791 311399105 368452107 194554467 690413989 686673405 489523041 547383509 870144915 700698261 188803995 262236985 931982857 656214385 409182021 812913035 597507773 22513885 163591305 391233449 571293077 392083851 175531077 180749917 968755101 925298077 999054065 429269593 647521799 492305813 722791867 673884471 44195117 961353059 126519661 392714869 779189653 547818843 979448193 903018111 174384873 619127609 887424789 458630567 385789691 329075491 897731057 258108195 634581193 836704933 495533445 223094295 530346357 708692921 324552677 330131083 918215495 192487863 412697813 702814833 95588023 677500007 944339129 889715361 164348255 276187381 262200737 100208095 706930433 382318839 716481603 526013393 52466313 566549865 545475841 979243017 795267339 968305073 755207393 818446593 30681279 120096927 873165969 3895579 579767309 3554659 273773417 938597279 906955389 575407775 849435752 957584319 326634435 485358421 691413817 97502611 34289339 320374773 291610919 960442143 33344615 689768785 476742697 524740937 514500851 985650089 9300447 790817507 982382259 102743457 785992339 376139687 879599393 235581765 461435953 438742327 924661217 593339661 505588561 522306075 601308605 851336917 228835889 617890499 160685481 316919523 260363197 850680461 466162625 756399331 43732095 808206517 164617801 333572329 710356913 510543719 340922537 785094263 856837169 241715379 847778935 150965613 169604487 843721107 542595693 351683867 848196321 510723305 675942767 647148341 968735257 885317755 757794695 270266075 203714221 617622527 817403115 474414991 176564929 698760203 48418547 107727935 649542185 106345761 289680163 1037377 235953499 210796715 595819049 363400787 445361269 518037497 554565845 168059799 135481405 280697669 290519331 337374367 575336741 720258737 441659703 30177885 9630789 243292995 10329181 847861037 513655897 213712369 829893637 251217369 967118537 338626193 88039119 992542859 119841447 62209253 334549369 945769943 301277607 626362263 80898035 322513341 935661867 595402039 979336269 702985377 574496567 789041981 930865605 527879761 611787645 692336911 602178491 195240193 591146579 822996723 464276155 67253327 107452857 993645849 947702139 320386625 992014421 178909853 74295253 23962179 895078007 15235711 269499339 597513259 547048215 983300775 160354951 913788215 327732947 733342441 44810081 816486153 43353331 940492797 271264975 558005937 822273637 640032899 812017017 739880357 281185987 877541895 776232229 607057089 587003209 68868087 275677643 137041737 923364321 263214767 480266885 346271211 476513817 22482543 733790869 993004991 577051689 902376543 493237351 928423743 265917421 595791251 602008205 847182673 20263409 891080707 846843589 889950785 862433377 850002831 474213105 805601479 755881495 376271619 846607899 658433279 118866319 582738189 712675191 314856815 538293745 35448137 565250399 882830851 461430799 658401077 442256475 567810833 813545821 928652607 109597201 34993749 524714747 576772019 940638293 528901621 812937393 820478927 722362405 86819711 266746351 704036529 531367587 383698665 955991243 31166053 178696729 471112077 508147973 2463449 930752763 938054451 729980163 670098663 639683813 405004039 775394517 596466003 779904923 114738847 585872691 660945347 379963909 281787129 424060539 2223563 793011513 547660153 859452341 923012065 49984369 389527275 374666129 596592747 992465167 68196999 218307427 643823789 633634211 69359337 241722927 210963419 827698395 258476309 376747927 669749261 643383189 698723707 250080495 772588871 878893781 109255407 15988781 304282223 144836291 831468973 294045933 683762777 275581877 310420059 914640251 39813819 22931237 908972295 977468355 705954617 721792183 289382949 914420831 902910555 828630839 99610515 69826955 44063379 570729877 319113111 765297199 96826171 183284209 732835293 843487453 65276305 602998409 935485051 528306377 845783489 543450317 972901615 782630611 909626333 668692045 39554331 329867395 789653723 840303557 905578577 573996297 733133727 576780313 285775425 843338811 573246961 819628373 286114829 329451929 44595587 333445035 399890743 660756297 877650669 730851957 256818351 127385371 668151473 695112505 809360839 134125959 388974139 542173343 739201343 206770347 891754199 343049599 902577723 21277007 949810369 183507407 30559047 508914657 749228059 686555575 579903837 36294011 700309997 742666877 248443093 929090777 900176681 927330713 389028469 897729381 704575911 750200741 358106221 948607533 551966505 700226915 620784977 262052071 839147097 304117439 547770653 982759669 983914951 596712395 496477753 967714395 197921005 340742597 713023087 958207693 167534893 929319437 569452533 342169245 100932303 534817585 5333611 558540749 835445253 457372643 292089811 760998147 633499623 325770239 89933723 765868177 46231927 774280071 391599513 481729899 548324511 535539111 807191819 938195505 679559983 550551473 298019733 20188715 701962721 81444387 256635459 526587465 491492695 872247711 702314637 792114721 548490009 85031407 675595599 754101491 762403479 99407623 813336013 487965861 223109677 237105667 519175351 631628999 630841371 397141541 397919521 14573969 920167819 619231193 208683911 739307233 321354637 818304947 108026575 729410367 413760027 32056173 141132615 552679129 63510295 117204203 257881507 403118729 771308871 548018999 319717889 130353867 10417505 208862599 432735975 627383497 862149371 691975219 315916353 927819087 907565463 220626367 902601829 717827033 24812957 238433239 262468369 763616129 326216033 800943183 730642023 655696403 697242651 580597281 300976121 8040699 225099501 671793265 473894841 76207185 69005789 191713163 201468163 483634645 217124065 59830239 967118751 443265007 980965581 798277899 456615611 178995371 923484263 562445523 112772073 445545667 643971927 789508639 780258345 930418325 846642477 154877957 899091167 45877547 591827041 683589313 429881561 91558703 616474969 495143603 565732171 925796861 392235353 742162279 598488275 984651411 9341847 628446355 60261495 252525207 375761447 575558927 807651491 587992409 840869647 602795489 763437613 601505489 805314871 838036275 920218449 160366237 846895469 877219671 173089461 754226437 701883759 357545929 394152039 977837559 804879067 328115247 463394525 600898061 536915517 772725583 145233905 782400899 711983619 836309025 731104237 799656259 662391177 670938815 517835385 897284569 879791117 119668073 897270701 350443649 428669373 450147215 820084487 255040533 701064357 606167747 236392043 36856353 660189123 68921277 420602661 201599953 364261365 719676773 252020461 534014717 415006469 395767235 503751903 484219685 862036135 645392649 263627393 84884079 810607983 656289943 579982013 987013293 650235363 6014445 95395565 413210707 788987241 268677047 371875787 989880705 322587989 53955785 174142077 945092351 227387869 873661211 129954705 298509629 174878501 77032661 146869755 129792337 638600757 125181759 624392219 112528377 364926975 4106189 158219443 16355487 106453085 927047451 756118001 185578577 373110029 472359915 928446571 994477255 884145853 755011625 65010205 221827935 230511609 217751017 638752623 900836897 563525183 827352677 882653739 906035899 892838123 71939839 406280329 597827463 571669069 316803655 299980837 905456769 569200273 548092139 369242371 261157459 827208913 159941321 727748755 735998793 223526415 216280035 608583847 759880287 235677749 944664933 952048767 12381743 118312725 62996643 328212415 396339717 108476261 306769431 474500981 526018765 158433225 60849253 635376917 549255711 962352073 437985625 732930429 819220795 932365015 530334435 285638131 746873863 884100939 428178465 40380707 648235029 900378473 134496855 797277219 844182937 679575127 69064173 489685359 935313011 153366823 12709241 932934637 341492523 755836883 777634485 871448557 56687089 686634045 250750341 739079199 969379225 964580141 304038133 271407781 423376551 106733909 648486965 289955841 781077567 227003469 243084197 684941857 366508337 390854039 52163523 559820635 56491765 804268445 622664255 857317229 59902633 390892207 72787177 182909051 665070099 780667399 606684349 295095313 861622439 325679303 710485217 775693863 263484023 12611831 833188251 937280537 221202757 165967495 276592995 349093805 234087289 46949971 87149521 441206287 28676897 869626141 395796651 133952211 661232883 292201609 332420827 795022073 518089553 418091053 502415219 423649255 8825663 153201283 20463793 387748455 216536943 245209575 935495413 779142575 242405175 891742631 493014477 390355549 994184087 977461489 963688683 552238455 738912821 511338465 475873577 947563 76313699 212079735 620062093 462252811 630683669 959795613 715423297 934178965 278601451 796445731 55977369 606105265 631230765 908555203 956553997 747148649 795215051 409711135 299327557 725258549 966499417 931643325 928876041 946844145 885284891 492155667 22248269 782946785 732419317 575690103 860825133 880209589 742154615 827225643 473654507 640191615 686271193 985431895 461445875 895767743 523070455 473538319 854418903 500747097 72331869 78723659 472483925 753768859 335324473 232179691 108898639 360927033 78898271 928212923 886690511 35006289 289065297 147047273 912137 585810281 976734263 579036561 663133529 751567981 621012189 775924915 174798657 991144883 503789503 182624825 186400111 498360311 781140215 629387121 708499633 76454497 233459537 963760281 257421063 742788475 638090041 198194639 855931539 412628539 754921927 196211743 143861921 21696257 278742971 391221367 248480417 818336399 500995707 547084467 685144369 27675925 109021975 127459987 236937491 313484069 400984903 976720575 235227189 158918847 517464169 204870603 430347431 956847173 45097605 52609327 499349925 23311753 70185803 112529995 951645843 154369725 220339473 161502057 904699 758385023 355603925 322460347 439093395 699606997 829298241 705375067 11355699 43782441 939292323 946978889 784938721 403936597 315589619 186663789 558867397 250530195 733230287 350048923 475511349 898590601 157615229 373852809 469065387 849384517 336225265 539459547 538001869 435119421 952067261 315152411 80704353 119382859 813686819 182260919 498088799 210875319 156537355 702882825 355570911 30255405 536797697 980791381 829124903 907546309 641762881 834764993 224578721 482115831 905985189 862209633 73407967 276965037 306637239 618386731 587421341 178890289 419957671 251212547 533928129 990667835 259693899 631834289 44312401 75418855 961636643 280766695 613450117 12556985 204566615 768449343 778065847 255935905 242491827 184658743 544090729 838021617 907400369 86360891 193490245 627067753 212106863 143670685 872387107 73652781 734416053 228958611 896619515 836486603 704446193 859311169 545094127 196564535 860980029 227452847 447446605 894100689 278281047 204349391 352696199 377522009 547785125 889192825 652802361 330273537 76141111 569645425 230309157 848924509 602775491 739894621 569711159 532056939 744139435 379503823 928585601 844675213 225589749 603296835 69331265 80581523 497173583 541424149 129170903 392028083 387180817 627800467 25132243 352424841 810453307 677276653 386893795 18594841 208972405 689431355 456898021 446096849 921273867 989843841 954812379 116769671 915088377 666132389 578841585 936047481 763391961 276304505 980091515 206849099 439063031 532223415 730243315 445695499 257786941 182185729 929774843 574757165 656934215 552717023 551214947 235484559 221889363 772305859 724151577 318319989 296412487 550965509 904771131 983360143 880073653 898735079 442269963 277463281 708624849 19845779 18926325 780716567 989575803 551451929 567465357 573402087 803060027 814974067 984586125 962637233 683011903 102174595 767884249 570846501 451830881 707513361 341147773 122964323 920803357 392412621 335103913 48008177 689219741 839689555 870165179 979097533 686399407 935956259 813311287 721592857 840552907 607613095 465262021 256652227 472576781 927063343 236489019 933890019 876244033 975708917 109693845 937600771 486055379 187569691 875199219 441274907 911157469 896743849 672199841 765218183 916865051 897475215 937175573 730056717 952860917 14710953 549532647 325004247 860608637 713787319 479503581 91561855 798180967 769002083 134428895 315618047 58949139 72734013 499906053 789882557 555194251 559145407 634303365 313046663 519796347 418171721 808701637 484002449 725331771 574270503 135613009 908928121 790881737 740884103 608015067 3282501 806335185 848049029 132774973 755022689 543806109 613913633 749119613 785987491 727318567 997430341 308131013 326886471 437531661 510887871 650306151 281681141 183353751 738615117 198820321 989419191 756258739 547829647 483057619 988146437 413154299 9487883 796488203 965756089 521649579 813577781 932510331 227489053 836738733 572918375 978676797 21835481 590289551 165972705 33652375 597540613 168063369 107896525 475625971 157462559 575815543 736374073 69553381 436428555 498183909 19636771 184501541 891679255 132291583 4250985 944472219 95373303 904220573 945841111 927656015 306194633 673781313 689900571 843405685 247701779 577467661 861180881 333847657 417146559 54997717 482453111 271588269 666572839 352521997 597518459 940446957 321597701 753510101 441504811 643655677 34504577 752162805 987791039 595696599 764351781 936094685 427835739 691414941 206386663 574813347 925831689 428110749 119251239 135066631 444968631 770442827 250019495 611759727 684193345 870019903 517020565 904242155 215125349 26467901 328951687 123478835 746986959 591043633 38150523 849167525 809495825 503346735 167397589 638851401 204213155 367568497 157605473 203669455 168333797 962206555 291548503 702898059 832043809 407137911 104313939 16864129 257253513 60636539 84770905 270957907 319498295 321649983 691000793 543206485 864298537 120654535 970271653 929618045 790071627 186929727 110740477 45023591 146557039 546522107 93824391 863121247 642818379 278461303 149997643 296376913 730288003 283815507 705307333 963169493 611052447 763303771 163904205 388449067 126532113 105440133 941258923 228570683 430704691 842109161 209312267 745711249 543331651 762633677 553114883 594449257 730651501 921103257 67336463 262478237 504945347 148695011 6709783 309467319 264332859 597158247 816921957 106356199 625530041 38729989 19589297 468969219 33482757 617952457 433305365 18624395 438193617 233464041 664004635 528147877 745453749 804316349 191283883 644230945 856736565 211794891 621892639 512487031 247998647 905376957 967220527 948276677 327105677 287417445 163804421 558896083 586073841 56739521 853937197 485226767 987329541 305440753 407959963 482465427 240174289 563695939 583451053 88980251 839970375 186216489 304861993 447588369 445948991 325634877 991836731 717785731 685777531 243494213 39213945 977097767 110655909 352859179 83196639 898967135 996421197 232535041 578111187 410064175 593743343 840490501 932510499 127157833 287322599 603057049 517292037 863623173 789676163 659494213 932781331 68059743 655614451 902368193 221115989 546329599 253974863 56454887 350863673 461383991 87662489 277241017 532459921 177496315 982304443 462186595 226186397 966628843 664236165 169277241 262094847 366040399 640820657 65241013 214892233 669732887 426003681 804092025 352370797 289865689 645490077 708384083 396417993 342390741 842968917 101059639 135304225 321434609 483663973 117280827 928573477 965973949 958512909 379242665 717588199 896607089 976346743 251429863 969170663 74362091 968424883 508572811 150429963 683001521 423620795 820613199 900891549 127789815 821442929 958644501 108397907 836712079 585429147 871732717 190080587 11085821 36742895 728402949 265215755 882992739 727613443 98196411 47817599 166657685 294418777 580736401 718009853 17542153 330106713 303395637 951584323 961180123 830288471 721022583 857591923 979623895 457683851 718638163 809915933 801478505 408512535 85442029 136937271 235715241 646240769 567914383 860602141 417458007 706652991 220214703 163792275 649370587 916564647 863397349 415328713 862834241 644413177 371939829 337249617 251588419 441780707 765576397 551599915 749157183 903763699 837359997 687083195 913990463 253790883 612429377 339937487 571170285 708290387 477503357 724191899 997719717 872502863 397213373 627981501 222018661 871473349 457111985 537590331 656849107 76934865 751613753 295201153 345465663 702026865 180051027 17360227 554307489 582914195 338586415 954300963 315644311 923090437 31139357 136852577 874322791 585245311 250353307 840424493 226744069 958066599 583559753 750551037 958235395 643755009 917871093 445137835 116975013 5005313 988968593 117695871 30703565 991594753 221861943 523590439 909513231 575381057 370905901 903128757 695629217 555413481 887134429 129477031 292458335 11315213 89957593 26013157 215696597 10689443 641876959 978360507 791734575 49079695 163087055 818329565 711344709 93782427 923814839 822330985 186663831 300898165 669436617 498387427 624452939 886871991 922199393 627966779 699349299 901511909 909860097 829729733 432817603 374783589 894877267 552109117 878289179 477187979 479623215 233470409 630199299 545426061 391164045 943357175 81576683 28311951 447012239 349732027 296668905 573314459 970307715 225566067 53202619 190528927 661369563 747728357 244793291 771866997 996826419 683033663 950946087 926318305 642731597 256151315 802166407 596640393 797881879 971056735 765586249 554819327 402300063 924056203 242940277 702754239 212665637 553351009 439944377 74502183 613319947 726642457 980075887 523675777 219636443 441859405 676227475 594885375 838135113 806038535 809366479 506283193 613108273 460994735 638104687 657162929 455351703 573422879 902987887 90326739 288848547 476343953 545912937 290068203 753109675 605956779 473614249 673885109 977280553 28562553 644683035 901412307 308735425 327098229 243145303 269097165 458167101 454873207 709426845 684692501 622106769 827126469 208942547 91540995 350017243 367038223 725806987 885580507 465903961 109456489 186295799 105102275 390250617 621559633 984520957 490194381 387382991 217916073 683282207 791393523 616923159 827833025 665236623 593134871 583485489 375869519 995030049 596905729 783252009 333838701 389770329 480870755 46439221 325476515 58135643 505399253 736317869 928253919 914973431 286539225 264928279 244467571 52899749 662932953 319253531 359475999 616737155 870568485 467127183 796799239 502352471 347270135 227923311 434633911 879229333 46523505 452145371 739573799 978011983 723679643 949010465 18812595 333346631 155508071 351313329 409027105 357516261 115698861 995734827 211485595 713820471 982881839 625291855 918034619 208365555 757235607 700672519 373556859 52663931 264646773 218795883 432241217 780747731 828302147 269055153 659821275 109178029 578429537 249628225 789305727 162245215 743770907 881166241 755232967 906960361 491612833 376211081 735325627 462472945 134157579 297702355 829880007 406789321 435479131 643664513 893375681 443104101 203047289 932335295 915047399 672982117 109331257 258667743 768166107 936087057 201430355 754427999 269751727 398882393 646530409 812092639 565765845 121185745 85978625 595925293 905401897 141461693 564912529 576501819 535198709 226805249 429015919 361826853 792780257 344936493 796788445 931970349 215319047 557065335 926148099 395027135 523459553 585076161 214753013 602788463 515469653 140961681 212394667 29399287 659938225 378862357 778028039 462030649 418606761 533901351 231431887 865443653 48291163 12964931 763415225 36665161 597258573 651898259 470237785 669472419 421009259 500897251 149582389 5896917 173855497 169065903 585159605 571707019 834423017 685487889 12523561 509981337 62879787 272214741 119433161 265964281 719387487 806526823 388118715 859562959 584639867 24793567 329931267 493430885 922692315 59704573 917550229 526041135 382838851 488582695 991525963 535528393 5730785 514016877 282623205 348930039 602440779 252505991 908869387 707569313 29923199 190025939 263140689 452625373 590736865 580585049 749680943 987384549 268921663 988850633 601124869 607587613 137830861 912054137 509891613 751659793 949138217 369792871 443246507 780525937 962299223 317463101 486293443 733072923 68408263 524599369 179788651 909316883 641477709 803991683 758520969 985612161 275250725 974617479 694104305 800884925 890962165 937347745 748375897 542489405 82522059 232165053 287998053 123276199 804615197 638559605 662502303 87610823 768125637 399033349 469060725 211521421 904902923 101688919 918767937 424435225 43766683 325718007 802658887 604292265 826623371 639374111 255143085 138497453 771224409 504319919 658233223 901941685 281655271 633850923 520778443 573064831 57177991 55726789 736820317 513469931 755112683 381397075 721543941 908669703 936768047 919514453 949129589 585645829 440179677 34961137 589977415 253164095 131811293 440598009 292206585 77364027 121631369 571853281 522152441 56160163 639482779 775270345 281262483 443649865 797076793 350645625 691372547 356487467 872366833 192279135 482086507 544704617 19540663 521035413 519851219 471766353 925285353 926914009 262740781 833099349 266462797 336550033 409550419 909326609 402905359 773983435 721257731 412534599 267868613 800077123 123332329 274151395 715272043 863757909 551313813 6211065 662054249 664448777 578480515 552398785 41523849 10728973 842650897 240208803 38069251 962527929 697340809 955008295 81242225 748761101 495991323 328472577 428716251 967634353 800865509 159099149 818494895 79384305 394710499 202235725 906648511 332391881 904851457 703877357 282107211 778682323 454442511 833769537 60736247 677735769 231348167 257016003 432591567 325675595 923966155 59036695 508388171 243707199 57917859 658856199 691077191 681493109 20270273 199555719 572401161 797220563 333827965 499557043 374463037 238654699 964747033 19303375 658500345 198084591 642350527 100741443 125769657 749416645 325317503 397250213 853245027 837240047 105717075 19166383 265262661 832138141 292484637 524079685 664427285 885626537 917695397 398331761 230889453 350002063 15276443 936872041 108738645 49121913 28921499 550129285 193270073 732252469 787404583 548177225 995105263 371189819 793470115 952276835 648907573 527495079 343744613 35173795 493286447 12774981 121110693 883435013 255840617 944323201 21311877 660634285 823199195 512805237 730373645 323366631 576823777 34042333 857356077 963696675 327871039 396462369 80363201 654935809 629031205 676570707 700024457 873993791 90494757 970568999 396221743 608525773 562282559 396965117 343613763 76303291 913508567 834252767 505112639 768062789 552992443 919702905 464023939 382166993 597242401 303086115 218200923 581257701 560130723 236884955 552142325 44632633 55530569 847959885 531056749 626180775 886326399 964585155 937631683 634874159 689974043 255132471 279782881 739018497 473587545 436024135 299146391 541949293 685358305 722304571 681946781 307136753 852483261 897852673 186729113 453426733 797302371 94943027 925050383 346124015 454174899 742365197 322963061 714924329 284719855 675498873 85238303 667064311 77963719 384526085 520519507 322180251 33623117 221933799 804087097 133540225 206017281 294162689 245659873 96547131 933678791 544986585 216171587 438483335 302802925 806383517 777149253 982889029 845732135 771948325 128347819 962842755 389677203 495073521 133858601 162363765 243684021 578811433 52789849 523115889 641944445 499316121 30811067 20611839 155486527 673694397 929913783 239563209 837202871 116038319 565744801 521891235 365785867 858395449 440937903 805667207 69129929 277150155 493145607 896237209 862055143 367067771 772975021 786361123 333128895 64455945 837798037 952190361 528922137 540747227 31104921 176147863 549856803 454592769 47358327 19999455 104435311 906388787 637903837 131719775 439898107 39333583 728034903 766241061 146901551 962276573 232977251 76524401 310373335 93028875 612645727 720492965 432204327 878281651 11408789 123787597 991665083 66737873 148926263 392252441 948988317 866312463 72685663 985312999 514733109 168795579 326343947 224901817 186117213 645101773 780503591 240266685 117014095 397915105 404678277 499895875 829814449 631158083 989434843 605483463 354159505 15522015 813696461 765811181 636845411 112557389 937554149 385240449 11399175 650112717 931485585 697211251 880786877 984600135 493538091 631455201 338374201 33622087 934568693 327094543 213057419 342636551 180406043 811076709 225560881 69061223 720476073 612642683 638253331 881636075 192862619 859665159 210468987 740129989 640995283 819232239 160153377 129681867 429382169 406765631 91404319 383970685 482712095 281399847 452910845 319122945 412557949 997844743 459631273 530130727 468329911 502603359 795697781 905376615 880509747 512360665 611752225 485588703 569536579 320989005 357383633 872214615 450429729 614785969 859327763 103895101 58899951 157770795 56926171 311292331 270853045 229396487 32304775 585306461 921173349 56469175 571437533 719729341 279753431 324524247 491875335 461004505 198759373 697784617 83016095 593878887 323700465 256522647 172710049 156924361 134661333 644522553 568979311 599175683 305062127 428572229 983477209 131151815 247572131 213816611 642328083 648940397 334091319 452197723 981924797 749680881 159015393 43046817 963449049 772240635 234523831 809758673 990312149 716397019 320827835 895204845 663700873 45209227 674225367 144644897 762844205 28032421 45218267 713214143 470504043 918161523 917927297 387434309 475098445 22037477 25206891 943174485 349381707 816135569 952593441 732927161 651698753 865578167 70380051 356846437 951543413 191203133 867091101 103918709 609512337 127144115 197211649 567540011 346821807 604689231 566320995 540514803 375617609 330098419 123711449 915052385 798746437 910432293 927775579 20959535 272148977 706836757 424255947 194878785 828706561 776096407 483342321 9412257 813604501 294596911 254543997 202040451 421152559 879128063 121523979 999534403 334131389 249923547 278572315 5832549 963588501 770347577 284882199 164852881 70126963 642982965 385760591 601361565 891147903 133406619 684195579 916031619 650841155 644347351 973839169 118397287 664418487 603396865 68992037 601309587 67344183 748044505 995228061 706739069 270228359 270154693 110509183 66771133 481558741 859490263 615895949 872806681 306801849 521654211 203440751 788513145 252283949 461482473 97320121 785207027 220460695 66485073 76829411 574084035 3851971 917069995 5720397 801918537 845657065 462618957 179781443 181084177 524059303 136114743 840854515 706367697 899330557 387164943 920734073 244067169 995015261 976082725 802748373 381382343 13065883 6218353 367987183 16061739 91914483 970347153 172673691 388445925 351521805 622800331 987661199 783860075 412086771 869905939 206966385 650316899 161910555 887378939 548675525 794428569 326477669 634860487 575019519 29262591 641111827 487058009 612664953 992128943 945758675 635168837 516853363 356584687 11720635 87555775 872571925 280588841 372786249 341181609 963180403 877755119 760334177 974979977 353441155 908932607 563594321 674426509 656562473 334089273 243389643 463393677 70004783 354899371 602875889 754404361 298081347 480118407 220279623 858429991 627027455 845404713 857194425 706631609 211063271 725594643 419104411 190567731 712487265 546834161 641235117 315543221 223228353 481555861 879444245 455873799 453167933 299628029 97259611 757575321 47571963 558071883 738206587 463345281 294415103 260296137 214409933 827139965 597702973 616102379 862506777 735321335 918026893 595318605 416189067 693753853 547370675 80102065 795567033 542909511 342750293 405414915 716655265 592220979 142114821 658222935 325850533 654564041 862946111 601634279 716651159 726914231 772840801 56804117 552819111 730904919 680332981 558572911 891959415 64779429 497885549 899007913 664902409 125022539 687666337 592234395 416354509 932343189 135193429 383614793 488961429 617316479 57954671 726862303 906402977 601366179 237697217 352173233 488114069 558452045 635901957 248377913 638267775 668545385 47740893 357220123 197028307 958871695 197369297 566342433 681846639 767269375 900645715 201121345 204478873 102648223 576206523 989292435 21019389 360477951 397427277 786870875 834417329 412136535 972869423 53210375 860962097 511831943 648595571 380734503 483132261 997843731 313393171 758468983 223905175 341717291 86253041 12008667 216342141 349025449 847144661 92027231 203535927 650085899 587501425 209547315 409066311 539526775 630580061 553854901 975873435 525712573 808287259 262845033 315838347 227519061 842482197 996848121 126610639 522935899 178473883 71060535 493739409 107723419 24471527 897578527 467179357 369180291 884172827 552449749 976277543 920391719 867790911 374938277 324310861 32062281 77239877 601575937 596933267 326359121 404473093 29721731 841812777 998097741 318281537 14220785 25997987 713625843 390285987 698385717 159367165 884737443 257743035 778667361 335616157 253820007 491067395 937606835 629793105 778593259 794983131 572918667 963943757 153144199 944127119 379841399 857165105 54230075 709631055 396555817 284436479 121809325 324754483 291476603 596561445 965195055 863187517 268065139 548751481 215666357 891213655 965184315 890595127 449235423 848024145 341466663 824128775 953535221 235018979 37594031 885065715 384798695 590570675 431550843 584394867 893716809 32221767 664620627 707922531 36352863 104293391 723321131 638719495 915200781 241674087 206259231 59436303 503504611 689609615 89466225 468220813 824234007 667743409 662944909 829552897 507763595 313473245 259651845 611486031 891500741 622420747 933154711 653475269 471934707 920494113 236217125 251330583 507300335 759713763 54783929 399284067 596351285 231469575 892779399 393816367 187297519 926072099 684444651 113029223 56875241 722362807 751966823 280245345 469944223 873790769 869301159 847143897 466592555 936267487 120492671 505376759 792304727 501806329 236935401 188948805 582762899 941546917 336080649 822472379 776929271 641126375 403559977 350502579 626010173 142026933 532876735 854120949 152425939 870861795 235904099 355155631 456647619 520016183 539151577 674383219 233205703 771780951 139766031 891264065 431266109 356776151 407319829 773431677 603867693 38501679 277792295 653194995 674110535 866516415 115652521 9951451 753479649 576717009 322756133 610537681 731865337 800237209 362937425 360373979 175327801 666496555 759474693 853231717 148780015 243374221 572460357 14208323 607564563 983845797 419077951 559669429 912329281 229752135 824016195 952379489 630491333 143700009 413299149 391344977 414792587 43863281 857250177 708118267 975330349 788505891 383933995 757791295 480270823 931268659 989979069 632669791 38620835 891943547 617739601 715769865 276368877 931594809 855909421 615411795 682946047 601077401 635872441 844562361 542219449 933863085 775276429 404680483 78985375 776119915 326304863 906868957 269638627 56363959 385309973 742580633 237907803 939186523 902607035 63528825 978103687 354409477 349189251 206317311 928498061 561566031 447585993 235733019 484658751 569199293 681788941 622875937 405986065 115037877 258189823 386659277 8177955 368588169 449738865 174997061 957620285 483784821 548323931 817529877 560306125 702261397 678448357 227252023 473809901 928336377 734488663 841731331 696602715 71919243 742487333 256327489 787428731 276419371 784868585 953435933 393427297 581223573 147827049 224623661 614417091 325168245 4751247 368632685 259659775 754127453 140576879 858363971 104622107 404069571 767257155 629342591 486929867 851660811 302891885 113319505 562401889 31528317 731852155 471811419 234067679 899613259 819846689 791027615 556280045 549390989 274757173 958680459 814185943 894202949 781920449 157990903 847283095 121442397 951237099 849632029 232137165 586192293 348831751 846523297 407699645 416502745 499637907 303550357 500471897 858834069 515944241 198604139 598917431 94556263 841390251 818993409 160786327 79371199 367459319 437384861 925033055 437977077 726666541 733736427 321980961 17357899 765837457 637027583 409451535 831967467 161109903 698776921 24383247 738413541 314886587 275660511 870815907 351921203 148842959 640719579 653095931 19713207 661139631 195048195 347328753 564980025 188786279 947267191 617814785 837418859 446951719 237492921 471237717 78530533 515636301 136677047 939899067 664274729 895586141 596573127 341496489 394614943 633111807 359944359 652401729 816034205 40458761 132921465 735186505 405594711 65428597 375273423 710194991 101686511 806530151 665772955 884249101 186794609 225662763 979072569 984160671 805804491 255852083 618015347 624974669 529032921 524556313 513719921 883825193 717486939 142880163 18559693 743645671 845326331 431643833 524939649 684977639 407173449 620003697 593125619 64570419 308103871 888877319 433944305 444413559 522694077 503477467 496606127 575460107 968710287 55511931 9210571 565941741 353496931 476801431 292113483 17305543 384682837 616961807 480717723 636812521 564845413 902942691 958829201 757713989 450580349 844258621 398727275 700246145 89718637 794515061 478996171 706600159 444116463 615733761 505763009 752813135 601738659 905533577 351658947 740902507 60816403 251919317 942552237 942994543 225120435 235662297 46895299 632016453 59972057 411440047 928819891 31603067 7747525 29302429 542049685 529186887 594600869 200503053 170757091 859753099 389128327 340168083 82366593 429730509 907548259 680141799 893458369 562804539 625276703 45751793 653447765 586014381 224192383 122116793 71074395 748411299 765373495 763153779 742984793 846782277 572092641 931282043 793912891 507879519 927119613 411209811 387434581 850503787 650614515 802227367 713123433 334010505 36608791 934543691 618385559 162966653 538998945 476347703 883376239 900224441 151068849 534338963 59559399 911910995 344820561 365537959 958882905 864518155 973854323 262581993 276702093 223933767 365633265 409015279 262352047 662090775 229922697 55747459 436727637 770315571 640874985 960573579 29915773 469504249 247491485 104193053 85887371 153013873 950786851 583842419 3931979 295711305 592202969 588932593 293029621 25634779 425967113 298207265 390149925 481697315 731604965 901087415 746564319 632074955 636831879 118049935 31807635 456502049 587437549 958707373 376022293 999659291 856636165 716289337 565513377 750844507 419601051 650670217 700508637 654122279 903034989 822559767 849896663 499956077 551958041 721089927 178817027 516612549 519960105 431729573 874197823 416994927 707080975 237183841 94891217 605696595 865698339 276627675 624563301 508698109 250102953 705220689 776170513 611593895 957480647 378047283 625584467 910533937 30806159 29250321 417295885 575755039 801148667 310199975 467379087 72072611 307523821 823804635 794755983 792104083 339743789 556974003 144207145 441416045 469103725 600982887 996795361 778330205 400589383 379024207 549833383 279545133 276319289 139677425 815326413 895716949 631344047 229821175 783022355 390674425 146355193 353733683 240305309 851858649 240607571 831977121 549013495 595292011 664271321 12876903 435727899 251674305 354575513 461994189 180819809 16397727 966814339 474418501 10381967 331652457 300980591 88334959 347701205 494361389 86964513 807575307 657351111 157216423 995455039 763693829 98874465 330105651 328477531 914981999 628605963 598012631 593934319 173328007 360674447 603095877 621466973 882248877 426851363 649685203 468744685 568257391 620468839 775097731 280762319 679551871 863754077 767289335 243503135 979868345 900292211 79594625 254893535 775182623 673912703 772344857 825206003 683706845 991683519 978797407 343789363 437006919 563632855 261666711 386780499 777095381 114408403 738558387 564305909 282997295 818293291 844639561 786770085 285813789 712704187 26546071 842537171 788034707 529897159 589129351 412030167 592712365 446473471 715660201 609337587 981896109 355586167 638895919 584191567 639112193 995011499 825693437 771283455 575305271 197436801 160117145 763152891 174765583 76255815 857336115 379742757 991746923 595586737 29118111 373459269 11389269 334407389 736490081 635086347 603762435 410017617 30825883 415763987 143889101 522125305 950475041 414380765 217797431 513752363 118974055 194812115 899496941 938317477 60418191 969169989 981028035 677790857 678058335 224250477 398392501 867767401 797145669 300836971 99798753 276800565 578539353 938652747 343736729 967318351 453661787 175238139 15541579 779328889 201515441 858747991 199094679 575938531 515187053 43980319 899014203 247162911 211073091 877279995 756647975 434234157 781573779 916962431 101814379 527080049 937226597 310949155 676057411 877212345 732037993 121112391 38269203 322927417 712250357 898894903 539108711 5710991 167993353 52669729 634623983 810721729 442418507 15707169 785756043 658401595 57769739 682325815 913609017 79336403 93943615 101330251 171325225 577964997 651253641 667698993 754554795 769019319 545609775 603848353 58038845 147129271 92506401 266973499 500800639 732040763 242870515 128455561 80321855 381094173 598748137 850052605 28200813 479704743 271600357 464824817 167437609 698947713 105925755 775575717 246310067 843782851 65462751 552643649 453524341 557190379 100326899 150864601 767444231 143624413 443060283 794732899 860987935 87145957 497645035 774956229 548266405 913975227 175892181 503368899 119291809 608677755 23497339 725435153 730850887 190059689 761660163 714494025 203044593 474227253 683189821 94080233 786123557 827425139 209131169 727831647 330478477 219797279 583162447 677951991 730489085 808801375 722807307 49370607 573383535 213561793 856364103 223438949 948459269 161854009 768786455 663618147 247942413 996870183 32668735 220570843 685017337 956292685 234094627 40951717 193532261 384811225 601444563 752964229 229462291 41788001 731845127 989463073 556392943 174303969 565654813 512174861 238658061 363397825 539447325 716223167 670609063 858267595 399851701 570075291 813491489 436390967 202906429 665628393 739783173 219527073 482040247 93698011 479639559 520695309 937711301 348238985 380927235 315009771 107149499 56204279 438528763 662893069 60659853 869362699 658985245 807706291 846225629 763893399 345028281 955845249 526416113 548538455 439067211 191863941 932532151 762043367 379674741 139916851 110785223 124390615 529926407 95182441 216275297 88704145 958448623 975987309 210297195 418025845 552790091 177254123 332637813 767608767 545401183 581733113 731332279 296594587 372363155 295524115 776171025 313153305 179624829 472016415 913974535 577867571 43428567 359484011 174289865 663856843 812738951 727724717 147735857 315183785 409350291 153272065 10253245 286424959 461611827 41158635 230221971 974428901 964239807 774040409 842929283 40135261 758758589 777002401 714042627 828458065 331112405 67989633 380592949 171528977 115131101 880976413 751748319 60771801 559854289 796485633 950824815 979150789 930472657 134408229 489910527 447366371 453258025 699913189 595103563 843682595 113453647 405714183 838569149 38390109 210889181 261858487 698049891 431686227 37700499 563959433 21764595 660325295 873188961 294311293 548620493 776451329 465294167 272209657 870945531 843745475 82408627 163316679 707945769 207731543 346591957 303866653 426988719 86672899 503663947 14113689 466981517 416887293 573581767 334240833 596250729 270005083 411191589 872430465 99260819 94748703 969887335 407348785 596682755 195287347 96757687 456428681 733112665 195157351 349023597 965149491 939077593 242758261 606538497 990819385 519043955 846647805 480816661 346283027 258251457 356702859 950578551 176443037 63732737 708268685 234229785 571347995 729655321 833270623 239044631 405878333 429402521 798215233 345943987 319119637 718492599 553548125 259044441 880590883 391276885 424155843 742509981 202617163 683386361 825155949 285229113 115539419 262510801 657889851 447554831 416704391 675274167 271726327 765365293 612042093 584832039 681256789 112088519 745277203 728608331 339510763 716272435 324638565 202509807 898877755 865530875 454089145 150252941 93868717 65496261 416552651 405973829 337992597 100189799 870486979 864224731 619702315 144664795 824586539 316787649 669390479 294049859 624986105 500107277 240671691 66792431 650821261 396118911 827428051 795251533 934192553 119063423 280083323 975869179 44785019 142432537 895943561 372210109 195237019 38091783 432442789 109571963 25505027 745368999 945301597 146541643 374007063 989002241 129914159 447951207 422611113 528675525 302018937 357257267 962573803 876049479 285452167 669009209 201250427 262814347 439125895 115126063 49589343 602795573 812799635 443458541 8855297 881166229 57853871 391697785 189560379 925391265 602477249 79674619 378818375 923401467 699433885 910129097 525283275 573888745 422360827 270958175 673138389 988837977 672193403 23874397 910836187 196860645 899553959 87789199 308431799 41692105 598008817 344663019 560478129 150666989 62076339 981363849 930746485 860616163 109354539 202811311 574960921 452423391 185772167 339647431 850013211 30336963 244139987 221935971 910118495 689941267 751022093 748550209 9706545 688574209 7197971 486119489 660420681 466241123 184135087 205110897 428987587 192493497 877937299 707236353 110889507 369503785 645032791 869110097 624520281 908298373 49346943 369696481 575020983 372660287 760624497 286336605 128566269 213437565 492764543 301067159 994529615 415840001 974312677 476585357 614449979 727362875 199079617 933802335 229067701 648273221 225132829 176872283 79511067 275166427 314208235 457381363 779765811 68692071 854151171 369609923 211022121 699799543 756618279 851051405 765054611 830294083 353095169 770419005 924445551 175707049 67530019 674312421 803123487 689526575 192377859 830448323 889559667 298360201 489325317 528249145 360391841 817792521 523710833 989904849 191907397 527557553 24214137 520454207 650264163 135648809 762145333 186008415 728540521 45267645 36650663 691134515 149251629 637756775 786384057 92101351 183014125 360086983 854186811 630179791 45814861 764839969 381376489 807240805 207141467 386462311 522315359 263873613 210542475 687685935 958513963 716488785 860373435 683225785 197765821 879768933 211240751 21964779 153336429 901339557 86367127 470250837 657617789 150964051 824743687 762348079 351130135 443036125 746150651 795002711 334617675 647940819 323759449 792907349 130192661 134319345 119466863 212957785 770565457 913750299 959549170 812602681 578866381 682389851 446341375 449718387 509530937 509717989 913616155 939449905 91039533 415170071 126459957 283155009 151047467 478891887 328108447 573629209 345818781 33688219 970306071 128816347 999895251 513013873 849019077 925066829 808301063 569752807 79592499 424108509 838577241 501321251 57790809 694136483 197012181 801827695 848228499 665034593 385980011 510737473 473330853 366477177 36608241 979215665 58484159 338077183 52675629 850770693 11999861 111904935 444583111 642817447 896218307 897488593 833516879 84659497 398322959 649886343 478447935 972583623 340074279 436386163 286982649 883218405 954832703 784466417 269917123 853966607 654582517 778914303 370510547 303637239 808537167 523313219 196900925 439052663 968929977 228792591 184589575 461102229 849919497 793884501 10427673 894588283 197468539 847354809 744663107 63675771 114073271 11803521 707790655 92916499 136991943 545487261 487165101 823842531 186227491 714168739 623176729 512372409 283051173 6289105 498846961 194832519 781858967 718794001 586085777 17562473 408558497 782227953 728263225 764816033 363617499 350664103 92128273 470289561 379434691 522474005 320792621 448557033 907335741 380185537 178967173 211913289 544361367 848566489 926884601 828582811 985747845 163302965 441271891 345230573 15148581 829659221 35066183 29828465 955589117 156154977 201037673 15797635 339936503 664639269 964967487 165264805 296196461 854849563 415993903 354430851 808300825 239716963 180447629 702091505 458915363 406759361 890212753 731811561 140527125 475881383 260718427 234346127 318847717 548378155 242761461 738123821 603417075 992876301 226936913 787690551 506905857 129076403 231999049 548224585 575139133 573473581 199062429 848063013 371693629 679627059 114293749 496578743 240510207 503158563 917768421 859832083 532856039 354480133 77966051 595999091 53607105 713983111 309287507 837919291 275861957 836199427 370094205 85282549 437861007 882665333 601753749 656644951 492551715 447574151 830036655 752183865 754298097 634438791 666226385 618825375 827479499 821472107 78882785 275599031 991592689 580263637 784023729 214325969 417707785 418599691 497438973 499980393 855068699 405179899 190150243 882831651 15976611 850007613 363703661 999798217 53692537 3000849 701475469 266685265 692634597 433974879 486408475 433641939 102104211 801586099 791498331 647514517 863190681 622998855 704691827 574571007 795230067 647806459 500457845 615505063 338555145 879916371 905031261 649214025 217083557 340087937 692717575 478609349 540367871 422863195 403618371 397307177 415257137 206885727 518377147 656719013 826217669 770035383 812070927 135946137 267424931 225141043 394867899 875025795 944170277 706691909 536814123 583679763 780163843 355118865 644234671 355873049 689176423 678902621 226195843 563026323 236370141 719472281 564027845 409006753 504504921 82837977 302730111 514284433 24877113 330395617 320566689 265814996 554788675 430540309 904108041 507178503 758345123 313823107 697145971 17857261 838210031 943014887 274317707 323472497 554318883 503592091 217263585 416668839 635104421 109800363 380754159 410332871 720646979 585961667 101807639 79705145 593273907 587225659 817623969 731405189 348369679 384406547 937893821 749719391 77789151 662088947 676896649 398149537 562751505 850504999 938632705 944568401 691807095 567024041 585150737 221454491 307353423 837108505 362643081 406393293 804052801 913267899 541139747 723173991 901452377 394343297 28055935 586866443 713220107 969597185 474027817 184785795 731083573 638755961 667919761 196274115 617564443 527715795 189371663 679868647 803293805 153061021 65300965 761790513 975640637 89237263 61752125 511828493 675749643 400968967 535471655 257089295 790448061 300087565 595849885 643832561 732648091 906682705 185771647 335219607 706322017 191503015 155153049 757164043 725775655 142695313 798934937 556855681 372505973 112860983 443496219 149618261 378170167 493412455 915423391 228962059 251066563 846413975 254989967 532805451 226190295 926159081 598343483 381014251 714188437 824779555 197693917 478701285 693617293 699353779 410412437 136740445 203583413 389598641 138026607 547547549 807690089 102512093 440613465 403526427 243360621 501144477 944735791 736367 756793585 56531203 885554865 635231069 264449927 155558083 881056647 858758355 349888047 115086653 151827525 19232225 907170381 250528633 367950179 214760643 894961327 688144423 367327553 918228957 267392137 958500509 513125675 575845563 731673721 878325211 523373647 11898127 927078277 872769927 787964105 40227251 497947671 689984753 239789209 654381997 195140361 465795599 672525479 464978213 837227671 5646979 79192519 755012211 639866211 428823187 385833393 361769229 83542397 328887855 862520837 628956825 846209883 708420587 858846029 931942883 269230807 732608521 419037181 347241437 530416697 486324081 239025513 362514081 587185967 251916977 293373655 619753077 559659467 851027711 819341933 930355907 629615499 559459133 818759231 856395037 239891543 697964271 321236293 470867009 468895099 148593479 830713951 531266831 97243819 815467549 742477143 186870677 603915013 839036653 422557663 245878277 587586573 728978911 560318609 473658811 976075955 482335427 332988395 202306617 728149067 780981777 286297947 242049067 936741777 953628649 17966637 906196067 78017963 782905615 322211999 67143903 75957031 727932405 846179535 97057217 110496505 992219055 602891207 655472211 859276159 88248065 1778297 394378761 90834303 349575503 604409023 731905919 258248485 289601961 9469015 134775671 771319047 63980999 155494381 649588701 737145635 840258823 894327827 345529539 25390557 251002225 662335039 976323431 463913729 91663027 859519957 773836587 859648711 827000101 804063517 317055129 122463433 638423753 718464585 859528807 119109905 156887617 45778547 211580013 818777351 941407201 109230233 357039279 933481093 970821276 845286567 927813209 45220549 906686231 970836589 276767935 930946413 843004051 794974887 628232795 757467529 762531843 430102515 669087697 750140051 352470271 896813531 706268395 855567715 229644483 697095121 815355295 68719935 433812791 466731053 804979461 319196375 294021611 506796849 752319585 642528063 404724503 988454407 261101089 492232437 387163801 817749951 201998549 808384731 880602875 840848469 4434489 55920449 260152935 243805093 561581617 87683805 327662521 909433981 375487431 856847305 926389103 839355277 366554673 661934733 904996015 79660141 245054919 199704855 630444105 195662497 654420751 681356217 825145267 336598669 458103219 794282547 842129423 586150025 539434373 814028969 355179299 184026569 509655425 304774823 175109725 181532527 564653259 904745509 205472727 534116743 645873071 991757439 761504077 709018625 83598495 678084987 670427433 681287605 338970421 811358787 860414327 930171237 119633719 347587697 608756467 54401723 764560271 731340543 228810231 720487751 450474319 661867859 655924111 136342915 990833843 785269307 98988135 9918929 610845729 132584173 675020759 55718265 407519521 884815875 705885407 808818091 976792421 70622853 235443493 27243139 808787405 879112415 258257913 858361345 737361241 106473447 533951827 885233423 287142965 276557275 402093267 702140029 847519923 313094493 678786237 347506181 639561809 35068543 876222209 360353095 803649201 664839603 9079353 286900943 292629149 31459029 306422947 325509387 761134345 340605487 541966117 613346135 296067599 226069353 214556751 433207027 460943861 209770141 69528919 756061193 417292325 145031493 234218783 311836841 729629747 2170183 824841517 696692685 657418969 376075759 227728559 467882581 522205947 121633527 294898559 807547917 325917347 279912311 413435673 394691747 219350533 642593015 619451813 232179891 712925821 962913379 731747573 383225021 218214797 488461071 502465917 110874665 866082785 482043837 186178911 754045003 939938893 154434445 79114591 632130395 972520651 759807247 238973423 640757625 622418815 362386233 623740965 810413489 265606067 400426087 198555329 967613681 950009053 556147037 56322345 904116501 515992981 384228937 127590511 636654043 883031199 540479425 173264967 809056753 126339047 244892099 757023249 18811365 563690881 31342259 209017813 474882351 354080935 421734495 305068867 79788339 632921789 948306171 231327919 370663995 675944527 520718885 262988317 175409781 256338445 485189601 619900465 713176317 837548503 888571807 919744827 30851793 343208875 296245555 924303409 926113247 289353401 417795033 214925749 914881011 723933777 471217463 122458381 548435403 605303535 986980955 989741351 157743621 215623479 187014329 546669469 432233515 316404469 862144817 385151915 986798511 786774555 597320453 168919353 688963819 560300483 753047267 739232729 616413725 365374259 65684961 798582207 912366195 154176723 764629117 817532109 453516025 608650555 11720089 796029831 300489133 492050465 315696519 520311327 917246573 921486187 565795065 892319083 184931331 986129957 767196683 949510635 320147233 334288257 4142919 833266885 92643679 146019289 354992277 765785801 107135041 572520883 510818383 144289135 764585005 746974905 715107375 642442709 740908405 467412671 282024539 466187717 762156885 675410621 897077345 64527017 993447659 229840859 955001397 153264285 481951297 652810335 885790005 931321181 303155017 54816449 850324263 896368979 267863259 403919003 515399991 210155149 213368249 826493359 695792379 573869507 394675087 59418345 515531119 906976083 981172201 120878429 745347579 613793347 783346499 858514245 167183209 457865541 289663999 177636611 480610033 890259377 938581349 764434981 250967853 70284419 4978343 918901853 192310053 474490213 676331485 26717319 50214215 590676899 721083657 987398053 508698725 720901431 370155285 17267685 587411647 219880385 330479827 183742869 789515001 825677189 769471993 519031349 361224479 929596021 219739691 215873895 878257065 373592359 697400815 81692661 826161267 331633115 503994299 978325715 21107139 779943799 110605029 979077661 826318149 74877067 297669809 864933399 612188943 897555023 953234243 530299945 445900445 649812385 708134579 74679785 291745749 211223561 965923317 298232849 501767173 569758391 243867115 288970629 446246115 538524033 538153057 18965071 671272329 690806757 682303751 78069925 427546495 959173133 938775157 556439007 249564081 256480711 960858413 879271809 743551349 880706441 332693657 730254393 599256457 758903157 303019017 482425559 108120849 652911185 736510903 311373143 281146009 555670155 411671491 582741469 839775513 81432379 913190201 723760053 820434157 24805665 642069769 83785807 656079577 837442469 297052939 909025355 162868493 346386387 171960577 442656359 266423323 51765095 641876371 290118803 958682115 607972283 621776213 552577759 617279273 943612633 458070975 976942729 448571739 998844529 929045555 112358129 403885775 651473113 446322935 341502627 535810335 176151057 648876609 983620693 940428883 796082367 944591655 684584929 474059735 109343539 555188907 746812233 602535809 580802661 399677621 281248695 324712589 853358323 836477209 714655363 632002723 154626597 607877775 569297443 523838157 610801387 699108791 390762815 425953921 830119643 929101341 253749149 276620447 335644979 891856175 504663861 297061993 17624029 384656713 480097057 401661071 527369831 714270379 668200611 739123747 485927175 909359741 86488103 39298469 481885599 844852691 659789375 271636473 964896949 867356837 695085225 495966059 51316343 309383379 677091143 669598389 620184509 79986983 212198179 375055343 724616455 93184085 466057585 551874463 921965949 952656881 865337997 926769077 913285099 938830721 885042425 4458629 640555467 660379501 263314017 792769483 734737981 255209475 465143959 93594541 330656517 272761985 806711449 774019001 33535893 22870021 684249481 279485413 385308163 948573849 836339633 352103307 8694799 90462257 784420229 361734771 852587039 45768097 145237153 846029771 415347779 980956079 718025 15450405 470036275 356301313 407868133 614567295 315755853 467750443 555656715 976943681 470858137 846445731 49667189 624537655 10876613 717022157 208164485 602669715 341993003 318034675 700151243 443722231 949929671 724612931 626887157 782900071 773035587 898540759 841710049 723960653 331746285 102002099 202523795 339588227 468404155 627273917 389890099 999896387 293334351 49355463 705830167 882119731 650410223 296532365 575924409 817731425 805797513 333088941 864599229 653209409 496966837 396777649 817697263 680444339 260755891 93536267 728070463 861407479 221615211 636554259 127289549 745856705 533895017 860318733 152750295 565172001 86922215 995566111 684941517 570844565 989033157 254205531 459739199 585655813 572660615 790668221 550045161 361386427 192145247 444187939 509294767 254081133 698138147 780701271 118802077 608480571 815922001 990775051 991441893 641681319 38887187 519329239 626645985 510444193 741761849 118008125 280787991 684855163 160457781 941756583 269801777 884233973 301590571 470866279 117759489 290155571 64103393 634606515 192329347 295025603 416359879 168053167 834080989 932948633 533682929 977032291 228109909 961385235 715563043 335141567 67502179 487564279 52996287 654444705 931558817 213286255 876636121 555038661 902276305 351770645 765899047 668424919 44183007 121093091 11623941 739899495 932403933 747998529 888978559 816999407 37095689 198407673 611114049 450684625 516770755 632924225 762939299 295165269 297484185 453462969 758338725 775075757 763244349 171377763 956028911 792995569 159302795 759123885 406984141 61080099 550373253 85329773 697619769 164216109 158166871 155717345 878460115 443193311 876018005 942728621 688275935 524951283 544675831 613898461 734383951 461464331 438218725 979238889 835555001 331336621 556996327 507785645 174893915 174624335 92765937 542641007 908885791 458913095 659539231 154389465 620764051 537053399 226571955 627651589 926106351 782524457 541486105 104435821 494719249 331055181 908031461 81979383 549075585 571319101 149700049 353125105 182271341 769239257 981071297 218074639 429948591 907665901 186489023 431313265 678880963 247037735 616204289 748798873 19625171 456986659 764621791 249533557 591341997 275802721 641592029 469048923 915528903 61536843 731404967 193714439 261402947 659884081 151481105 436756129 14967013 272129357 502189845 301061299 321021729 631996095 438745047 854136117 316245001 157927571 555028387 853700481 262797663 174191287 657280233 855739233 166481289 74486791 552840007 953794557 829746329 876349763 496322177 584397039 319477059 582201877 164004735 192318257 894790119 61369867 470024535 798653481 928649613 488801187 836418117 973965987 858487013 996974909 601612457 601533399 772994373 377101343 847207951 720423009 827781035 978085245 506666029 323705159 437930945 175221617 449869275 444830453 510906071 613402619 199941663 468101185 539890399 833462275 479294243 465309031 679923069 880235613 84654393 846694671 998260471 438398657 214127069 20082499 284878141 289900239 178030773 779106937 197935843 787456787 847346311 693307537 999646251 239682043 937777227 201796557 63278589 353845473 933887515 644698075 156031207 261231881 766136375 480600785 983490079 964782747 893835791 648454189 298077831 382087077 652043061 753404883 38877091 757829413 729469537 500066575 975754917 522661369 999701115 700614553 459326309 246511083 397972363 702579341 327526751 441167533 498744259 933494641 854848187 437855449 15282819 979368241 257753417 862081775 7563083 734481185 838855041 433236567 387476679 663060481 768713603 180645987 799029195 973766389 936860179 660897615 174342735 177690251 841886625 95481145 841599611 963377081 973121863 153818923 445232535 617639641 412337091 165381655 90581783 540000435 708301947 523520983 31261079 936045427 904379519 312937513 61163993 419889583 344904071 878663097 262756809 397295461 390534897 927967513 342555003 651221751 552706243 672890303 895641641 438406199 554871473 702751503 819256119 484752213 845198605 129691473 996045103 870528499 834278363 307299511 87090885 505325075 682968509 457679451 367800277 700053285 923551495 522913595 286157409 540016379 796042925 905434435 463307671 543277269 40166737 900454469 332746949 274961495 545572407 638774519 535907947 993129615 152695377 977308669 689278763 152643825 98277175 20515039 392465617 344847963 510259235 4101903 573491021 220837907 605828355 392185061 662198205 92093637 15981409 827064483 726974821 198234503 522323319 831970675 42881709 889418965 484118307 547482215 215613483 747277207 826012399 948302197 662512537 202968087 627215109 983190657 14311131 592615691 5175873 349399123 860901117 338762387 683778849 346212763 547662639 831192881 397988555 788474357 484975569 79489747 421881359 538775267 491844961 142548433 703557731 741866699 334895503 275010019 809125609 680285183 874000427 900143923 829730663 343249849 990672433 36062541 71449930 230813979 32403143 226340901 646234799 729435179 585518131 456046873 518569295 405898463 777952493 206433773 580139413 449245197 854847629 429022161 720835469 70111351 264819929 893065305 909286899 751039431 800511163 783144577 989299489 648792973 307920709 412830127 521976355 370594371 69872821 122069681 614752677 873257547 216970603 860971707 579444479 205890797 186928885 778195565 331612465 251691353 984215301 218186953 439360993 594437547 267427957 239260221 431065183 693317091 166727243 915542431 454627491 132044523 947782321 356652843 752759883 671222163 591156731 349568393 188929441 773662101 536122785 116055747 411320463 326437009 313097547 625846609 120359345 999080723 377734081 274876687 787880261 204172683 854399991 415292993 275144753 802534223 922764297 144168599 489614083 126345125 424202297 940778019 988441335 918099125 610889203 459221605 436219625 930459279 437998283 655049537 923575393 462936621 31586169 636374533 15557261 177952879 485305061 743854693 742866247 835397921 337542423 926951807 499115019 91755505 568492099 675688153 185373441 586985339 392178629 644481375 318918139 658343999 672606497 176435303 168870253 560093605 376991487 214095533 559044985 232377601 849195571 704143705 28114147 646885515 685795515 377276661 118412829 777138787 158921401 884233337 516991549 452188565 602609529 475580991 931133955 735425807 822899819 592825615 351506645 846990509 446900781 572518167 129246661 88900655 645260673 76549865 43284615 939441725 58270293 712371845 740216955 45867883 211392185 725091919 437457321 164631855 962980329 897044499 645234625 952877295 353745225 228280841 241196823 156853999 537611619 446713293 143314863 935165283 194728173 421905253 665779757 643993445 105735103 102983741 214230753 321720307 454387679 923367977 632552641 173948155 268524149 541566057 53358703 678787145 630654167 721015971 672407857 605617819 324388225 230157793 752429045 135455887 596830995 841467801 259237973 763766703 906484569 989682859 494943117 606117229 117963337 490395735 576198021 852534307 109980923 836957521 794149839 305106961 483077813 438960297 511946399 103101535 582787041 736293597 752664535 596387359 293112593 853946069 325534715 971001165 278345217 885423835 862048573 533537223 746670743 875604391 632512115 11779671 356248025 461507925 543478301 301604271 144080127 736324201 214179169 566730089 196157539 483968211 120427791 776273667 182976135 654495975 93799583 322012905 435386135 996186209 897287471 729818989 359188453 883962727 20377735 215434693 559321583 428017029 71531031 525375253 844489301 925001397 498649589 120315749 992982373 996126799 823203807 2493607 501248401 380007963 208534079 61776307 678491253 514829637 99886371 977652045 959335379 431478115 800473411 927918363 770078359 984261489 697328891 874125487 892194259 293789397 619811671 998840963 438314437 268501087 227450627 984641273 291251919 686904639 401754457 750384473 270580347 197150743 431956821 567912149 854496893 22152681 33029791 709021573 649337777 735261475 199171209 196345197 497147673 744983197 334963975 642721139 497916641 897665169 338296251 976545897 943591261 379359139 145199849 284544009 804272135 384686565 434673283 265474549 805638785 886502345 160477983 487481525 494421403 247945517 599782653 706606265 914008643 225205847 421467907 198678879 95251607 697365747 167534017 538564067 966771929 979838229 815591535 400713329 776484981 445466173 99021803 684252441 812090623 473823313 904305085 555336405 691735345 809041563 670953237 276136583 111421423 230820561 81654727 782404597 458838853 676686867 587201367 596362965 86830947 950105059 394673129 134325693 297478567 122617135 482991437 678188335 369379221 926424397 665781241 751290517 838666197 647469819 4050959 312078655 799298365 966702939 740055637 279943527 213405641 293309695 925186873 631880495 349804441 211100889 415298003 556782493 704647673 771953477 362316003 816205735 492223583 449168141 885566929 986255139 775068515 316352089 994654121 301590483 82117579 738204099 197981735 654894175 712068479 524577093 551696549 941027675 986448535 589387589 238909229 637684799 758174281 553674129 893349743 902449261 781864955 35607645 58754497 301784619 113197113 880477511 168579619 294540719 386185141 562136149 445581627 604635663 576913993 426840307 167928153 536509517 326187003 584623863 276262261 238552145 35742709 585173919 856058413 706574831 292546953 124524685 360445641 356726751 13181749 315314897 454513209 282577089 890245017 144569825 922208785 5111841 824361091 374395545 633944469 212113773 146675173 270413373 70691497 544651009 485185241 852861307 799146717 417075997 58804901 609879403 666135143 949434089 732294579 298231943 817043753 936339833 930529943 790047155 812662183 938300613 441131787 919436609 908514325 220314285 987312881 822413795 73029445 458813949 72837463 4464055 898437561 201441123 455893871 741825859 508924569 79216251 757485461 901678195 308085937 932746435 992939083 736448923 59903867 450209961 853840701 867133565 360915479 467628153 753731135 539735353 265475657 105978225 415055435 76139359 953303427 817281199 512674947 931738341 411922907 174230079 113050933 341527845 309344527 656819215 868526293 744156135 42091915 761226489 290234619 995656791 423357785 831978433 509474155 183666699 797387059 554459661 703350033 584393729 450644343 447340401 295062273 727417245 825433901 796680803 412089205 523011499 498723587 137305927 850445009 375804259 704575059 453584743 477568159 946853729 424030233 876515825 881317525 932148393 778236415 840313087 948633995 752355243 477051219 93280917 186425989 250168123 68123147 972288409 539894705 245395861 306256329 697715423 520532829 685928287 255242963 13107741 800551179 716510375 476926743 286103799 510151769 194373089 260817709 504998389 221687827 465911019 33847637 251037577 991835439 908217355 130863221 854331149 723137477 829279469 36785439 697875903 381495835 153037735 653182599 472920011 242611609 241016759 34358157 476188483 69388245 42736383 662724539 863834397 593527691 939784399 404868669 629536829 521892251 433249501 994621673 529146475 340636689 727289925 113618755 947053913 830423331 922531467 90300271 154569631 449280553 195005087 452522813 629193151 929103529 591221203 70133029 711652643 694491469 34627303 160908613 692278557 139296999 99718911 359366757 735428067 703254389 637328039 146523381 66100121 116795671 800815831 203566601 419066695 975883035 986225133 709976165 4399071 405744371 681549993 106968939 646981945 542035769 492452157 208449583 827526423 606337203 393641021 901773415 745277987 494542155 782274469 709086063 706610413 424877331 716746717 297997139 592868079 89705289 339922095 892356031 480515467 83900239 489372753 69025547 635935497 41440685 624611939 427438903 778636699 939373341 378605799 968629483 568680537 154945907 142188363 228429427 790625861 329542839 512874853 860646089 173586249 345477651 640975987 240653965 978068277 31235803 311521817 812954371 20881603 601895817 139993955 93606685 840248469 249659583 270977993 865901167 145984049 989990987 673815079 628290621 461064973 869094433 572970433 335076459 489489791 918379353 444494151 480055945 365322697 96616759 82098637 410344655 469778197 172046887 728439759 536700699 842616947 356141757 455725619 766074869 56171485 524486835 827440455 772262795 217948467 804693483 367876031 621591223 760567105 469312885 415268793 450463221 250146487 405095039 859460539 756089455 597922093 787126631 193034673 128588531 709098021 587635375 101478897 879114999 519097863 631352325 690793529 188888477 540394791 822458681 691974827 178410665 576439997 362735431 213470425 972974989 926242281 403354963 748406963 877382753 300262583 289362343 831870363 383103713 279453463 982492857 938535251 374834549 501773279 715391009 626294539 480542253 623440341 966442403 313121365 239056835 269819041 280267821 43130929 406722705 955370963 967652047 981113859 285837729 213957091 118851525 168786073 145332131 322915639 110541683 17637159 77170157 785197331 876857701 101013579 457414525 663455405 787403595 15655179 607164925 585514009 498359813 421189075 559739579 222840669 128452753 816935289 973578159 183274337 174360863 236797497 551561335 32302835 958962175 880147129 39993691 354719697 194440367 884160775 214950473 683610009 701333199 454720409 565958107 500617943 153755437 83371593 731842125 260658169 41649339 980720993 865223305 209787483 906349459 495643273 457953053 280200507 735448571 578043865 274462015 332296391 688509789 380763343 605234129 964735243 943234379 457723727 774021719 791697669 28722819 330736293 525557251 337503635 688255461 401310345 664030379 765100671 731513215 617634839 103865295 141507453 14206851 57829587 473851287 979309857 955755853 681628589 443652047 35644913 82556511 170065401 896383217 94380883 173065573 697886323 950198555 992784539 899854641 82205249 194914071 53605375 860272577 311492593 599430479 201358243 960455477 860504695 670590687 768051343 450028251 438672947 962115205 183709109 590339111 775604711 867521959 73148143 391774639 617232833 872453973 240318971 52590651 63490647 850518855 496274311 605762999 146868645 960788697 13253663 201462321 229583891 28167703 429049151 455614697 438289771 901738671 193598025 660335425 34113509 918617845 856434567 31054787 862137117 770980075 76727589 971506979 544650519 655605049 970887747 142233405 449823043 712848941 926036957 552763413 149930867 43931837 370542047 886906067 337674471 803572107 663964699 758572237 439369027 518722011 223883591 950528637 496649109 138462879 918099463 433750151 301542737 292238701 512978915 526764213 723710293 751964037 47886413 624440059 110250215 508650191 864250781 999494775 679913651 679934679 819980309 318398055 19332047 644456407 969516255 511480121 874201271 906856365 716615437 458545025 511482449 438365409 266839701 669912315 732557035 82226595 559751003 456384391 539803963 287608521 894190631 814381617 572303709 567707859 538141609 379950639 339814869 654805735 62689151 551518681 990858897 690613205 623828261 582848437 103396327 902076179 469551879 106583915 650524053 122909635 960154485 58924753 165671359 35902379 197007273 597296355 223271409 19960889 968032453 543244993 738759715 151231879 925163217 614479545 229367729 434501457 487990717 683616059 243541089 574182401 775904357 258767847 155098463 855733155 997302155 657927805 135678015 459582707 228248787 640136679 821777921 894968395 862110675 89814333 244428811 672771255 907085571 35039925 928791335 747440355 401056965 905678007 881829003 951118887 541117537 825946313 643438293 494768003 591130375 255288483 372882699 438032541 217829075 100846879 764433817 366440133 88580549 964804927 52758359 297470451 415237319 910108463 831042173 892788165 354326697 265732417 495923637 965130883 823953189 925876467 91902217 189904925 870360029 562472421 443740913 275801897 370020695 472864485 557901641 770795493 232677385 276512485 811969621 211053883 109861705 844440065 604466117 876183481 478679641 995259515 423328171 535113879 903636833 193418687 931880839 457161907 344545397 255434081 165010749 569221525 529662605 209723419 226380827 103134827 385385097 643397327 969628629 285290765 104906293 69605261 966638473 986450173 952821567 812926083 24421565 171021917 686319171 282897679 165839453 407267585 538911681 100331699 362300351 22836573 187389731 4526619 722933663 806091667 309336503 678564379 225390373 601849447 762724795 438688941 580305115 296057419 857193805 382440437 270284215 28375637 147329401 279383869 401849369 721865541 953893165 460832761 617583299 861350529 964462661 179348677 689066467 532788507 958287489 804403301 358794769 453737671 852378761 304138433 300442437 549834981 947275505 291569647 513238505 847863677 880322863 651513641 43806153 762975805 853320361 290565075 455619865 96454527 857944483 729470585 668096887 614207809 354020433 260121035 305942759 530271273 273607629 600028583 604356313 962610823 499877143 43076625 678994721 617998161 367231511 868820531 615098107 696119081 332566177 995514207 956353549 150514517 746892139 28628497 351168357 262014147 811243801 170036973 938890361 458468107 630226741 846602687 671863843 783499631 374509869 729813623 917612971 684491729 692968283 136677429 656893373 575561157 216675843 55139895 115453295 982012287 771696203 359001325 442572607 256452833 767402311 803845863 590295057 376683631 129169133 469235683 189538865 741694555 234321185 947643841 527393879 794152827 282642603 314582415 656039071 241606223 203639357 110599295 517418381 927277053 80323953 878003947 658201873 616427861 389959109 42561881 538805629 474501583 798833061 778075507 231771793 400196745 436033891 617003787 6563441 708713803 283160117 72522527 440191659 658172805 764554559 226504399 548436787 973137229 92319881 461346921 256659303 228568161 504612869 592301663 91915021 712178475 61521547 753825869 360140113 356365753 895779039 383031797 889321929 294604481 721283751 971559491 173008755 321197221 116423541 31403083 347650481 321315947 379316165 207035461 358652243 99316417 887118323 19871897 500730255 43519745 843430221 552647375 458996991 463693863 318517507 815846043 445293229 981044699 797932333 426968281 115886849 380274031 361465295 277903499 436046035 308125911 185139663 305228765 649129057 712431029 564952575 595523363 177334863 90376781 40412697 882552791 94359723 746101905 485494207 475899805 620546537 133080855 565272953 761253695 17053159 280047647 242665913 158855089 531571945 809296527 57294807 495811343 314631327 959765239 211546901 446216093 719259421 576341647 446963101 945240259 632409055 491934261 507362687 538440215 933999819 290954097 295168949 817333331 841552687 993680243 225424161 798227035 801588417 48883727 660223371 671516217 115296923 334696649 12978851 189413923 951599173 281046981 79700229 116828529 652695213 867213011 306621233 709031 960250149 41458281 476128401 635685747 294462059 607059113 554382453 373601701 531568551 547443801 426776855 711460409 669580643 292713447 678891673 990944595 721841303 355342955 288990721 416389183 698667423 814614181 841995845 791997549 315372351 837902333 507730235 937774205 307900327 598977919 497869989 914659117 982688619 946076389 221969197 537635437 876466823 532331919 601496419 169092685 474171745 470084993 408001217 573525513 251674055 752808045 28649127 782193415 802606573 736716457 390999905 542968781 138213233 346996789 823513885 969811219 590183001 381265847 435324151 289068211 659919889 482916223 826623983 816555181 44512367 88384133 847786989 489059377 544332975 121911655 277266629 692256911 283239033 155010413 98283823 153640517 408707287 531166087 341942221 495660531 987665729 114338121 48561189 881043815 847642769 774901239 848482219 161750163 910391825 360816501 436445369 608389267 655678569 198079313 637800335 76108457 806616241 510980551 525555543 132194113 313156455 847125683 339201823 318984941 906514799 201578139 938278629 512367979 354713367 688190387 457031815 515022491 620973331 158852813 656995025 986517899 457557889 336921707 279888497 493969263 136455909 931039667 542533379 370849949 740586287 92217719 689976325 510323613 725433011 305952555 100195813 313282075 641175341 830922737 24437489 918013925 233753285 532996493 937847905 680916987 561221381 435430257 964344665 587482495 214658019 437575091 470796259 680347835 417828543 52962321 530003437 587361315 377268059 105095927 213043281 23071571 492411109 464371823 949139411 268551693 572394227 326561073 67162137 751671103 172230787 83283361 526058167 720164343 922712311 40979649 50022949 30003317 204615969 140042561 293065411 385855259 107682355 315701371 951502811 752288117 785861835 386282347 552385183 788925747 245797869 932439995 302621991 736502579 171686409 699494073 589419895 558762105 538187761 568427611 584405109 197307181 742800869 316639811 91605749 583466405 960037515 249366197 760985261 402488155 119078379 723367845 884206913 262220787 24735873 816232869 155078969 119889977 241167397 584966903 302519559 709886749 301865247 913899137 941269509 527387837 147363099 171987669 375537521 632011613 427393583 142429991 309252471 241426533 402859479 133084759 111311913 242336109 4000763 167882735 50949245 881140523 213819877 736806681 956627799 361667205 464647501 979454897 389546111 972437383 766059853 516928821 618801575 536627809 659720047 608671179 290632551 842268275 527669915 441818947 452651587 161915709 566921771 539284501 182301089 844062569 701308119 966320735 946358995 681155535 814604233 874421993 636455443 240963173 166587789 329242147 958500739 745071441 667218711 111836961 370931755 360212447 505343173 621514917 321311997 917385089 189456221 919510039 985748945 279047891 504425227 685613189 211175529 174003351 330260581 685907365 132630383 483388087 940043623 579518169 166855539 976396107 299845239 150660647 380482545 525922697 160586083 481697085 234801221 72575705 133303393 457048691 583539389 567389635 610931979 862886857 404335497 96325371 495492969 10373095 91411393 308948061 732612841 273593625 286622311 138639851 103154013 255186009 233483109 294245073 918544387 480595013 308681867 707588193 182041731 572931623 283456147 632942873 137789929 277255401 739098143 775457179 12869545 705182247 654043319 251184561 140699807 282725151 445786571 856591695 926069269 818790327 531861431 331437457 148023989 912354175 992378043 810890681 570741139 512345263 35689985 657678387 925841199 486352165 993973913 959112595 415885935 118603113 896373373 199284115 626244507 713603497 560337295 82505239 273140591 702932159 502650517 835836457 121246211 503493415 548443205 307580669 34093023 507094027 819082293 84649711 855427311 99168825 769663975 378909315 911304585 700033831 523280323 908311905 157265769 139878391 557188637 744107871 566446775 867086445 649574445 4542327 184411901 44366843 913029909 659196109 645578291 1981625 636742363 332069805 288851381 450735715 839751029 516451463 915360583 13064545 462291895 458953977 703964185 756170179 212370023 870522055 266291645 689758273 610825517 396325081 445211955 784167227 973668249 334099525 173883871 55444405 955217957 888154439 815391887 331329121 187693361 604831295 327606391 742139029 801592839 110128825 122117173 746999631 963827675 333679723 718494927 951276601 265082049 688339501 468779695 944981153 796302015 36155653 340228271 5105791 482888893 842003229 46785803 737275249 17513355 892902599 742472805 99973567 188364513 112233343 4216013 894222679 58531427 402361577 377935545 786646227 644911771 768328145 731777539 173811311 259805175 139932969 156121843 533759253 626457555 345980683 935012151 360188243 992618861 226977725 542015201 443052127 675278579 197643945 714104175 470492955 871347315 836376929 57117385 92004107 948232933 350488739 931998267 385717601 93683501 193923407 56423289 815310323 347362069 318278003 873138593 123725377 764203083 625548097 661094967 91402867 356494697 422917141 178840107 13847125 267327219 280836977 767723727 246040161 144249935 175064065 851959013 249920693 921438417 187931799 160324493 908973083 599092399 578619185 910356823 709404413 104264205 572769265 411318583 52759159 196724725 931692577 318257035 96676679 50620757 419915061 80553753 444735699 528151047 634268105 671672845 160109611 377600463 254560415 778113277 925132549 627043667 726679459 968942567 935587523 438879525 995520745 509935407 560481131 911457985 742658475 248764065 474722477 213767045 477977419 409126517 289270493 718859707 837292121 966021701 458428925 261349269 321958275 811947547 984252085 143180843 877851815 540996447 498248531 657821823 123999175 532197867 692412621 561345149 999915023 412995833 753807301 704322545 808888531 465582127 628978047 343547799 62445709 917039257 644695277 997996049 785424865 432361905 168836005 580595943 415299225 963934799 837510375 926862731 889469099 834856377 454267035 322594901 332179247 736941727 416971853 646402953 546451817 166748693 852096055 184612941 690867655 483883673 614816823 239928755 297523417 356040461 346459349 941913525 338107995 833927105 653096001 591858741 53641265 866793835 881265489 382929403 696325991 821206053 264489091 685893561 957023021 38047351 279390977 145532679 533359587 469986895 371291545 373952359 820145159 378062335 793627587 705709891 439795017 480279879 496154781 743070955 734816633 756578377 714577391 464116633 683796883 39071895 750571303 132683887 204272827 321688611 829302879 13142389 185622845 157857867 68464979 457749659 767045003 392888019 120313451 896961727 171482431 47913195 671583161 618305181 713822239 942308903 634077169 383143391 1896725 869481859 770575733 338484763 609102131 936248421 71856457 157616581 104418487 721273755 980214303 435860799 528258561 117638235 591865167 425063893 599961759 918122815 576153555 842702519 159001667 549762895 110786905 715517437 391694279 616006391 702561067 592481193 479562801 445875469 600213827 196252835 474984363 115462607 238377791 293824959 796279433 823699423 843789671 902647989 867506243 360336719 816262059 417068839 165336705 393211535 859631265 456368539 845878795 481412481 688690823 249115271 688416213 529118825 511939143 935831361 537241083 701438705 885294703 91260683 873403583 347447091 300000311 594724877 39109005 279739049 586096765 499000411 680334839 826257721 959423689 293607661 653047995 236805679 728365129 908621989 722131131 476178245 708930261 665189193 482059265 282767763 301431791 209477773 896513729 739997345 440662969 871938315 812408407 14960475 790742535 28512067 543847493 138616597 407165773 337599647 324936505 307691153 909352365 862043247 748080129 585743599 571329515 668339947 444765341 161623743 301765753 752086073 430196015 719912695 518016621 698186589 889499905 465560563 108826247 257137483 270455177 811785335 203354157 61075933 833644383 513801393 825144943 522277587 694870855 283335991 680528645 184659157 842725679 351032327 279996239 850821239 347810087 845754245 904228177 602601777 746218091 647219071 9788091 124104803 743901279 702548521 919496679 37670999 736019341 873732897 266463955 247472447 270736043 122228843 643474469 168834101 664288657 874637175 824151595 143777849 675390019 751202329 858564577 245802291 191035375 853171085 999598051 568332535 64120805 799540089 432341369 346400827 796908705 537746155 853422993 409983907 399061191 424358743 678327235 228966585 503146019 170916253 424021327 689876715 543592103 96488703 386685981 589680275 515438445 277205547 136229307 451726837 451236283 455578167 170135135 1158199 686660089 150966689 477242857 770760813 798028991 15414603 758143203 920445581 376196035 878561159 136830841 57074299 271142125 877811975 903677059 707986175 501399363 324076519 338217601 536238283 737515517 898185905 337269913 304794489 588757877 224960845 727158171 613125255 753543723 567844373 839191295 329886817 151221199 861702339 992498659 877379929 600057395 376690557 202788879 983637157 698825295 97233873 204567795 211247465 243746123 54807475 685566117 238590893 469480303 333656193 6064867 3443043 815076655 709143553 354414615 401254245 190422053 699591519 565050959 984889969 863148055 774413361 362293313 81950259 382321647 804527987 13405263 17847867 61003457 626263181 742105983 456189189 51023047 73093193 257139839 839638767 95170147 785204191 497759401 991449411 645904675 456009705 16614649 913510705 171939003 886849903 488312087 830453463 92445697 233846495 182229077 935604785 736998911 791052043 707802791 357310507 30515419 566064691 48932783 347622805 765085417 134477051 387027889 450384425 222622119 929261935 40027295 74549129 660350647 474695687 855494415 627684413 80757987 374624415 276267841 692068023 963744033 247212925 294582299 967338575 205548425 892208717 262086701 208116807 592488543 340609829 590389935 264482505 800214799 244103553 647283327 361604581 761164077 676030791 969841957 10299029 136244083 929245637 886422481 29789627 494139077 545324209 176642135 331304735 806744879 691028773 68834875 472263281 620128481 551635625 653391777 176907853 201692985 926743593 391999065 140189491 635849147 817971963 350538457 253071501 176916751 60524509 789195075 566276523 175557131 859193843 256150107 575254215 908522665 262054857 188108437 22840835 53447437 170342999 750083843 22744679 581210243 587419129 90607719 63113443 680203389 597850995 21500457 537366355 867263381 37057781 416090453 927682935 394309777 366316305 281505189 380920313 215919449 6466503 875080825 422445417 592882691 559810427 459982293 740628801 988767691 798088699 919677291 941080801 934508049 136846205 627885457 517825685 336473955 297366939 241947207 991041163 424063089 838664797 742786099 123089375 44402971 894480175 243256741 884370833 65441633 931043815 405158293 437538699 562122351 956577217 678140577 360284059 749326743 379755107 285229073 796626047 350968661 162580189 825873109 503108311 209549391 89225375 461119617 274877993 421408333 677180043 170949209 249188843 231921475 83813347 379856961 679575665 775084619 455360343 555771847 597554177 150039211 980196857 990856487 139835331 88999629 761637961 112467005 438535365 63229765 475051819 640825231 832874245 510716363 92577515 717739343 518291553 716508231 653008961 994025045 103585701 114150337 408137035 435933469 119922559 383439725 705628297 774179023 4939659 692565415 961592301 730014781 244230473 329910001 504162763 521432283 505944353 846984951 444153823 285574089 602688871 778470797 501484623 703270609 426936657 18817963 881290921 860031839 314135557 887111289 767809763 690720651 669861767 520778303 607012439 208778003 272721355 146615155 283654861 398776929 816784299 535471019 676028787 64482693 708430821 701853361 928011739 602822961 21718567 861225835 860712195 457534921 133302269 53975279 632861779 661939795 847440869 199820663 604293783 427034495 317292605 785302887 790076161 686744739 585519695 149514313 389287475 466646717 298358093 308636113 29349681 285806455 582922577 938152669 433775717 107570719 788935257 625324139 311270569 797499051 934102865 142345897 907848759 321581245 491987211 110111723 356883381 238982809 773602109 661577131 123678001 260873777 432727947 734369165 59248415 727305757 514246271 609330781 127736671 817953433 256018053 243682573 169489457 732968589 315947773 615159223 204649801 800344715 844166947 945248415 179807413 785379783 668024611 624904499 823429625 94908705 523584271 785504515 63139061 857637923 638170589 795773131 923503355 844966391 962493041 215547761 315946427 799134329 9988755 205241083 257885271 580497703 665746933 344364961 443171409 808966183 859209519 172682427 586346137 332765513 361771205 81046479 55217793 689554693 698538525 244436359 404567753 828515193 769453705 533687477 601866901 371240301 26380355 608954711 376049779 835150159 725456237 547604365 312427863 927141433 353567503 753510565 95517087 868638439 288778267 128688655 294189585 47867587 56185449 733220459 738684631 684476635 291973051 460331129 597358731 103757029 449197755 288989221 876964135 887870531 649449467 250164097 485986579 680764155 870040817 911519179 325982233 311529659 705828607 783317091 807772783 998190043 941833841 350791127 511351733 304778843 467669367 752833241 337021933 819883233 517937961 503889221 773110917 30911935 357721225 175889693 634178387 158650345 83745665 745523597 83585429 44609023 767410145 979850729 895187695 484919627 285789795 588046507 675402861 800125623 493469097 308599925 679672711 887365599 471970619 817543445 359575321 370762241 56371849 917159549 750164073 261950723 965442543 704472009 448946721 168366197 928891309 688742461 343414107 441735311 383398637 801193537 144009873 363364655 690867391 374122601 106921129 935971549 758021917 116789875 280439793 274323399 252984809 980346433 880451357 89828039 742840809 575625437 522531917 242873945 113193427 707713917 233522179 167030695 82284861 745866361 3082285 336193407 430958505 27744853 72426785 161277783 850074497 279237311 263165595 946662993 977251603 736907141 17232067 411811889 159136157 551684009 275976995 25891945 262564927 184707657 715785139 559646481 178825471 495754673 370267597 434923493 118304211 284976725 108285755 728797517 970580881 344028115 535577381 482209113 310466299 692716009 669642021 106266817 313427897 401467783 420802613 31751653 964763487 202444733 515399099 970821065 663104101 850803399 249753731 498613535 323272491 935771913 744371653 680301373 729701117 352093711 392143901 838103841 766114569 284287881 917594769 239015541 502343019 623103063 219293069 295771271 52947489 920318327 25986535 52589391 792719385 142822681 439666139 414030443 497855521 811508109 444958737 964272163 942574065 546834001 298621587 208391781 719994159 543978245 113889751 183972299 97116767 718801527 888703421 67600017 895345653 64403863 924427399 931645857 123975499 157955717 586963939 83318151 478892449 110843265 574148071 540106623 875779871 954691063 475785745 883419235 986576345 120316793 25658949 301047231 624172229 967077571 744376783 674522815 508102343 661456571 692989543 870755643 42411433 547248489 643334441 813097651 660459289 96760065 743280539 281320271 492063665 125502685 198209705 582416091 261226485 183581827 671230887 230626769 909604683 329458845 124925269 940361807 673785095 154126847 384217303 969663261 105667423 833395363 347910843 752881323 324661879 286078635 875444727 479750671 942703449 312964965 482469093 354097673 938958579 635256387 88454733 656415743 103138079 178535393 418013275 673378561 421348257 240719105 529169317 135098053 18341663 553961359 445567017 169816237 194939435 97485727 250772553 613637823 91725377 903441003 885224919 206215337 516311231 392832855 143296259 498655429 460571631 369572589 170531695 418131727 368137731 657177569 933291805 868812849 660990995 628066831 755007357 948054649 886658339 617193337 704949857 539540701 98065689 483136845 163890441 508029439 13128647 549433563 805079321 102604067 560816615 959581343 741519775 706832699 381622811 327739709 618832911 441905629 950401515 286765183 226208583 760228937 158548169 469714009 961986189 934536807 137594125 116196839 327528589 818575811 347574011 430998637 351599197 534738583 799502777 793922643 216162937 107046081 921622105 261072431 794188233 888643273 340134613 438966205 858111639 607853279 766289167 672435421 220682137 252330457 595371471 266617499 939138799 349856309 700481991 782549549 366071579 276715293 178691727 597501419 393823755 56905567 573698473 635169371 609877527 751138931 235368831 650454821 314694903 470702967 296020577 722154527 160494805 897087027 102629769 254630469 6835005 523779605 984908825 754691767 725272099 840501045 484186649 530655171 797206757 997699925 389488507 643994585 856928071 695327447 356637975 503303833 447202425 104543695 189495215 36275137 777926159 88614129 804312813 434307137 59076869 629787295 148462689 798348075 336276161 512835549 782259333 873905847 545038865 924892509 81849 244526923 679788585 773822069 32488265 483991667 312200617 615795237 672161893 64344545 533684115 747018261 914640165 172293233 716117077 829334417 214628235 827885861 954245317 20207763 245056127 123142185 344240927 966494393 501518549 287699407 44696587 320529483 653249093 990667157 950311827 655444281 571379313 675001115 398246959 956585497 724837345 644131119 466418619 274574633 851456773 921886915 344065659 109849939 399535417 496276467 759759391 438042917 76745149 518688513 975020217 223367639 814048955 801029977 920039881 222654535 757832769 519622287 412349747 512984059 570612045 274131805 578490949 248769063 234368703 447154853 871436467 270860445 265876573 254334581 698882971 579602143 512415197 754078465 352087683 619328277 306617811 518615455 937126999 152710413 601046725 404462041 109551213 434462525 756587547 274207829 369042305 141308869 7740709 27964393 141165755 818142575 752936475 738607247 725056677 15209639 581250851 481584747 963062327 364113541 265961793 404342471 243492299 390858185 707421547 307713815 739748905 114634713 531307893 640674807 955305343 801768901 666344229 590822955 166285919 948347717 264550177 782356379 27088073 145323961 497440253 282551389 420883233 199196965 422694193 324471723 893510451 608512313 458031133 834404585 700516663 841756751 490852619 742269603 632867529 220562533 242111535 326202761 685746159 324909599 126684317 940973945 805839381 107419089 831877979 788787319 268702479 861858929 10779215 266671531 300620829 401083549 248144717 201697899 711091941 573320605 377258763 948234547 558521457 861581919 625983023 986957475 551473719 853810299 706124861 344043143 57592597 930483505 590379689 660434645 175249489 413872745 392402379 761574055 352179353 966095793 42463719 580650301 691094271 346194239 823281187 769603847 18397185 844791027 221755795 923802773 102934151 38458711 420993069 651475877 13075675 314600087 859403221 302108695 634207669 777969035 376090453 967030521 609738033 699494579 500862811 109395323 678546387 158680373 782856065 776833021 360681355 567139809 898585417 918187263 504560301 270347311 691164447 870749229 966077683 506483517 320843087 709724505 131273353 603224275 95048469 193527169 341617909 440644705 945725331 54522821 83678771 675485179 912250065 999930483 363703707 433447781 582335169 136029181 553764085 952812803 436288061 839227391 343237485 252034789 980715011 524100667 13000343 779000769 188442047 550880669 140294517 197684217 26759939 503493943 738380647 615533203 350811717 906949959 38242623 902673469 274680809 787540527 1528877 455715407 488817463 885107065 26795219 950876107 147300703 881700057 832193075 24095315 573470335 309316907 20317371 3980603 467093139 351057265 37241667 661662327 39777927 624826327 654144005 934832551 336358187 676796081 912259493 470524693 47382585 454135161 697187381 400091309 687782227 92171219 73452071 131046151 611746561 199260809 151734105 141582435 611493813 570516623 840929809 440598439 167519431 991057409 934640123 986555747 539389305 865643297 105774891 858255567 906153461 395506013 467597089 845082313 901434955 397763141 694633923 18995417 97463669 980142741 563859035 305673263 466386517 395123505 848802463 961239711 254830259 114926627 808322479 745289133 145551935 322835871 690839309 265394045 818919829 321060099 270941607 371940829 592542519 556490701 993177811 876457801 127470217 398345901 355369295 2809821 105265377 405582451 826185789 166866015 524646519 359819547 435322415 781492035 594256237 716709577 97642519 259130267 928283851 861971655 844154961 788624937 892521857 802722443 818744743 643796053 769127275 34544301 882724417 642472235 116764233 675612147 794246841 9855077 169566405 564796487 487588105 853931363 863399279 100891579 185696663 442396201 26279361 662175627 498762289 87115881 571778843 9646363 520617227 983311993 835932105 448528119 866932675 153779289 783451129 677738961 523591775 439597231 926222535 435049859 492851787 297123275 689233202 809792019 312677725 503995557 738608423 406051499 437714131 81650139 288003187 239045789 685682255 746281653 14802895 633723495 764667105 964008995 861409761 905796777 94839295 86455225 111611437 392738609 424722053 105867451 812133929 868390385 348969911 259932427 883652651 740702725 325295171 754155581 678354547 480328879 781483841 776669831 216056879 737261659 201625385 351348167 448605805 700826011 709408997 588369539 878119205 507529773 193614017 504425197 210485821 996844017 275169137 575299549 578342009 284908021 599291667 70692815 821463693 508357995 949776429 232220651 889532435 991176367 450684075 755101443 559928971 583646275 886800609 369718411 563062877 61323731 116934801 847608227 519695325 984748851 360241627 277946901 112193089 663411037 789915215 136906059 306663599 450252661 291011043 151543649 424034091 156497861 275862001 243452437 788454825 922809025 665770049 339677645 646352643 867287557 66115071 459334809 136031223 985010003 955608769 461885745 366456883 281043863 962527621 467447795 118461763 699376613 705852847 490955751 900220837 328531575 528332811 432797117 531886519 499050929 165598673 209460937 120328387 713553181 185671581 336373263 10384891 518989937 887791219 418178355 38034809 516617349 940117699 450038659 530604859 263763037 69029729 412687611 782308911 256770599 404548745 797532471 192071969 495818803 716921569 539847293 45161421 806445565 887916663 693731007 647061973 779393833 171572159 788326037 528568771 947943553 16945815 525180475 949624837 434036475 988928837 220634777 788934133 711756975 334850421 13783105 695776469 849662947 100305725 292102759 781987537 276311551 680736795 508367339 67976181 77674137 984672753 339699285 31273277 508194413 979676687 676803285 415248267 638350939 74434603 949969729 550169767 957711985 906692449 500119833 849160259 607561439 623575861 854937219 732627193 619576581 517343895 799692111 171228999 609335905 669314265 444641269 416294553 61795747 853604539 609908371 919067199 496283035 527020897 150513137 884342901 952390727 468510551 194105981 67298647 422380487 525751701 18641233 809586163 578516841 162693241 279871273 370088249 856367775 168077507 289410927 22572801 665122819 274644133 521137457 126223631 619863131 510160563 850330149 732798983 19669905 585151209 668897197 784748161 738553785 725142957 471915983 443216881 913807371 731889359 424825401 885884347 516644335 995071615 524396867 145899557 876143085 23772255 343911661 194200933 119105721 588633201 998090717 336747665 963124781 45116451 389847141 523013291 827537489 345238859 959029113 335558045 910685259 10103591 190114745 226236727 803181935 192886619 364229229 997429 615381051 350631667 697657477 908247347 142076241 806398823 356483991 617249727 746930811 721324947 245470947 681683273 211298733 313098427 266994767 639965225 732662275 591482255 719957867 686421665 570165439 221811491 459356271 416042969 216498253 240380915 606532409 926404325 249312577 391881445 266080849 196635069 417646933 670742087 901434341 854011459 963543149 827867341 119807695 81024831 508815251 463757461 645366155 975027553 809678331 847602213 920739651 220692549 937779713 393332585 414575811 197009259 546473001 638241975 525194631 224256317 829858331 738779597 920887979 707831307 40438189 849522381 442890741 814905103 709130713 241732937 536899799 4791657 728132547 8658225 598964071 288671013 643347893 622770663 502841701 138211889 724842021 120791853 348641593 801057129 751243435 170421811 4882671 823403405 847889165 39355019 144426305 445571141 263314995 803237173 564169359 649390885 685120819 785244053 945188317 458967205 114302535 996748921 720283101 743028005 134523347 678808341 873347555 624663537 467189603 270344711 300435699 915939383 238413993 337559125 520541873 953603091 625421951 885316715 540736621 421489541 248526315 792926495 72865311 993310069 78195989 121624237 408092005 545383095 110128725 469209531 948643975 141233923 427383585 694788695 711417203 793458681 149811487 586571511 501898947 323946019 802716443 966120821 76926643 936081395 886071815 574569497 221128749 701816515 117906941 485723281 659017149 270781395 266202435 364468975 976210079 867065163 73113411 672986291 833577901 964879167 721592719 367103937 470140019 524776613 869389029 568134501 398793245 468492899 97913893 578166615 916610691 429047357 839657821 760803507 777841957 190518759 371703999 774693629 369148969 78474235 430585767 826682661 892091233 910347511 132734359 254557823 433065281 854898759 212498235 516431815 602527721 246563133 597829989 151135267 378189857 441891345 769762835 416885793 319084633 161855715 228565863 213022901 90530215 996357821 966257835 508086847 982005963 72778897 633972563 501317505 341220651 363418167 545911803 816050857 608741335 547484019 456057701 273032781 705105541 109014763 656325501 799053417 117332119 920827187 589664343 21684581 951115283 770628545 15340331 713768715 839702695 323713529 175739233 207306643 378719917 696520227 932524929 164530329 720240673 152338033 606476865 193096225 158490029 192674811 735850873 463224219 71347103 2095045 888908589 736646361 272792301 10991029 198130313 745773339 452312119 102628253 764534497 429983749 225228487 540280889 882613423 858337957 19539849 44697125 644131479 276350063 55480341 418721007 147810915 11994177 223002027 772066823 867338249 349417825 72541233 278597575 276923041 926090363 835967801 895445101 111518063 814680741 363290871 417838373 135064801 108343387 342982987 155830015 296819079 790517379 223397053 606955509 574409501 566209387 983444861 530583529 598223751 18369481 98070625 559544739 575587791 779771319 408581095 91892693 830517547 653489599 241684281 114946071 832619507 109637065 451910949 556262891 40252077 801911341 617854755 954135995 934872323 893093545 948134481 706120151 380137159 643004769 504183415 651495291 143422197 589679585 129766659 435034563 942744753 478496289 353030157 811034301 512507463 164383613 790408535 785661529 451751977 68310971 886598467 100181359 994600433 692702215 320969189 147116225 920534373 449160693 368458225 559702009 356341615 643000453 596848073 491246759 180050721 454292765 438611569 663131461 160557751 625477767 714824859 526198325 786156695 961079801 307848605 837635261 582594633 493446673 45708919 335197203 340306817 860343765 97400529 522717773 216769817 166774193 734751735 212902765 606014487 505622139 975568355 262322269 26790053 642666097 484299827 819265005 365538581 879753783 821684015 198614487 464621797 379173337 63466183 458751931 414580151 134563791 139795857 642140197 784779349 44508661 491651531 578307459 47934387 554779791 457480287 841224497 907244011 293008205 326868443 455286383 519823171 46401089 535931255 545200999 763475239 850923755 65951761 476013097 571180325 37621551 188312367 766450605 833678333 281895515 431932933 771002585 954182289 311981603 237194853 255570801 287019755 328975781 246951889 221876523 919416127 510869095 152180337 802432157 229871849 300694869 217827859 960613447 715594603 17851333 798228269 609320855 18523505 436316275 82967007 692840411 898504143 477815431 762597107 423795533 114675839 362821259 547144405 335468557 664788901 199106933 996079773 182688037 947164811 851142565 875841291 118736265 389321383 53156829 622757765 940467469 200103057 913122891 650103067 787567479 527185165 613318023 62781829 240449903 572130311 320724873 940450849 296330115 357969811 868466875 786695929 21760305 832428781 687496937 311671735 317703639 733940083 751945799 814799031 251542465 403550647 233336435 767814133 162472733 64871015 801552241 774479899 704935685 423243619 359265969 771166071 723529853 120214185 9506311 605805825 991935851 426718057 932993199 47415127 953537955 72955635 843001423 439977407 103029213 672069571 781096949 911865645 725406905 107097213 965825815 818370867 268092353 436195053 902645391 75058451 644750439 992570117 901094309 949385909 471511301 450646495 586427141 537026469 149745113 163758273 652733381 710778911 542231567 640841747 722430051 498405373 814007993 428280429 296800707 265530827 357160909 606549381 354181169 722901429 208466223 616448833 144191589 952502419 186328489 480396973 776758395 11750115 487881705 439460091 409260279 166283217 176840073 770138757 122182601 319296551 681077261 668440529 52536643 730831199 197376475 423416969 865119013 544245399 862577989 715269249 476531091 60968343 626660231 869608625 217359387 917350351 468250047 227208257 35381937 821537107 313662967 574852985 492425907 899049959 333678113 931680461 229257703 574102511 591226645 499975127 459982713 754503035 549694357 260109917 420751615 500056897 108704075 486144841 714156407 459558819 563520457 581886895 702821443 264883623 193573253 652124105 488529459 878818811 214657251 727115257 542504061 838825975 280096555 485392333 719511483 647279773 86669199 314118903 706440951 48619919 614886439 750166611 687887001 594286113 265025781 236963555 854097273 407951431 583403747 679472853 158272981 76778401 373016257 16453751 922996817 7322233 55806539 455906121 436126459 292887739 519943965 794989805 691504711 924857087 813341125 24882221 359326227 548747651 60193459 460248061 329281699 8562995 357826367 176616057 775636391 353753753 737124523 845351397 934977331 259953391 715306273 913866153 650843331 664830739 781310641 425990491 472920125 156702861 662951509 681591733 964758767 719532683 362695407 927342491 89759887 839621351 69850695 565939991 650459703 89536287 572956687 531845727 69713775 852664663 117296863 662133963 2430757 20088163 547647289 215156191 39707819 560989625 734609543 756604489 178643135 119357559 698657305 443964633 489020553 870731363 562617897 339167627 520834707 713302001 752694487 288782467 113179093 841578035 328603439 570833677 755204267 156293611 203576863 505949849 791529945 82167935 878901123 499672519 855024015 483641601 231997723 83940181 873040993 355816229 506109329 563048755 722012235 33320013 153686389 185491825 630971315 710486653 536047681 459006797 548959847 426750311 554178901 308128295 735696539 335457121 250717437 64142989 895512045 373803627 75605865 249571631 510273635 72630059 650772911 384878061 416337769 354109425 110115029 496103623 327163605 293530549 961152707 702536423 41617379 188831509 282220873 706507173 131854395 584562521 956125473 781303159 573532903 870434671 291022571 167839493 668173663 114246897 465666099 382580245 361535101 282538269 635731559 582358175 513312651 193414615 488343011 20553661 550992177 163554995 630994661 35625649 41208967 728234471 837228187 879793127 80488459 694039375 464061459 418634737 463598753 732373367 500876615 404216973 598790807 76156555 151987223 111804317 424999073 539691365 100254029 898935851 405335773 397830273 115656091 363356011 18633167 190518535 867680923 834713529 674746215 460980681 670781901 283863447 106612217 822710331 347027865 42028209 919487297 828670845 341929043 767391961 955991399 997908313 131538227 628190477 340147701 286430009 381938521 435214959 304210145 758051641 44257999 159989065 570001291 6598423 451003271 582912527 476907957 455807289 707248731 108702813 241640077 686627759 138502155 541924343 51750825 388761905 989452863 549715909 29600775 48359965 561121929 708549341 861017865 961892731 158883173 532678009 551937409 469662203 180418353 848707581 935573665 275605745 269407543 770121715 124199687 736001889 653705897 779939087 536689079 208884463 375479201 434929709 432982305 65589993 533589533 61281361 218574871 532623179 18605323 901696419 828507353 681337777 743269175 965106297 512718859 647583329 518651999 296804429 680868283 87505741 251641889 121436867 387236959 392555789 365273351 822689959 269552081 610487773 271758723 453499625 58153049 368311973 479320813 63131049 452572579 152501239 411799177 275626789 279942597 782735111 643771005 720062669 802090043 63539381 108496091 335832113 182422765 32869001 746611359 520910861 293181733 700417459 142374053 236108101 246503579 108140041 469270717 540504037 6342249 641533707 700115601 860013087 200923161 952512735 303856833 139958605 707094675 986358613 184095177 148092149 82668337 387466469 560788757 642192833 329475755 762851245 221993973 649742979 577252395 512931957 728203429 74770231 227663421 576229803 163715393 668413443 746685397 635880553 490123991 97064493 112818001 163093355 789298263 156369197 974409591 910939675 270350745 144735645 421913715 682524551 640689761 516693567 85292251 841792869 30290773 414978303 637616811 316203287 802080007 694703599 775810633 587079841 371105521 389006925 163507075 343911351 237572725 564039545 426649743 577168043 529275867 798774785 16925959 801278335 330137427 722913431 295505651 164002009 414141945 979300119 260773313 608638219 1215695 710911875 903767363 343798537 318693817 120719111 374158519 653886323 256771727 243319543 47261637 137637777 93669893 75241419 402424185 484646483 438505661 149771307 937097031 706756943 886206019 516313055 967532555 10761157 659368967 301424859 131875087 325780379 635357793 102149691 160625917 928415841 766603155 774508353 856795881 125535823 446827207 517498459 12137299 55677251 16391437 532309527 765928225 557859269 758692959 924936245 627540123 982583299 810958493 428131479 241840765 798662359 126127251 35550791 337312479 295741629 814762735 6564475 427093577 653574879 196122957 449578891 672932007 466912777 151853357 956462587 961632847 925477303 831881465 876100983 143563005 74712835 665213185 995824083 601274585 692168121 284484735 900442121 605050733 538402629 870168211 447779133 753697457 579473855 687289161 6556603 191984641 923206375 872245903 152316403 95080225 810671397 78838081 420968323 238681921 960862853 247677471 520710191 71482355 939435969 185779409 101354207 853990967 386048311 235790571 534822569 121854321 882728945 464158949 385128393 922030191 778987161 289503519 770965663 634295397 132136587 960724709 550937271 365129713 566011077 728355685 44403143 984402967 905380589 736448187 658329255 517644615 838700115 800958183 437150813 449185365 414759663 555139793 889621267 936538495 887387743 822084429 594179867 946129255 659291883 488098835 103013873 230707741 579444353 293806275 542975803 181249047 654332859 492626407 876978623 274459951 405117141 40234995 846777973 413555629 43808953 470035003 541074295 25253181 68632563 379401221 862660871 584928759 281564095 222660983 667260559 123977043 610020087 50647205 608919975 845973819 146739495 756334727 269481221 194496251 676815739 682718717 827916177 389177415 509437387 727217361 883973971 920434237 93248407 295520949 565072511 225641569 509603077 107670083 226771567 90952099 87519719 319815673 811013289 139947349 196156593 615417157 940038103 726639161 918965635 757015411 480224973 706461551 615113509 116586689 371089795 140209031 638386695 786495309 579627553 803296117 963810623 450486817 494179823 390991255 578729867 694213679 771496545 371852467 245305429 703468879 36574227 295012597 932482219 332956997 525436359 675629299 500994117 715723447 133058409 482796715 342571649 965488185 725195021 401298561 456008039 809196865 114445293 229146689 906549413 158830387 947347309 254279715 890066069 640627799 181478423 226815425 595814195 19381983 578009759 37567269 753700649 715112931 793335521 258173879 596682435 172522087 846921951 396260689 280157437 30922321 116146119 433676589 904326257 424814451 990246631 861063921 453311083 255055497 569650879 215993257 618256855 32226353 27588593 179158735 953592909 832206837 945720393 772427067 629225741 755253573 183477687 325247027 479755261 304888959 270303065 7043175 650565295 40809439 907358835 616921323 308146007 242244753 627686253 248056379 752383957 967910821 472007389 259292479 509200561 698921751 405725309 608739905 987648539 913179843 586780721 317018105 124791017 755719031 982092549 196772993 417424793 241456611 715175977 621893217 949072725 445795743 926361597 854115207 320128235 936252461 637658879 417625669 185805267 467170295 608973535 286537819 760739627 590168911 229756781 991224299 686814907 68765035 165721509 840659079 307498993 743201645 46357165 571627041 946046693 415209313 243269835 635208727 305241433 549750583 396007031 459686445 571948975 142130119 726516043 313055635 137400827 508308947 371399431 951550429 608808689 657003781 846198427 933942279 77413619 36356845 157091607 369368951 343301893 460304901 781429945 828243195 961829337 147202223 893859297 303097289 876148933 434366513 50656285 61233275 555220169 428272577 655364383 425177625 221131659 896570229 557447107 829864719 288074845 67231567 982048009 608656947 824159539 668203065 735950113 725961667 498442157 848800515 305529949 391372385 313194515 233461095 98894389 385425439 414418005 974450949 527319121 5505901 904065801 384541801 595046777 636692013 363378285 378338305 838082209 159744675 836692843 320625961 675318245 916306553 601521297 528448289 447440775 892765129 477444375 430997523 349318387 199185933 875357147 17549839 632892861 356015403 523827811 987411983 834194077 437730415 344929251 235425011 29113979 705232787 984626221 913584263 309871967 766393263 319406275 398618233 755491197 916845129 673288653 761390437 364465201 731329617 669462295 110796235 357908735 357104923 440236317 701915923 784318607 970439525 887191545 674846865 269668791 992944209 56085111 950505597 727170673 268676207 666662659 374295799 287859935 507803317 783076533 489949963 489351761 565802879 811403341 843792807 41542197 325364113 234644273 683032231 443329833 167181593 45983345 61869001 778117103 170740909 9287109 330046395 260119669 514506315 119234187 416567049 647334603 357066839 840267979 260829489 57018925 685723295 932041781 404960657 752065535 579247959 909804831 763859061 144108235 64516637 447801223 455277067 586370375 386171125 431322647 170917231 924387659 247060815 184210717 507768223 697064669 622970111 588974481 99942537 292612389 144937281 85432337 127467513 43117945 56812475 488771555 487789229 167802453 503785339 399452667 753262915 633365593 911977973 105976299 812735813 247530321 87920137 671207669 830898725 821003571 302632697 194635009 505907773 678862615 523655027 90690971 745522635 929974339 991358093 414151423 480251389 794662689 410948805 277907719 991978975 669154371 801727229 178736191 694532463 893666149 971500423 99195089 132701323 790067821 944281365 235123611 858204157 792344161 268741571 979372821 527925367 692659321 530508827 365049453 918881681 196957967 446666757 37897325 523993295 606569125 855104475 884018319 914961559 715085031 118281559 947112433 930476859 727618471 558430879 726969435 946589687 252170723 196614977 963585853 568644585 800493755 738389297 43653803 445250331 647113341 856409037 621260393 151915903 698168731 168274139 686040795 110804461 314061233 99114887 8613905 188324135 486040705 223401319 370212545 970046167 966826231 257906551 522246477 887583887 699063845 238917919 483760827 515890885 932769865 870503209 207459257 493073885 465698757 809967309 218716063 78765343 901132323 663213221 616169325 406408125 128633623 704515513 731663051 311521743 318663037 278311543 762155271 758115159 152751703 459821489 774851607 868732223 855056337 212778407 762315163 820099161 8577087 187013885 953436637 359280219 447524635 363938751 391993031 576877801 912051719 833738853 630189303 579564169 474780115 409372363 410641061 106454961 464714093 591135031 622001343 348827575 118753523 739870549 685803471 692820957 410770087 689075003 86450959 975019085 409392631 91468901 395579741 56716057 934178417 185476281 682149441 112537399 171238613 743300485 75456233 717028233 106892805 535353981 418676015 235547611 599093773 570666177 707436175 695616989 610122525 278183379 459338547 465010215 413005971 88539297 531415273 9087803 73405939 340570753 978018345 640484483 597744613 520954929 411320081 523060047 970476863 253987541 138755175 368822233 111345661 473116409 812883101 728170049 897848383 955934101 465560779 274325907 19956561 25999621 612072877 819307199 486981289 918730253 723920043 270203293 33142495 33370333 426527447 449305071 13070521 208372231 595293157 137919581 199383583 992302475 268131639 992952699 509887273 944579021 437796561 651607745 627470605 24329371 571486821 590119313 241052977 794944553 644922953 805272625 77881889 311202327 321985661 554347735 658293903 963506279 679994279 555031705 66915925 77595783 962902551 24958071 262349689 923343947 641108677 246038111 312248613 444346613 257103439 334537759 927000235 570777637 556017661 644922993 112713353 776911085 999693501 127402485 288665951 344239805 778975785 252984375 928151803 468437111 284226941 168209061 55857487 254750557 782740643 744406427 600265077 385709087 435705129 726912345 6623411 581066191 46139719 735656711 420948339 785344749 689914073 818784697 215497289 762464861 171951723 905963879 143475951 78244459 120066601 909954033 808125767 929464783 422674157 458115617 366303839 269873317 822248243 273251499 341524329 753407347 133399075 72034083 21403841 160915493 261659791 430630159 41864937 106414865 953848811 573577429 916117389 120818163 770603863 87216841 476561025 75849969 723654811 314369059 438257343 174976409 458522919 390035459 119923561 857037793 80363281 832440435 643342031 36081955 195073049 352755557 93381471 99391271 864222373 244207027 110664375 312143643 401109189 501900829 557265049 561789073 99547441 488333899 515244017 194752135 274189383 950933457 193926611 877941349 688485135 744779557 219250297 310564087 90082873 584787115 104666695 82735471 396551961 797450157 243909319 342964335 345820339 824785241 59445679 760899835 417636521 242524105 126440407 544060285 763234383 116022529 724698691 259519183 404590491 813984743 668434721 604499755 440411177 927184205 733455041 465113911 278972997 607380207 651729567 369691905 926867419 551797355 493678175 870352637 915181445 901138507 790989515 186947851 746631551 761025281 732820185 855000939 389460145 967479781 394586785 472423887 8939435 62715451 631979625 920351307 718188455 596705321 959040921 194667613 339924351 590049217 357862343 840013799 305622205 779894271 4691375 783898171 692433041 31603137 434981425 680207625 821169361 406342353 453178201 670826355 610599165 288407265 336029533 465651451 786089275 684459145 442564501 353122961 456515419 164719691 739772295 148606343 570382805 108081553 622128093 541379741 98545863 145290157 493971305 338719991 519954169 537102037 10675753 565856547 810866393 125103917 713371709 755499541 737955201 436765629 441444595 932734507 236250029 668923253 845405629 765896233 590206151 723679283 923590453 559393343 143960029 891676083 185748001 808810241 372125349 660902561 522986603 556158571 565056641 640325005 200920613 96999653 429994869 44418545 294878861 106548793 591114547 744142639 815957253 994863261 407554067 416464271 533894167 170638257 567161873 870845249 783502967 203331959 637137365 717963619 365705215 381384541 696364977 960718577 562958517 438475577 811527833 234271703 997062595 340203081 283277101 841577957 665487485 688632881 390259893 836408277 286633309 728065533 85953569 419699783 505056517 836974885 402861831 424978119 593618755 779529861 79066791 378291397 108804619 764786019 570427111 91800729 807599733 229766249 155026775 800611973 612082117 788650672 640863279 678376371 617586279 906648757 850107213 474580275 760675055 502177115 679338295 990675711 779300631 561232113 836127265 801563383 719820481 649851435 643790045 666941927 574939901 458146089 179799535 723281533 83452665 412177517 379545211 560328277 738715411 308765157 547473231 628687087 560493005 626565607 854669799 457978037 204208853 27933231 360044893 697279991 142132731 307876581 310592381 106823663 770336315 948666259 469880755 418321341 501955769 360271921 549762583 437352813 448311743 735140377 264219753 924401901 234369475 524052757 1747217 518975769 553963613 89131597 516504091 19532465 715978577 811888987 386373697 140717919 464101261 295819065 921119713 204575409 624749089 124945229 636411397 219134245 189888329 421820003 286543703 985111835 576772457 841839027 138872627 41297881 467773965 224656857 504024727 450014355 771758821 753562075 623561001 968464227 684858065 738929701 768475193 850262089 73394385 563666317 915491775 948687405 997578511 9697871 968631129 519630307 598759393 348284691 522549583 926157603 322996931 405648867 186563471 645983629 567230293 292228405 495815857 848712621 918998117 45823209 724927735 875066865 307980517 29803841 552894275 658302387 83473135 350357483 643324969 986698807 189441225 565815549 576304863 294935459 30463965 425870837 672628289 718468107 289734077 876089527 100348379 425135207 209468199 73024143 285214425 858643351 277625595 332927285 205797651 405140837 221047111 245256133 835494409 36222339 449895485 87076293 746817505 682174091 872095545 667897887 902396013 382635771 679978941 761622573 632505377 227472449 378775157 566287017 51578141 442001833 301215795 447447737 562022441 818445169 431837429 891508459 880907701 608464311 656352987 16469557 939070679 466292101 688246579 537128689 853176909 437384653 274606449 683480039 576104833 107702377 590961195 233798467 251147137 183885079 543145515 402884507 977650181 687379587 741783895 318080749 409971307 729082175 406515651 28493723 711924411 708721345 868068525 318099831 330110115 654210157 589073783 655926961 675734141 737012875 421061803 226119403 464817733 595859789 201088253 401304615 973964965 905699789 194707529 921290197 652757481 557291785 167926931 411476935 949626125 547885293 337977091 212183869 651173035 90904907 591793903 779994587 961901071 968703705 90540241 2219183 727330853 439544891 651482445 452204845 370724485 687698169 268039213 778773555 152099951 846784133 339399015 337186567 228933577 877293367 30750227 934223957 513075749 165684049 838383477 589052723 929631671 705543165 475627515 202288669 474557023 751999053 24712757 653498363 374851237 991682103 235349983 465391383 418176697 301367199 914525405 644107815 858927471 792819019 57108025 274009419 251607371 60187121 410512169 900370693 293272433 244524839 737206789 213759811 434415793 507255921 559337811 460089949 178617987 670079029 339385019 943903755 749846533 35283653 211108885 641568887 185864445 183835995 44574295 702247725 718502623 759485209 514285735 353781281 719351741 257843205 115555665 235689137 640083289 944975893 853280965 523956385 527660059 837797919 439419043 758577953 310127633 828934373 992642219 920894917 875574769 754097681 502720455 714022281 265018909 982995251 302296335 40071123 489940377 115262149 32933561 259109233 858620695 885506345 427963181 688575383 109712877 587375015 693249009 563718373 405513499 626179951 668955325 833173085 587475015 743718045 267937387 927013997 947612867 505813297 962292221 251356139 984097411 282990613 362578335 548585235 706531623 833010201 451809187 420008077 870694135 263927 891916167 896479331 483417571 73105487 626780907 916986125 523040383 589586605 983053469 244874855 562511119 268622977 414554511 645836981 589602423 887542049 576131549 963365287 644376391 7860179 180698569 544914255 338874551 934385855 372535487 783097645 751014819 27862005 212195411 781352229 298070935 519653999 847475519 76454533 45792705 805817101 918242917 908282113 889847285 169416091 412386773 415575479 171741621 864162759 77510077 630257709 37881129 866912301 349720955 426555727 241308189 875309901 484440721 210834547 164567309 19470991 857393067 500741205 545053715 71002951 992062877 922897437 179167227 850927021 670039137 55483477 714715953 38326241 949297691 148777461 94265037 639397615 154156565 212522839 496386447 816199109 901219779 249342787 327673053 973610559 970018241 626063847 15058887 365684251 79058131 214031829 892936709 981223943 475293409 1575181 246110453 377927825 523401217 755758579 353586847 231127345 25293165 673389139 812080307 583434059 770197641 554134629 249169799 942238505 328823265 114757573 22151961 825442553 118985253 613436537 605920275 911574999 446603059 421489133 236015811 942917825 666349839 546329589 97813537 655535013 84764387 921036753 592684747 881151055 177922561 864255783 74621447 504653693 214831333 154441473 368820937 813923277 277854259 933979349 250593955 965549257 255015351 64552321 302196439 17042403 887132513 656746059 862636365 926220661 30822481 928727521 287862161 580589503 318264261 247251797 956387295 10797033 964589613 351453989 322606097 21148421 884499993 300894777 236040881 799718671 943917383 326645979 241193455 199266789 869188503 561956803 451754657 180511313 261727767 58973965 229310791 592259333 791766009 252277053 239305481 81377689 565069207 100504643 666631859 341426577 454455671 735464049 582191039 278247251 831483203 686048135 17692491 270881075 806484685 804350379 812428063 483206247 55221523 802755685 369532073 157236243 932687669 523742129 639581187 968657471 858484097 2304743 108029163 18858205 401949801 983332303 885039559 710073541 261088137 70687637 660077221 152979131 686047907 817514957 925694529 601179237 10870947 733534073 500954359 378021717 907205789 835806201 235712463 558733317 335746761 409554975 252140919 431829719 333937039 906269979 807272263 829386003 47978615 286441359 938860095 583364587 523402549 712814717 542488071 960831351 926624933 833347155 965897195 665522105 814279113 132869097 9647591 785345435 853467341 233397623 108156309 459212271 569160709 766812071 394426177 720923243 478636267 509576837 343870165 403147443 176536867 184908933 41332461 667577167 286243191 432433541 681429447 827604143 945372891 223945675 981879369 559101487 722644331 921819393 203286277 717080337 432018795 689318209 167436079 918043003 55799875 506203653 436959655 280566655 668996489 536571701 373875701 262061591 901262839 400260635 670712647 426155555 368974449 512107117 554451831 801037167 884780289 33634123 554661889 984354731 372872669 666938423 120512783 144451951 222159965 265511967 598327407 561344829 113444869 508971609 179896473 70314623 387435395 792016803 869768617 405268101 185536935 288142111 861563499 760606089 479852653 324132703 660420939 981780907 732341753 115729749 371584867 797998071 872201111 753963357 344225647 382872413 801763511 372673089 15721175 618921909 96037369 625831977 847479469 875317953 207480347 466166191 423293605 803329833 743031565 581022413 951971359 660853633 566450399 585529833 88317221 63157569 32824525 120135889 444680035 962335179 288809533 599755193 153722161 824099173 674756533 444015679 289635981 454277189 123152365 628982377 862620707 205814145 713556671 437928867 731554877 293628443 144962091 289295299 54336981 102907387 746046305 340037127 313688457 297974517 565235121 462968337 126144673 583992769 287735193 442918129 327860747 756332287 732095929 187731485 24674657 790536251 437129695 487011953 403750367 978298083 329772029 901379377 519768431 330743635 165978415 594310411 461575071 408376779 832287927 291152151 700778663 404415859 983671041 173629389 68214883 897872223 978788511 58992151 475649887 810692487 96145743 102625345 843933127 752058315 490882289 25597695 211963507 841748215 686129299 756125295 919680485 385132473 236981097 253504791 775384895 45306283 418764233 966011107 920959315 393828433 280047163 700370983 196312987 557422099 949190251 151727781 685566769 441647935 232220711 275849853 76452319 438868243 107105903 937389375 682599701 761926317 842556005 538732255 466551529 450226711 469487699 990559421 778106139 217324357 480036525 666383515 41717777 501961995 544250639 326913447 230413275 603106351 155448635 882289015 968675633 931044951 587564063 890288393 89311857 77033239 779548361 895058881 994018979 779261669 94724985 610500715 896839287 767405605 597574289 349697087 733859137 358570017 179222429 851403225 606882309 78797831 136564813 96120893 94594661 526559217 563220351 315107803 172112309 808157667 721600567 9037703 856771051 818795203 508035229 977431933 721148579 396767589 486663431 756225123 869387817 125679999 860614383 163209287 457251433 83054261 338849273 826318237 219782651 611915151 420186865 600207939 247516959 375133311 744035527 677442175 865428157 893147869 781242777 318049789 803679073 120920557 669223851 2006739 398468167 513803221 927726695 976226943 216507977 167092391 531583327 132032739 876247281 647476063 342425423 243050831 181202287 90285275 550553883 411620729 765236633 940183269 305874639 732725885 243372271 665753903 979472027 768451039 870119319 677470801 475364319 371542669 123726177 346882765 956515867 61230047 576312517 882364941 877336057 69859983 949726177 635367267 999189585 748282819 652140413 709282053 964633881 86914055 529415687 421600023 865306743 751567955 882933401 981544097 684583351 208258307 37417455 882318997 859806795 945061085 123692403 828250315 481733327 287141389 802438195 875235077 72017413 765743401 647942117 961939437 972663767 913788461 509576171 639390739 40025693 967850879 354073161 734250737 787129039 337176303 29537457 987815401 273431183 832189613 248529787 431452483 45354539 892361819 642424483 972597041 400503893 886973435 138044625 635158731 705433833 589411579 501200983 851322643 940753897 837953841 759244841 232196083 280770177 593334747 464360679 22583099 914265091 969506461 638807513 193289637 28954861 96185987 537018863 66781139 210471905 229950725 577738431 311301963 926131881 18517759 324101513 586164099 734573881 360057781 184268851 568577745 535153837 854216151 290759757 359372151 641469511 659200633 565666317 133446303 20088435 891929623 829644117 105170777 402680773 924958103 959829163 977783711 513372663 2720583 568302655 863301969 704963821 109061595 771561189 833038139 527127473 799544689 753656609 731214349 133947255 713352847 283490837 436919647 723033243 238034209 830143125 882378930 379933089 395988349 865568279 408218737 540173361 361410913 789043639 950513389 700870177 456958191 928467265 940487519 212690539 385885113 600870433 379709159 168587827 638778287 609631343 439741329 790255045 577731123 684018667 557900107 236943249 950938375 38925565 75756273 480532277 950927707 258151345 685791555 267662453 846047425 791270081 69807595 189633081 851476537 464459915 644368505 827212183 702756135 409904665 554796389 115441867 661257305 905985045 142714133 592141365 984687363 994863067 930562253 313220449 379008451 76174953 866286531 499022341 549510047 844860261 476788747 138359033 770797315 488884767 648300459 624842563 294319813 873560719 353983371 523948813 765877537 478087251 590457465 109151913 986449085 743592369 859678771 547043731 856574887 708919965 565385815 255241071 424394837 820637609 379562353 186708233 701220001 469880601 499827183 631137619 200639187 919668175 966607661 590025831 735382169 304189535 633472105 407111307 757921797 501213181 256387537 815793449 405976727 840136075 622798705 570956757 111393331 819058831 347018311 910445895 875325989 282023991 773420337 163652711 556956709 202515035 502896121 410690363 439195471 789421691 653248593 550930939 838342951 705823933 614060755 84331521 584213149 720601331 982774783 901705423 203106053 25547665 736415037 584313105 633994523 281884855 358513121 150641049 541149189 409028909 65327137 986588261 283646033 756375395 507963937 577886615 531272435 385471599 675292905 851580537 822763083 942395663 244937579 960014975 378331419 660670637 781689217 799697989 112849809 650637399 976703721 433531533 830275651 912837 951222863 931601731 758300461 704098389 790750789 596316283 62793911 892407311 330231361 542495087 655248555 42777249 571943335 991373185 254277441 286260837 609663167 126735169 671436309 208496471 116371899 575341917 679300395 19186209 331250613 52743091 524455411 369156367 264542123 469252165 260820031 378739997 702746505 14743103 176458063 908981989 194041633 943438069 108571847 87841203 64405801 54735585 695197621 672650355 21211717 799763623 49602957 200580797 601651197 352499729 712365357 494506961 34493379 17134869 422883803 42130325 555094511 5171915 762945603 895365017 610796739 343557753 262320505 847440405 890741609 301832327 999306751 768427241 132425459 22179211 698492597 688380569 211585879 134636351 187710955 12489559 852238457 756335495 126090839 647046647 570217761 629807471 335467539 196414205 468135423 10130471 629617065 569702797 412698801 653316623 125773057 549556343 892917939 407554469 153532019 798388531 158983281 971715225 295991741 628128479 658263611 973840571 560136451 913046337 544694603 604567815 508909521 281613261 103764163 804325025 754972703 491335829 931291307 831389653 922541897 132940123 755202291 191057173 394284309 631554183 30891639 933042683 677529263 664728615 315040247 789062221 53245867 833638129 849638685 284488949 295930121 104039751 701195641 788350213 955535407 492261421 219672453 441675963 74176999 478296661 583654307 710076535 929417063 161062165 190008603 665258439 719891277 217511789 705252637 869686365 979765919 767235331 181747141 90115347 499978185 932440873 478005011 424398063 232819105 112732115 337929713 857724443 825760357 294571681 442920239 310305515 438227641 160637915 493226119 644173527 591474345 746096497 940428187 266276231 443179693 491523063 253670129 165443523 299104417 702441393 548532991 557912703 430643401 758837635 831896347 215372247 819109587 606725117 605151367 8819213 803454167 470554197 518313323 657027725 319388751 281462125 290061275 987354857 898284321 519778507 999147727 564936159 998330523 71913373 309659431 937152081 717969521 509419965 371668655 614769737 399551937 580649127 98369813 658502651 231993361 290092677 350175477 834122947 592935501 907181347 608438991 376881699 842431947 973246717 787205643 644051145 26868039 149166125 767468029 385721219 263899111 363244927 924330717 797994577 336105019 750845279 567499467 777284437 672103731 68610277 562036435 203412441 778145585 58801359 269049315 494618451 767224055 289148041 557380567 711568987 959118003 924641565 395579503 593588661 999051005 929382981 411670611 436555087 783084493 996095327 589610007 358925113 233103757 979550835 733431089 233732783 75955721 884179761 845410567 199435541 449344885 374392815 710154717 723604213 133174639 730962603 899559399 292027653 749685755 207727631 894751807 974011165 783601801 714502761 8461797 175080769 428941037 801723569 808617665 654807711 707155043 84788099 316768421 321948807 66623121 884183083 417185869 251778933 261574277 35279765 533292119 85279757 386972085 367087963 453568077 516513307 223425275 371420857 831277987 462924177 171913119 974930329 402312877 312284553 276060749 720022919 926383537 938425161 62239259 188262589 276241365 833818427 700866951 71294747 415267883 842075121 888437109 656176933 228237487 999487271 779689009 66225933 265769279 139267779 234249331 709728169 753136805 459524043 992087127 696148857 481317779 291664247 14746209 674405283 386911651 732951585 430963841 559255289 926965843 933982795 217329417 198276335 353672207 609182111 127873977 117958309 431299881 481897973 10443445 468292579 5654743 103348291 498900363 916332055 674034749 81584561 100295727 229764955 715473763 251765383 195354111 517493101 119397435 239675705 107081921 339369649 753385373 302582625 433026465 345564987 170351693 975510213 428826677 951001537 599730673 567822415 34625401 699796641 934550043 129838867 631921877 23893729 153003845 678110539 331075859 804550965 873468369 602223961 873511275 176119535 236399367 150106827 718250615 765957393 992844313 628181333 395690817 941320515 210083615 588299725 455002161 715035345 886276637 389645117 800994335 60137911 94170617 925241803 354457417 819087 362409349 393040843 83743827 47072931 24359547 307550907 270769483 462357219 184465533 22138941 258938021 12828389 963196435 846746907 550032959 393607401 343143341 263682635 825169501 601143253 499730089 883537893 236090543 998128699 632111171 907871789 916181833 733624141 126942375 386540687 303253415 958404593 208860645 779029151 299765679 249656233 508261111 374170903 265584303 803457957 308520127 729684187 987690589 213576127 225500931 972887543 871944659 57204083 679795577 593126043 235968665 400966891 497378999 516921381 320807835 235929589 28133183 787795481 569068081 569677065 189067387 642560287 281923859 467698755 872589755 469431821 67063659 330809967 827688761 479271133 558090691 956605433 992700695 510379445 962771219 527783931 830625371 849792987 234462647 10445105 827880443 976560839 786965619 985136899 319534541 168403217 403298679 952016003 566341011 992543615 492217687 585152357 420541943 11868665 300418063 999976201 746455945 198254229 243030021 135077753 861922753 452960399 612541191 167629409 833944581 152945479 872540489 693802009 631698587 809582411 111470185 807299231 222115251 43262797 81563245 940029599 981028457 317959463 679798465 19846755 494581693 171334879 24046907 511140069 553010071 735946143 884103959 214977731 463617995 866818745 840801789 751403333 207729425 445505193 49735927 198900569 932370953 500669461 623080829 975245465 395291711 446732485 628273769 334953025 523263777 86134445 80781059 237131323 917217547 122424551 651212281 773282837 255349821 942547129 62450781 662544389 566775263 771801741 213356719 558184429 915589381 955621623 87576019 691368531 480132007 154597295 612901399 575150949 596158885 735979165 650943023 553612283 99310539 79575241 828340281 85991573 891994823 433779047 360134329 1829979 159380533 825021651 266469279 493148185 603124627 10741135 711680831 342133067 374038351 687369031 452054357 705336075 902404533 674980303 582341129 87632163 113274371 689519647 90505445 739803395 946658647 162448223 279307231 486735041 909075389 570646999 518805591 803255325 778247459 589716477 610534415 746498941 24734307 568933225 925171765 939866865 228175937 221657567 948536415 421794097 615727203 853912139 659095435 498355355 429071965 586885569 811571995 21911095 503298213 386223227 916372449 972066995 971845025 768655581 27716879 619030889 956694165 201264241 787608899 669793109 782011573 670734571 27722625 529153057 165301273 989713193 258198585 520336667 637679813 58292777 556678205 956580411 33197983 430912537 662527437 51216157 643176315 269380941 696825741 794834445 486857743 322917697 578766219 163327223 40163071 381092245 888673853 630331507 135147731 87832341 921303933 675321025 412567037 447576247 242549651 138330825 366379479 529301139 784440875 158329111 187464607 386133741 205897563 173906661 927302017 218937651 564011679 793434387 23764879 654878965 62235103 933350181 455645375 935078127 701098597 754442317 145901045 308473863 169180137 727100001 290740985 188088899 357246853 684433121 962201981 144267227 528414915 59830771 984387097 665683495 250326667 311619943 204485969 550331565 913099829 448570293 740082315 634251799 264376447 247211259 509981977 246198583 322809485 730826753 523369781 390330379 173501677 911035701 753535745 303615155 174385811 721386929 875595653 438127229 935270365 275503153 542962611 16285403 564614545 889664543 397644643 59088999 103674843 444374151 877867607 749147623 382783311 954185509 671734073 102530373 993070063 193553749 319053977 174708883 437308955 942923037 941893107 533070095 460720035 480993327 550812323 236981273 600788669 180314339 308807415 628746815 631725827 557610805 750376223 921817651 801674365 875664845 433056307 820813777 666288281 912609019 661548853 871692059 530400041 745770937 513585679 72634685 708071787 104742561 731135633 175007115 871043335 288526077 137428853 920697983 694519049 532507069 724243293 139902651 761615077 636699255 580736977 631080461 665314167 748233833 671849537 99999335 844758537 78266751 145617161 979991269 397812549 167219011 295218281 472467659 8729151 699506669 125241227 859555457 124901239 23016799 523455871 295374491 768666577 336653343 556945471 968308951 422655899 377849437 33650093 79083799 36371851 828028653 703658127 592631909 334794683 413177427 818864539 251652599 779838643 140186545 616883303 440880677 526596191 549060571 656190581 537693043 793615125 630585927 877697069 251134863 284348049 203037201 572282339 31235143 904038139 987189509 393714895 282288285 89377757 122580111 604406803 776815023 348398895 347274439 996361653 595831241 95577165 460356973 975708587 66241375 287742203 869318887 284362441 401435151 693488745 471776071 272633301 240813463 800719401 819006785 579713655 407362279 303083323 550379317 925203519 545093391 984684803 346625579 703076263 98461771 746116175 419960531 134536463 668363007 174229587 91863683 93724609 71330999 975314861 843132475 762543345 885631779 907944289 38541729 498624691 400968483 655003615 518490117 973598989 507866549 389918203 176512863 831441127 889212169 620814833 473104715 696554255 759941487 572423273 928623125 1454915 593716325 911924589 700473259 656828705 331150219 561988981 312508577 22206261 957005231 251594331 902666555 572738541 357576641 454227559 596824667 924108453 896616929 154299717 672835221 321798811 223997007 362880781 176425245 740795901 777860215 891603767 392556757 597965015 241434091 375771565 311607619 508655655 525107559 341412283 844896149 775174859 810618321 678236437 466216867 189216399 302277937 796113113 851338477 916907809 521591739 179945099 951401881 595787547 691832521 336908571 275830135 644461313 338780641 377088987 308018945 606698553 312769453 740501389 882367569 153474583 109301505 172696913 37721137 896624849 539355095 519418295 135423761 475774603 242214481 717909939 971660807 229653069 66145725 54868387 555293649 161059593 473603469 149378637 637147609 479645337 603223133 840749021 327433517 297399995 51650799 734307561 675855237 245585949 511350063 325253487 439576127 140588363 957800753 902957011 641317219 474504131 984906799 546437089 506625695 75148003 864830861 232135633 673210445 583080181 672417237 730984765 947329641 797443115 638606779 317761071 738567067 189804445 779704603 259168783 353931317 223429197 197394935 73001655 835872043 415214117 947750781 781400417 345237279 195255543 401365245 298274227 706694487 386621817 250672883 952979641 148880065 522747983 945289731 27009003 317904629 480970497 496199159 24337959 940225843 946477825 437438147 30051501 231334241 298603687 127981443 386727471 158719759 938033719 553323387 997138881 202796661 640726743 130272019 145845215 534068595 203838361 992930529 257325425 668520589 434795639 705506977 135769793 637589491 774100819 679078451 401026183 776350335 996326133 980718755 764499165 758289071 26501647 837831463 950327371 382307241 493031993 251759639 236908735 789108797 767210229 904191481 850834571 998940641 727948973 762525301 431939439 527361975 16543153 38944097 4360589 618281349 280224059 969775545 442352759 77460155 326627437 775297181 774504991 481417069 36946767 553188955 251456483 52527965 602501073 914511715 212871559 60940019 427425487 348782933 819711035 68071997 453197579 645841905 274851219 498580977 20609577 20543009 522037899 189038703 159964097 778013437 125542537 143868609 553224775 705095867 97810011 612544403 964572701 10593217 538039095 430990397 297408655 891373979 188489143 671502783 450861771 797378555 700139747 939227583 627729645 88555453 650765607 281764751 182322935 75185123 300930905 628179745 842219469 112186009 572196791 370237979 861163589 985920561 756804323 798266559 945784855 243518505 157700335 977572605 300851941 469433377 798523467 673093487 322860853 460402407 621417689 336308307 935655805 509997933 982964957 686513295 973294867 368672719 637381121 769401011 40988985 391856719 229756511 702171125 945213463 86061145 806199665 866329399 919884225 175358337 770819357 557425663 712050991 378503297 404648623 11008379 44750145 110976059 742227937 220036997 90102723 707030205 832314315 920905113 222248035 322713147 141145075 345403361 784020413 125379597 727479625 281159209 723832913 787240375 745485089 379906795 161049481 840158181 129363513 631235143 581998771 420865387 712687027 149131009 928698381 204984387 74103327 595357579 601895351 259740817 396772979 955656445 580861623 350307231 848486665 507041809 255568385 48516321 161914539 856186421 349464431 968158963 176467841 450567283 438055617 57148057 11854883 104082053 179849887 131724731 602877583 293363657 211651997 236213359 239074601 301768263 218704691 8874991 738874815 490797999 243429057 520168351 696842373 836010583 502688401 821986827 637799703 865543741 313255637 804099555 729518463 966330379 97328295 328939781 285664039 278938127 692921095 259689333 168432613 217349439 350243805 983918171 607492853 339805757 586826493 950999821 475131389 853271631 599528221 528360967 663104011 733755491 896124641 177799145 515519123 519108115 474145235 508990591 425739893 52080795 482598753 769131455 415463667 903757797 613085157 799324867 339557051 748459901 934725539 630450379 386669283 609852829 60106177 656516679 546819049 244178469 208733523 669375943 118880431 537372057 526569039 491467017 981149063 311752747 599880857 766145517 608255779 544517809 604108537 214906241 750919071 536517546 815665697 225706231 78228357 684357695 207366571 507869865 494863549 659457343 604769557 937864477 533966241 805714973 336329931 723846141 464494059 38910974 978205471 274850587 142808001 615315111 412622151 230176117 218485425 522821509 379180647 45754411 107615407 512978611 937279111 869757323 452526361 827919853 255474073 177802247 732938677 525825949 365857399 598016315 345998255 231431633 685723615 248647913 172491421 162229569 973393277 655626749 652852091 943532107 517137121 78368649 637045681 872104437 710502535 256272331 210270217 167983347 831364811 301719333 583846329 246696087 953919227 62916385 96733537 367683555 10153031 231062899 298766339 807489151 476350665 275758327 304649743 647748023 788839039 885155503 382913623 164569477 855621205 71756487 991695131 257530761 601744155 815315347 149096191 996935175 913091723 274362509 215189519 283337969 55330375 71458649 261225155 638452957 514031831 303645377 773114615 210893323 670146221 371036089 692776177 52104033 289805601 797057117 426460253 700977519 338449781 588831471 341102929 605665133 355112915 395460317 899861833 69096505 505092683 181777335 888879147 498096987 146331607 170797113 840047941 770960899 551340889 914670407 528748107 63190023 668634265 833294059 780486237 650091237 22565191 95126873 395329277 225218759 276500991 416091631 760475417 837140859 883354433 558018091 143102983 550413175 742606967 58984637 400388229 666499293 802146545 202448501 458321335 616989811 447668969 314127695 976759337 110790823 691457665 240526703 346619091 593767569 54054081 505013791 44275217 499507955 387425433 528599765 273683111 69798191 946387941 600743977 573839045 517514329 748622949 232354529 63031549 827091493 146991811 984677095 313435983 506265075 409798031 607222861 555958815 461172685 789315651 804350031 696810299 603437405 197234239 133980753 95591127 336343807 852058575 897567455 882812051 765258417 263293729 167554219 246810735 641806617 267620689 693414287 593676255 496082569 316852575 308609937 135806129 100021747 926119733 92292571 471196201 927941629 283461281 897488831 865308135 298318825 18930273 545290683 255415549 528636071 50339093 758720111 595364571 574720977 683706947 664122793 343358051 780717219 602034017 135632219 60799191 426687239 344522435 335614113 210700007 561283723 120166063 66815165 656403877 901829989 15294541 219377179 61448081 119261559 786715307 674520397 172546447 268035911 690958791 270566417 379209195 521497859 530058623 589639239 632466781 854439299 591455391 845245181 229608449 666719047 654524885 836615525 932580445 297060727 256457405 398141403 289940573 341019359 313387223 836212449 493227095 464749817 799416459 977149475 511963143 551622885 667182637 334869877 602570643 677946471 696666867 669310417 977826441 659548913 375204353 246946395 128393439 779435161 391276385 109237085 47855087 539236639 358109953 209007947 424745857 874463977 638155197 975407553 976337091 636459527 693736531 769729153 46517575 344942897 319877231 494027895 643031563 505947845 967017891 249015991 646299255 865251275 867409511 270539131 444532567 98415345 109938971 888304423 629211613 324205969 656001801 345303365 391215275 95223463 249480035 620879243 160692421 771471837 285374019 557859025 5023381 727496321 503618983 612426267 599998709 122134665 218120315 789143959 674496031 196626839 918333329 776443797 588651193 481646577 104219807 737584529 354866897 520726405 668201289 653073199 203453659 1369835 347614743 361270585 170217655 873631331 301352827 195862693 728676005 361375957 96201423 303815051 315887191 874367693 503659345 242763313 452246497 934443909 701176621 66640383 956162241 69306333 985354869 235184779 985076953 75602265 909663263 465025169 958304123 548515627 257014543 15286513 578894423 263321385 626748685 649708985 376970383 650220753 939021771 774276377 907326373 989293135 707730913 132323441 615140489 805105517 561244115 212975935 377672845 479629987 906453255 59058227 594893425 614183443 236190415 444453917 717748569 706891395 197739365 672161019 848546771 895650403 710663915 575582445 633392339 631514823 151467113 655385409 920744631 147807859 704079057 251171177 197911619 514660555 107750395 587058175 498472871 975800029 776009129 72195017 855538039 216059493 717526149 370724017 196183983 172388031 208129313 97342667 374449335 139891185 237926643 89435471 852314201 868836781 296765277 297575845 82437323 795620937 672516779 648951893 496696749 903517637 10642189 447073811 693127425 160480457 199116187 516097209 974345269 299407265 559787351 92718671 764142879 877685575 998148651 523775995 70025469 761327707 830181351 693320465 494908787 795875361 743482181 441774607 181115789 107858315 948700391 876785559 915764931 942880303 660832341 835617651 811316209 335756619 33247999 887113623 486731869 555371721 963099457 537805087 625419953 675373625 478560603 124939085 78033415 63991757 446320759 118669453 573577945 270047081 713504677 86897011 67184141 779383699 283678943 685779897 181109233 481583227 690859015 187889475 668813625 800908021 768109539 360505115 208013829 153198981 597759273 230686837 743292117 364668749 523316591 400036269 632297885 656953121 393897527 935524679 822515373 403032693 172085737 662057195 236582851 204119659 888937689 654219887 76494087 287894217 825585215 462941389 693094403 363910909 822872381 604562729 368820399 92689183 178924505 396233677 596096101 682081519 261178377 679681839 257562351 370749651 979463331 646975207 126868341 93536477 916815463 469399739 910676881 834979265 438894851 365431187 963329083 192543711 246282757 300891269 279998173 830112319 84811751 725807563 542049347 320671121 743757577 956214217 443527073 531181867 424132791 727047179 723527573 434857997 505052703 189997635 904169765 784447965 741492573 606550859 23239357 606048747 605570671 480500265 188281139 952015917 552053315 44418309 118901955 770910789 320039847 347505719 887298069 974293113 985950803 152921909 490071347 166537401 45772781 647754661 619961491 355653017 72526073 197374035 938086421 337190749 871640555 848755761 448276987 216926951 811690525 138617177 581969907 850226379 952215247 980535313 300915219 722077245 211107881 979799491 880892377 319455263 938685503 398536193 843811113 886217717 25373703 864483721 382124879 101155571 940546661 525067579 373989379 263016683 803666211 275753765 139552353 566852447 238657007 596187513 52507631 408069237 610260323 412372371 422994839 841384445 251662339 153278709 307729075 712140911 284700981 790579275 765837309 134545899 764259917 156456551 500108443 39238965 650329473 534785863 972453147 257462975 520752373 777518861 955625075 537117085 760891827 45129987 528811773 700264595 17817257 922533021 569976705 251690757 407141297 592161911 906975275 67950595 132988559 261597523 850195857 397998917 488670697 49745693 181886385 420075049 427026513 282827753 658179821 551300279 293017411 982233327 947696407 234944669 856624669 500928919 21465183 548913203 281251625 353698921 93628007 272114043 684766873 900577819 541734705 622459159 518494085 659199621 188274733 796031323 233566961 490328491 215967533 538180923 296472259 878054585 712108401 816330073 77109453 220220163 620711069 274920699 28083657 398385411 253747135 610563343 749039705 201179997 227958347 146084141 52691461 346935259 695509279 311755925 911347775 812023923 306916225 689430829 376656223 445058621 340237853 74492037 418832809 376963709 615201801 786224341 508824131 45170081 969656769 730919933 770437695 474528313 834196013 293881985 97212311 19314689 780218263 431964305 274374189 857631965 705945269 482825991 790648009 349080535 414773671 582255713 885533213 448499237 72486639 206374341 917659585 911659551 603986043 626445315 44225847 771131467 255580835 342108305 673610985 557423699 782547231 349127313 316856103 526384137 949377049 853545417 348476203 665298537 726462237 306289575 278150167 585510551 42905631 678817349 766137331 733819103 239402109 86666079 151120049 981062579 353003003 822294879 801816361 366756013 114793929 336698961 329837085 396949395 811445115 645864177 855599927 968950095 234717709 934709145 669082119 973653747 167883493 588178773 818167559 239221435 776557777 334461649 520991895 779776269 35896069 541449573 802923011 406864241 688501281 208540177 999079035 539611035 369085735 854125691 728933911 304618597 121646213 403566579 747993305 91790549 794398481 888304241 727618473 487078165 733314311 349730197 339663195 403686775 967921935 910427555 181311911 900502905 283334451 141870731 980351023 268918461 897968107 571592935 964385659 204191245 42889491 307699445 558531579 632268381 490192111 765071259 831857419 650759111 213170479 463564649 907385323 909482129 324940773 144823701 668995779 893602343 370325649 375564545 101470119 454472727 112264471 248917811 64138639 859973409 325867717 520084825 608373597 36708391 437121871 988325709 963769047 8859955 307209683 88817803 526750131 714516601 588786135 187695931 570456197 871974741 327198791 866740015 335654867 578104649 303002745 326320859 776287493 552532225 38070569 502976609 751455083 187333969 796054911 948096133 782917949 925591091 882340357 717859257 201584289 806259659 52728755 953733395 566626459 685842787 410389219 268604755 299298847 798729329 6769245 765905377 223695111 270161293 366564943 908933577 378585875 923765115 388686667 522107077 802936043 540471847 512434513 642099763 653251363 528021413 352298181 194295835 68622131 838163249 378056051 264841261 589907067 143495211 78403987 277063357 243313477 919562015 607944385 845860815 181514693 284512961 418244355 372080135 196698895 205061871 229754309 417757109 635003433 348597159 363833563 433194959 610187001 342832665 487016837 274381047 392477523 729785749 61903721 147898483 734347245 183713943 837212561 149874993 587689835 309680579 154118003 710939339 353288535 409927397 643276269 47058557 488522015 17469423 125558853 772200495 399231773 896674299 474015529 324394355 766474133 13174863 641208235 191551101 684633517 705814867 447259209 100182319 86128249 724094879 436171755 98358285 950745071 242937577 102190299 425673033 239077363 735792407 391325137 883587001 213696333 398336821 479587561 745253853 686185647 858327669 823539879 744451291 85456819 748303153 938957563 431572355 109061591 307600367 328705591 137172301 651510153 482363481 964915227 313354585 289163029 424924227 279008461 694892395 781777335 550740645 724115925 979181299 593066641 924140711 946032431 598061067 935980459 473849489 30024755 77829231 390822135 592850647 712655529 31782537 672607055 228533011 38759869 23639143 236880241 809746699 555653891 44391105 490625801 933378985 200390013 536274933 624471463 786900481 639799947 804144393 891301319 416970317 143874303 784311985 37483463 173134575 669308937 692287 575807217 301031285 841393227 484578485 411624053 401550737 966776519 900705723 167666801 532930591 894363627 573044893 862173921 178461217 37464719 630479189 950241457 244061125 279437547 55256963 249270449 821268825 444473769 909580651 791388315 718277725 31014101 821164287 731137041 868768883 646328547 712495829 205899675 454479461 633267121 165781805 227601323 628891433 304604549 386428141 219251609 529282775 997470729 523376293 658304679 473672115 584818007 732863885 775053567 26076969 713272553 228917891 643850417 384676557 358881959 127934735 393140919 273003353 444558811 930742369 161967603 230478257 333147195 779472463 68974125 905308639 882288359 349248599 483485461 232801817 85645153 628365475 413509447 757061559 901656215 135655681 130592581 286700607 895495647 534195687 956152947 342498905 847570421 157755255 610667559 474425563 48073729 131373687 419817625 318491071 474411151 3536213 138122219 640900393 586264209 118566185 450503973 790285413 999412841 349490357 815246135 403247843 885535963 486177627 294987261 864067907 27959825 749492783 589047607 491521091 443505829 493418213 490815887 650164179 141873809 625209053 880208277 866625539 692877883 641172513 56178883 403605521 918908785 274431067 215322233 2752861 631580775 503229415 929297667 483461749 746390715 164375747 803375247 194628617 810165363 877406613 222340665 12949497 942920443 759276719 518765825 473602117 942191657 918523651 953037521 666719255 256728891 189354293 560198009 741058759 688479699 121809547 981672369 25714379 948204289 651993589 556271647 508787915 878828091 237451529 562686535 506902159 193979485 443925253 612509087 980428809 998698155 690873299 291559035 320857177 866806739 186864385 864197921 934506175 23360237 918710981 473243321 129210279 395469425 771137281 605898323 202728867 57336649 954066491 469008359 165592689 282264513 780172449 1298779 927254003 207200397 50945803 936145267 503788339 624692171 467792889 703353059 138067301 171790337 555468947 289316677 235836645 102282011 518841765 558326297 187895349 739555181 587276969 668911559 664140033 660713145 646652095 712519843 562050331 72440095 117960619 737032163 691196289 242340399 882203871 906676397 254358869 675229149 923808369 498222853 607413473 723331977 383420961 740776671 423983769 841153781 414014549 176893717 204555801 14671 786031901 316415077 94911269 512545837 472293681 922532989 295661221 384982669 535820527 480007913 988951983 118573011 68483935 463264807 803962493 950054603 169112879 134810261 868063603 367111853 660243385 41316733 835515419 99801109 443844089 27340305 475605545 920148487 880748953 824494187 640756345 187272947 961452007 55846025 680755215 168294829 181615321 733461847 63461651 668309105 624794641 105385383 923846619 433950693 245578709 321782575 213625313 409884695 604053011 862433171 588485833 994132347 726159715 725067101 797921119 459434479 395587077 630423291 239773843 733277113 705847009 483116487 530603653 716417157 402572419 140872451 938400627 883321961 841505317 717477595 464680141 689539299 914071719 125422427 779936291 433996245 901674893 996201343 393483825 215957647 22484489 670209577 106191835 18500295 340528113 697836321 651575597 905888153 276277443 956455961 403295321 684016777 103668905 420342697 3123385 253443205 706653555 301124181 277354451 418854629 482610067 366576003 87742033 171636835 751265581 760404101 854625541 800669221 291091207 301465493 74904555 75611831 123697553 702868181 860605225 148979473 42730463 150229325 178200581 160562063 593435317 308314095 910859255 787083511 965993847 942979731 545686937 251463029 773065523 676291323 666019757 259998623 419020197 538162129 876531231 805693809 310001703 347038119 351513857 238282065 58268357 474342899 423024017 407737615 544563499 927512601 456248623 409613019 875182513 146568287 533097 466586197 681007191 799088379 375388145 316063109 141180357 81050371 383415715 824698835 560096327 525521273 750844801 718221079 354071767 716172359 136014519 544162447 700572693 10947389 543980697 412198365 506735941 53854485 201638815 324606483 187933529 323880049 304043633 697729187 611145703 937848025 947419863 198107755 89038381 118586813 17183429 494456495 927572501 400439161 493709143 430557727 56893229 881350735 148428751 508938191 808496557 520468323 342046363 505460283 710042995 161739 844492361 384074825 45472519 824081279 968221849 629113927 907412633 992021601 136968557 54511337 635738365 164999481 111274959 973385293 839903413 167818935 275233525 523249913 441263849 408485495 458979127 91313881 609117287 649854457 295310617 236599363 256349349 76412839 559183943 888149749 214515909 388623825 108892309 890096913 801660557 194150319 108919549 849060905 285875051 774601831 400073891 159738925 544649079 998888447 344841683 754594431 986684529 497660519 872889085 643749089 20012735 696241787 717399487 129522819 350039155 473685243 718986717 572485367 384452161 235940751 612355647 674585917 976477833 567574475 437235197 77832377 233977939 650523175 814534989 394064953 800831567 932538115 786341013 383324401 405087187 396031403 545833823 761739135 642218463 469120333 11305825 253753065 542804505 322978309 308073843 387578267 440953297 682479571 668666523 488508009 28251389 695850399 571840771 684914069 78153535 542005821 395849469 933322687 726039261 115893603 923605509 518426359 942482375 747099319 818617281 693132211 924229777 287683261 885224695 62088653 745695613 54755817 585750175 309925773 951258483 868063125 561976531 52617377 457971969 346929921 666462677 22817563 249267549 549374037 714942735 500637819 799303529 769734565 669315609 998622883 851112105 3461095 500370857 498240229 108836943 788492289 143228071 321438451 849990195 514978743 51837211 882991083 71505873 909448893 428131129 575637329 931053905 478591405 903472731 459099669 731855491 697382661 516311559 727848331 631928799 405707313 183925479 529779823 490770821 547346051 893551567 998963175 894143033 195001905 66827959 375229569 583061611 103995233 662682567 495006001 630870837 20145431 759918151 231436375 624936277 748818503 772815787 582256821 412248625 848075465 117018255 100493945 958089945 539774049 508362677 364510777 92547845 837913013 655112969 730379761 790928403 980934999 234601119 547351049 906478601 296100035 280115121 874422347 750061211 789043031 380056483 113594607 984550427 438744413 245012735 448229265 303328909 474223367 170436217 746213429 109999763 114330989 914583533 212824139 944657537 762831763 504101725 48625573 343974219 786873695 316512759 243614083 460062099 881531043 55675145 707230089 437886621 842289177 457140499 785233605 973523291 745094243 621188791 887976107 919600485 113139465 501291457 697659417 72745463 207386493 652093473 291125333 27895033 159628825 992358133 918023691 713520123 393921819 663509889 186475087 757023541 47472047 789087277 558372771 797775493 37450981 653833615 693182183 612365429 274998455 378495841 62024299 202364207 570403591 748284295 167300325 583357839 732939421 605355277 139960431 64178707 896878635 645289763 436276115 55912929 758978377 620150313 103955001 705769417 987871097 610640029 11101881 371649857 900614437 903419951 787653329 335780203 176001693 316004015 403460261 429011469 578848029 294565657 414291393 767320213 697828289 102825107 978581533 602440989 301152919 895435619 561685269 983425889 783896463 186334209 956879983 554207179 168602497 547461127 501486423 116319335 901847343 816987957 778182497 530303985 132106307 608936059 566790029 645165251 488004173 717900521 912469825 858029545 845404103 741491389 335811399 426697743 744754961 629682263 225853141 64064653 291375479 435904837 768085641 209425507 65985577 866401081 513263465 870613815 602945855 392813839 963413985 747117657 313280187 770968519 161620679 721287105 3325831 573712273 323822681 110527759 360538227 659467967 792419131 402809991 903562041 203492555 296815481 595005465 173675897 508490583 196071819 861694047 935406015 5443889 864912203 588857239 895513721 585668427 79463171 636112551 817124611 828225985 179674715 191207967 915969693 440852693 779033453 328713525 751580017 902665203 129524147 98218699 608892815 152264367 216823571 73309287 571764719 991208385 152185051 127494967 118458743 679231505 518847 190978837 451849195 19819943 638743517 749611901 132884737 196877495 984971707 22898839 222071119 971551389 128337733 457870389 217292629 621100253 658759633 796438731 207952513 776524831 222953499 216741499 452444705 175993145 629843785 420570121 475167343 873892901 664126443 639171047 66898315 733930245 830307057 782702891 31233151 213655337 869799613 761949333 752951871 91652607 653984785 165487499 676091551 327818277 719402267 496220959 494633317 168113245 624640627 989044997 309710137 650616469 264636433 77057693 373932713 607104733 211653727 130162671 383446835 757686385 659082025 728636587 637897269 959870645 666255011 68218661 666596859 671659059 912341099 553159009 951057587 542449057 791752325 983731203 579809655 724191447 397306465 909843291 933808971 307404763 793155027 316605535 609696789 233371605 321272855 975101361 946480553 903913499 577904851 524009623 256037567 877618985 971633429 37667839 832864247 483464095 478041683 596166019 587837147 867121481 446786919 59236447 947461853 9587741 339846041 191733371 140167255 880408883 743786901 219178345 693067143 627105745 877746289 194198877 163541401 116263521 849557163 69062713 662744991 654372725 464127271 87550081 466348943 104093385 212435505 265064039 921348429 803982915 341133441 723689153 490311075 368671467 441827379 188539919 3891007 693198323 220544459 749077879 863382971 432347579 230130489 348972489 122851483 944942275 305130703 394743933 374689349 970463927 880068685 782617265 391037195 282279785 684628951 857972783 652068905 78536151 949228283 776106081 285384891 823837473 144532909 183785827 603419345 577159573 893604171 664592113 838988885 980959141 940161947 334034293 627920423 344566509 851047369 478476541 329355523 663606063 223151467 613068353 48541845 119539031 100508029 602270109 446717551 667353719 769582439 553365021 697134855 627446989 596513267 76447853 334367937 777311931 642315865 239929319 986373349 609271755 910453043 377826695 982628517 98569137 286119307 91261175 640851993 921822025 556348361 829618051 355124547 566316437 392915653 336375589 848510221 33467073 642459837 211224957 146845767 156064545 271611989 451464399 81593517 518110767 866812827 201654541 226766811 446735757 158367491 209115853 385896031 746089483 841948267 101860431 23544489 578576023 488306711 56809593 808187921 515071823 863729591 496999387 73108953 432513141 918250335 106701741 200412203 862170487 451177611 136985293 450422039 185610723 602950433 737840835 244398487 363165307 169827951 640323263 258329229 411793947 607793195 739116183 176150465 559837397 180763503 400797641 593630437 950012119 597354435 944990335 181758609 658632575 531809299 686186631 473945415 845468752 679572407 854787671 395700335 889482229 443247975 393817617 765208927 485780801 892797005 124326011 851929675 816504881 373459699 514513411 443091797 899934949 112163921 61275585 591242121 847824041 95756483 458206837 353474517 818245363 76262157 962354567 349744661 727982171 444047199 844431875 443405833 514520487 290528333 159523237 899898459 867495103 948678099 801627591 686501275 939152315 923890263 447592563 224055619 457647057 233980327 223582041 889533107 289977959 331576311 445509327 367786551 692024841 91583205 415578837 298118653 343732585 816806007 547246609 633162017 209472097 218516505 297864403 669739171 223387895 502625185 654122003 724302957 560019029 45416523 547082863 695494223 634097613 61281215 678335279 248939779 247071197 196218631 973189443 914279209 334309669 888865691 317535297 58752075 502364019 160955989 788225383 883299293 131725497 102956669 222061215 428190261 653715985 744135361 592208247 528686995 275034305 284500019 273515045 843760421 106169139 363304275 473250443 476824569 487874043 996986629 497874735 480377863 491925715 852969879 849400895 346841397 25242525 432306109 139885203 442818631 524639591 286364053 64946859 419810289 123214691 817431459 772987823 690093517 76969453 161340375 260753515 491268955 78120839 812585605 321875545 237869315 825032669 739170153 122200217 655215385 587065539 128878763 319388911 63767253 469185331 646652373 847248589 262495063 333956175 259893469 668955209 301625513 928107111 391374115 74841891 599533245 311678953 693435497 21814721 475618925 637007987 344978397 205125171 361624183 91424199 572355349 750138673 620294281 558168785 727320847 883049753 757178927 919126693 717529389 254381299 351963623 453735805 649291841 446164333 658806287 97943997 652292989 189730273 476304369 997617391 922804095 686391115 601477311 74220745 312105803 667023189 789668499 671755811 547217233 911596365 501914987 850482177 138993763 792372521 750215221 725559953 359190209 862498443 55227837 816491043 133432079 402385337 442273217 620816435 961679195 487911073 928188383 330575461 175660571 769822171 725180065 785259395 919515433 264645031 947421817 231216259 844771021 214372589 466347711 165168509 720769203 724290617 160546487 642651319 658580721 904647877 909469831 245995929 771321091 206716273 209003585 87017401 473000657 429342657 941165279 342577619 393938853 662524647 973732675 306838215 755155255 634899129 672737077 522418337 237861025 398659253 365709415 675699095 549951853 267223813 754427763 815987971 191927939 630341495 308093143 444261477 300036923 570115203 636118527 6103149 694767187 631453255 900379707 386682859 867281647 134818187 352408519 282442973 287689629 825549503 900798143 885838179 630072657 33746679 613980721 669433547 351117417 629817079 50041613 111548551 725616043 451099169 998324011 575927601 561676099 332137353 344570447 214846863 912277445 778719973 470947103 308285835 813714739 990962065 264594989 729081143 487817197 162045849 871022323 270438353 493086659 132041897 905658579 603454139 364092651 661011737 765015061 458436735 410126591 600493289 640763625 874792913 646370311 8629953 585421931 945610891 169614193 353942765 427654557 172950707 829870351 452340327 688906339 949890931 234683423 179896271 435865749 972594719 595035209 766988393 562305255 869109553 902659225 988042023 5368827 705627467 471687811 885014431 548884829 384088637 396441315 1409807 325766269 291858421 144813827 797306209 127499187 943910289 347894157 903260707 835278657 452219987 731147669 963666317 29664335 512368295 667404187 592891773 487113203 396170529 633603203 754679419 314567199 886987643 647385755 342470837 265062075 852926871 209338009 739338501 973570189 554497669 493616279 758576103 610888261 658766195 559893277 964877445 524655999 424974015 481107991 67832237 867836859 928868075 859067355 752369877 186799459 659468709 678886949 776067871 56916167 26823869 362158877 568857679 918741793 44810031 421423693 507822041 420249489 731722271 720458157 222058447 228477987 373876183 297592985 352433651 298188485 432449741 528251605 224613035 978918483 754103961 221057425 698086921 430700941 823542527 302327391 713203905 167451163 447492333 279225919 325912883 88280977 767072115 336753813 61377639 401945191 71120589 398899247 113408781 723290877 420099423 317131329 994756219 483665055 222184117 39135081 786650543 841144955 898415233 681298603 782874707 599901869 178122141 789776503 481512887 624000309 420333839 988156833 532886989 613694203 551184127 34074725 981863993 305851091 836547 131849579 969933633 915168885 14777559 795745981 623556819 66137985 986983387 765741777 112014729 724325505 868425117 745124231 852151711 70755305 280718607 918040353 953027071 374112013 421682763 780335949 297550135 406479155 280553367 730221091 527431805 799438465 507704925 48466715 222694067 865186059 612422191 125372959 275279709 258758089 234761675 490020987 464695213 805716891 280168977 907358179 13895547 372270155 729061647 910224757 680710209 178946955 251732215 620669109 744359981 884200437 754252581 942233747 160293129 676682247 401046299 781221473 778959695 724619567 248925573 322424031 762244383 739592889 419462965 365998899 193573181 739978467 999232553 101375463 232012825 45452235 915308673 424847345 741700301 629895291 923698059 688305583 227123223 107802085 21033659 469125607 745359197 187887585 948286631 201232581 604397487 863622195 656040473 123047135 334892741 211514753 896168695 372914227 826124285 750231647 595941717 679667491 470329693 745808963 126761585 701749121 103984793 164176017 622864301 42028927 222134787 799163281 231884179 253455545 451901855 921057653 386018007 566310713 691540495 654709589 137987925 875016807 878179751 90192949 146491665 118790685 871438171 387023355 114758963 950435733 722759117 120765561 392571153 419375221 882248257 493829227 865560869 196452297 632938409 486628975 908369939 371242249 942224795 218518543 607065509 302054675 635628375 872755899 229614033 729877799 139612357 197767377 534349231 663791095 727539057 364934797 723272835 712521879 426362773 159809307 556826299 769428355 274970895 338760587 649304807 568679331 543216745 224185817 444337859 571455297 447015373 749991905 747071539 542767381 894830103 22059633 398847041 904308025 779791813 800719929 341938211 481877045 696659965 739571921 645776433 973503991 200967055 41921467 435048177 350663377 289660913 184949601 945608715 596647555 328648773 151414293 228282199 701484335 606207057 228877581 912360395 148828263 771377539 16633707 775997581 801994781 241509877 542872891 200455657 235275183 541205859 113863789 607361615 448114401 562640439 772518361 861462879 139655395 453670525 904958529 320822489 272142665 397678833 148269903 778577831 70178575 854717421 815932563 704083681 147923867 558117501 465837703 448064701 961979 791519053 119554445 540256675 509747877 510208437 716366059 124343577 26614515 13671093 506242519 326607575 336632749 798730739 966323815 325212087 858974015 121427647 477727389 990369979 390603903 784478481 11165539 143268879 58945451 469857927 4880265 567717381 2348901 181102955 636420809 962011675 826068415 351328679 125904067 511264241 17850665 517555671 831289859 670739029 38177669 964004409 314376439 902487609 809513751 342265777 338637051 396182457 442463625 403108563 907026255 565639447 973537013 493593813 356427293 817533887 381421781 323342997 156861301 956037957 438952719 928757659 230638673 283752547 614573295 19928341 762224529 114894331 109641775 504175323 313010945 460629533 830328295 329278063 700380751 585002231 620139933 314250227 431322647 602275815 627907137 78693179 482909401 78301295 545577767 732033723 672226301 738571067 323920653 173666453 392145111 476681503 671557397 977823629 394652063 794023957 331809743 948516373 197655669 461383233 117788721 230829379 246462563 306157293 222598805 285917655 840583773 624381837 386467781 552815927 990552119 662465213 613879785 879227509 372185015 534669633 376604569 490351941 148056453 270996737 671729363 572739335 483407407 136667155 386730491 872846275 425235763 844822449 777217759 515090215 789751791 970328383 473255857 101675917 686974639 391944521 949404691 697852147 27316129 216257663 665025033 291635199 94886367 870449857 450137343 234594049 338624621 154468365 524856523 366150383 388098353 286010259 274713769 169703019 314879 958224035 645444671 557681851 957844879 48698809 424931483 312957133 547113089 573034873 801143089 289652281 323929695 177670063 987921121 782458945 598093979 436556875 506037997 354728135 685623695 146221677 922773507 494612319 46194553 971460947 636566841 7292477 998941063 990161773 730765069 580576067 751821509 416874315 56759393 552848117 910309169 308080811 953366407 918086533 324431529 256173933 883619119 890746313 33839607 987334815 81242491 442109505 449598925 524436339 179740911 293143059 502962627 247650883 134753141 415599631 970297693 853183381 106572647 712122797 700961025 324204307 889026687 458858507 670430977 777974927 376981731 734860017 152380057 458280711 356941345 413328335 776528103 774498203 342682157 600150203 430409717 752170137 769785445 446859123 572746165 308583539 27976847 19955297 476531967 36298437 422083031 933129619 39655061 114511697 161484243 353273793 706048545 582753539 425774463 736080199 833264437 62357743 754763331 332473137 368971847 414309709 494092009 6909483 34879419 265028229 904704679 955135375 839731417 912327199 22902301 198033497 798985939 101173199 571333709 848418865 902912961 986362481 811715495 166225001 166720933 345475335 257403645 299347189 430971753 391024061 906564751 321503607 596720095 804987111 51863297 638854707 598041277 483385855 710249055 619029787 667680165 538539177 182610209 401958085 811182371 966978479 529719075 461689201 186515879 991613445 192039083 225494021 175706761 299860423 358947685 22297361 833212171 224894777 142005605 376997325 333370199 437193667 940886061 782863639 998367613 562332923 145484701 995776631 635561593 132696475 345800453 847159069 728158503 55611015 389647385 88617693 748831061 125609929 780865529 829701435 533373619 71002007 930446887 859489883 812426201 667747145 977114001 821400589 916996937 806462051 818089869 214728391 996020333 516304275 67450585 176850603 502630549 497184169 988715161 408145023 603528187 142237857 637467481 403777201 196119231 26195615 713626641 90543193 517853165 510434543 910083869 64247351 696484469 718959873 727740737 534932403 205651501 364008821 131711149 768615897 648525533 455895305 99193331 741572709 702506791 274676653 136029459 839191217 459032993 497044849 597426801 224807111 803274691 462955921 777925083 853600343 784012527 886110579 148185989 105710007 321195371 478072221 496673551 49412327 913721709 133598919 721976953 210080909 767413771 985692875 492346679 660532985 458807365 175295913 475500823 575189795 270203401 213760145 292160349 746939305 141343013 651380949 135705001 954038227 784809555 237918445 777126669 518625937 390527539 289039743 699208953 819257207 378294353 478175319 515553871 636116937 512818715 391171943 641418321 742305131 774979565 849500619 957363631 787901421 504688135 398710469 500751227 227083653 39022481 363132097 942004789 724647445 134403999 768031313 804219585 947361313 100716073 680656691 271527275 766129629 944937743 58482505 314619115 647693339 891231515 658644381 649190237 863083357 23433985 885662051 120778055 442981579 830670933 959000821 943038101 630061361 957018269 399602907 816929181 281593865 51196479 365687995 426406427 810557555 992451471 649497193 268554293 732665907 224858565 947481827 414647161 344863931 711838721 63149899 992269277 474415137 402877517 303025131 299146939 600804899 256964763 257652535 184044507 285238573 779065285 423197899 761029739 769645385 846504587 473619049 221484029 723742513 1750677 949683455 392801167 381432131 168564599 972104091 282117769 746229383 544278439 746466429 477186999 421770667 994788233 79422983 697685579 253208073 255340133 405598149 228512999 33722013 757262191 315396967 420907151 659810065 708548283 613890507 195902381 797004467 671565903 118875125 721260315 192653177 858476305 555657229 761849107 967086853 70110675 669857897 459148347 438652317 869960273 888299139 347727009 118249775 110544425 612521983 903110329 226133075 114152933 180191145 381535329 743496009 910570999 831134321 550034399 229067511 36332471 642366581 13354719 161645039 343600745 525121017 100160375 354586981 440614451 575264359 609713445 167001145 70424359 834694993 686742475 27080693 440778305 63972211 813155003 817119171 764868191 333836209 876147621 813575551 780436299 872377367 486880683 42329255 407407797 535348951 984476751 275820897 701929787 989204811 227091585 70629757 405865817 747116281 343976339 965329267 871010427 510894217 873482821 126200673 542276593 10847443 375089595 478511631 919643127 38910413 457380483 770298861 4785835 950294941 446877073 854107663 473726743 150796175 78226243 384963897 341337643 370465557 305453661 707093709 668260805 687508683 628142863 729879007 357795745 643022707 127599597 170035749 143634539 355208951 383193331 549509371 10259123 713379183 812261001 804635757 690021875 828673555 303626361 572702247 214452109 740226117 898484473 694607489 672489417 27805331 315667369 662838139 162258135 515235247 28714123 672284093 560456661 486290293 901104397 468867987 24511935 326178279 448960773 859967479 536572545 996908081 177386417 825493385 676546539 53938085 264701621 673354125 822846135 813519553 103007517 142596341 268370309 84077095 592782945 888388437 700333537 972403617 497714013 185818609 273845051 111760675 586030423 946879149 583946219 53905353 261910777 465183513 620820019 756689109 506103645 320024941 517309245 883802803 147041021 127191431 789651993 99623927 960230079 374008303 540850881 43999835 775865073 695049427 487204117 740838339 181418055 39171853 203773921 680252729 143020769 185464601 966635475 285982193 583851839 732705 714028679 746434631 157985621 377815283 201171837 959107263 513119603 144404229 698339103 638575873 159211863 430617465 911641533 357147875 638647081 91134483 957411473 164490079 942591603 110381125 499311291 638199193 861374765 994522151 469086279 945240541 780781233 48044917 336047907 205202587 284354761 341728407 362676267 146756465 741208221 553193373 283471391 677287459 35488711 366499137 582781609 658591129 910069567 65607645 477922135 693283561 725767791 926045819 819280551 22171727 730728995 280286155 129390839 607238699 826654607 631692579 161278355 21562889 164125521 847928193 176301481 510763935 962625135 264370319 579269973 239980997 861524821 536737179 158331543 972004225 776775385 233852061 15297623 564721917 701738295 898241843 402218857 377947787 554417943 611665317 87531397 296214439 770086019 874299361 247966283 475967477 342675441 3745921 849165893 543488577 707688769 799632833 227161063 414736253 349431989 683964555 978611845 443041221 679733243 819738477 543006053 163244377 933283113 967154589 723734701 950903721 52201917 178164221 289562225 854908487 527303067 347326481 777936297 819321835 797991439 996568843 819701045 661538685 329616081 20846273 5553375 728660227 445824253 640586931 159122009 301300405 547331097 993663753 938648125 741850605 489024783 621157775 612248329 739360813 260922681 76931263 277750315 331631649 143416657 101831351 388953327 985822877 67757181 118603841 572923283 707357593 763752779 374436807 524810805 654541629 824905905 409598053 751343071 208368337 656066313 625798361 917796739 423647177 923555099 508784265 821055227 846536385 228352787 793288325 41220613 30004859 911347591 460302981 647294797 291302627 972950133 269968357 835589989 629025805 453887039 715882673 332342211 87943987 25969335 339687063 255720907 110769079 67900429 512716779 866878917 388745769 18300899 898564271 831729123 937401143 867336251 806218635 406958911 433151167 596548229 905163981 785068247 384640195 255688339 987918187 136246423 253969007 218184613 861839879 316096079 186066711 499073375 372989413 255304891 983941429 94239951 752903671 428716665 236094829 922319721 88699859 36499219 952316811 79447563 574632121 125487099 875917695 471913979 456188561 640290185 867752551 872087013 597452519 253496319 695732103 254270175 243990517 338909319 971330887 870324069 80655769 538818609 528185917 674438239 364532827 500292345 818763299 839413783 792798827 730997947 909254365 249247043 653230239 676998725 600018295 331289603 834511221 277874247 503394081 529853657 142624279 231323225 266120251 679517619 645662547 769769471 85855555 387913959 349451425 361971613 170747369 109760563 339892511 269958539 673631741 151209915 485753493 247578877 292942971 393191693 587997809 384127765 53784713 152710685 815442125 374100959 581100141 635992137 508077413 694690635 210600607 738711381 315351715 148746801 569774263 258457713 874845331 655797587 503187067 228611375 793253359 972035675 316839637 467638417 448376599 432966361 274832599 3643383 20766481 40054087 236249279 637662257 391444107 907037191 542659309 399997043 861571293 72783969 876225263 422311261 873423623 616827781 708323447 734629359 458440367 457298319 125098591 379764893 984805669 379598975 747262893 989999159 85929057 350271295 676480139 483074811 613724161 806022815 44429645 429129105 261574733 502746201 45836651 379401219 946724149 441851405 710933133 467162313 632953679 580030023 347430779 744461247 815448793 763790709 63801129 397416745 746290365 206962931 659943347 805565623 80613769 942884865 863513435 229701755 160628341 126354121 221988237 953327605 31464543 330542427 954125787 192472841 823999695 147049137 899336963 923360517 545868019 657599915 299541479 561330589 774925475 177267221 10718865 594928111 733162337 280956829 241855285 554532737 87809359 719836895 841660207 23431487 712062017 426537563 521847297 987614847 706990251 223497081 485236825 221001725 526616239 148191629 769172229 396775137 800931089 529550031 890510853 139401141 756650563 354440543 467501435 46144881 308423003 314151497 284546737 575246959 207754521 804326523 153377565 77059447 374559459 852002769 574278999 769672887 853406155 417358857 348808227 199924929 660783491 245214673 260777839 896659861 702618993 920555447 908567371 165707159 595889559 294252339 545725683 918690451 975697829 208588713 56285131 400800449 678812661 48051555 726709853 878315965 810484869 935339151 585437535 22989197 615312379 718809673 346547881 280259997 359799975 957588367 926219839 277584321 679371135 847024207 122186063 143016249 14063397 836029525 437810473 545170347 295309535 402818655 656220745 384840225 780986779 365378315 161829717 888629777 444982513 49367523 588343315 367113817 99477539 428253273 330222715 481912895 163108115 995912391 98843557 895456881 931086165 917425003 305337047 868018689 711804189 794485107 752508539 358383469 783068235 28902891 650702627 247949725 53759849 367826129 875925643 685054171 421686947 605419523 249167513 956327391 611708113 162758219 793051731 362081477 910865011 533295195 445646065 850862097 271038639 837358539 582374605 290541491 924956757 205754911 173309545 846680061 872301277 636511677 800145775 602458799 174368613 94844151 451077559 861772269 237268405 531211017 284365367 709860165 91094333 796954385 943469079 940811435 545927699 709820697 110971295 795154815 402897909 495575827 62824259 708236161 266854221 634007511 334545565 801154533 742859817 684405801 457711475 596386361 100720447 60773295 511799983 497916801 352398577 102931451 784859493 784992541 455716933 147780999 894100431 62001631 768411625 682075317 257377871 968892151 529028407 250387661 945980019 307795719 915935019 226964225 77838831 427407121 222338925 361884009 399136665 812800387 862192975 16123911 684037243 29000501 577771717 57525701 728174267 206079071 83703153 560367989 573451951 446701483 497057687 454551757 902982607 829509413 429304617 359206769 987938243 993745729 195891389 777640425 863472979 117588957 199434899 84289701 819396469 542939967 354213265 542441729 719533121 278115601 301775943 821075007 669722107 227520877 364400621 517257859 454543375 890089933 865669473 642657765 132857873 820296217 431123499 843750233 273010363 883318171 318836091 398936001 716746481 996194313 434865957 946711273 323345599 284979329 61950637 423723649 949698133 555229835 586830391 168801057 903206673 324515599 736271763 224097099 212137591 274953573 136687927 913042537 688634159 830404169 558177605 760306123 718091279 793331939 472429187 602538923 671047953 998913471 491634527 867340329 857416283 60343759 455913201 861856337 740463923 557892981 185043449 546800403 622617873 532943733 351093727 437054535 12072589 990496249 718525359 440580527 760636525 886127003 934574371 235945971 620294809 986491477 63102363 427131815 23637799 292114573 685079323 654865475 266713939 156073489 336112469 370402601 963015805 563700501 144947359 584343199 26615603 240459575 136028409 345177307 193539623 570857085 236644105 302490355 35284787 946872403 326679839 234229737 6019677 118185103 719016499 911474597 848352463 682057839 755893987 299410427 47553499 543098773 594285175 262910371 68102653 459558673 512650207 269258045 195648987 844869209 96715439 838283349 321367869 828525641 151761963 248780889 979521047 541151269 973659191 540510117 73707907 50197659 785417313 243508345 744500423 92780227 689557733 72747517 633622093 578940693 185280927 853154117 700379305 734075515 742416661 166951497 563904403 598521665 328071035 833063657 183775987 902263835 920936867 419991023 384275409 396008743 608767503 296582671 519013729 181235947 151317989 843697885 100148223 264960339 270968823 408387551 703392813 695403187 770068921 765266301 191966615 862773965 203238987 991214085 979889169 346985409 979057527 878871733 600859797 18481439 275809961 165034667 480631365 401342683 568644089 574203377 894584687 891760725 110408997 967253627 629387911 925499727 201725591 331967261 243241765 67260151 586582111 326917277 536743693 976114403 587669295 724781729 889178923 343412753 736109421 323432637 80448147 421091301 448210969 810860391 89144703 299392811 108777449 514982147 82894419 195575579 823329329 562220251 35361433 735917137 695806959 40832029 747993093 252567505 849017549 108784867 199997301 576112139 785537049 583445809 372622823 432783315 920190409 708593133 145064841 821705573 764824959 282339817 298400431 652582759 670134143 248346337 185336021 477363687 979738557 194186355 47888283 100470105 188868299 59212585 660640205 146886555 855596779 408289653 691434593 967167731 441859843 303125167 908661615 47501581 234703269 282047515 455929147 538349055 901393413 192962015 455368499 621960005 434678019 303889421 239956199 78977223 404139561 900815265 769725715 683934159 23658145 571610489 802255005 588382741 253250119 590694751 602041227 66425013 633278105 732242181 635657749 568478003 2763709 545240835 770230163 146393213 531016579 478409179 767096203 805026795 900473955 416088311 708045991 988841015 807475835 803337641 637088697 209737863 853946515 811478055 548833471 188508519 8448793 494004885 362026969 448953295 462909223 881631227 994700885 157900315 448166265 646379849 43043237 750138129 650963833 227650653 111317091 940342493 282388021 241702131 625734485 562852885 218685283 585005495 595055205 856058037 669697125 984190265 566584229 730875683 459067201 31604979 424266835 624556335 789899173 436114503 457532879 264882953 217982441 553231229 843323559 872071761 988520973 179069127 935064973 618852623 571280057 812203837 118230109 210668715 264652345 825258977 827856153 832858877 665457031 178879133 377858797 176985923 185231169 715552577 33617709 282741535 170686129 808592007 234257491 874150819 747288769 978022673 783595265 895512129 256776461 8650341 830480133 953061335 396361427 360723449 389119057 326071209 807897081 550222371 458621441 647023719 514013711 799861029 620418905 365051683 27834701 66411049 19928769 211871327 972894609 592361023 902479567 577706235 933284195 938833249 510611259 886229831 592029425 105988975 256991213 387652087 250581269 764021557 18227183 655651113 405854283 206326115 549972081 625241443 682455485 228869519 401457105 358635153 892821561 494662463 587266193 842087177 514930997 916704475 222496863 188065929 550062547 809720499 740473609 216229171 348607959 858145793 112677777 465618073 593284787 622628325 517047061 751736491 320692351 792424043 691669473 451324619 51785975 284524417 216968297 934642875 258219139 682184195 635725387 38749099 671647539 818941105 575469381 348404013 9219519 498662709 134943303 119040577 909741703 525634847 678115937 964206667 151268495 374581479 74678735 896355865 263982217 993381619 79432437 253479647 357838795 313181319 758080351 94933819 677170515 780605655 926893245 522850867 857582283 959565309 866748911 345093171 765449089 714185721 791263219 901734927 258814317 131905459 862990073 412166153 405280301 894125055 461253457 802249409 487633417 986035349 697057401 69371463 59762415 367717653 248945681 518753041 873068409 128917515 758282983 181884665 850829795 823344613 639709675 542331975 366568727 372513789 162450237 374968489 415949731 887243159 133440797 603440689 859403453 75658459 979019511 519021663 355792711 167637463 194658397 678486293 614709445 966770569 876174861 512862629 582623337 709139663 593882343 454342081 537983497 703178611 730063097 912305287 967061285 449450791 640313973 475230075 543230949 34905733 464423605 306035085 207882261 379010061 342628671 540922897 638448175 820001575 77582013 803497411 680472145 31773477 101573123 160714185 850309445 382528067 764505867 855606449 540192117 532851359 487919095 835190639 782566909 716521795 156285461 651244131 538907035 411896609 387303639 768059471 499893173 22438931 992327385 851202913 491046747 769135575 203901661 805403183 224038467 293651225 289614543 232154293 387410895 286469227 817188035 29533531 107128837 437373763 241040371 812151787 680008853 535319813 734225347 673499805 278178259 966392825 900609213 500918541 763795393 440838225 873000853 215113535 474068231 48473383 502784039 748786849 975325171 896230777 135362167 767012107 491469691 756306227 414945197 801248183 623116353 90347047 271703327 406840907 537401225 210410251 140325703 418058197 19045957 445533315 478248649 76219849 662796811 303154711 83301743 591552773 712256027 354442553 692140333 153853647 460443741 977190977 577168159 188158931 564930141 920978801 199722633 762068773 700944469 607527923 826376147 428046663 865744931 782600409 229066131 984088345 414662735 940246553 273638789 456167147 917809929 781093783 101186441 814219123 855311655 187064347 448107691 744004811 974902055 128775765 932813345 610321789 48963635 486498273 279408707 868749681 684059417 196087361 45710743 356119295 984200529 986512347 775144901 827082725 672119289 918237441 121830563 898604103 329178329 763835117 619751725 790369713 528006495 940833985 923663491 730546715 552693669 285651077 199786227 789843169 42177383 549475881 902254829 551769033 399715085 12339849 241932305 197629437 426581161 530356325 787984415 53191959 672357615 491479399 942181377 302055441 259939393 308111647 662197455 268250707 380355491 749657095 42717887 171817127 538804679 710512769 497218615 828120643 210422789 724294613 957014723 793782213 358391639 662467891 371500565 533399091 249716075 82876087 575637257 747411961 326130571 438569569 937373857 758905837 684016561 781570331 115357961 131565133 949288315 784805301 904058003 734233533 549914417 616358377 683594941 114421321 165347523 836912983 550228775 519209577 771981511 67442827 533573791 934454775 396843387 312044533 21001751 141141821 609404361 831642861 405066155 422822371 964949567 974408883 914145693 7357955 449953301 934373237 888715097 262485271 340803113 383365441 363514995 771587845 537575939 837350161 639954341 579323163 772386513 512448453 728625105 913191181 789987435 623416617 399845125 627431417 207386195 525304043 282129269 668522853 797776555 540837287 448767609 701342269 262502727 641695709 113812373 598075863 773660827 308142837 662060405 614357231 147045065 556416579 424714477 792683179 70966933 98235391 497422327 229445019 713049201 476819017 179953335 524300975 923365235 805567021 212712055 504521801 596105819 98432665 504390315 188535595 957769871 645883241 713249775 856129923 25302815 797038685 893726471 760527337 366178755 629965853 318218715 51160149 492412891 315732797 586009217 887976753 292966251 261591347 937774131 758120521 734327843 776115557 817747029 111048657 110931549 664263703 579556211 217106791 481853975 121847677 108469309 431468303 564731381 658656433 85392529 369622073 465372235 950052529 179735667 939928761 234192399 906182507 773401867 210250187 765601247 196065963 998345135 719522581 501876483 845484335 129769691 799859109 486234729 452284309 842323247 985064689 476507049 500223847 677649017 846593491 3622915 886167065 971590313 895052691 739955039 450447871 14350559 196505309 180334923 467617119 939044953 684244167 278127101 572929375 915668359 880295887 806809429 648002321 612008697 772093657 638185949 265762929 169429101 578662961 43895233 801788253 667392963 197317263 413010393 246757535 365836297 147051535 161502373 866506985 250945649 844920629 568118603 828388309 474867029 763352561 111181979 862933217 798034747 168784021 847178765 966369401 833831373 989885665 830727871 101206767 942196957 275929849 635763321 37062009 210546025 821804139 899071147 25907515 599637649 758355243 309826411 932466237 755728035 234953367 690845303 690828913 39305745 524168821 132422713 54633135 440068727 337035761 724208319 589272507 707042711 343526561 110224575 300278075 805007453 569372545 985535643 506135233 647805915 879088633 476578649 864465607 473809487 46277843 443089831 7920047 24754715 236715847 592598239 52325057 934405833 612777455 272071165 531289903 277938701 270419925 801901737 665033489 482916035 661611361 495448117 861728363 588307949 797253995 479186069 489099299 295453623 256226353 84854633 100805387 506108533 988058199 632276219 184048349 167322017 613284843 236765495 615714107 998430431 105697121 164047029 931852461 933627641 307977879 638040501 195219363 303766243 419875793 365978909 497802619 609974457 655457983 265568125 347299185 107432125 505084277 599113229 804957105 438634589 6481263 374967723 328197707 704107305 861336723 241525215 274739257 56417245 873092143 822940633 748329053 701745501 814208505 633909101 408841853 532988339 627227403 53218335 624923215 529961747 642524397 871660563 182574697 492850395 891155595 353401623 748643149 754251913 903489853 913140135 491603557 42972365 22203835 929897439 304777985 528789111 901843759 198766725 537653595 685789571 831425571 538140173 686769557 872479765 531558287 406929801 65863861 260137847 436092367 819951035 197768625 765035295 14899111 908721675 839458911 672864165 689750855 890640773 45819521 882772943 966554435 843601379 528997057 123253127 82113943 866966149 230191533 891686623 457925801 992914287 450950339 425654547 854138951 774342227 161634659 940830599 420148901 694654855 11413973 522666695 11804513 196933899 869262409 222156677 458952321 476138885 805207003 60958619 73079153 485253957 795620235 213270799 370482695 414227267 387955521 195812619 199692671 711748637 382455505 178801377 145006465 345984283 656357107 356115727 431248151 290188589 885926471 808405557 980474809 573298151 755689049 89804833 362099777 157659789 779534487 279319237 360447479 578812675 855924573 422544701 787501961 295855831 307033835 332266699 411963401 221264965 36981353 301348827 652191735 704010537 367984875 223507199 820436023 350044681 525050473 683339253 184986391 452554519 569339587 686579869 911627083 956369195 398787781 922695685 670937329 587284673 458793757 927967071 259117197 91875073 92019559 828321031 893477903 66913469 100245281 882204543 561656267 939069289 694789305 200691315 188624765 662217253 968816251 928402359 261867341 919063739 744624549 903205957 92105413 909622935 882223445 445222721 707575771 581125585 536613271 215903477 416380909 1025063 822788697 222509525 170581699 838005251 849376885 358152573 423536517 301645173 820002991 585083823 172559819 938397999 87528621 335236439 11462291 370812821 891302915 757619593 33651519 93677485 623761703 8377983 221683361 760151591 122183807 259135133 77482987 480756825 42020687 460896109 164005819 584017217 348137163 441512613 351822101 54609545 826553611 213240093 909471849 976652159 256201747 198927833 662596745 102651929 881623753 435794695 263020981 662874617 883586049 208047863 494826129 232716131 871120753 31002917 577486635 967112265 534770877 899536693 263587321 332700483 215979117 784026097 747157717 444534925 979183347 173575247 684589063 775761167 95369641 279293543 19227963 966101851 627263949 23784575 363687047 595913381 99777419 300144127 225304423 648611277 734686965 391133309 423264195 868742237 837630209 630607029 207566565 759279487 761047699 428705159 458504325 220036367 332497779 510457089 569841085 717113483 400969043 501383507 182328343 474111513 96435403 757220829 976525947 515000201 819755613 956723741 955617857 248919891 726767987 713414339 459591719 247246741 31001951 526076575 948347217 271365911 716605015 376477103 803487309 770371655 879880319 830113299 425609743 819247167 169727199 94204697 47300341 366538171 667692649 56573491 642062277 130405925 651867893 318361085 688267947 665500299 633491013 497393975 662804539 910124707 251982083 836662737 685703799 496858575 535333823 661451741 531839935 819527701 337697779 844147859 761720803 425576739 152867073 55894363 424934169 662056273 970976049 730264765 768203003 578403999 916759221 643977069 171516305 16100275 69272229 834589511 50572359 759413471 169117187 705378381 50024181 966350615 927524025 653928363 508514003 115500795 364615319 396474547 391081867 305378773 483619927 320786915 924467241 256662671 999464091 926339037 923924513 242735301 200870633 964967019 853880399 344958389 214497975 925583233 932265981 683310917 175545947 323555387 747452885 701486341 704091671 943654875 848275179 817367341 699725589 474399949 9778623 269309339 229122661 162429861 869726517 10090199 54994433 298809885 638037403 241188623 969985481 977290777 184688551 181413149 434069129 558500515 594728307 815609725 130394353 535302383 414691719 775782745 731509913 598333785 660520399 966606207 791056643 936255077 840001697 407708517 447054487 607540667 426445753 615992877 188083113 997279537 761516863 543440795 740790129 603381185 744070333 686461729 580023569 287340175 861164587 779725525 799884431 365514725 335230181 120766071 457165281 605034041 321831087 31776879 882690523 412733731 863481527 690121417 413101891 702756969 406555285 297208895 93618625 364812531 509276995 452877617 421583589 714385367 891019815 880462499 428433703 405435727 650853389 547660103 637162221 397522881 400471599 624315505 413618555 287135923 541511461 424982821 619297799 515792861 966963189 31773959 516711077 611393559 641976079 456013671 301172059 764799591 812321607 846020669 553613585 447365365 880581849 919179047 743044245 927514137 116827245 793975405 604883877 386569033 321527309 365129213 490600415 799863851 98346031 284075633 30293455 900283787 478142131 729713157 876379619 916069467 744382939 102833059 974396279 424832181 370583893 297727447 211071945 831065823 951364921 84193245 27708679 594935363 866169599 44630671 93616445 19490419 163574929 137379705 641101161 866538029 135411003 469800391 490420329 622979153 769852081 831420753 984579591 582644461 184425487 214778775 161904119 802568755 156083935 617065665 284533965 750324607 471172107 534544027 690103055 133689939 713782503 866563487 396723747 934370139 11864627 471162347 314978653 257579881 632056085 689381447 677615347 135969915 579733015 899398947 69392137 714454707 475206191 630795669 456436903 200114011 379271611 794973789 463457471 557884391 105676161 165354721 6647083 445715187 379392941 603704881 43419561 323235649 531391701 362396163 257692903 819559613 253221111 161991609 41749361 123118459 755037813 637741913 41550019 32204979 366140705 647277201 986221631 613883853 401369901 880148923 951888943 251972433 210302517 168074451 75488961 181867509 834690627 185440899 137030415 570241937 394577087 876584729 232332315 955734057 841725827 770082699 47293903 578863337 495303111 254969467 554736125 544387365 875566903 260084525 503091547 224691031 774743769 466805395 803244685 346923043 487570983 608548419 45006619 878014291 819188223 512148349 196756599 180445405 624437153 54301223 648136441 168868313 394947007 221454803 758437091 365686155 57611629 537421493 868803935 265550433 290993447 958453421 464240511 298544875 402856405 732469315 210145593 821477 662169537 269060519 467437681 898773043 294845859 138089391 571246575 223643105 637271957 905352921 674503267 424314143 274041887 360396879 47811435 134055499 598019375 89016031 884267651 36496361 778993431 985938433 474823703 254596515 828713879 466143443 473816183 803422539 149886161 176850717 26146525 68074461 983350359 390622285 836313707 14259837 474554395 32420987 869878569 988734839 243479931 831325033 761570567 238714685 909871675 292525433 847266017 839463785 605430667 284270271 315579257 650331585 552515327 690835439 894163059 903632687 244970387 294033771 341084517 379638981 71143597 140039735 655746249 463367873 828817691 777016069 962459387 725542787 657235987 77173547 674825033 881335961 449951279 319694249 9430753 864997813 817284727 702073383 80260063 819730353 3671383 304225265 972772419 839381395 104433573 125511937 655924471 880382341 309574559 174160629 363982027 362083289 749080039 762904085 91077497 454614541 129371279 72765009 26483875 462844867 678877703 848545855 50689743 855877573 789933617 31131165 27425907 725482247 518527823 384301781 741834469 407183267 269093649 737977077 303162215 186628065 208652683 772153269 833366561 572325671 16586807 711241203 670300967 272537865 830240001 787774773 297251185 257270341 202854703 176621743 103923679 238372797 491745915 815474739 290509885 537634683 50867715 477426499 973534265 888919475 372165447 188800519 415949935 150409665 397884217 53644365 832481631 606205223 640352557 925033099 971513971 255355537 213185505 136603361 844642041 772380883 215243895 268491801 259717423 409219559 385634687 987832479 735440691 607304177 811882991 615648651 52742161 411851323 425407521 989047709 725800119 194646587 64055007 330012731 66157313 960451209 482347089 771267189 396697775 605377513 544468239 531741699 639615081 721587783 998690583 745791555 607819459 541748151 832680141 27040063 298861365 57056629 592314365 842989729 475581215 665813217 26926303 460176069 979729611 536522887 124957967 422373287 992273515 474917147 825062035 869477873 361624857 849946747 200171223 339232241 364790229 942409893 239573935 718090399 886308999 460067529 41896029 161090713 302221059 415117367 808886913 43907879 378573823 428612971 977338667 644010295 894127647 778849033 44562383 918193249 763272429 222039773 296598861 898291173 660184023 272888537 893683943 167061419 898962231 997987351 830017355 13710657 327947089 311550429 155209103 976140509 237412683 494574739 273554481 500659295 883637305 349960913 253007379 934923857 279254545 790513741 113880967 821657823 582237367 958100717 733040957 401985761 124958451 345954749 280784215 889372375 839603063 734453231 12163161 488840167 728317917 253037535 190902317 738095841 915290531 158793229 605636397 360382781 586141493 211504681 601724691 379843609 255991013 481876997 756383749 141545277 627984873 531727513 574995345 37505049 484293989 81181453 844944299 931395265 280636257 969361833 926281137 588455161 541342671 84866785 558611305 33203493 573077895 93236303 249845759 923912533 411657549 747687865 919087369 918012991 722704071 651153417 63410563 819988549 652143495 293312595 346318549 488148077 230311945 859913425 672311753 223658853 325274793 598318565 511040917 597852805 249470645 912873245 357350617 126598863 419006301 890593323 885228695 747846629 528919737 430929899 809969983 455896859 902050509 55555423 199469987 771519589 725853823 94238901 301912579 151223139 889058465 288755259 576641283 60778591 780734189 984386929 518668975 996399429 263176453 832878073 133928831 271546029 731493745 214217373 940998479 40196821 467975843 515732563 429340261 542653609 561909235 406041395 175386221 645862067 943644835 417182081 126002043 611336749 69480669 272733353 416855313 360575477 948678321 663899711 323576079 615587731 453920537 584396029 46095045 716993589 484201207 326191047 520912871 233271221 4469779 783781543 571788181 409364369 898242589 755654099 381227345 339012077 836652977 154452131 473530889 457698973 434854223 774748317 197286675 578361879 477567585 155567209 172178733 154426489 543737399 10078429 771754361 948101257 687498507 271372275 337800329 483218107 4925695 490016719 87409999 321792033 770432793 741354941 420945961 926149501 813193295 372990253 276644315 654485047 807342199 286822079 838571157 490480475 340677971 87426353 296849641 864175267 918965133 352268403 926618839 575985007 798054325 363367573 972973763 621341123 1344325 206062805 357834875 330878289 910761373 710009491 670139443 706396783 816329993 151237213 388992395 532477213 540708279 848762083 201245315 128468481 63537347 175490565 643362957 334242155 901303597 363163587 19442557 698111571 20381917 476550471 700993681 470894423 731892135 829451753 802972011 674633151 48843843 291421215 350246173 246419579 745932627 539914897 230971671 594065695 336902237 380069639 687028795 827010287 203493589 810805619 256571339 989371341 400123669 300741877 943178871 270438221 736506205 11040461 408649553 502150053 355507415 800349031 728744665 300527283 73030801 704145237 396668915 800070397 850147977 170566229 801058027 227740853 20410013 32220233 399871097 160809139 556163481 273022523 618093753 904051059 190884395 95547231 555369009 859558429 16808943 600970769 995989197 841968003 185918563 247855315 59019491 451970329 735372789 187143505 553348655 789586431 431478003 315515229 449615575 464398847 780168853 748397557 697610345 566166147 593863167 124270139 29889243 91016103 352780091 138950265 18631559 601621289 137117239 703986979 292575285 661834607 986094029 448046549 768567313 961571977 651426497 332990547 396292787 150361903 277553337 886698885 820218643 760487871 131629897 825603201 839130779 535597377 53119721 390512001 409197589 458028645 129254393 639304937 146272953 257507967 117771715 187788355 471002403 198771347 764034937 184048451 84424281 505728069 970402611 796521157 537223877 819621091 938676981 475441101 218837825 97901673 857084837 28195971 801018887 248266867 646416919 33384253 287613885 622021959 271206913 4627829 266983025 735871703 737113863 71478479 385740439 521209275 452193201 237310487 312909837 482552879 110643313 818883645 69558041 982951707 104017057 239446369 41086311 55777553 750103935 508872129 248125197 857769285 324521783 103436493 537504137 568169623 607208411 505213461 714321085 199429263 656997985 29505621 303931899 381504093 271239597 238321265 564762867 971010007 285157767 318344309 221699783 839443069 654214049 196004499 595821305 263681653 158550163 418791461 214500473 517041039 433489121 597690033 579785881 53981763 848399857 983630561 976857625 427546799 581746453 878228871 356945437 321909659 733781127 795657887 86010163 406056821 941071977 671643215 866668623 472151895 679085507 351402461 271989711 148473341 809201543 117189825 383749751 62406353 44941709 778761621 370436215 366144737 358383511 122095387 314538595 879109603 643662927 939196735 163732023 595430201 713148997 71250963 485256795 68597993 528694517 824919253 81216153 822192801 228341691 126278885 851890983 618654905 840159973 643444433 582345125 142901041 831087267 579807563 252528661 625751215 248290317 568275503 731931621 382221701 344093733 934924671 639233771 150638247 821832405 916871783 926358117 993338037 195344877 388115515 50238967 764088055 530596391 101665139 91877037 766410333 197832741 967090359 143741439 551063677 363768175 23662031 831175881 425967767 53199733 121775279 262392913 64978577 539845267 744914035 857745217 918570491 844183817 165362781 897085107 719268109 910326273 340477659 398198049 36126629 794585227 707484795 160620913 523672139 965496993 60845309 912003569 329660205 355903525 367063107 100007253 777206565 642972125 121208151 343604157 170333871 350367359 745642863 281804713 175106293 64150433 794516195 890264333 252410563 755288261 27442743 269811257 614766997 364865619 879437079 904124139 110885511 604163743 777212759 660598603 126067551 862882529 461187569 420936419 539831183 461693499 816938505 239289771 180974381 83822771 189445611 517869821 224215033 236807743 985155079 348886691 779458139 688285109 817122299 34496965 774969439 972515285 303183755 376311805 365666495 435594317 536976287 982515779 699643355 134774443 845235023 995343361 17810615 811740521 771246289 219612675 33586181 603790055 482090635 259402621 293196057 56451695 303222791 761568013 652035831 939028789 236387067 890911673 956722499 129059151 736434239 494443501 57702221 527872189 479815897 555906687 123138829 460452461 978449139 172022187 547613729 841161005 830417119 450073623 145931985 357383349 883825177 624796115 445900555 401299625 691070535 766208847 261253481 139623827 116845103 418498157 588394535 35450849 186170569 373171567 525320751 594827503 595754031 290307 676615181 875421179 955407523 128362047 531463933 632767283 622552463 211403169 414112217 602338981 426774667 285810701 232598061 317282121 882852429 106160847 725172517 862368771 654346685 782537631 687916185 428554909 546731235 94765977 980561417 66790085 432439795 778789443 651292571 80504085 727392839 20166791 694575905 719942673 804301157 623790015 993498895 53267231 966637559 768165029 174524805 586007955 424064721 777493087 816894283 736811427 104604139 429377403 92495057 314120563 351751533 774382319 922417965 413700621 172658847 6861077 1364765 365825631 572232949 399180981 823182861 219371587 677708043 191822843 737808647 330442621 842035619 694986621 579421635 687817907 629723817 908648761 739043747 31272567 748741169 909540753 670171821 706414149 718685045 353518677 293501583 481096059 811030489 503605179 680258467 627224163 328360935 425250655 292132837 850664751 493313107 1442629 678960127 179193079 108039417 434969821 387826239 662276797 992766939 787523065 921298843 159113837 896843303 584419289 323342003 332087763 249725739 185898529 108078289 106463659 26360681 403244511 910463713 666475159 296899965 400936071 49856635 459407903 633551673 324068599 267125983 561936309 741454987 331377269 250263539 613437873 517901457 957829549 227799369 97561175 923036815 800799157 483693333 735427789 82628845 735702793 428799287 88452645 794828353 93278863 775918647 575059033 891795013 628585111 934711365 528019275 886957277 697962449 27999287 609301443 46246165 514059871 782494347 476256883 891631647 30485187 741119595 347397875 337839189 214594283 504735909 278085829 190160443 599353645 18040497 611933779 335093631 554492231 964320685 963559405 838372337 332433757 650036577 582499533 291667087 435252477 376091451 390959637 13564537 195130395 764490579 497980365 281194491 253105683 844750187 594194917 416632203 6434991 581156837 949474107 341971139 222625049 435285205 387458187 95028067 71932645 103503087 358610817 449335899 189969685 965353109 201404845 249141947 841206025 742722251 589224841 716282561 654185873 247578691 505420661 378408653 348545505 434476115 979516605 274392173 340003993 497871355 553666705 797038931 2366649 514971875 977101577 410345563 540999861 728099415 111433767 49525895 825681757 939110481 272981203 332668417 971560687 994989167 145289185 403790113 775404051 105719033 750275337 168419679 223007443 854159839 615379949 472409693 460089767 827767735 406549267 932013801 81720427 271451327 277709041 419083765 827544419 703545825 218423517 682048413 908286527 560025515 820643353 961145379 933677841 896663893 576729805 626403571 333389657 722278333 956385037 479078305 782250235 353136745 342592465 82960101 704796997 466795149 79636987 853919143 444535275 638145531 748307793 324676079 278714891 498956341 207048585 176918513 315637035 5529955 857763127 765901577 601030199 469368147 2479329 861613755 497453701 93842555 968512495 380978095 828226257 537576699 479924145 953224379 651643459 685159325 941921887 780102105 110252901 401307341 309992991 348053803 578582319 643855267 507326965 364956161 615195643 104525535 969850069 870027721 225758353 518853607 88199321 256321825 137803551 578228171 903864577 647341773 397542455 963059267 311981237 800367797 440917977 907574445 436209225 558605039 638696553 672167697 506325813 391016629 916023219 3879711 179655385 781386603 229696495 157465901 498819967 561463195 180153529 923353401 182244697 913065467 60042263 549585901 205623169 983182947 433724275 350198167 10453239 361253593 535427751 339185967 817691043 623751301 622537453 457950547 146095449 942771901 75834861 87415113 146033359 691887101 566292145 769108997 35401897 384012517 302647983 124139289 685165681 569827137 979358405 785850823 558269845 44804871 515454009 756415991 301766767 915764559 630147513 792500021 580945731 442715999 812159063 6433725 290046263 881975201 215725201 994888041 240521567 701607079 655282511 401939653 245229489 690915373 932189915 253200893 583215121 116299289 100016109 114107881 466537799 612907379 146631329 440012551 953531397 870156141 272126331 397912707 669796325 964272231 630009963 749388071 97050725 148298977 561334211 724588141 511052273 539540103 997431107 833875315 166958299 600147755 218904847 196011009 313245785 782048715 783253173 6128519 501544335 956474247 199882281 699342361 655210117 33906861 14762187 544312699 540533549 806224815 244213339 26888209 604907617 384229929 409003019 987682283 477225695 293998045 548802927 898518975 575865427 119398327 531954565 980002287 920027725 234840265 915052463 43907457 486288713 579019601 395690685 773151011 767131557 128846257 843004389 765716525 16582827 105557875 380121539 441216415 334709131 764147787 696951643 709306145 481194083 266463509 189053211 911399937 847213359 852851411 394486235 282953781 418137307 955962801 648295891 980418909 997180983 436359171 95082925 688253891 897149693 163701571 934352757 363707219 906409679 104844051 532999071 321715877 652315189 23427651 728108553 548977655 389950369 816753601 159751417 345969205 263919211 883366315 811872793 433042921 501610453 998773827 1459075 401590349 363710473 19974903 828904113 51291711 38939415 510632789 219807627 451468615 658414073 309126175 912141147 238898835 733519249 315731505 793530327 618682877 372645799 156182941 352270365 855865603 484307435 570636433 753252787 263216073 242596601 536495723 688269191 442082851 926575953 255831727 359483627 143416455 206733405 142274565 40741533 812770579 363343725 371414851 399287749 131703437 740765371 872444005 711796463 386409319 51823209 907499403 807655693 330427065 418175359 307368449 918400129 572284735 515589357 792877885 969862159 325501025 205499535 854637015 216884705 475290929 791525925 418560149 312742033 801882979 853734489 5599583 111093785 574726233 659534779 631566925 176651487 624285719 747973573 865185941 452360881 528047695 89424855 852482973 805000643 422185815 33144381 986759665 351334835 263137583 165974309 182023235 483176583 923218557 353848235 782105197 139671467 712780177 420183759 884119669 774673141 728463203 899293307 602451845 589647777 180170897 159451775 835046127 558408535 865860195 174251411 773921585 104800033 126334919 783704669 153482987 780670583 582406231 608444513 720343019 194196021 272761169 378950933 366592035 728449951 98220697 723353293 984375469 991644515 651347907 803363279 381581007 204018841 493568261 820885315 633949427 666034617 224718395 362426425 790434221 897683373 849946097 979172521 447638711 507321537 280511059 214712953 497116147 184924073 180309563 671874157 845325935 920316035 15183397 223998777 396769117 219724245 339722041 271359607 797221145 228285835 539822153 579500455 222741541 711206905 861568201 73072433 868276781 737559265 127188441 227082089 81323269 646131811 535814979 934518661 661535655 169460239 35620465 269645995 786661173 7848409 617219967 633134815 595945983 544650529 129699371 173459477 450341491 433681833 970139355 576787751 543740463 852154015 622137759 778076371 674684149 693178265 579918639 473380039 741381553 911540117 849510377 944129679 917476727 856347639 858022613 920799913 462667905 78288779 395123363 908419955 664629043 393717641 15656103 24483895 670410007 965830797 460478437 945241639 515421667 285557659 542981633 376507229 502808175 82021155 21912137 230415319 618533823 200092153 734121145 395903617 693449217 560988249 518098157 831793197 50142597 332681449 734702891 382555793 915734983 583843255 241003877 286414161 117024363 852197687 778880563 944119543 868361275 435983687 283555793 451854321 108434989 539661357 234714919 858225049 394808409 248842645 235918535 2458417 790349061 1307029 507611109 749245667 808763801 745606569 592983393 225210049 260463531 135772601 413975235 55141825 247769591 883872015 58945851 989918919 776882525 823615331 412546207 387211675 824750057 324899793 486509679 962799087 843251153 509460445 176374993 723528795 952071279 656813685 459740565 613642083 142517571 880670449 27236659 407231085 864746749 659902475 39961033 982879435 672804973 722204905 186652191 141632695 361602961 828808215 564979875 778939475 476078729 211625101 200850031 861356199 668389027 528363175 212430911 893935269 681866577 788676907 474530685 501863461 382630189 476326469 880288055 283777257 235278077 372887691 581413667 37100955 421046955 683285497 359017123 217281741 587840587 239043317 140586939 756072949 333379861 778307405 903101983 954311285 259654769 696306487 390043169 75219097 186977511 293809741 272808899 207868049 842186027 197516951 300649899 796456309 82251031 907525507 851708459 210054727 424272049 438750947 85665335 182540017 916781347 636260343 25834607 660621635 673250753 112718945 901732379 614112247 117056261 974179123 910944299 737753007 617940881 988432863 715728949 933929971 594110773 796475715 641758073 675756595 889924063 524930723 264888797 783300811 597745837 931672239 406935793 141762043 5918945 752278649 233612525 131034349 932581607 354181763 532271535 793462449 604888403 954588589 641547711 815793473 698126303 939544647 585866571 181601919 412278893 951536389 145294125 179524401 705467405 926779397 45760481 556100109 565046253 367275469 184883345 769505449 378165867 924816969 804503561 720553607 463094793 245164495 569285573 565745169 755139701 590621725 986647775 974247831 191200127 750917461 726791971 703119441 109656611 139204361 464218621 347909477 374729605 406060329 633277829 545118423 744982511 306661143 229821307 296737437 614235607 328842389 858440775 44216205 49651925 421213907 222088181 933425257 151353005 13090147 169922367 122217177 840212045 731829573 893900931 564923505 892649669 295995869 186085067 355405225 58456145 758734841 393830593 325743329 304043349 752754893 875853249 186242917 71805789 474092791 919000265 464917603 867730971 719814525 392139647 443877879 965669993 243737803 789589811 53194783 933580109 811972533 448032733 23414729 628449519 771514493 66522395 440398275 736143781 633406403 30089013 476970949 768153835 17168279 496297497 815210357 937156193 437292143 668181601 983873879 915059413 133513765 560909897 438136287 401405753 427181313 685698235 343861863 280904103 879209137 183259715 832041519 376585317 464720199 252061725 234164575 645650653 672479811 983484707 467878923 34525857 809715079 789484257 580957481 505952367 225374821 577605763 661503389 413633319 349490831 954480097 75182897 462659799 338215203 229120123 524351379 473788337 214681509 809663607 824825181 753663761 740478213 712120743 1795347 516536441 474085015 413269631 535496219 331529365 763521303 643938079 81721289 690866231 243435947 413922383 658873427 336214877 487719137 948825215 667882461 698823207 923055021 787360965 339449201 455370211 640472687 576539103 291843069 546548229 410835943 509980983 584772443 919192867 897588809 979259355 27284815 914844167 552048165 31402371 621845119 939010711 481000825 982489997 774815613 827577575 652566189 958858241 352360389 857214005 379616139 131971213 422295221 565933027 642365515 989809547 316899991 204207227 14495369 777094391 812059037 445687473 290230857 974659963 32224991 49083489 232295673 988447075 234837345 573341071 433629297 923042731 592370953 870705507 924525547 565008109 763815849 52428595 849566477 427263093 804734459 444349817 491293925 795526447 900362913 40271065 180495079 41333427 572880163 468029213 796563441 500202049 147368179 996949563 611807561 659805631 962061417 139577675 531091867 535185087 389658057 191123345 223390715 279956853 820089913 601068923 29675243 775828929 159950539 665543577 780713291 694452779 871915385 437902759 305419627 422026467 820445221 222541193 371179521 111729343 29770647 495930953 817972519 531873341 983770241 479584541 610281319 76485767 757140603 348211293 775293609 805618795 931896583 698903183 340913989 43368289 413066895 683262811 854321401 588875911 244387683 867289241 592213993 489618851 672356541 884920639 79512481 154977833 975491519 250717299 421260825 977358379 591480433 838554753 545241261 839562093 660382405 992397787 103277347 323300945 572736403 10467355 697472677 644952811 62620061 135911175 597944013 455625199 892515469 8189831 398528661 578011583 968657907 313849523 657508707 383034207 970930761 397359297 693443589 673777025 361809391 435761689 884783537 563507067 412100145 180489793 191967489 273724493 850350655 6931185 813249277 858188701 489958961 490385155 520770577 346510525 463135241 864561529 431301395 842414497 983602351 533845119 713130049 7842793 790715129 774341735 594296383 774496733 417323673 113889967 672554265 464519021 139127095 611589367 427983175 582264623 491155289 789719565 111207587 551326049 421630319 172816099 75712887 848999149 500119253 14331797 725326187 403404385 768164043 407303269 863422105 814966517 46513531 643766463 220072059 183610245 375429875 790058039 921822455 362015645 960045617 159137671 885412699 940175467 207704085 172257683 268912987 694944707 115216485 260530277 305347605 177321767 236276439 89987633 79824143 462931135 148668927 22054995 116314933 13172311 736169571 281346125 252901853 863011435 634937195 196073163 929443779 152129301 289057383 877214369 688040461 921147169 824502671 524148169 186992971 123593979 900807945 530384487 604669549 847463867 980709849 974121413 479832533 181129249 243545845 347246423 196673605 560895891 807000625 191486907 311978475 241638689 494460755 874675631 805806431 235522179 385396993 492051745 190088345 431618839 21192655 308821541 465549827 581761253 146041653 385808373 804895081 670034845 880624787 875052533 492098303 555392917 785270323 360033457 592201315 814825163 327389257 351712473 420821913 813996521 167532009 658129485 381397521 797798205 636328473 472698635 895949727 365852095 730615999 65759811 808103295 102506509 290261423 647046469 561779543 268727149 941108639 288924813 754453045 196457171 270927669 711568063 123501455 389078481 472294389 907529127 765110847 420398505 609548627 499054389 208075661 110455875 628210601 402609289 891442725 877989675 396509493 651890403 305956637 219782813 744548131 511906477 444626163 318224499 462602885 734191229 902221451 308292409 539336529 522883599 684109361 665919257 182972779 307828547 46880925 537092337 700551069 687343399 188196843 328904505 828856981 452172525 55953567 829989663 614641133 107311855 556597929 498813805 441923879 308565427 679208539 962908573 226643631 604181219 907291509 34151117 340328657 946656337 270739995 549081285 281092809 385069307 319761883 705701621 738826681 93376001 753182889 833085809 938991531 471518641 47048163 946750973 62200971 469321853 603559247 290785533 403894585 343866369 343150617 962254977 102603889 650258943 809107927 707586367 858417119 817622883 107825029 179756441 269756181 704439105 894557323 227908757 753747593 798884305 851871155 703384289 65454751 767114619 685658165 598524373 417840799 777924551 699565739 785632369 284927931 87722601 421155359 676188253 49507851 952549949 421513977 260901607 545032593 97080901 830701585 440642565 446494007 1619117 839768485 758445399 607805901 754335689 563707993 300774183 228011789 865490707 308391995 113806687 380425881 367639087 226896319 989229211 151992057 757771751 81279683 298418969 200262303 38605103 499013515 109002689 594269923 647637539 839263687 949233439 32311559 201682183 821481867 730271853 740528437 24905027 650833491 906998921 433307005 341676653 314552837 748866811 943294169 451703615 672520687 865794289 674464299 96529053 419862983 567864389 562486075 379949713 91703463 348395123 443874233 619283793 58076695 149687205 383311427 356754997 203212547 621144489 287644501 359576257 833341633 702832887 143554649 989408163 977352207 997542315 581353635 753851307 430854673 230133905 325893739 172886741 985379155 588665365 297597907 363689285 951921357 631164753 940096995 510459975 924335835 706498305 648630155 431345483 958356033 829718157 949053095 376999665 733273903 460655879 385378039 21679095 500288055 761797667 131889957 352477261 909064537 26598723 154540481 658974723 458679035 474777195 21297733 959757397 503813349 298242893 791453201 378322601 247658323 673969215 695910257 34376581 477115869 979711809 680174739 560803745 230307979 470357753 524365459 873961687 933373129 219882423 451360881 522122535 303606381 713402995 875107863 24122817 311518387 986417611 877893461 261322231 153242947 256508167 825825509 292566593 233343783 735178517 385025383 232546631 344452055 362735503 887285861 108235983 35250733 659074481 764058963 757365969 762516337 217349477 495476359 878176359 287698001 158722617 488594497 182340307 739382239 585015909 156384687 535672961 141627547 804798917 971081695 310384131 887043433 948600037 287772873 876357911 654810263 699025905 129472083 247107487 512855257 831754689 354844481 749302437 422235725 316546263 709271623 164471133 392877943 546374741 287806719 994140705 108466759 744427279 664514281 528745849 640904977 540789881 142215789 329820939 70515601 396734387 502110175 875473579 168214511 104391301 746622583 66179927 569746357 518232159 819899221 770573361 861915353 268576087 260481155 749307779 421472441 213713709 835297267 257197505 17513245 530162759 456127103 555546759 903453485 509949109 226131173 195860887 169333377 781370671 162056915 79024095 238378007 941994515 408387541 145673327 283989841 384239209 947126377 221770627 454348033 63636705 242859245 904987517 451850841 976125647 766084267 713833453 897162741 630322999 386680021 514173569 740078815 525054395 743350149 885068823 475040641 203627951 739998393 395277747 824562351 959108873 378624351 612800381 787835049 179016549 912796227 183355339 231250451 416195855 88791331 163783191 335861499 377243635 837814685 68840453 987975127 849676969 338340411 774205537 67071105 400682867 960525167 874005019 392868673 274193203 177599633 401395025 156076995 607489147 165246693 328269383 705248797 476668037 597662353 709457511 607630795 892486699 713466279 873870659 571757237 811565303 138350369 796943255 38097957 927967257 924435425 120737863 972536787 281076071 498868655 340328287 173301977 623024225 857798205 497563921 803618497 776971053 193380389 295992503 510027891 128007579 64312293 753280471 181915463 972765219 277780713 232497433 499335163 126775011 291391617 691119445 211180979 456733347 47954665 467745921 234678013 588092369 983235645 380639941 650815181 443792775 339020683 938221415 692684673 276356225 504801219 875840479 259367391 403382313 998007485 651302087 785866259 404410765 876042301 820653281 494739633 352306275 530367209 150416407 946031035 2242573 797705043 754807425 362788753 448271503 350292725 36842327 638194179 490117531 23576369 576672763 311816519 817206153 829823567 126772475 890946295 88606805 203374207 650359049 290894107 479933607 211295453 719488513 478404895 126626513 755521129 440048613 927100635 500197319 330382605 565542881 802673543 889512489 631541913 317617991 919421133 465219903 177599945 625713813 340003769 905573881 885390649 633158765 103589309 381277677 527812215 623597209 610980795 575594587 9751283 40717069 996760823 996057897 875261701 217491685 734098461 946972135 158712559 494223715 945101377 510662861 854923225 873655539 555295715 777435065 140533463 212333097 225258983 513158961 562429409 282005695 490797211 816557929 534883545 569226393 104962229 521663283 763229831 421862081 607988815 957371155 68671387 377565291 701219825 690467885 99840945 917313525 590801287 677154127 421076553 665607645 298813287 644191221 654852045 320378321 36355917 554925369 205582989 418571173 768375137 777972967 40570819 783440979 661479213 378459755 978167439 418508031 180910761 65605597 246444285 245756917 966845233 525917949 950501627 697965477 583768713 856098867 785152869 141139373 662854623 607897483 552206587 662129617 423007435 665306559 332011365 463297273 9655879 330726701 91102263 960024635 512309689 938768095 881293289 374569427 793097197 402004863 586200795 604092449 692431389 234360425 216984665 996929713 517692129 376481435 922970513 368748857 948079935 917867963 587791007 501367953 811998119 999406361 895786883 422846399 688142573 948370093 482783013 707267309 214413133 583580693 202744409 979791981 148430191 992397209 667401431 259144635 827082589 171820839 267858495 399955581 805388173 769467223 439822107 912598393 634132959 320015467 792985565 42850215 683737237 626594117 750656991 845849377 511882589 849335417 142375521 973756455 641428047 836440381 294847883 17813545 846512355 212630637 344693105 820497081 559174403 996644245 648995081 238344335 694343163 743472097 126257465 207384211 668579199 836973865 153448901 719411915 37802667 676893933 475727457 460410223 583366921 717210451 799889319 607163353 428603267 680611373 590459413 22404491 647676269 67649007 478695703 734836017 297066375 759894201 978726399 258402207 307519223 661540179 731465477 404104909 187750983 809340973 130496073 473786595 599953517 894272093 155650261 351370537 395604423 349021345 175117723 408122131 713996059 372931683 677196403 299515197 866552981 994855089 139036449 696203881 58950347 583290179 977976395 615623299 372457915 456766839 621323909 262065567 332544967 617091925 421314885 534207735 930146497 34826379 972937199 820260333 9493211 580497267 174586571 765036817 376451505 693111305 475682827 28040977 336168781 383022839 364482759 676981707 567988503 756817033 929497091 835429697 327859433 753238971 368314789 660607647 619822587 527834919 131969407 907654457 958310903 683136537 750888013 678047113 927139305 226723709 480625323 331304499 651707717 296815339 301365799 798161155 268705003 794641827 691727921 48065001 494337563 876326795 534701347 899907587 598187911 615477813 136361787 719490709 156118083 426287573 426956709 614645767 431373515 839364171 192485745 558831343 508079111 835458591 476363417 991908103 863837249 648335233 321939199 780916275 261080111 735846213 612410219 42132351 983576049 388448239 458757263 931076635 683807753 970438819 520267779 663912551 636422759 4644401 289475401 985120993 527388509 204652561 64278731 734647097 988170411 121772385 343165657 949885759 835959923 726928871 23573167 202104815 969183815 466247959 99209065 593578095 672893977 660246275 922603285 113681157 385127751 84476781 633418659 572728873 274197397 225948861 662301163 285834611 369709619 549945089 367243439 68228777 655769781 582914799 43177369 118785205 413533207 666319593 842046009 566577833 359001023 623495667 332281097 143784643 462430331 778008255 844486763 399079267 958236031 205835427 566437285 44962839 955027307 977728159 495946733 564178065 325237569 371818585 436931929 133461419 865122671 558402851 686785515 452587627 319364299 13418737 668332173 964644603 78674835 790714723 842631183 869088175 208006249 725253313 496491051 390998015 576254303 388511995 322158209 14591379 207060197 717419173 881800093 526021939 299404509 723380739 826963949 348137427 621255049 162776569 687938253 590618511 53923481 898760471 926643581 814324393 678874143 766814357 466431015 148829325 794391451 974222671 812088539 3360973 312964337 592952017 785581713 116964391 655543663 954283590 85409327 338140029 761718985 482182027 371062137 955337433 954309151 348578841 352170533 982053487 784333553 125783579 391190217 447736731 251842097 299134301 37136357 788242399 280667955 575340635 426203879 55730665 336615605 441649967 38584093 634189447 970845657 37912741 494610113 855809465 348333871 684550953 798152179 52282273 449256877 305187283 625054653 21824905 15199149 997056355 779981587 972697831 79838201 193256767 916525001 415936595 793837241 368044663 984669605 621790865 914541189 454203587 778064207 826636175 109662043 702492033 481518933 755087709 421549471 48980665 318272309 708744503 154708765 773847579 741607501 537779329 656160781 204493821 924348137 887049157 119254539 978033757 123587383 591001529 832962845 383257573 805128785 798655541 695969967 410588899 410806075 414718271 458889365 195116623 535754203 236699135 592215057 942111941 316254213 192651211 427751107 583024017 608259697 829180189 319489467 431812513 346226111 755017883 931554925 486212233 322011513 113139723 35701689 444564363 921472273 617155941 538878689 361300623 728025825 504401345 558636691 161148705 687225127 779066981 57268197 706197885 213608719 887695291 347374933 20042109 815360939 386302549 437771205 172200363 7542003 487313391 259392903 336880695 119499975 988976751 589508427 436609015 316305905 158314715 259150131 422230379 26779939 103789163 812863939 739715001 515632117 549673337 608382181 750193587 33947115 131278983 602590451 277439693 928009067 131419455 1340327 283278887 34050247 452460409 877987111 522535817 20147515 865890347 836547329 525377633 825057765 231091837 734346025 911782089 622794447 145128119 279342333 73523839 18864619 270809933 240130115 301690345 915287057 292523481 92538407 783788821 954232323 111718435 865484351 950731967 467472747 934604559 522814855 244009795 310596571 634673079 884548455 893120425 393274313 285348947 266244265 976877215 353236377 544283461 380587651 667901309 346592403 914914843 384485781 71217987 824837609 520755849 133144801 818270105 941381555 341643109 728977623 133542347 304603635 845764025 786570825 713029077 571851155 772192171 882002295 473361233 152725347 877268881 455083269 854355593 896178463 437998819 858646271 551498093 700106339 944377673 421019613 367861907 706275261 965631371 250689915 30566971 557134237 542745247 745096223 883420491 782632795 773973661 992297333 705463381 657442873 425709001 668086673 307452043 662881889 880341391 898859509 36879059 836564963 254401411 722146433 414977711 355484603 583924831 657178757 955200847 134516933 984166663 795723189 355967117 263368399 245091207 74910513 612429797 427634057 25326607 945875579 982308225 70871947 862686205 874222721 207933743 521643863 538504405 522514073 198384487 324343895 222889279 853002625 340961861 144178651 896525841 263706715 424467093 491313693 856582469 412559289 329396419 332002621 346507009 19067021 943866857 607978567 782406795 545213237 46735555 855475241 934274395 644649589 613805241 202284223 213451785 57087101 232990429 127324617 650298203 645030367 139440867 440549873 501225785 432263323 487001131 102334407 228411833 56908053 696171711 853177541 166127639 937653531 274370123 898553931 998113715 779889377 832414503 419577509 129286427 275329543 93127505 419451395 384219393 727052429 89406325 192231291 563836223 206929381 933918685 633542675 424183259 785280995 40920963 568047539 662487039 371833797 736987909 519079467 892607229 568636205 611560875 557577781 756296531 863358765 997811299 415032945 61056417 987009845 699217095 789882475 500070325 191010855 928066579 627175825 194842497 387380037 248681009 685841983 958734367 195176255 504549551 533955253 433180885 494770983 567016899 684247579 179677709 893341565 281618255 993644933 921173595 458882853 553998297 31980779 768198007 714174571 340362639 802163245 448034121 611658247 222477129 624064533 95535833 687073813 392911239 506501975 953537371 994366747 134674289 848098695 280404779 52202245 989407699 765118507 67620043 72341545 982179369 779045289 178150375 512700483 610383757 523548245 218958419 332662137 210496969 653887847 906534665 951522137 214247501 94697983 644380459 181328345 435333935 16081447 821704967 623890003 541483567 205981649 902103825 956074639 339344307 449743319 223833825 681305017 851612619 431834873 320423483 230361449 410561839 522108127 687376395 942590615 862699069 723605789 143270757 251455149 667729405 483647017 194427523 702514293 946731805 504798311 391540169 833089319 710541559 406752031 883009729 573922143 978527369 335000963 959359263 573619747 322237303 727237549 196784577 48486877 532629269 425821085 503454629 780768615 80401753 275725883 437812985 205820667 937670111 970517593 58568721 285056319 743021299 323864499 337138281 971093569 800091777 696645095 950555041 666734197 527888161 921699711 392645765 798012857 276494099 115009261 887117323 107018835 973183807 343026569 993549387 677396975 792098353 950098071 821921161 750490787 894114083 42270781 329932595 310624237 276375285 837013133 134280921 316478895 170740011 312398467 129206071 797068603 576285431 82138875 935283507 748115009 363357743 558665669 74191571 290963427 965425747 989902475 692738639 948602787 100566921 670627821 877880575 911415409 845471137 498635367 711669865 506791327 593106707 385782117 313317687 794288621 379573757 744142903 852179515 999966847 493096743 841952537 678351731 197892067 654552319 323582503 974788863 153416461 561103519 162701423 542349869 991031387 468260035 755276513 506786415 378214033 876526805 107720533 594505823 797572575 724927971 660913551 503081155 175188697 467691939 571345973 226591621 225494395 319739255 393298905 184140983 426082349 925960547 523083765 501077911 26972857 36276505 779124203 848170373 250001749 381390577 428474883 656878863 652552609 291670759 932589165 822545639 167773599 64019363 640519749 63081705 806900413 686373239 148883085 599582999 352611537 561065815 765965097 604210845 401143577 21659619 910799345 575861967 622337849 509982819 313791385 586905127 266505277 85225415 514921667 15284039 553904541 381163429 52319483 699666941 435378229 220807997 264177073 76317757 706492745 340278389 75525437 239965981 329374601 181376733 585576417 60205031 246032905 161073835 985131719 367539969 38844229 320990657 639998207 648277249 997475875 776341157 461436547 524985249 335897841 109895047 43158835 713297091 78726755 193515835 473330651 970023287 249939609 480899653 389029161 507000555 894650387 586251719 606909113 800120701 585298117 823089813 650445835 536733103 654985471 212410917 937858953 301144367 681164927 237943187 155089795 160187341 329256301 29531307 653419315 76931717 621711187 944080601 963308473 106582139 383275561 48076341 208296737 453158393 45073737 860576383 760806745 783697267 537277565 539675677 36212541 882280071 689089773 39386913 145486221 139799283 302115379 217214527 252538865 74364839 658366791 433851863 963727357 509606323 253037971 359911665 929859625 725548883 949118435 849796157 167453909 122949355 180783467 709259025 802790733 634507783 611355337 585150061 738820287 518495831 282236675 883553783 678384455 247196347 420849797 606740735 544613093 415200305 983516197 982014845 539232385 37297385 754661919 805436687 430449391 666263347 6432025 228994043 162111975 945163405 862333219 247588405 663546121 273928343 956278957 188568655 974181599 727133727 742392729 479102605 228538845 942279701 440809001 920319441 695071063 725446809 531507723 955675823 997407891 626078187 39988053 754549339 987316151 912755575 851258245 91114935 58069719 292123855 188130943 281918025 226655979 831694001 432945551 341058367 23859411 880864765 716511853 652725361 771833945 337193153 77323829 758911327 862057775 36680495 825470573 409030191 108219375 466057889 221814271 274377395 728752919 594558621 698403909 240073055 748346901 572936653 179539961 495388755 394266165 96894213 385070145 450373719 44306869 692670015 612652459 853200347 762031795 984693149 55665965 22377973 313953849 942623853 849034017 156373859 129126713 102322209 181502543 909918095 762466189 220393301 998259939 981076359 413478131 221040331 771039603 400410371 204096023 468399727 275649019 726310753 90574219 724446805 818552547 588219561 13541061 776717239 781271541 404777097 604664105 523831801 36951913 984782683 704654591 794833829 490430683 861176603 947481721 869685615 995528271 702924403 161884849 514575667 624509749 771305903 34263205 525016309 829121375 620008395 116205121 67856349 415660045 658148193 888541525 291206465 32900323 922092989 28618397 916916123 78383343 709813195 871372983 172540303 59136933 760335139 842217773 161166055 661059043 434224389 182850417 576833943 665914095 101236567 300706779 904135869 804365173 240029609 858269357 707870615 249843851 473975347 67177233 557396115 217335981 578843861 391285783 311739461 300220097 647864339 234369467 574836841 663909143 821415455 950360025 727922399 895144031 726271949 966144831 615564979 103773883 149111201 821269149 510543643 931367085 418911935 778466187 32842863 674931747 976212471 684018573 480248117 571912051 694951105 641045767 155873045 395877467 634534457 56561745 496574949 500087039 812401195 704780447 427545249 866871533 971427845 842383635 610520681 880043545 332058587 92742073 628729227 609865183 557761903 117299329 833632887 781013513 355830057 52837443 377871565 288623553 196999447 258216897 905818189 581723291 970384367 509765285 620086241 957738393 705222675 81023615 59507873 554436123 958224007 914244553 841904323 306154225 522790909 616127205 239269037 320553807 523020747 916772633 262818283 237593555 990683889 455695259 256872495 954411907 755321109 645158017 781962837 385616077 412020105 971862989 229975391 178390659 579790913 797649513 925929849 193484003 579935453 612325157 792931061 37886101 624443813 640317883 998175057 262546339 991191177 350185931 833698861 592654469 506876445 524552161 997826647 947703575 921651365 442380907 776823489 591309213 97572101 200458949 486027143 689068999 667702733 118290479 351814379 701284263 872343603 538663635 434923609 183143101 673615129 510752449 207319397 369496813 644617221 994779379 289002697 336097157 866640421 650812489 658111335 489596985 376550227 864447119 318723917 109394983 438718219 975225715 96463535 79341781 738735991 696887697 700468453 923725615 711135331 498898281 373545331 553695371 633883211 977597539 826647301 869519269 268555081 956326355 894884975 196796837 216530473 631898097 509295019 848286485 434167637 1843933 212760797 782035691 676635115 191497635 401123663 798073223 799934627 332896049 272646261 107831723 323884779 682595171 810744555 363307399 923730381 430795767 743743861 790699949 544307459 237353371 741614075 191754269 455461867 977226459 790803603 436023099 657434253 174495541 96427639 41112275 657775769 344824839 240918283 93595421 47295077 78761373 566756059 450176437 943523823 727111717 158703255 161774753 166823905 624976571 886313501 748810059 616753289 843051613 223744369 873602957 214969567 143775993 228324283 650932385 243223423 966515291 235258451 715162671 547017653 949770049 511154607 619966273 400035949 716369993 516902005 492015949 419825473 380455677 433429105 361883441 911931245 122137295 20890003 416855603 171639515 971589145 736450811 995566337 883646743 83381529 553659879 417470125 26006619 309918461 33312967 661789621 530097287 932164305 905054251 286775553 562208799 196326035 646519761 889456859 704059221 849375777 154752409 955892219 509925119 922726981 256022161 323739773 124892573 287482289 499507179 444318437 832573525 334586877 969966593 551733539 447217145 496765101 38836057 35063177 801874429 211269671 497432989 249098199 302969729 284025533 647590047 127248433 147705933 9106347 238006109 668073509 656365007 11340303 947033335 552740775 274466337 8525811 397021627 737651735 553085697 903940937 467593243 296127285 57042131 264202473 440887219 305426483 388442027 238158741 982662213 123535525 933099071 470977273 129438397 20323721 647707885 712068769 9320493 793265217 653276859 706089737 805142227 265228701 486858333 353403027 910615825 850275027 374640933 387661447 81479793 34253951 798391829 440323095 612106407 668103589 485198037 403055963 97289871 42621107 457948849 964704341 215785771 950614145 817715621 974239215 269058727 729454919 951431499 353292539 490957143 490047407 135070189 835600687 640423093 93423557 811637627 760715311 858688101 99609597 431772811 781877889 43519793 828180021 699588445 358022811 400183821 794941619 531982039 828483027 568576789 485067553 442958731 687606125 849497741 641365401 953780907 3783565 520764381 801318805 900814621 963422283 157270171 806082301 629369443 830442651 88679297 657340187 274704813 1409887 994741107 999361445 530515157 884147299 190916219 724407225 364408663 556595543 262308559 707087581 266493789 997735635 643408327 198310399 696911029 443251033 373793511 280327281 33124311 794451539 8900829 966825713 244165855 809323281 641005177 963357863 305842841 865464781 188309943 135881247 249040241 855369383 154966203 550129227 937180801 814105259 905686737 357810061 131072645 249601737 818891113 261322409 594748645 350632665 535515425 608513481 279223475 704894109 270053053 173660551 330334115 168233661 20561959 843636701 529407765 252889549 302568305 361058609 402647315 343876421 211861463 9398609 388821833 283396743 773142207 653788273 319403535 357816281 105800367 324259887 313798499 489749873 871516767 829681809 980267503 694064741 254953383 451325699 924220931 655763895 908144269 237829467 868810899 888782671 19364923 234533077 988786751 484675841 273994243 615805209 87991887 872305541 944509539 533279025 659225009 628286331 231486971 132776085 186070527 103521903 183905433 223191071 723254901 246584783 190222895 640688409 905231613 434630647 630780377 8626219 460180773 390752551 93713113 61682799 290347299 478444167 829169051 17845853 983391449 524764459 390560433 877279455 585386701 348210955 365343193 45485633 361972013 611037703 385352947 837981495 477885137 259290345 173591821 978565087 400908857 877403749 387254617 455334079 819143309 674819087 813978675 757460419 38583961 145219437 261760541 67950911 499298777 818916069 909060291 914017523 899913063 899157707 351359481 695507205 355780877 186225239 767953081 538672383 512819771 944117417 566390823 15718103 645435655 911394251 565489293 689517037 971659569 377901489 180684895 682015747 754861855 221474095 219680057 815893063 702903521 241496843 942592221 212575823 483074351 441609451 455729721 746933017 95607399 268855907 22702171 777562121 211648401 831582697 967498115 219010027 426030427 186967521 975577619 819653623 721238815 830797205 572945815 364397769 356210649 105258035 399837631 681616229 514372915 326138325 290409321 613919803 108374139 186913407 539304855 876848157 275994537 737556247 178901623 111065421 372052057 837777007 670105177 975703659 150550743 620698691 355903673 288295815 404283151 57655857 195861819 204453141 206776217 340779715 820709033 169435379 574707893 163463787 689099257 99698535 964249931 593215105 117735235 26896413 300775911 188258889 740396237 527573291 580599235 546018281 263006719 972344333 803504063 959859059 438550641 373693099 799722335 393126371 756102361 191242831 831738837 461341207 706933789 588338865 506401527 435849689 636480073 91362029 649256515 719354587 73150349 534337671 481745893 257793973 235640137 418239085 295498663 971409641 769694461 528755191 940613633 477099489 863325011 65054175 660773655 808189423 297038115 674721099 6499241 921869641 258199139 110153927 174601261 431022099 156511545 688606539 811364279 775010645 783896817 889601843 676919045 168903679 340202749 78310213 331595137 336059375 733576697 521569197 517675575 694695649 137618085 960543489 451747043 778752897 927841009 112763197 465878241 823326303 718914287 76841159 986431031 895354101 983333847 960039277 473971351 332858533 75181329 702704485 905505881 375543735 842691365 447361097 481835385 211010141 988057799 504558113 492044447 590692271 516255187 674445915 199253019 660072111 750400075 963612361 647223013 938678087 424026459 416254123 688732573 19676999 513720405 83013027 731714951 806894441 729701303 812762307 665208213 191998029 228136483 653231485 539801949 123907967 889220963 651513519 570728989 136420463 687796587 991260061 429669825 754468725 609623 901468407 10156499 44491987 433277033 665674191 745173131 253967283 438206221 182907047 892180939 96056613 689516503 314158687 469957145 768846627 678286977 415814471 322955173 674613645 10330863 999282195 97353027 328816943 879638059 927459553 371948919 377859767 517273961 806851639 356561251 653555137 594618117 444482049 587027931 912689101 908932995 256498325 536292435 490242373 663550603 785017777 466963949 550146681 766209523 450873207 102732911 670548131 344398517 782505337 900047687 273024739 887708661 943168423 108632205 493348677 999921661 567353699 801998849 331648439 367569219 921504879 206096905 161746709 722994015 258758651 691948727 739442719 59479063 585699737 251293887 771875455 212005459 819820617 498352769 501618115 534210857 126933871 892418821 622455913 449094867 862255065 750050043 271784657 711904695 439779515 563649977 827971137 208715611 3754163 285546047 48538605 865830775 36823751 869039667 833244143 285805283 812562787 420602597 248516679 327013029 215782235 437400651 552662493 338505957 688381169 848803847 854791557 130655739 99081925 645568607 784474359 216631133 861424359 88652611 828247507 821936817 874205133 70476103 173282469 985374915 879302481 591310511 112570331 170704005 705917883 729119837 517354703 456094737 553205945 824403685 288637125 904183725 760492125 6907771 774516707 273994947 223578151 27605761 911765053 657355493 400854009 714294525 420228811 617676497 352023845 437437085 541528173 339592551 880063325 718175161 330154733 806526645 100452799 191611345 43585021 856012013 940982223 458940171 271441463 817924971 96477309 936664887 591091227 694559153 239472925 453211853 270183185 491369579 9561195 721875949 565200491 116311659 293330829 781628251 705192549 356109743 665733905 11289481 202569501 830042713 378986987 310643597 565496221 541290419 287090811 767756325 326712023 146374961 575617409 567609019 354676389 811172719 491740465 553506909 265765573 173578543 994503195 288349891 927957475 66056797 182689341 945492811 821960337 578438925 90243583 165401085 810199109 371672183 427742507 584281223 411304035 28381699 377863673 753202499 342184755 179123769 524651525 581638701 392766183 189867983 433105235 184594925 92787865 734893725 892844881 391694037 118553415 959943335 305360855 620892633 857291485 414402841 116752415 922918299 725646637 457729351 515775439 429760865 491423469 599579563 4104693 998824473 928706241 437863657 177028101 436177755 922471473 255168715 5657821 421318247 649859759 914588487 335015875 347037475 109809811 137890165 34105187 69613343 347463199 295742617 565496017 513030291 335366269 232132897 834932367 313445215 270102207 102091165 720700285 170532871 392927451 249003977 176285675 448531131 83958965 929913225 100337295 890852949 520029973 805280745 622169987 108185427 272767659 12103705 613271375 205717723 194067219 962780791 417957345 783629757 780459983 76998535 647498123 776611695 987760965 373445875 37925389 438807827 642524103 447452301 81262987 657750127 144347791 915511633 295946641 589353203 815856319 49788003 161630231 92596403 173607517 836564495 775143033 127105905 503899487 151631047 817141373 471149973 459397275 727460389 973819725 821760301 61205203 943927279 961277059 43681519 488879025 940104463 583067929 938582843 285820613 896034967 843529333 420056859 428107401 308774085 261099365 810391355 289078111 697042425 664022815 197267187 637864591 698493377 288337981 873262403 395350345 624835535 425376711 648790993 61391785 398922493 234586153 416885741 46566319 963796561 456779321 259133327 842033221 359712757 772781109 663049815 52233787 171416637 454961345 907439753 313324875 35393697 649803753 47674389 468287765 382988489 167979045 924795285 996703781 583571325 707310415 708314951 746234603 640463281 283845041 115117585 728632509 135414655 374538995 221260931 63771873 9509679 90996527 772335059 76859263 146081319 974402015 390969571 236457639 618920443 855941353 705617209 514058067 486283113 846952859 624701443 390618723 977437011 350928297 524545819 345001379 670381507 184082993 702899197 166198465 368041197 246249145 46437075 758218841 968341549 218910765 572804457 235618539 190291205 745441251 561309241 564664799 624678945 818249879 444046691 578630281 159204949 652566383 577822635 454740769 699056539 718815995 722433411 92598215 729936919 212445227 810323969 302520199 23150355 354018145 888606181 844934991 473869829 683177823 689897111 619305723 316349317 749102163 515241763 529405513 814180439 809759957 601869123 501597159 386599017 138031837 383619669 37129827 977631689 258429141 461047905 925553973 45339065 539753609 544660247 92628931 814671767 637393453 514716363 743842897 524801007 273830239 311129985 663011091 564512631 682632739 304346589 594918179 665103367 252061673 75557935 452155775 157367203 918101637 513914733 294520341 901306745 858259763 733577273 762327729 29512921 276520345 266467289 690482705 525198911 134065349 325474619 886759123 751488591 639382061 834464761 24849025 156456661 305370795 935446863 890854541 520944067 598243207 383143717 328249681 84385331 906844013 697218829 87500045 175400811 37425011 679284539 227064553 42020819 484539415 397763473 308688887 938587139 192667709 116152979 891402803 431593905 344437809 155101811 930720635 961957571 912746155 873411079 419187353 680096837 945186757 183456207 291781183 732930921 510115337 601929457 494602757 235708555 733919585 353705023 974667119 753119275 919444001 618691371 271518947 18147833 261234697 754682587 938137269 771626951 865004861 174512401 86404123 846648461 166880075 607434045 37170233 689957235 428829223 320425849 757830935 159420097 968628015 893386625 861033127 265361643 384069673 324084159 285309889 289204619 22064705 412886593 321337129 866862183 569761549 789886911 867585669 240201321 562340745 344264343 553758055 709730981 160170781 241729487 633676361 285899093 313449619 315463195 797919117 127467739 676427043 631143629 485610107 792243397 496514407 297628391 497652293 559932613 810888295 846749201 662696195 362392503 215293585 982878615 534943929 683769501 361164983 403014515 124137035 562885541 977732889 189752645 452392593 229984541 670849627 638541649 929902399 982801541 460779659 489473929 388227065 253815679 767551517 155120771 546026823 839304917 354376431 628426367 431981977 852761981 647033157 926484579 841875019 696500111 232181967 143066815 415327391 924064591 832372129 310039243 696498363 128926249 655838007 317539173 587952817 447139249 680695159 999751189 184008571 846287521 293398447 882340875 162875897 853900765 297935253 468201245 584518135 178265455 325016643 748911817 421197605 854987661 161833281 866509625 565911579 476060047 142803835 480995387 125339995 608414459 600369223 20170821 308779599 983943289 548664419 689187705 113133639 496231135 696863475 174952605 17421693 732334119 118907523 107651615 858478611 507183733 343454219 570202391 129744143 773356821 657493479 28155463 413917031 141142393 91281115 910693137 908193009 283629115 65939223 394807945 883942767 224393247 171207469 149102179 352760201 428875539 955430685 709217279 135020499 963751207 599944525 596915559 584619973 892926361 614827397 394121285 929230529 114507209 821963265 197079797 194866445 799116869 783087705 352138613 116632799 250980285 763244181 692657771 817839437 650023953 438958113 798841385 386928473 531082049 549842131 644427681 158049003 545362551 285227495 8270713 816610263 761669387 266873093 561364211 384272597 696855923 721286455 405046527 502917 617723479 256509941 886945591 683894387 517090687 112609305 858100951 139803149 425539805 679705835 978345417 231836079 170390417 972267801 916585371 39975833 244051675 501045685 24886403 570768115 47725863 543406911 270584931 488257233 546554633 996245659 611310529 902560555 799398457 119393815 82211019 183505889 515352223 489108583 824928345 869446591 812643651 150378921 745441515 331962739 730058585 515447393 194687401 139850905 812192573 520294527 545197407 368209583 123498353 912213079 884178311 46856227 538990497 124370341 687547201 315027777 323351455 633800335 990677585 11238215 193611881 213419173 605157417 98615635 694912801 885032919 118299359 18130289 912881681 353912197 892574771 835435407 939779501 388752245 364089483 486371463 813136273 946439893 410045431 561678621 767680385 701449015 483920687 108122871 462282341 313908123 285609105 294554537 126596947 351446883 39796005 351519145 67589765 288591201 275144089 841462107 697297503 43577543 409011015 512464393 348592747 688092721 503912747 363205345 614663773 549438633 861172975 896872445 539041553 733740185 158975457 152501601 380479371 911900373 374068727 354211315 77564403 577643933 17979091 825862279 344024735 425058709 125370043 683048659 688828169 924431051 144804765 986055291 247492309 64727987 671592977 762807303 795684047 12413485 908715607 584242153 341922791 139195003 119188823 328668027 319388733 529248331 464682397 61676027 654327823 828064179 356773475 571852181 862263501 420100143 984082569 616843867 994629127 97855911 6735251 367205699 839363193 191714661 692110003 659326769 870888711 999599905 326134207 589602285 107651517 278424053 810058805 987293993 1763533 141709675 374708289 237270909 488072593 476295275 92167597 425966955 789942159 511198797 298722033 306634845 638636913 191661519 661959727 600774053 636178441 282882069 878529069 266846073 301235539 395418541 788676955 964597245 763541877 917038987 563736269 807467577 445340087 494856205 560026439 918524703 893315979 762179577 985059885 667436167 78243217 336756091 799264909 784534067 588358281 106664231 690955299 609510093 652937311 701494015 705609801 128208613 851499813 585168227 273543435 738198517 920726553 102976035 735594517 548411231 558225563 502915957 649640383 824700267 279287097 493917427 480093705 895423563 956076709 235847333 553846683 209525015 781719739 673568247 973831873 756964561 638483325 8431809 745631349 750154083 295726615 712971835 738084695 170933917 795903453 642345999 467259051 980724537 414397255 346377545 160317795 491309529 384835325 986908507 391160597 469613059 959674055 710522151 738305279 775222573 496934041 409354737 636473099 471375277 664919439 805178981 785560265 516448709 633302251 845850007 233353835 564568735 178915611 554470919 31341525 423487819 574126253 200151193 872103821 740691395 873515873 21328283 313702851 295892455 736746777 804173763 169676107 528547971 21168863 674087211 906766505 595476039 612569065 758387803 296815871 962362571 99032719 216134463 32275233 762161041 393510741 507448877 869145731 327226625 124550631 497304289 364726343 187422063 476219417 689258371 738460723 460074515 770167013 487363485 806345653 347325965 920195951 680023847 56625893 702993257 338912259 900467581 328452995 455929365 236167953 229352547 323119605 876807405 924294199 591980295 382124109 516273 545585465 900522241 22360895 667517707 5631745 917286219 947960619 374294411 966402209 553843531 440472345 200050857 320973909 877515213 245154233 561867467 111669889 571770891 317943905 356705077 54308017 3812509 148919313 637496605 189808789 697211529 634037359 699638423 460610829 909276223 79170251 726658473 35935511 363909267 202073883 813683003 962970339 859449281 771030785 768983067 648702145 847732337 557875395 238243335 772492845 341701805 589748305 366778525 657543885 893220587 919030847 974155369 595442023 55806219 799712975 923433433 969964275 956902735 694596329 806917705 173163915 81519461 86165787 667440375 687230321 594508133 824231067 700293649 685311503 961612487 892051019 30553507 893945085 791033717 12062127 925936811 527826673 362419899 390129145 557958663 710243539 357101133 299436801 817275265 866207403 281433415 529639491 961448653 152714413 220340019 782420455 272461439 840930867 779799291 51355069 61441309 194031811 124209651 229735485 918723597 126635271 298383579 421389191 659099299 577324499 438590681 716761183 402814229 778819873 439212663 822504759 982497159 428465939 350187179 128230179 532758785 920810231 235338195 730282727 180836981 186161727 879761077 83121639 429201341 473571719 956090749 968879411 862782615 768613265 455518913 232564867 597445041 807367241 367104639 789328693 864941463 205835203 376431897 693010769 782897605 645609785 645721185 915796613 864499101 164112399 703426183 127769385 720202601 872722127 578042669 376004415 917481813 106293293 403630167 327423849 134072449 270842885 145389935 815968251 51271657 816904281 4906575 323750889 211795833 450339415 878514735 58919381 385726211 772447053 88611001 372151555 103380285 856136125 601588473 9580645 936866507 710711363 130327139 88506771 167620917 916873905 283319253 339188681 319824877 452912885 949355669 925718255 452004171 996863533 360796495 875581077 645184913 502969245 703610137 223397107 853252073 72892845 952690799 2607081 624097125 48344819 683784249 861430267 336723963 915818281 341934785 848039257 769249679 971831859 814205117 645445853 943242473 721863453 793461325 242432261 913173177 529361177 349571059 216210167 899719837 21757057 332384159 71099779 322061329 796741081 338112931 583327263 760797569 772581583 473769405 657331181 837468989 853192499 545585685 422961843 991803007 969946627 420041783 110204895 468674665 770202207 917985303 50698635 467106563 378959507 307995923 651159411 337849917 193692949 405165295 698002945 126715123 305165695 594202843 60899649 92835301 777290129 831258219 758136303 39425725 737934907 832407707 661476453 545060107 718274701 245099217 323242415 824389961 951384261 262208475 123972729 876714457 513110851 971377389 569116187 913509379 157060501 646380711 955938197 210862327 456160109 933053963 931557005 683602129 417691047 343209863 740860499 330570129 61384517 322405873 519889119 571448353 156790897 950892935 226061265 824345425 109446531 581098219 360313197 868566235 791533555 964923951 33593251 990831201 395640163 539460547 654886157 354902633 439647905 879617417 807342057 286168425 779870367 176701379 668107037 921233591 75179385 24941089 591109433 64651669 546950513 459709621 877373299 774161451 465054707 405542655 996233901 943147149 916430995 365988067 203791981 339127219 801246729 979335599 696566753 123270781 782531389 621908247 892796131 861841079 90767927 1916475 456533231 686359055 450199339 884017819 853787693 968154913 309905269 44473641 678088303 421712493 409591961 469110585 350606377 293008219 436139327 472902537 710924157 73065791 807436349 284051259 482732847 951316049 48723853 444129503 599851441 369719473 911862097 170942827 365863449 418810219 481475801 669877049 510698791 540154733 393081235 559100691 618345539 591451795 642993181 321083681 228480121 156934301 158474555 937133051 911830915 198549043 699083989 632085919 922747071 471454185 89355009 587011697 232336949 432476981 582529785 845897789 956828053 28520829 439942689 778883387 668901171 363711237 475878147 578565383 662611219 627165697 446779477 30650279 175598041 162151819 487922671 577093255 975951829 166387363 132401623 20583291 899045373 189105969 56953141 890256837 979116275 796833545 51217759 162275077 677188093 513064161 69814481 229389387 534017033 381756253 461317675 327767819 264097457 401330183 528992569 727364645 217993521 864758349 918967793 751912667 658502513 647739529 943897963 836175835 501871875 390121727 313451757 337799227 336938523 877223637 757920993 253956215 352283291 758172445 144079833 9460087 683988743 118607827 255551379 205565319 427468689 511589589 285983727 167419225 643437327 115125485 131057147 977160463 883206657 540624589 598178535 630305069 43715981 547431951 555191571 211759517 413346947 31045681 876394239 479960761 571135067 713915807 180321367 7270459 530959925 142867115 165694189 818120265 924734933 90475659 765563839 685506673 279344811 633005667 908620269 592111271 158499537 283195963 475123653 527960649 543011843 323305477 921019321 107438365 690190507 223343769 397974885 591226959 203346135 119366843 170145419 549513589 766873919 24729105 515922967 761041803 928241729 34866733 309617435 64335865 862147299 716489097 733582293 217194889 245341143 229842055 235036839 482039665 718585973 943851631 792025883 10901073 539663801 782196339 314120933 977579307 482766157 607691947 689918689 358041199 107275901 923390235 947496977 596164335 186528067 201575081 125366945 290845419 74841919 291883047 600280293 898197767 611234485 122072399 754013783 469022543 539994007 606560707 273005721 289468987 41747067 645304331 39948411 831185319 489836961 966916759 261937899 78695897 588912111 342928581 583562759 447734397 136948213 680890833 357735441 631647143 795849451 213011431 168989815 999277785 746935215 774678807 921892551 700441075 244411337 103367771 359256003 775681605 614985321 566012565 287294023 607901571 255269733 823662475 355999333 119385293 482378299 852000499 46711371 721055141 527004437 877922659 839181143 854013177 874778049 502204765 934123789 566162463 272128693 203126859 23751189 469510613 948509203 103562621 662621509 280578365 683188385 755493165 52919961 974500073 964771533 820503933 121276465 649630155 502541231 186414451 877446489 960789057 686125575 461898245 307675527 417432335 598242109 30208777 757969747 909805669 656607327 540906049 658823555 414175957 101845795 442013783 175266305 939629663 480286953 969017819 285229791 172323687 33416121 436437575 355990361 949204923 103043907 8211195 322728659 775742863 306428381 784911939 333995481 750741635 499458439 755859021 32304925 512666263 725966567 240949813 152272505 942222653 687364173 695940347 329428467 739451465 106461873 415171719 451851957 978818297 2531505 206997165 430408209 673832175 497175445 296790053 451958405 495497533 989305421 696307089 102688945 602774355 96575599 18801271 267040867 600849427 625421625 36468811 531611533 353172671 890590357 517124967 392360779 850965509 645115409 223380491 733227741 763208445 90840547 974937439 679450291 857142305 761862125 388836983 746848607 619466839 389222069 250547531 612034203 876867051 247577705 676660667 713423433 622201749 781004769 473523347 993732983 346633073 702756765 781192321 605236055 785719301 745632965 666291489 603843141 277906749 734348325 929078769 964650691 958010735 800193335 58986847 34053757 293148759 515128091 268340665 844833607 113639451 966649237 257809975 418163739 379516489 410096151 117819389 478703131 908193495 23016119 518579477 436364695 163727135 941721397 961420653 376039677 98868457 763439095 779618271 855150059 831784801 900158733 58820399 980356643 33294367 368430895 409724163 715942545 956205595 916687547 409969391 677967433 692441791 586037433 464294251 311758213 717545685 285759959 592236247 997925033 316764053 985744751 635549821 24060735 572520347 101921405 654979983 272313597 721822189 122349227 437408805 965966523 518994165 14087495 161363523 323732349 403614093 502292039 6235343 135178097 791097327 642351437 177658525 775163623 533829313 393299103 924220771 145435995 788834833 677157419 437359813 539140209 982640211 76366473 73598795 644794099 619301733 840694265 35566951 806018519 822964109 890694499 958925939 733880629 688994935 965678931 701082029 442873171 752055353 162903811 582719809 882314137 251004497 996582739 992106817 190334877 82657441 680898503 50476707 180981275 538494587 874658193 503576139 853310451 179765647 139883655 949422593 927014705 735944959 173309479 974094199 593270795 540512333 515064987 831198533 763017179 163491433 29424563 626657263 934487073 247196325 190101985 329803995 985305485 464205761 74717001 478373723 258925295 530225377 889233073 984676777 961660485 846417043 666899593 735219175 684828079 747639243 367249893 11208477 958456955 212740839 425462153 707551293 282325019 473494699 154934999 196842271 269457705 732612422 535980259 986733445 599778923 99607375 290389859 981819417 380662731 983802047 792277427 426695019 835035997 9046015 80457695 32263415 399671897 471178969 163603859 307489817 298336807 321833859 616572711 390894367 41098575 951402397 877242523 571130425 835269765 226950953 679525527 174412415 382316963 295252885 849245543 538660595 401805999 965594807 884542469 120101247 610552531 685945805 786873105 705983987 78083427 742777467 472561103 928013577 969036505 575729101 785863473 748311907 248686551 979367739 579785933 176208521 968889389 712839073 486671329 458866667 194800585 998424131 502873175 486042597 338140105 814408657 758295485 862818999 99246447 856526175 305560651 700457867 733256487 421036393 66687455 16426353 540181893 219017429 902027009 453133411 643304515 392893425 119084513 525367875 67422533 260115313 407238483 962858967 43919765 463108979 900320217 483461077 296555623 479888509 711472795 204700627 360750615 256560763 512586855 881871187 293245737 350654403 703514803 934353597 599042885 479021075 182623905 214284901 221274689 131014031 378111479 740816259 418058519 678759875 973799971 617184057 71903979 113790119 991858493 848689037 411388935 779974037 598075653 106421365 65500897 593984087 367538657 426129093 695979281 747080213 866202083 544820035 611955803 832055399 596324799 417475991 883255213 793135691 487817173 361855313 729706519 732454693 566592301 493547755 978372565 740934595 237375095 820881093 182573387 978595161 834214153 683367977 497001989 689370757 445492193 111196235 158905781 98583629 348324011 575022399 624066869 351718685 331201201 407750923 428656523 765716939 523319275 263090327 801488095 683603603 218513403 844050097 854986631 614370843 392248103 227173655 21245183 41669746 586245471 294020455 43611879 278976523 597812535 253578797 4175373 803492549 657449201 319350743 701518691 201284835 559891317 493945281 541707523 740607507 362571089 495633705 854375219 812959339 626141627 826566717 910354269 372025705 973501845 299088137 329458963 123191537 363826787 559620235 303885075 264396367 77300055 610183073 607886909 124334395 833455177 162694679 477076127 743295185 369817781 505573787 580200555 723785879 124119747 213802183 313101565 68277111 642590787 373583391 246012887 726585035 792827821 320215305 234851237 45653837 165896481 802243289 569771321 697456675 855950179 535415237 225579153 827361243 738376931 151960049 677948877 528378731 494485691 556812389 282764349 270553901 872477609 145754133 38395215 326513129 73956115 680004821 627384223 351107531 363422217 311160937 980817909 239115625 867810883 130760573 970599479 830047935 711675679 209611933 389456505 785426997 173760163 322348359 795525113 630472597 912612483 537432793 701861401 966247703 60047633 753144221 388451 228888151 143594577 627574213 829170315 353309529 151445221 553067625 825133933 454027149 933591329 808075 713227789 466535621 116573177 210005525 677486483 985016897 623056399 390063321 480966485 981727141 385594023 957220749 535273933 528885759 436746419 341888725 993623455 463083203 251289547 475532857 434341013 884926671 881680169 461991211 412560037 666197865 439716027 57404931 766169831 549303613 609154059 912293125 58964639 135179617 165403475 224487255 753834043 146635857 255955057 368049675 107165259 633418995 879036399 603201307 937080971 631506839 416624631 854801001 720031967 273778925 926551909 545220797 64944209 890420503 17006263 943947465 967013399 580447383 54332691 267307045 187867785 64965979 782312265 162663507 61872173 287087545 907128015 975379901 959654571 843761519 11815623 788765363 543311835 500301985 429816055 684553327 235568307 891182813 614612173 641875987 939109465 908291093 24755811 164566951 708779801 653534123 407676277 471418139 575573861 858117987 794594413 709590861 970972887 669378153 970192727 429612793 9678645 486690897 479144175 169098185 142102889 138064413 417251727 818710355 339174021 487515949 110683715 44574731 595828421 55517265 845156791 640683091 538764943 293754557 201154883 397820791 493919083 510066447 799381991 157919911 290667275 183972429 953265481 338926587 330984015 633626341 773850809 261624693 699876407 274883497 780174383 276504573 977765615 263173847 786710857 410779239 822501577 718032151 819463249 129413739 76118851 527307891 613486385 804042667 14899199 290312035 191952517 365348013 944494021 475568579 71358091 651114983 846951311 858296279 508720681 59147951 850757489 324686671 468147183 422493767 663424947 677319229 307594515 282424535 736389567 483743265 658842231 875212403 607286569 603906271 208130465 866723859 814727851 63190469 448795071 35987609 918659881 680273543 88190123 874147787 609126573 676887107 416059361 75819357 876733803 43851903 255249801 548835817 332354239 17041959 530485109 69801967 184483883 868478097 934510105 737660633 77398107 653254777 350707095 975978997 219866147 778951431 821887155 810315649 293393277 816958149 305831903 823988125 767101581 746323113 892283953 162849103 747484829 331465491 264540777 361201035 676161825 198376133 965964269 214669355 611497655 577768943 849860559 719500015 341234205 539258659 579265987 836345471 8551745 845900897 236252969 629144943 798215223 51612171 955937289 196555575 84864057 555837427 766419475 264404279 707699371 171187275 641282971 271905721 904485401 233114289 528512165 775848175 495067955 71137067 620743125 824202739 697743833 496300835 576173947 25481669 295858697 539955827 228669069 977437261 256448755 30993493 827193773 531063647 965083111 224932977 945191457 911273905 754455393 84634065 660075735 407274983 930339845 612829163 832625513 126355339 249161631 428813725 342836499 372459019 307059231 565698093 839387069 599921601 600102565 838874695 350368505 553132785 457992817 969455363 559296251 274113729 864209389 947092185 413347749 186356293 169673135 651417267 322654587 945065843 79165811 12779739 208293039 749075503 472539929 76559881 747467287 499849025 308534191 854227033 329560115 355091291 889368167 535517263 342773289 454892055 676315547 341558747 270346441 990059251 540608977 548851535 451235723 724515931 599365811 157239915 763578253 865714849 69373459 192813907 258873495 269821179 878704367 678034325 642147353 58987149 590499433 571573029 367843881 374921055 515587273 671852899 189780613 263529827 340769927 898883087 222090647 912973171 28211005 532518491 815595885 59454029 376666797 869422555 999259327 540034973 264997827 278929805 514847209 705297651 271226259 54261459 247881719 75879627 375312981 21986429 178758549 851453825 674548337 378502081 848854557 56761443 706030447 185824059 785682571 669260961 953212675 183229423 452446855 594863189 632836105 93516875 169832803 788951933 184105347 864776999 235671827 257928965 27169693 674464443 304309561 3182525 587129003 944144817 839220761 935996255 473135655 45563413 848894885 541176717 239372725 109995099 646707315 546423503 493318175 89681505 127407811 621049751 288655961 208030315 612220283 450735933 484752511 755884073 46211883 956691715 610564309 121206703 641926923 126849299 994538691 719199353 708250105 178057085 79927775 168561775 722787197 3332923 199381219 15031515 940738247 978935599 311017651 896931699 858347949 770313505 804575577 572205397 230032813 610274497 191406347 324490759 753392881 626226347 210424097 709332087 381757255 47746911 692864799 740584951 602116389 522843719 534628787 558179653 73453741 26507955 691294637 241296265 541307045 67857117 64145673 195903823 341220731 261908199 595744235 257965449 112396359 25700825 120050591 844474521 532479945 216574115 254820245 882421059 984447337 221736737 309041261 168312241 970653747 192481043 437438181 457912445 763955683 473813283 897741037 889890209 107567059 984209889 229694101 118102915 424412173 691068615 558814491 88179185 157533761 803073845 698326495 527987487 889461957 42388855 665251693 515057323 175723417 693243323 443775099 353323163 390676323 230724893 164923619 161656411 898355315 981385885 330577573 875116993 472072129 561783333 889953009 820533769 758670315 808343427 825303833 67002587 822202937 463355765 160046485 453711169 798142363 281350811 679885581 296515251 288675751 143801979 910722375 898925579 428613019 933454475 190470715 178091667 304655713 259846431 572767491 538238707 67309703 622469757 700720865 669865027 629434179 184025549 817603649 636617985 886979447 21665821 648620981 711534609 538880937 168848235 934855419 498107329 536167431 468753301 555471861 174806213 471522665 150762855 956098477 540613947 848588367 905909647 387801943 125434281 177464801 335575465 696708941 87116281 498512107 630453557 797548567 28544133 210205415 759953051 940372315 671283975 284236021 256278575 376546029 742271399 494896345 883992359 745551307 619700207 118844421 322121383 495173399 305661909 399134863 133751993 658093851 384202937 917497911 548759883 575538251 65144925 711116131 756014393 735389251 991533039 528504867 169166145 124140741 433846021 562252591 123909905 585356991 635814557 633732325 994171957 379181377 819365403 473144909 401838891 586349191 551395403 761171989 360161361 28237043 741564517 493382551 964746481 335132181 547762949 591290319 996149309 732738971 94202671 767165031 74371151 944282723 2400083 901823149 702463781 366331761 40509507 198397591 44490155 712857837 115948607 53358535 93874355 888554285 193685485 270092419 278166003 715120555 518469975 15692985 485815567 803985419 642944243 933975809 30315663 156542233 420147359 795128219 466109157 23741381 158527137 330433391 123725675 906647085 429781669 664608521 117592415 985189525 971497665 529191843 511886061 95845479 283328625 941148699 740104743 943168821 151984029 720369659 258779651 352753083 732359055 266586735 881822053 969781981 285414399 563576653 273978389 294644391 407085065 575064601 91212229 201598795 21183793 946950903 621455117 487799331 395941477 730384823 696681585 74954933 110718717 317292753 882405719 659448233 522595251 231779427 788427537 955631063 173740973 920199477 54501849 623869749 546328951 868810167 623089105 228421611 320416265 61383933 718266369 165977407 509454271 572068299 118890843 443559593 393620831 697954691 489586615 197331651 908168981 43919161 6897879 26936399 195233143 765189283 44078949 809276217 242250881 990831389 468758515 862409107 208512153 871165107 868774391 566837915 311127437 570774801 3408595 886483377 112066451 407166607 707151571 432754531 398100037 494274861 283824167 254948963 43692459 188601235 982879719 601654413 782213427 834573837 934316309 367248355 553747631 102133141 189386139 220137873 781039455 631236811 197324617 315418857 254889189 512604915 22904025 463465577 748802643 876771583 468404973 813192371 875172123 229579907 389832973 504412561 980944923 219223235 815449257 403176695 505667223 511690147 758781981 296347649 283956543 109779635 534909865 141420529 109331237 42765867 983876727 484938547 640038601 658171369 900230551 364479067 285021969 727244405 521942787 8678691 710711879 647391741 160394397 868711791 544773409 635962203 249712427 408287817 558259645 518278411 901613923 243734759 1469601 375306807 213732059 998129569 32645561 672166317 66295573 740086011 19380571 763027171 916782201 864233121 469492549 993068283 187282267 240957031 622621081 651988921 171338995 582977863 229878761 492077713 941711971 911206501 354350117 142785941 2146737 960665613 162590127 298686087 177568467 932603055 747535433 336793549 934829215 649762793 354242851 370789241 209625559 434220927 896481743 518450239 20405283 503970905 409358157 242167423 552923927 355660173 211268353 764896065 923784491 418215767 558287289 910389557 891369151 246223383 873182889 443964337 991756063 760973145 360314991 95673779 605709177 252690643 836889617 181676773 406150633 849785693 352477691 686218901 310441069 382827005 400173825 580018875 490980339 514660573 585619301 539048693 741981001 255438415 939966919 934758795 394767911 943243727 469636151 382944363 855050803 474086659 545396011 601624623 777752049 188985009 252922493 187975955 368610261 726825425 27482229 606867457 278426425 287030909 454115521 634966919 134145885 985289461 336068467 753934043 616283241 602193065 683154443 671588575 261246577 531584811 700569195 368259863 17502315 278414131 378860517 335826101 885420347 159198633 739369003 217567631 235659947 778955411 600029787 496987941 967800425 73293865 442271737 818621343 796958991 292986309 749369845 274122441 591353633 132193513 549224867 725411101 639625733 452517953 131401663 236917433 162202383 294069921 536470383 380269671 372584053 679755777 332462401 417419409 480580187 997122185 693832233 718319187 199886283 349378433 388618885 493183083 463595443 639405149 27948827 157612607 782974957 503497145 995438617 883288799 667205181 964735063 2181137 880057859 565722953 364591651 255110401 276970249 204917155 382441265 947070289 781192183 289580743 857507003 867710155 926224513 422391827 462793251 648618919 91536121 585641937 106872825 456499585 876233569 688353843 586783467 566556253 566113889 727681617 681374423 420321193 592736839 356711215 795924927 348642109 506966537 352525491 836898511 112318547 52617289 840837807 358576987 47629969 226034251 487339485 416391133 554626821 315761921 428014303 40868089 641017635 928811009 872728893 584022651 552063945 871292043 234137705 885627987 813638205 671337095 305426619 431436703 954425641 562328961 120739447 103208355 91963815 240152499 771313859 427582663 965678643 332414203 605646001 456375713 714065327 852148705 637298235 34331627 815138411 362065045 907771203 459970441 306024733 140989933 225338001 73761671 57165279 417706601 755459287 607571733 36529977 15504687 429477805 148760723 792139033 681087759 156107413 175171199 137753041 411389311 117049849 951104649 707356961 223972257 762511913 748354177 861182765 419195707 872126559 606253923 753385345 12372923 895087037 705780309 832365077 584886587 448278603 758246301 588605509 554793335 48207355 144112563 318200791 118102233 632628133 806025775 658698741 886825325 277585419 756471511 263888441 42418159 945841367 291058837 752475549 791433401 305973657 691296891 460943239 105666775 689368779 529479879 866416837 747555061 774228173 814202329 434019469 194690667 795239659 642796351 648711545 664778297 252090453 736580779 972026513 113889797 674633507 341955831 147591745 154034975 259404631 176026409 541452639 586760063 308063705 644144491 134399017 231515843 773009789 415483409 646853953 190578997 90070523 767963795 854301369 562471615 862551285 973945497 745549571 809639421 314883827 664567019 436817915 53502253 89231461 912715901 345188843 98690355 381084839 307071339 837682811 473983139 848927481 408921591 945458629 712817331 235427203 843351949 326761283 17658945 207754841 608988095 933189851 727369429 622239859 909615947 889742299 520317853 426567347 991853843 142994935 847158897 431037663 715980577 92790349 136123091 685784237 582468009 255423587 756238053 552457393 684172295 633626405 923941499 874946929 96144317 27066345 126138889 524869205 543806841 529784683 345428913 224743597 306463753 22911697 177387575 720431281 527012205 569780907 890877965 635091591 13772231 308791273 168812105 576221491 944430691 35178221 158525867 241681833 669506737 183396985 230636441 542660547 522039631 999599291 575863589 973921089 526039807 282062411 819826691 392553163 943971247 591722785 708704659 440044277 186519407 940409255 404364253 378305335 408561531 164323753 76658319 553331953 328527159 255306587 793491459 792927853 286082861 926340187 918732855 813976543 347727891 139720365 668853713 968016987 177146817 791118273 355621665 907380455 204814909 553716587 890775837 160119145 70903983 845950183 305032295 247067061 16715885 514944987 236488773 618992769 358519793 597084501 389277605 307808883 631412705 928036043 894147103 277660431 563734019 860853527 593754869 692239817 905971279 136611713 228748297 145107193 858757597 98908341 202967791 207709411 757541363 873704393 26302427 739976877 794922747 711830843 950461103 696926571 672545671 972551661 361461743 935332627 444107603 236731441 705352653 201298825 447344709 458096313 720974623 891834263 451766627 378841505 798764133 895353835 990552549 255867763 992465605 160725023 516924453 880650263 278458639 935744949 348029093 640792551 392686267 498412825 471590159 740915869 464697063 493283479 12694843 835566687 798194011 453837675 70909471 386423483 425770375 345058999 64734435 887162789 107624833 915809923 494442447 716760187 581764359 465571009 781517655 370922755 617737859 598932555 740412183 834974825 66177027 697459679 320394449 644643395 972055615 592027433 556586353 719142797 707681171 874832315 997438985 319597487 132284171 542751243 97436887 482897779 368682323 615877245 887227451 758614033 773443525 768901721 869011909 979506723 75710813 225627855 726580515 332312241 916530627 741795837 273794867 173028393 509241417 321107423 989834999 94757213 378627299 182780769 150053531 843813517 584803635 718596947 944731763 50174045 347806589 665363311 599878137 219354843 970135987 197918551 877058767 213370491 72815211 425649043 296441283 550874395 454016485 343051925 875271113 393258239 518393095 446182837 526402297 71238615 971822177 493079605 552670615 991077303 558342443 961211455 369221903 52977179 960852547 742992867 318101237 789326569 862718769 280641051 58076675 512224623 926672165 938677193 650720029 551800163 833997811 63521973 134134351 36702687 478118175 646196879 113316809 32382059 939623117 212831731 187945705 915322867 616010445 55998819 456777011 617224653 532803989 13794371 912955215 985149623 866185543 519857129 501257747 575241173 639934633 343719053 100079995 575849907 6091817 242761809 939152295 137637705 12511 680150077 574095331 424047859 276126091 551300417 209354661 769153909 567191957 766675257 707338117 91704063 832913929 604524005 714779721 668856355 770187427 75912175 225268697 807365345 164531901 939607527 289516621 195778463 704212577 38711111 657104603 217977381 190497087 6618991 832269033 560987823 897744813 120967339 678411011 935729365 672244139 94096169 174954971 681094303 305793503 473596933 390688075 160103801 390567577 292038207 211222873 315746617 599566033 808040385 250906927 564761371 13461285 321801307 721645599 828572871 232140509 267150021 969294503 253978439 696166121 740389285 642301799 701912593 587147997 136632447 796446765 457973253 560492029 150332617 622870251 422306405 591895085 420311767 996724411 859204065 193754365 278485231 756328163 581429643 30163619 110209081 605774285 919138275 605375745 430177733 780395533 896265165 227804827 273232779 129663323 924082583 745692581 306811249 907851167 273374197 884197617 330220603 279754209 585990917 58156289 736745117 470846805 555670347 564443899 160734769 188503127 304228535 182406065 676875383 643560809 647527325 256945303 745875927 523545143 818231225 827161295 75509925 47491221 145018673 25853469 419696151 410427261 987023765 938483 561596755 483528721 606424277 535363687 225806941 30934687 732822609 268489527 90869545 504731035 960352719 93980879 139649681 415380637 295103101 812138809 389211987 554532713 599155693 730267439 129718045 378920171 75490079 801109775 827261307 273381943 340970869 605301217 294542571 238100871 716045249 553319507 89322443 939010367 420330293 383045055 803467621 206496489 871530093 242241825 522785003 373967419 562015859 486042147 745476215 326444045 115134897 861388307 324131847 275349347 621686011 820249319 649006217 410952809 447290513 856107073 107843273 899677555 996811031 361952869 38573699 916957693 142289051 696295239 17648985 65656231 29880721 910055801 279540181 487320381 356604377 154325309 773325413 66101173 324236725 771482489 993373795 973058855 366729939 252370111 603733265 561461719 296034633 156670531 232363675 967020339 524250771 696766181 395677453 230884043 959777945 313754671 688337763 165709147 274084517 806313291 501928063 236400073 813899887 34158101 722965033 549915 286219025 740801035 108956179 480160393 874162195 825080147 120628951 310902891 670656099 159826365 520006899 193550663 365157715 723609025 9790419 707631047 246859683 124218237 58243783 397031101 799587447 682185145 284630025 442062887 398464605 804650213 517446075 402887717 715126857 844468245 260674277 200192517 311587481 537921037 556468857 723414841 796426771 351236143 649698383 383200347 53418723 579814287 832042027 323859505 769018781 690744289 13976753 208008357 468955715 566221959 483727481 905347017 172259125 118694791 219340023 799088859 237189699 709630607 988192655 213119803 945839011 443303927 88935559 400032631 932938991 931025343 79198229 33333313 330223151 400594063 381611343 142442869 445566159 598121139 162648887 681821461 550901415 25627429 168165303 524761677 692388079 178781315 216565919 992750705 211056465 863981079 118893737 626755579 53331673 357903051 586016887 251724173 739015417 464444475 17390993 223079157 144957075 929291685 763515239 223198247 779824363 274398959 968494167 764403769 397790379 201299369 504672925 608855669 554613997 124914187 138094947 457933121 769426475 124970483 178586557 865989939 842111819 386618857 23282083 621888005 616265371 405888539 708765431 306454425 834927313 193376099 988995201 763577087 693591559 857019453 111648497 847197029 353246917 182709715 951274467 759069481 481591031 864768755 109022935 635783373 327789811 839713043 870633527 535533567 429201525 47453013 783465555 765810319 890943397 702003581 590077539 508615545 954539533 681042173 931750797 476794849 50306981 678499309 935590871 329028625 783874505 878869513 61245745 513481855 883422269 998127545 177324663 294929603 582372911 361726221 30149225 26218145 259283255 453618877 843736751 295790343 488708687 105060137 317533917 357723909 359803613 59183445 722691947 47493847 904777645 765436403 325426873 282565345 486540281 718819417 346048531 291555503 154737753 180779397 717499559 319508465 406537683 603359009 900543633 760024967 363374807 372336251 34272721 314818159 75417145 969270667 967831887 684761305 810402357 678518767 525791711 664510741 596573555 501161967 154332473 357050529 843460605 635345785 825516797 621895965 787298889 24242983 303836597 117355863 406002231 653984053 19882963 587211839 622885385 767574157 279453361 945532405 127613293 234513853 363896207 950092473 545337979 336782331 933418133 635056119 902176939 856259113 152382423 827888961 218398183 513453515 815937099 382061397 326205819 933293587 792047831 979247891 938792729 726925527 384773439 570892425 846011875 106944407 58184503 465276393 564694365 840770171 824968537 797845135 149256819 979130703 828915235 194516989 556034681 960220813 93136641 65435357 84956207 496868435 565771077 130507271 242304187 581373291 432181031 286511475 857826471 901097535 139007175 283971907 405659881 229144043 273368879 373447877 576376287 729447725 538286417 506418027 27740751 891339115 432075525 402087377 369525349 135025077 337033231 54776505 120192695 374378945 940151061 438443537 933893443 639583473 310381737 967610343 320371819 159167307 895437383 318998907 843147265 589538943 392045901 217745455 772438069 464247521 841683461 607383181 659291817 284335219 205766305 598379337 259380575 1529309 53898297 952340543 996537287 982353773 467240401 212006771 899554739 173369369 79708495 729882125 245003363 904507011 660360325 69988707 147863419 179100655 196533807 818493423 156993545 691105103 641278185 854985301 798114177 184720953 865086017 534361183 675614401 361607149 34164647 973252609 69585679 43149395 45801333 208488025 59616535 575747831 602213865 365114533 413732335 307458067 97384495 768296787 276292115 952189317 251665239 804369143 849025643 529181653 805625691 39689037 133283649 302203699 375701533 118253109 378170187 515709557 712135781 909226683 557430441 139884057 968273637 346695701 38383069 584052553 758115125 873494171 741553877 711115987 216486103 867558611 593692649 648907311 380900917 713044581 614973137 425577595 486974367 818480423 465671095 721918335 692443729 726721557 649637415 503733417 438121319 528009295 210155541 189743123 629186287 99841571 729151711 771292025 971699417 685895681 978829385 264938307 841075197 960758153 201386883 516759427 183576349 501823611 978519585 412326125 967282659 13841857 988330783 678070243 86435295 878038643 783172067 502822761 290189195 278945991 330363707 622854705 649575753 900265253 264327259 240965523 879496799 219857683 499894755 941966475 629445635 752824905 713296597 173141697 697729611 643835809 397179807 220105093 752622393 77037085 511147287 468341455 436090807 167229417 279791993 967638077 93670037 813424471 489429869 969284119 693525389 787171813 94473983 835535949 361107519 296407347 880375969 302236533 730475319 277790735 483861045 887810509 558226659 919519083 106180093 480644671 877481631 570453859 358920105 529712473 474685355 183242297 474798923 204140115 916247601 609843033 351840355 122501131 185165889 899288663 348556501 959152649 301898451 666745325 489449967 987245435 823004365 838340861 756585317 255946809 991692275 440573333 73169495 443742661 876496379 930366441 339740741 520504385 730841979 673067857 391237665 882600321 430665971 597095761 327884095 628031993 119087569 232631957 751438429 566543819 166798691 37450737 72408221 858963387 780420067 903780191 366674063 294913595 323492721 840308483 827524905 223833697 820129047 624594983 477409989 730730221 234822089 70211647 87518251 849993029 370930523 315057639 785605513 782838907 736380819 148844515 720890737 29034561 375308569 673031707 442563555 784921597 543545979 327536805 412926787 41609137 59914039 631000251 336939357 230002445 477525163 893394369 214045801 966511723 550765347 985551427 637554691 124583881 897823437 104388849 221326897 519833037 40792771 29869993 943493215 212795589 791566857 476598895 771474017 512589741 57887365 471569515 610158969 909284641 97350667 571340021 474751815 7539817 728952659 611078787 415753947 176166003 238944509 147973051 918978985 452947159 710935699 350703721 294750353 383182551 562776455 217867389 202814677 498313301 842580019 885359895 390179107 121470181 744906453 632987509 895121 528480955 58334873 643322375 54906779 582286775 914214033 181221213 6744873 779020899 626850483 242747701 638519175 536490731 615287011 726938479 138994535 851161127 70837227 311599897 985570027 465524887 422238841 405401445 231537815 988726113 225720871 705301165 65722453 731186517 81682041 200406391 698601087 477965291 640765397 403368813 898650319 595261505 52437645 636267617 653111659 343831583 609614813 466252625 145138145 600263925 341296355 199185245 238698021 256485081 396676521 763013331 739016597 697230729 132397089 329335333 546141687 234309999 106853155 924246255 488518775 1826969 59562353 176959219 981293227 520975805 68782261 998569245 453735311 621950781 222028417 301202559 588714121 719023647 238455627 417523543 816282217 127444241 255076727 32888839 553895519 643987309 554517069 205659673 401386765 260867631 536154367 422317377 311225717 53832447 465562021 926528603 408135687 344576815 478251585 772019305 855008149 853641395 36543933 564685207 52836447 33037613 390563049 649335353 997376265 623577825 953676161 772934089 917808031 789414337 71022881 748412395 574797977 404808803 450207831 477054825 926221779 432867591 910762899 392279351 471069587 179227795 978043949 673051505 718471045 945453463 61935975 182828635 742378429 595942219 708727659 766240093 998751677 494307469 653625417 844362253 917191525 852812005 41580795 797587237 7271429 750438787 323932259 912432521 540178257 849360443 743366217 254302019 806738025 481793681 191355487 866883209 725101775 1175209 740261693 719716019 798164849 850839635 231058277 797999941 570052517 467244549 550497857 984137965 980263465 189120993 230535457 463759995 569085471 330976941 981322303 655697899 547331097 480205527 873462203 759038305 359365897 893401975 610450081 371871785 866221387 224943949 989619679 407094707 950472105 23340993 750977873 713429661 998628941 200634335 883666615 816222123 12419531 396445537 277091515 606949063 375646243 616645543 944922093 717835779 394042809 456425653 40908231 198556315 13219931 654970941 970871721 315524597 366072381 172262037 935083487 567522967 530789629 408986045 764876953 274259769 310075041 610969179 227857133 352407475 129064085 882632383 197315041 759524363 199089839 816681441 713912669 275768171 306663981 614257759 960129841 194209061 179825329 662803329 962698263 949548983 554350413 967975991 998812847 334140353 174108529 106856469 263048325 520797457 959324159 894772319 914172167 330973593 823978041 295380729 377935505 760438389 527511757 966632817 52799329 39529191 29147859 553870339 476757669 837737307 382269125 355845259 469786987 918967907 207540105 314987407 939349931 268698045 625443179 323164995 219272523 945439049 145899299 485213305 201718031 494387221 36947149 727325107 954515883 938937171 995964143 211027479 624231609 117573983 977024885 909589111 152381369 625597627 458291381 133470791 801783571 910591251 993959531 575166631 513665307 489240635 859838141 890338145 11880201 7182637 414923577 85793249 686320637 721694477 210811861 651120703 986072065 196659749 474827243 682515513 671100679 360270057 336758595 89342009 166220777 345044213 262100233 216901199 505015143 806014475 344892117 938384685 504131369 465278745 527669663 482812727 997860545 473002285 386655953 724895603 853691563 144321159 266054965 854917265 392066885 881021833 985095171 636422631 206854617 92525503 733128663 196343411 549940633 855437017 840828343 808496095 867796127 955866549 189403149 411344249 35976937 458118485 784449459 905580343 990776165 51857895 910412003 559300283 710722271 203883451 364558403 574569545 438881045 330275405 878151649 503119829 227610533 57332545 648334897 397868529 988499225 24604001 29551377 121611487 196335075 884490659 37165767 205256069 806579547 589131295 833550591 51086453 589723333 640781595 807682511 584579299 216137799 849422335 920697013 133383087 142964211 970981475 910822291 888893539 744925891 772542717 894643643 680527401 371243929 788878515 262575837 338386141 55050301 364423057 266180123 216126461 88082529 953713607 869241079 954353583 311625887 240550069 894711393 760995267 91179381 922665947 513139115 991973041 167373903 775392227 46711189 434580631 763916413 83029413 874306371 236647485 654201403 501149463 725237571 644539921 929715109 926343263 900948617 846429997 389568457 843580105 905469811 630900301 843314071 938603463 734622917 792531675 652551911 246857717 666878639 169314789 638087549 935539219 777338309 992258849 638883327 394735121 766610947 91923441 290864895 737632769 838652369 586524251 364092919 123475739 726041337 512563725 655156297 279279815 665180593 966997343 579337277 247561613 834717081 478804561 243067395 799734817 942814899 515407243 868132535 527523935 57707117 508705625 272431451 492536393 905898653 632949941 967109075 666505995 515154561 926159421 455822327 945620471 652692413 573083963 299676795 118687627 847881053 564184217 486930433 857270377 815460569 228412403 965787157 302369371 646973197 439376007 410516519 746963285 747963709 273819707 656387215 788188275 920774681 214272159 232453007 811862775 543750837 112333291 656185935 565632333 786252173 716972029 236591077 120996361 334233991 329078621 623248453 914023653 179176689 201325113 377900881 666107333 658056831 375719787 670014933 390315443 542904911 561567087 213485183 721191395 975401703 429100911 960042219 851862705 79319603 153700921 633697945 693182625 808633993 486368579 580935667 219318619 507537831 887620015 560269129 145995445 142200241 748393793 125915093 789362601 324898867 510743403 556992695 926977371 12057381 758164549 959966203 678895125 480927201 316893579 241831823 4789325 24228913 238400933 338985039 772875675 541010237 535937187 143148795 802812357 676763805 417412925 775546171 507743155 164007759 311319507 264952995 967947899 897392823 781778281 140276651 282234967 595731363 345930929 435915443 203142061 801401671 760086785 630555399 13438467 911245377 441348951 830910933 838928145 633673623 364044637 295404345 248527791 195969973 309142113 247192371 811832547 300097905 519256155 164123819 92008661 73176327 334533865 576060021 178067421 185412381 697660499 619687497 431928177 491581891 537670791 450495943 690537271 99505001 429761055 418162553 176763387 93806577 779444055 230877651 54201519 285463965 614322457 17145897 772199789 804363291 492372467 887476161 38006907 831308161 186298651 429825729 242910019 446336845 116050803 866186557 606189911 749724003 218209919 950634029 357454709 607208719 808120177 517284465 613813885 870146057 609566751 949599699 163541117 903757165 625677833 778117637 810588583 842771649 995467095 289774497 66096471 354883311 542524373 799403813 825253647 719957841 19927037 145201663 189459323 896926369 517717485 249809275 758856557 871434245 529756269 702384087 968962275 306763787 728307693 357255473 666680319 34066855 695607683 938461843 367646731 949324089 880113647 653248239 994866811 198730115 901673623 722297885 853528043 561819315 905046155 197080545 225615645 558562143 336230273 881798369 539713533 849474435 594148059 225651633 526757023 894024071 600845471 701461447 96472637 931918133 535462013 139195527 677303353 819995845 19166921 735191097 46669601 406511059 607995781 105888015 853008297 826774627 367146329 670391841 160873897 493791717 291391123 311878771 168736549 897284651 803257897 712290283 217108809 957589621 145695933 600110171 570360169 913775207 701253011 228749951 281744895 413140239 957954461 675987189 719925679 178935777 723818097 880153415 122061379 407227323 55507791 771579109 297214385 831426019 166627871 358457389 972372241 219675397 420762733 867388251 454480295 742309943 747778675 285707163 620078561 46490613 374205455 400755709 918903375 302377765 68615113 364215421 195337389 577237527 154370001 406647031 510019295 377433467 466567421 375304761 511091697 535333747 49720779 963721459 876962067 325674113 55395685 266250941 939136675 979067539 46282905 427836697 31748389 597723647 582543583 72605809 671979587 6448259 158473557 177924375 283720655 639603267 488932291 684453441 900913861 932478669 708043159 342212369 974170185 980714003 538098923 368935315 726038695 31889783 744991611 444862391 286996049 272653501 933055919 349470293 815800033 637178641 735901081 173764143 370151453 326636039 125094893 711432431 978584815 807619231 21538061 530128933 661131881 694179391 634475517 498070091 841151689 783328177 364284271 639839171 238178927 236842539 961931451 415285203 449278697 363502155 422700763 955739569 879220713 123349271 771115901 226314611 969460809 424146685 781070827 230242587 400176399 992104655 492334111 541130131 668014181 534193355 291660215 624682923 112188575 436916121 692491515 643533085 312043317 645554499 147545051 125685641 125530063 499162689 823771885 18583419 641070901 28669551 606777455 946519393 118239835 268408337 107277643 248327319 605444443 102492375 667009551 11396701 45413501 126197971 21316083 386805469 858876711 266672517 552868309 581519399 976585965 853761745 612730685 712502069 178557069 542959109 608126297 712003815 363638505 9360597 862077953 895676169 863362571 321950815 953815733 589095241 445187111 125961769 873594269 656830019 947524761 616055071 209446023 150608503 139860707 854453911 663373289 856114509 438711217 69590861 696599013 458107417 83562455 214113385 218520383 98076947 218158415 119985781 978507369 658813531 665340989 82794599 947154553 517053179 39885803 64107167 109164591 753585127 524157903 562422751 750058225 794470643 691756161 844370007 196949455 63183845 963163333 632248473 192345729 822430565 414636681 510155429 439405671 459426817 594022875 808557789 451280261 641131319 78717437 960425235 458330507 139849829 283717709 589947769 102870227 570433495 427136855 64658861 856479067 842886075 403400657 771200949 493201351 420438315 488306579 435373307 806962283 136879403 258221729 270725465 242866749 515491 969303593 718268937 146528731 363963489 293665659 675449009 313776781 786127395 61334291 908245089 825984833 5567879 473523093 240286345 863123855 623534103 87037133 292218889 994898615 91520837 643369645 272271911 190267041 62716779 195219535 357934479 586779355 316544711 822783225 472207705 736738715 371560583 843445011 594521085 259225793 513763767 352878389 78326885 93550295 284688981 657018133 578214107 208971273 258712127 716395161 885968407 484593455 765399615 767534285 528081973 896538313 86881031 227519203 783091641 516395005 773490735 569355063 773725331 222406555 691776827 340268105 245991189 79999771 337629329 770879945 420094719 748327835 100611715 880187273 81864309 396547811 856997965 598872705 725821189 485491299 897774349 562225625 265744035 614739505 819941581 184230873 764629167 104381963 527228287 180874997 557703401 78284379 280441851 311043783 72120451 268255535 692585219 550133013 625750801 191284541 747796033 660106953 504948625 681387239 116919623 944249591 341709669 151516979 403961483 341535705 367147869 417562831 252744817 843206097 866697903 912493843 717020737 161307757 819752951 21440769 676660013 699861343 545088057 324577851 703878477 554070403 951174115 604465685 749349027 288692189 663218637 87868035 690724889 862376085 7718959 825977125 740434049 335523839 377935283 511971397 804175761 682210713 649230949 381333967 225698027 757444869 699162809 907295323 976233755 952316685 756350093 907548713 281891473 961904807 910265381 927801375 746308261 640967659 211161393 68070093 605086361 670643997 876229573 464797035 302662807 530139049 153635677 417796823 624663729 336977699 265463777 411355289 401478621 339522629 881331355 239876577 31471357 641934323 188588353 700231811 278065629 484770359 475658481 667049987 135675437 994939207 992574257 982184069 20590725 403891835 845830895 110387671 465930087 468542297 871498109 518042741 639584317 315387529 534130073 33331323 515019863 968126177 159688299 444807855 79423983 484171355 364358271 933682053 34210597 764481307 781748423 102361103 439082245 775213165 696558501 797392655 654046847 775332291 188637661 859815405 159056747 208389559 378566041 99464117 86213515 435028239 855041395 448316961 4590983 270723507 176782693 217251473 639547379 716575673 462354389 863632137 788885575 389202525 599881873 843086139 499211749 149126911 956101581 356053885 399173395 397982253 348839719 497390543 820569095 140805271 976920229 206620375 290516951 923623965 20802483 803620069 95802755 251147967 3671591 281212145 660388089 295525799 201656637 417450905 474808327 368984109 272752285 100333605 523115367 9750215 353653585 649012101 571059129 578072093 137535185 681254733 190720137 851189239 854113783 134336193 203770181 415916617 420753933 547232195 153281097 268640301 958213051 747231719 926401493 570186473 553303065 700629859 776744721 717333223 293511077 149041173 884441361 182796475 499371843 728712323 824259021 653508637 782391105 536614623 183360805 235102965 448516179 570809345 143983587 470459979 157217431 841893989 650104507 5294419 697589907 592504115 457687361 401765481 461810737 563498813 390167803 235345423 873971147 102129655 823283279 777175025 928755483 351504513 367413137 941375971 101986889 939812517 600520697 300152541 255939295 744486351 426751143 248361991 288072403 445179413 836071333 608134569 37251461 907647291 782869733 108611127 498357431 284573605 790013761 905009997 651363735 379464037 303520121 362740911 716920251 911738157 955356469 143789381 715108385 153786721 166451721 620157989 745042989 256755463 430833771 421552009 417777835 268745423 410424511 594982869 308014291 525654029 948638285 498805395 500847425 903686597 443884105 546137463 245179129 23921051 379047623 795583325 737278571 480317661 386328525 510879561 388151401 752889735 549316673 175670115 459770675 938876213 265013493 25690625 78018415 924210733 12011429 64084125 943917351 911798369 890460143 922259675 413257425 371572841 43009117 325812615 440894539 250125953 692846945 720750993 885732315 264317329 664359507 70104345 744851245 42104875 667574903 212885597 896981591 863764355 327183347 36382925 650676949 69732985 516804825 841727993 368610959 625354389 944898085 274732701 283719887 537198343 87054005 233248669 898599757 32822693 900247123 705955589 981604645 606900719 859151537 275671303 997372379 719681547 716072039 524197117 684735069 507707337 123334647 543991917 809016835 354606497 870824139 319363073 622310279 854451633 432753717 983847563 385083917 64147137 570497131 374432263 190724135 918337855 518939025 516905115 957638343 616299589 556598959 288683407 586468427 679530639 972399285 615389781 380536697 818323335 892624769 609125261 818924669 479218747 412049103 16518135 185603565 765768289 648093515 818556287 597649349 713269083 349695365 621442615 657664107 968841007 385220855 746031453 862368173 612480395 706137859 385483345 342316481 409166535 83754993 49773985 681718337 967643363 641255921 833652223 456329013 963140229 590155297 750056775 990004747 755276287 132567933 826787195 756488853 602539077 26570225 865780679 404753939 80462839 247469901 658869119 270509607 105411167 718237259 87436059 610632675 181241959 745835403 93650755 519901881 755964843 851477657 99632575 357232007 803059049 665960165 904776323 968377233 232006535 390782663 993590443 106167175 570236821 160519297 369276793 787856507 496060875 860391741 131493723 137885421 43801607 818191883 948470495 495783875 12589777 458256613 417718213 450992967 232441431 85659563 104472559 841127983 820008307 611247913 117676135 669420697 437851297 938268173 540218979 889011979 718423819 791787507 614343739 164061041 773100927 895189083 643204211 515309601 66882931 652847535 291766455 254918873 226242569 254109247 501477083 222872507 232556293 557034309 480002521 564841561 591493081 137830369 830127829 349484195 251386523 257562655 122355227 219503099 480446731 221780973 372981275 12670499 405753745 493713447 353651829 99573323 478879801 95447437 538606823 904339973 5424061 413460937 148737633 987179089 754994301 535018601 109858291 962471571 947442557 468721643 939494873 667632537 964204911 535696047 158730359 740249239 70101415 609969659 671442265 468444203 557670185 192594179 359808559 602640219 52614041 998767073 527486425 182467731 844366407 138678421 341455701 472287911 947577643 370465799 917648595 508267993 273994211 365867275 430692515 947966665 660139703 614204761 207597123 751476615 215737749 44355729 823255891 286385801 911954711 467825981 984879263 737344937 536598393 300078545 669121821 432804655 779675557 781427617 192852199 869290697 329637927 545169907 418638399 165416073 722105403 858901741 428637839 433391599 260659387 347564195 664371567 588750557 380686643 237433357 716138389 141748901 266612431 589124619 429693929 330268921 550708071 799385703 346910835 767640311 188730491 197394131 762643303 515727395 856529459 703965161 225579551 93456237 296970331 267169319 366346785 235096105 307582829 951750395 101351959 977024275 401115015 91438513 379535573 719570769 226623857 982464135 752652885 352388465 240001435 494881691 34195641 778426983 957188891 518160375 533556047 203857041 773705393 811378829 921464201 12730549 96564675 39081783 148958211 352248065 99384161 533847987 811664255 974177287 981264193 419445933 288332777 113585605 355287237 709737655 423598933 716971683 980283379 388813127 386923261 140380779 995872377 416893377 722883653 573069141 408372401 410797165 839940023 985992955 198778007 614281597 809150983 903851879 392550613 673659915 180516625 744732673 179115449 289212693 342807767 171057315 84108345 759913607 99885191 225623175 402378999 822519347 925429105 916460883 728306487 667681999 774450705 501762581 442198507 687727871 398995209 548689985 609752233 124321867 164865065 428234421 766455473 263384613 548583775 67516597 234144233 503192293 118782409 789401329 159174115 547438797 801233579 617980029 830993619 478654727 195806317 253326295 917639833 677248163 756643237 688900065 928415165 159033757 641919501 977388779 306210927 268279761 801108873 480593835 510961541 233835021 878474021 263647803 252632957 952302337 103068179 748649763 803281281 325768261 143915181 962526801 810147423 123355485 209753975 374073879 884711311 87771823 623191071 141751349 725268015 143637133 665067125 999263951 931438087 626338353 73035127 355476337 766183557 526725309 903085125 134306323 200072641 80011831 328937259 642443793 403832701 320851093 734000287 521743665 779119131 222678701 821071419 314847901 890473903 684392769 246637503 944037359 845606125 356814843 74578971 343161377 125951031 545808491 323841119 452905113 344555665 143914763 332638921 570318373 353465517 236861501 158589369 343337467 809596385 586401097 485945021 197757109 496820525 956091231 903861127 106658139 496692793 797077659 281863923 40052313 585689681 60725501 912516099 82910341 76854127 683595119 917679329 732443677 610744113 737588417 826742757 81496515 155311071 53913773 972233351 955598729 624317289 470653139 784428137 586150369 288152165 706173375 432331353 791739047 473093905 382649823 989953353 780029989 559938135 842910351 538376021 692558851 756642501 530429199 284657855 400775259 865378195 101010313 294737139 778949799 537559455 341720589 357353349 632430285 876709487 858797973 316333871 200345627 629902135 501943041 293395155 527329349 871413705 611208733 304040063 252612201 921501607 884337303 190408295 485421581 679773433 22878987 225316833 95537693 869256589 918741497 125747319 280232941 54319065 191365833 379441871 432674367 196983293 736557263 64319935 25147955 146684611 353055811 923832641 322960987 480555671 631834437 96407415 633712551 887805073 307550945 742584753 381085305 892157297 671326725 258123613 582493075 479042205 797693069 362377497 836203299 964348709 360448055 234118057 92126655 534450369 62186417 617885941 367510373 715948751 716501385 248153875 415480953 396855129 384014135 128577341 829018825 505127945 592844831 219120343 54210185 744065851 305088651 446037611 76385111 815794411 635493033 53944495 834521399 309506499 493899669 15933307 928575385 926043153 222287437 286629077 529995857 598251725 308739263 185543653 35246747 684248725 798384823 249430529 38832669 321211055 182735091 959002021 962805221 374174223 533069329 191499633 436007273 539027527 631911835 429569841 834077059 311654553 487466243 394193115 612827003 787429613 954735779 654347143 75563005 660695761 83482809 927687803 348570143 630506619 643044979 779000353 717791327 599941579 718878941 545209611 750861727 583146827 865393653 887813879 406849585 340637479 869563801 872003013 286749895 438155831 865856659 759322243 979663741 377089785 689714581 541472353 350710493 179415705 475403831 147434431 651412687 746135521 619870205 669366045 225780141 751585867 194163533 300114983 745087281 765224181 664670331 564932271 848688513 56964007 564104381 182777779 462936619 871633361 215268663 902098515 898314531 300264839 257315825 280250589 49801159 371420301 83228893 892527043 898509789 797287239 945329875 401051809 515450513 912200133 913155223 854780729 163488633 938311869 816630735 140042359 825734033 890618513 459222029 320423789 836636737 43498567 870172107 96594521 181016659 251883661 400210795 468956061 799372543 509439163 431171125 840514755 543529183 208549331 423478107 628715903 938372859 898543991 873817333 128491181 494086593 217534715 973177605 255711055 19001859 840198739 924326517 994175889 732208641 370784031 490450455 808712647 613203551 909638569 31196065 796456811 331996971 811461085 437591223 47401503 100388057 383602259 170953697 160029363 333613893 730685257 925753231 475288085 607787705 755528107 151478557 975586915 164431071 670832643 23067085 886236127 963040205 695108491 625067459 843671031 284686079 191203105 660377879 132551739 418795611 197272141 286753981 735034727 164863279 162571837 298840471 35191391 644570929 524070603 117763953 915034925 268034939 699111797 480548347 141859845 116199829 917746783 36724685 598508613 264883307 188601181 575291241 450609003 6111571 908382437 745507385 322045989 945882379 441102101 900618637 95157065 462890679 522240179 916650399 370923725 58896611 605931571 314759823 673598167 595121287 406116519 507117417 87241905 491836927 241099985 118451485 959948753 467070991 394629145 795454851 22077135 601377511 205239179 618282589 187020401 862647577 39912673 116360275 75757217 202889893 521748347 953325561 239388529 150171633 500402525 382906567 846028829 523928773 626982969 353729567 513978889 993235293 889077861 547290183 764865985 599387473 118189025 417445237 813968887 325781161 2201939 399222975 217113733 146435281 462096651 626209063 114515313 268268959 910830593 207436437 931617253 943874639 159814867 147885789 730811699 88514697 480546505 921516215 629810137 19490647 74200785 373480643 137402999 366437935 74506373 775338125 435419867 233739249 982065955 467353987 89414391 70412255 958924431 655445505 797406183 275023529 726006365 521430087 667648749 795720033 731283651 913309053 568019571 510299271 543374749 768789175 339639057 686024959 37524855 782964205 775438463 635380503 533567101 946103551 242168991 289601411 367935369 996138169 857276543 219574369 867017495 854141385 344419665 580084277 423396431 913368009 79425905 225470703 788338691 824972349 14817633 118794467 416231847 235664781 139736269 592139725 476858459 433421831 463609737 888777171 975411689 853221097 482700431 554086531 296881083 222898001 341456641 307827155 846509549 428412233 488028463 95401757 922152509 629144773 536340871 476771369 156470545 726080665 655777191 102115877 825920121 160718731 639576913 881609379 716237101 841786689 501688177 599795361 348342155 651854159 518758171 135464327 413587611 865910315 186335369 216735777 757322509 277387321 522118687 841252259 861598261 323194051 170156391 13292713 44559127 50238711 524610071 841335357 592542551 876172015 99075847 100003529 697449027 274216623 601731899 770611489 959275479 376003357 613822177 101038469 111548335 552322315 161476681 558543513 726630929 452681781 107777263 668024939 287383279 671265849 393617527 898823535 215392993 790165921 658804651 951391109 503073315 450766047 346405761 527644399 110911901 976254283 781544977 904660315 795820001 668534313 857444769 364537567 285193251 978120607 232186265 951565047 375763779 991786943 470176143 627347851 720781001 984477573 953627199 172285925 323781605 57735631 594645129 108746173 203712109 726774887 105605243 316288045 868796897 183433471 389894725 28349629 45581927 616359471 50449223 537737819 133657039 200953465 629668095 45865049 505010833 404725575 685595677 263752055 16051403 2129387 9454961 397434073 875440965 533301915 446307065 997720845 796164205 215646075 653456085 964952839 232789853 974181779 27531859 751491877 701243601 237070805 390617317 427140141 216942643 54842905 180245285 537756235 116072081 859530785 721338841 60767763 5766561 977884823 108440811 364251527 884116165 650313227 49149039 147669255 38160387 972921847 984255389 242462819 531707657 364507581 113660893 929854929 951572015 764896677 401746871 453254379 688852341 679195617 303117791 206392761 772864897 54242697 803200559 724406695 116716709 132606879 541136557 871645325 31936469 966770701 564153987 645256099 908148145 112791715 378103557 977266323 97291649 449231387 773678765 238871655 544002613 997673751 73984543 746201751 290620771 991432477 612479781 537961983 833802315 756915107 79183795 188263909 871013587 832505599 555144933 239476979 279779467 269861235 240708093 766962243 255527851 644813353 239740775 911957583 73935889 898420273 535273399 360643069 476015173 203441541 564062887 91271579 416566901 989134341 796427803 31237597 831519099 532198013 516635421 217256675 61605843 556749213 397884129 133231407 226480807 809355515 964356547 801672367 306920131 346309661 489141319 31782841 553155491 272424811 478868501 230799881 674452577 242551093 182416131 569375687 305439433 192187573 773898763 966655101 713472071 54021387 644040785 591573539 267004147 429773379 231891487 25609237 48310413 964827211 404644331 51200535 626280317 57075711 7822669 487219031 297543631 802644511 768083465 338577261 233234493 525939797 296972045 91043155 260843303 856615473 895888233 454241391 589013905 778164267 306646873 55423885 702393899 586929321 419724097 294855141 340105295 997769967 190256301 835771925 270283003 108565043 780821839 439069469 838844373 957386377 781092353 954558831 897597997 547508727 200441801 690572767 492482043 417075045 813244623 531414697 613613277 266753441 518249833 426093173 884223259 841639017 33189139 131452749 384412323 612939611 453745517 323144103 145496591 219026179 458861381 757626723 948903835 655512015 83879309 13063875 135430705 801969947 462477407 356620149 128685149 928989733 261592577 877949839 294535003 683593499 426206173 160967823 160032773 131355145 390252421 29681753 779424231 192689133 29908919 421564987 837122605 314404261 511387475 816515047 618518191 573182203 150244967 851139199 751775469 487349665 145684773 404569479 39951117 939867185 284516585 451920875 916798177 756440363 389935925 664327423 935792861 28450807 36586165 205279619 898898209 387770855 372831291 944731293 562602101 140982071 441082309 137244885 495719753 653245445 104634741 488300839 92600499 362573147 764232853 506687467 137206129 185520171 512988313 153676265 512615661 256260175 348433435 469524813 803940407 753453445 377530339 332449965 4488449 10015865 31859671 589687303 607054511 863313341 39929355 538673085 480061767 57755847 627467197 843669409 714255479 516912379 74109519 634452963 283942041 672358561 241496139 377049125 296778153 546444267 275988583 945856617 158028369 31545331 833596537 880607263 553065181 337436087 761614475 678753049 514489929 534276387 119265731 914070679 632488751 599711753 389840247 897847357 955954907 366827807 546326561 191490841 77735993 131573001 714864741 631295135 146294497 214047567 789925389 309388205 787267091 428126051 939075855 935121801 138583989 620186525 923794563 72379103 861820249 84634687 844340141 281539781 338588979 698983027 579703547 44682679 712762659 175790923 846112509 752025757 437893041 975794877 912067951 513939393 675055885 597047981 37744693 685448665 175327757 597165027 121957465 296555781 504223535 734450447 298487569 98191815 652811165 188933071 936243381 48237069 176595493 147845535 183710155 455495215 218785855 621492459 173053435 280851429 147158281 369688067 321718557 972030809 320001099 416785441 247541799 681235479 117634931 961352295 362483263 130628627 113671833 133612765 840758193 107465387 136148351 323278195 693877999 620029347 501081223 885304069 57716115 164065323 907598277 971837011 145119075 346906071 529189869 90991879 380022601 27263907 816067937 683376817 918347351 137532661 956349221 939009483 869949641 27304603 953944555 334400695 222338821 686163401 124501769 977668285 245508243 431200543 135061887 877151501 195735845 558658975 510611701 237156291 843564443 397232055 152522935 733035743 730941173 181636157 50083007 154095435 567788383 589766509 811407019 734636503 472054059 434458095 963945667 457590845 817387479 532914637 169625335 111405087 116860677 876420479 370050013 789640707 798926207 595106529 210730419 755036767 656883769 878762551 61123939 241602697 504619341 43727153 359968123 973608385 881673985 99136481 796210483 701678645 30886591 605402055 826905449 419712499 120885275 149597383 538667427 658167797 591620047 662899759 930738453 900685595 763324607 748480435 840515985 468816689 962680565 569079923 943622297 592782821 289760421 187913711 863559765 760680403 44348715 155864857 305278099 29097339 187147273 278678341 194884553 460640325 230044651 412194607 340178455 948559749 360010149 981091327 944147527 123469171 105712433 759292991 142010053 242373679 252652211 970100967 475198633 924682949 445879669 235318353 797653683 811075619 917990125 739159877 253417545 65523749 566846387 370201585 101647995 615188107 296120459 835740903 151383809 542460413 391103841 707257383 289566521 765256463 183329865 683668501 470979883 89339703 337313405 539012733 482656391 939376091 871467361 559441303 731083683 139484479 457461633 62110463 132046973 560571799 275266957 156980923 878203327 528505853 545657189 434729527 639370167 745863535 118897415 267931463 248145245 593742811 451278755 836124461 378835791 912859917 103344777 16381321 195854035 882852803 443218485 57616235 224950493 806204059 774760267 861283911 134242559 352525087 366875031 901142781 146911867 968643779 562435849 791809743 311341369 188499931 897669825 128060011 884375237 308120749 96218623 460714215 470626139 305609311 713193773 282152639 144769749 554917891 705841891 348679387 346925503 624996245 997449943 484496775 28687939 715514099 479218927 518118261 537770303 580105447 747360823 484433095 303043883 671435299 731313633 554444799 752562997 874174529 246804039 755603725 835997735 309737663 499517423 631999557 635454331 405461513 486869123 304428387 248044623 421664881 750215125 569868941 56925291 449751853 153134307 418575695 429253951 383088481 787177679 255330211 532479199 19744021 914003425 731118817 356996367 944002107 960429713 591145169 89271859 55803307 934638713 47665823 459753563 166554153 395188059 520754657 7836221 744258907 636190755 848398227 664337979 508390099 661775333 152566043 427806043 878056203 269559513 64176457 482346059 591232613 60915559 983953229 287858787 351082025 218297111 291704777 152667811 151914377 176843165 497095103 244994227 802516125 484169173 198246303 812924385 159346537 550726849 739532859 837273635 198789843 551395981 282304467 374106393 532796845 464251789 484271883 312203021 877212081 745327419 414161903 264978923 541714561 61013819 873293559 397823051 210632357 377089111 617742847 925733995 500570765 473756547 562120013 294971191 722712471 341962459 501925517 555219257 907890431 708762275 204443603 107526571 129851121 760933443 569912481 923708267 475476861 789734225 560811735 928850945 43816861 597209223 658129861 175531675 304220723 937469129 405479711 116672787 21128965 966328865 76700677 244091111 525964745 952020165 755192825 962577467 80093461 21340173 971436009 999043811 742594923 496208765 656387883 750868309 143813685 810557891 735811709 214597551 563939523 635205039 645747969 794675383 10861903 179706173 115153225 547457247 945124347 794440337 59110471 243119423 966719437 919604471 948451415 564459667 676179899 367591391 18351683 74451011 524967323 274800105 395776565 705402209 56823087 645844435 649921 258230177 940666657 720309133 556662247 94572645 816098817 668067623 925542411 19635121 854831943 355964895 100242683 519950647 517674073 240282901 669315819 533991245 413486973 332541269 450651513 400898547 251385571 701904213 922481323 317234127 880669095 345652975 987910125 226880305 297699529 95609893 950762261 153778961 736045617 104966177 209377633 508833805 721803699 944401979 138843251 789584237 121977863 718669033 329529691 458851359 630066637 296083667 96341903 880830909 804189841 861034943 549336043 131806083 922954689 752088997 400534963 713791323 614543801 41915295 422676885 435074771 348556985 881460975 596168361 915711011 618758121 713253889 180517225 558536999 627544157 636608871 31577275 759643243 182076429 286737119 945510123 1155611 766135001 662159435 325289649 582896401 537937805 234850997 359097897 78943177 837378263 870048081 964011481 188030827 944053331 367885433 324823981 937863881 139804543 156214453 845130235 628573527 704339145 84004779 124464255 783518773 909387389 47251759 656624479 267701035 78733785 489992767 961391145 422579113 634387963 339155965 319706835 134781381 663974127 7796403 666247351 584681791 63080611 729532117 174967709 762724477 219155953 268424191 244541105 312558479 102789533 821191157 594376073 496118573 60535629 9163167 904485667 960527797 414036117 110404627 687317731 219191855 861169643 845661579 298385301 222914891 895751093 112692329 867029617 146590301 694187319 621202493 869836819 350463081 794637221 450292917 293649279 803754769 596372247 608218799 729399589 281813417 418802065 736981295 500732889 823236647 180549113 367690845 678093783 774926887 115020067 545311887 688765893 878481397 593301701 151262015 268334001 704478589 925684355 495034385 609918479 723618649 816299749 290551249 452368061 613461957 299146333 12333935 910171137 787668393 271421509 448758539 928099207 814223767 193651675 923933923 481273701 798170819 571644747 259846247 120987929 750592013 222367399 534592807 510919301 654227709 149822181 611218911 471183611 807863491 880573161 999743859 390368811 227747125 694328955 883063791 803325239 317226451 301553997 940758917 842545569 266638019 115011063 707024271 660281945 612660181 37171451 222151571 606692529 785986945 805390789 630207545 380748649 21030373 529034145 830586969 778925989 142051785 710662859 161421801 58575857 918456731 900037477 54113041 472966471 654996597 513070199 363247895 276804095 695395091 100618995 500102003 517078239 324479199 234197681 781039295 483683863 465262311 27799411 914095549 787345979 808288993 947486691 432077913 869625671 108649007 71346321 683955877 298247587 848408277 398290679 625077215 831394073 22768775 972365431 773370215 98993631 306544023 528160601 958809547 137674645 463424519 282962895 778078653 357802045 844998269 108620529 500245273 152926021 371910475 920293825 662978529 909762179 608618341 698380841 742801729 912720693 666634091 444415993 58482315 643544319 953970853 474811883 325590077 851928813 286878723 38293665 861063929 508726903 127113499 592042403 378129545 580046457 414357293 482309217 371321569 735719479 973147167 241353527 979123997 564924001 875018113 11785829 35953791 12313611 61641099 631179029 453065075 965903793 647196699 691541591 299349645 962693177 357190073 986180133 714858887 91307505 380582547 466576481 317878341 645286285 448294787 392490449 535983569 159699243 128181509 689493291 678239585 139203409 446636099 34816005 350314829 638907371 878717449 721283553 842297369 121001807 908047827 44826407 267382129 165467451 474605755 441880107 119870249 968825809 597346957 689940517 16283195 634607267 786478261 506341431 227538379 778918307 913856331 667926119 939724837 565514285 358490639 84004011 775785913 153365513 248120681 393423319 996401189 633618021 748217701 512076977 556293933 385078995 475277501 300544737 260840889 317972051 423429071 480160247 668667103 681969225 439843749 779890795 329401563 505141123 453726441 782859427 607217677 507318581 961854199 328453091 895597569 561386493 430306509 433484641 941275245 148976353 952764945 588334385 631603241 553999437 696949779 492330329 386058811 583220503 631450315 594561217 79659725 276943227 60039127 821089847 955706417 41144351 266562431 535427449 547397091 370014481 588616113 581194277 614672265 133768391 924676359 428924615 45550057 156558107 859947965 886110669 489100795 563445335 843833533 598892691 827025369 890510883 819647123 229920343 556605891 410664087 724237435 666334535 528946473 165926193 283091279 401698671 410885021 136525269 423159451 692493773 699731415 486153679 877171595 281369919 635757247 476424919 88148471 20619151 773618269 558693897 220158815 358927473 313639651 218839275 999932393 519106681 600943025 346391143 16085351 40604717 58095175 501239767 127741005 360401139 742241617 101983733 993100475 135544863 119030691 732046823 599148409 986246631 68833077 624895547 435386615 251268207 895600687 833379813 471003723 204760767 22024153 383378757 380037171 589663177 295703463 863184669 287971353 169338215 512896565 283511707 975961355 612715351 368204869 709371221 331107009 862158407 219393987 269894727 323951769 44361923 739465923 347820761 854620315 560281161 503492735 527497429 102359157 132053045 312911449 315606643 786347137 784124631 666545889 858477391 612410043 768200283 652636869 928677741 922847693 130994139 523338211 263746109 653403651 956676697 162102333 488831377 72327257 194320831 486622463 417581225 991902569 923288031 29331325 189796137 20527231 999816047 326443569 559479327 370324615 402343187 601671615 191958783 678505241 466300499 404918771 732020391 291142517 774282913 979891901 352271965 721618305 88854613 911756603 13342413 419670223 459965363 894110897 374813965 660061075 200531425 624910215 987546521 317985197 110649329 955069011 935701847 345463205 831296477 727322319 537922711 588299691 172230535 915449055 49160201 695653523 254088631 821556111 307857871 790291681 511627551 957852175 934098539 79273913 697945943 123386047 882952139 789830635 64699361 495630365 75253317 547628783 569375015 398258649 273652119 956948451 344221561 484218819 994319333 746204813 4808721 368638167 723575483 142512737 547382801 330803771 678536209 88249201 831645057 304301621 863027011 210654591 14850129 552188221 829328919 635989235 872529245 385719531 234118585 22918619 532592999 360844037 231293885 712072941 101525523 903823989 812878115 686451339 842550007 958111309 698477905 263459769 124322957 150522571 670126353 657922345 844290353 870652495 597867929 939552305 662303793 71760999 782821767 778478545 684160699 824348357 895432161 991687599 954584811 788426819 717311253 401159453 486978753 622523367 617063925 659305487 602979111 928242139 530937023 411389989 928002285 263603315 686957083 425111975 78963661 486198567 295875603 429932165 763336553 155493791 704914207 753175891 616081479 367564963 159267611 192957013 431454429 309657895 632379467 593211503 383627393 759162183 370091103 868399153 651535989 895488325 192718697 514845907 771374817 481160845 564300521 709957425 990596569 83141297 418056387 427472087 995741781 157108847 320818757 347511539 104488245 79972009 170167587 26460505 346784837 569041257 155149435 394954123 595319091 88132323 523876307 160564145 33009307 412842611 874944023 610943383 895325437 15817115 642864285 206712249 119353795 737599241 426901537 527321137 321936955 231303051 659064267 902562763 927177379 328062753 871012389 22411507 780697881 912444397 52099621 87534273 419071657 531220795 503070251 244112885 106439745 20983931 965516537 801263605 992440253 186236491 55461055 985197009 183194845 414292333 459726863 28602177 600557641 713072591 111446249 24181667 314375829 961213313 491233711 308477183 208071993 791341503 345924147 263056133 231982485 361409517 468314791 716001803 517739507 125776021 600118953 686481935 604450949 885587053 133571647 228363707 791585893 370123597 906100947 135892317 747342995 962289979 142926399 299126765 894851319 977880927 805999549 958026249 519120229 101015311 999321331 103717111 440492179 772737221 740149999 704202155 510241061 806741799 760679207 63119287 512409253 735657467 755644533 383422045 343019137 78402361 317185057 834756997 314255123 261515769 469197015 148786875 630672543 758303617 339885487 47621179 382009419 209604155 555105569 452121567 595884331 72850617 196109847 893179441 409463093 997914295 101936859 480900449 244104269 584265755 407039525 70638661 388415803 791019499 896059409 79303005 302794929 420329823 534989603 351387089 632134217 136008401 143117643 255813741 196116865 953632451 817532123 334728363 687261381 638030559 777190291 148696489 758198375 546962685 391372695 436800815 61926813 113371157 936240245 897319595 602009483 256154441 737122337 1118263 759833657 907131111 954206203 48415633 312515993 761104225 478324675 850136351 736979587 702499923 837671083 257139441 990567355 56537471 812703815 184356285 247924967 918226385 124864917 306659813 583243161 191316571 418895351 798556783 138900045 506655067 771700797 2178569 147709279 659282225 292595101 178228747 181194269 989148013 142120115 534083957 937788343 3681213 826242179 414088687 898009157 892661503 395857787 909195973 745606091 760942133 803780209 137470451 104210735 14768523 852585379 123489043 239013187 346790741 993389493 445484657 447006145 407636749 703519925 586295287 552949323 522423893 583016727 444761153 442365801 981046269 781474489 635768717 263539085 728833779 370718175 298310849 450447375 636230997 18635321 752904303 800354353 418407269 880400859 351869899 459830301 45575311 426558529 494298037 664165347 226026087 866099025 914314677 428255357 396301223 682038363 156921593 644896461 245247283 148537615 435627867 336763035 27633943 716161165 77791831 503512471 959216003 430187611 451259415 363799133 910804949 163013479 635148393 261873517 767415697 85718787 568170437 820488753 486713695 373882349 815206471 502608377 387660309 764736333 922543291 931133183 294914479 35410861 288117645 156205925 605890637 963024389 93110231 748893747 345227067 361769137 246182997 500074073 644141551 655068791 636398191 442585523 487893761 131625345 215536951 688335873 256491319 934974057 217380449 695198189 593226873 110597929 509198669 876298759 75882207 178186791 4938245 825569737 535996319 985368369 984064053 692883603 389324831 826372219 422227509 441882289 516216043 591495075 337343491 257504337 904240821 42395823 581816395 771988111 122531671 198006027 286920023 159047275 631891159 880376973 747860513 806185423 556627039 872170097 320898887 8293513 955875649 994833503 963261969 798128983 175342075 52400993 198142317 966721241 56654125 341613807 864391925 303796885 84356261 781722083 466308069 139303935 16683093 559348615 833373223 409990513 397860695 55458435 474957641 29920555 411354865 886921199 44435843 86679127 946811277 400834121 564032177 85037059 21332927 159844981 164126559 747945005 319009599 183430337 557223353 800548019 831745525 83060705 553221271 387344993 423318761 438495219 583087227 40510949 556166991 109683581 62209671 682392283 416071555 406624361 955764111 539205825 791483911 457075473 932212487 825427461 36485767 375632687 283644943 181912821 461566167 431878891 27881071 935624393 36037617 521868751 731892119 981613733 920412919 253725137 128385437 964280979 500686903 715543121 702671425 688672897 64706085 136175377 929943529 214487883 902422617 427413311 655920293 446359471 322448535 80954481 317291821 790127449 393712075 181103013 934719455 422003675 908558089 779160127 586788803 666618285 106007179 118313739 38106505 227676463 98377397 197249345 371358341 56507307 126446353 438768509 501686203 403085907 991661909 967874243 887587021 477365057 396624473 427988867 281654543 368414323 204344097 506269839 412188791 493684949 388325849 897122343 225594529 264394553 683125461 369393393 584937433 658270549 603035025 782834933 48781323 848466125 369755565 641362095 169894863 758955049 608527861 475414007 715327845 835958235 960376671 801599765 875935669 950363965 437312003 738813365 668598091 544490893 222220327 858888685 394178403 160637687 652815667 695806265 363651799 752423821 542413501 673267585 673665329 786454597 699687297 980675599 757030305 263430147 354062431 10625179 951938045 142473871 358023011 326511679 788245445 983821211 462059715 140463749 828012319 24101311 271948247 959443541 558794203 506917759 603133477 455404809 190522481 708104769 499250775 383012185 731804927 660393303 537082175 235335279 754605645 910888699 314237659 977113303 524625609 632183631 847058251 860922245 722398605 385680219 677281757 98033879 799033685 796138001 170621955 223706003 458946955 295484233 121749591 265803749 894101309 32524485 330227615 492543587 688474145 714335023 179202501 285756169 712070041 423019799 308683995 627774013 983193001 43001337 704585759 935006157 607990787 52567857 955579635 392275439 844750079 997534477 735142367 423842365 481129113 378634173 16501659 775866559 388481401 439721049 253453313 347444963 779096561 705308131 629772563 709102715 11023093 841622597 82526205 491217607 502760229 403887439 184846355 310756713 12291529 49504187 402951119 876771699 325693393 32319531 439353299 863133271 29606611 790408231 394192877 644172531 657671695 470239007 822073361 468522123 730778987 296227183 431024469 386093007 366538871 948179287 364811011 525473745 184279915 13075969 326007681 157159185 783275045 821886589 8457061 745881205 335238955 891672773 762477161 691554887 212649137 735331003 535177839 911267645 376640393 211115301 46183047 50931573 93695031 127896761 4572127 646595445 784888285 950631181 279997141 843164457 252313423 694082467 125068779 606166759 384869891 575211235 862654159 728956013 228796181 110044449 852907345 977255389 720506961 888727957 810584685 160471751 490113315 644351841 738928967 800242977 530978211 34693771 698720809 975804487 808358289 962148617 272992649 641235965 568200533 508256689 298989823 417226611 886677243 549409603 446757967 209327163 267779901 744968557 989887591 100272469 76548217 494276029 540628055 664473637 583984057 5318317 585580635 541661561 480207271 495712413 282053335 360373893 216524703 486329049 721193303 184408039 888859807 464330895 39327115 226769061 204414541 9197019 981800019 492863275 572076025 282238651 195060909 309068877 372533147 373403165 667943625 160590925 720947409 340164303 967580919 624538059 652594145 929007241 910445749 984507607 133149375 844383985 859346851 103526887 113073661 683851403 653065359 474765525 122356191 249069515 596945003 442170857 827895623 761605643 302249809 265953489 24132809 509404299 772770183 803398559 421797275 261034355 261273719 155958737 559147673 112537815 994470835 433681231 620115279 253201325 398943737 7122789 453831913 197885145 938517033 226455495 917188415 19981349 297488465 312820115 19871185 402566463 500817571 949488717 481121989 535168705 482567291 974391525 987750893 353442607 652515675 9224879 286480317 172820975 573408237 376334951 255689813 452003413 118037769 359151923 47019645 916501143 549983399 718650785 639187621 229403353 586490089 303486117 402194915 795859493 558838045 530325661 109564661 256901993 616004789 825189967 758721349 762728063 411954765 993239529 760713185 407172395 237716647 70352893 126445185 423757843 659773873 676005513 660350083 173687753 314067321 193359349 876474351 287100873 853143871 267512843 322772083 15368049 329743973 859586819 37983337 840400651 659839349 128178807 847049677 155299017 568407843 376849521 296977225 829269955 943414603 265517657 88183081 495193851 691282417 29490185 744582761 522062429 943009853 601121467 318935971 715558837 799060869 363402773 207651875 359892415 774582851 374358307 954376917 425428765 882086683 475243871 449903441 497536855 136998359 557331873 681477847 109820895 472681579 766679855 765553485 168994061 529575925 796259001 954776645 244354853 99063219 147637587 765802993 125672781 5584403 49932155 273643063 276985495 330625961 974323731 109091737 511252733 39418417 229540715 544168521 220210273 189996427 108246073 649589019 924109707 626574019 621541015 96636563 383754029 294383375 986999565 156930517 105072863 563822279 634070409 123225009 497561635 747780209 47510621 543653279 126512995 144415157 260505417 885387453 273971439 383111785 981900401 480614609 348460033 330201481 245101409 451128655 553995195 436672565 178360337 813540425 365436453 942236859 635649501 204591489 409627953 796031371 932992651 420516703 429088695 66094661 164229957 873106929 733614713 788032681 122421157 538492397 566939937 724181409 722245285 41215413 111951167 675183173 693279659 519883341 530758477 590385867 73987973 777730663 839270315 143728027 369709417 124971865 515579813 999971899 501292529 167610403 683134571 748622947 320937509 990080619 486052373 378970349 631980657 269263747 350239397 704147675 667648427 262385503 910790403 641566297 800861201 6761887 149618179 306292153 550794309 273667723 101142365 557994617 581958233 189393427 441328819 624469561 935367871 591557835 661246603 926750663 195680083 42202871 540442971 70499861 338850399 788764027 849356409 248468287 586258315 313609959 156224295 435454343 191679217 560523889 653429133 648442969 782440459 885831931 769081791 32967497 312907967 612112395 387873973 524344593 614626907 758386895 332821329 268471955 888716947 105426209 884163929 802552287 364046469 581870717 132571779 538423075 373682103 24986893 762519395 688833981 168889109 690778269 401392767 944662319 336696307 303948201 102277439 437064741 766890259 501210699 922717427 588168051 115542933 92425551 443834323 274765587 732260873 762197793 426494469 913517865 558437733 204552409 242367117 592178943 299838981 769611063 491027039 683303945 655048877 749118369 553816917 271565539 561330059 640644903 991230767 932083281 809879349 570664833 145642133 692116539 682771369 594809869 233449499 765652663 878083403 31675603 831436601 517712639 555597289 249037187 873016143 169335927 41962935 350898291 593523879 746571691 88825427 890026913 812823925 394599755 279790017 260404663 780665037 302622517 944254321 83913987 505695157 493500269 103823159 839700093 122735123 215956251 219904079 397828289 239990203 607666071 89317983 681129243 538319715 487722327 419298421 446341751 570570671 981460225 968690695 679755887 198338089 533528161 267821039 125094975 529137215 324639079 46731125 489796049 711415883 680298291 273903941 225282737 843220625 233291523 756563573 41436441 365318711 112333639 684533635 951753449 986753617 303414415 156203345 740126885 294956757 140428953 200137777 614604415 492810151 472600389 771441877 793392973 138946447 650181537 478277465 922749839 904872255 872956639 732526151 50148971 181418065 383078233 870773639 949273267 141886531 643014549 126222707 692652507 995422595 429263677 184107973 188890883 991583837 314373667 210895011 227921907 59194893 708206405 658918299 236842521 251789237 586954179 102873249 524572559 318211933 242181611 675780371 304328723 391738615 371585583 762501815 718469131 823527773 145517611 405071545 941029765 10345805 262731681 256032431 64351037 985508467 183964541 368851349 941829007 524132447 841611475 944891603 709233027 184120717 565572059 349111603 303582151 732315227 525412093 767397357 272818611 285173267 8466881 574530459 203916871 446854117 298350555 231315269 695221547 226668015 307963431 188929369 665172395 271247917 183111079 540525737 338774467 581385611 445922439 687957365 625066253 262050009 142127899 741778017 915686355 43305425 293422813 238061433 960593413 776625173 164811633 383742261 618192441 862549549 248797089 485052273 234059439 803590795 72295521 511421043 517727309 573392519 463193549 458336743 245235109 702536547 193814569 192545251 829685225 497055561 461245661 562316259 883499519 171348553 948862847 458030029 42783081 726227293 925265609 327299823 353683287 968479079 803791263 970070783 576218019 395192879 828707339 899380503 105560009 543237989 816860227 381295295 128441331 289850789 574611359 336626403 1440751 546776433 836369315 898271449 353276469 760630829 926761725 89937247 335541473 183681327 23258237 816079769 487945919 366155951 580299807 312914451 587967547 187056847 355748359 156423621 95053935 886187159 556652929 829212427 653514775 523741943 716891133 429932713 988419227 233235403 551469595 717506255 582310669 398294227 874017433 32059407 13398817 827839161 392769383 557325929 731090487 534085133 425522325 846470209 39920217 865700937 412286815 494187877 11967795 222345421 671690027 6947339 505350941 17229797 860640383 710781389 48003093 472457151 759842323 910572723 705403591 151602039 720778177 387325481 190903165 79156237 750753161 954741253 440803633 918460779 87906459 907797891 913681025 819086689 139494471 218543179 278170293 513019047 199217931 256221031 746617019 257620451 882934151 696629837 619408941 591129241 93957001 902677469 688454215 274180671 873753347 704117593 219593459 412162345 850870033 647784305 787838399 435931037 806875381 37430583 207468257 929762499 292663067 729198891 169485883 825850795 842465813 514775089 708940883 266284109 413926305 709212311 589417303 86818447 745935775 389880593 404318239 434694965 712245533 422014909 245631787 24739571 196894543 227085599 359428003 209819491 621183627 408074023 315411539 406699525 522891609 187895849 769365687 213126465 963292003 315165665 519078889 867797355 227545213 240890485 526517171 962841529 654973857 707676019 604935557 815164241 132956659 399634129 747253621 571874871 488855485 379875305 784958787 598310495 208832371 152782467 6267733 145717923 228850865 289954765 731911611 738251713 157186361 798162265 15469869 628189543 604878329 262981669 745862665 275986721 435717119 660006297 69860695 514187117 484941707 782295169 395612101 286538409 459119359 164459025 508554925 773819423 781408743 29011685 238768395 891152129 517706739 289128455 723368073 816605545 307708929 537013727 215533685 312531797 189995283 996387143 324117191 486403505 267038551 12067961 580264731 833265487 269753629 611713051 391949757 240763877 862555105 309770299 164699289 744940823 750960967 797525837 638959687 914013551 760088603 151089969 960782599 309358939 962057549 679769127 298725313 422622261 352893691 251410403 629851393 543260479 811330409 777343605 252717057 88429733 695388159 964608859 494956449 757057651 881456725 998531197 27951973 770467237 730576673 731220773 528802943 333273373 203380041 766355211 752977605 539429027 910426841 409904457 126947767 171374569 897658369 691897703 183905147 916470663 103256609 932233299 176071137 622814209 225136313 385076063 130708321 867769533 758394483 261151563 549511705 522487565 509227559 703521083 484111569 113119531 358440395 246578109 955622391 642099001 220726149 618642373 513708709 163278911 982307489 561762737 250749335 847170351 628955281 838967879 177593911 453310945 433263089 673081265 428238227 750141463 13698435 81520265 751395169 786566267 927569201 305272011 558301955 524596639 475958035 176155353 616057469 187186425 9710687 39012483 740410753 237663213 361836669 582439421 988072039 506557633 386074613 300106983 152893739 491258283 707950971 796213571 653544565 715900865 55983851 789911167 637803157 835909125 597567559 47678067 866374789 127297121 974568635 826610263 563366111 273255077 412867993 421344213 327685869 436871563 324767583 671965175 175242143 24758709 520944303 173600821 122002059 382855339 197888339 172437867 847524593 409053149 993854783 834384607 686094007 837820839 426156431 647717691 466328941 239900235 776824709 196539289 114481993 923839213 412222349 43672691 911927341 974038179 200157243 264733359 338445471 765885797 368205129 952598683 830096079 473135381 323717787 715512555 732926353 716614267 576920891 35071423 653497193 271366215 751896669 856354713 25049977 578870805 911368797 651132007 191528597 768734053 649272767 891374719 356548659 349121185 751441963 181234589 598482799 163329561 902519671 91332073 954522645 447115525 801521309 648516333 725137297 728193163 926455489 115243681 987974651 251086511 441100333 983000673 957077779 83639655 973299543 237910001 653249343 655348105 467049943 938546815 819911825 760951767 615106419 858074019 566071741 508052985 912123667 690381911 515277091 499192707 854400461 711021569 874403275 285350125 901277661 791403885 384616549 628284055 184942499 674961875 726068807 475324877 812891307 133377489 335268465 465830333 905246891 687500391 242925705 747625603 735350907 812906503 631472607 456525343 804585249 616002949 543912043 933631353 989538501 316684573 72789963 246731109 350250943 427682679 118838853 906002329 60514181 183753885 143830477 357137851 382228925 216660229 214529781 330902607 78948147 833772175 169650689 983507913 888487129 66827133 668965843 100676995 262755529 526210429 953685759 719192253 190270281 617524901 626967737 939678111 626070979 838757491 38019043 319356989 468576201 584129739 558897667 400203661 417931801 844099835 625138247 370785907 444801427 444343477 371751559 201281721 690846789 808406299 397034051 448826893 950565985 366311345 408037793 399100169 577873219 662101347 966516851 459303985 916168301 271805317 524615469 801509099 396782731 899325143 959148015 574006411 630522479 592074367 386776449 320951111 38732823 330858757 987681875 928244549 15036837 748180325 84503931 476940169 507852899 114240503 564378551 360078599 156613 921571203 242879601 421869463 217130087 498252853 115442359 234418429 841122059 72282787 306669121 322567647 631267741 851349195 770620525 190170831 16871985 234812687 239811395 628926793 942705665 669046081 598335089 269723307 125640815 117460369 520097361 875239743 636584457 455913377 890980063 274078519 551072131 676326259 779806405 213832619 805574325 68383351 226221647 351573919 376548771 69702783 439891065 266377977 289734521 149788875 68952541 18451851 483356043 870145791 743592391 480423951 38918739 704244265 155781411 706229543 729481333 315647933 584391049 214661211 103392187 347037337 951603769 763350301 219094555 446189059 462761241 230981573 711665837 656310951 358108601 880072343 769508021 11639195 506590801 377545913 164800673 798826331 198399681 308167997 210858753 491707599 887258509 451564573 270409617 529761345 229795557 409686843 137805877 980120679 392738723 985956703 706959865 330508641 409057349 261843259 982582285 586496945 420434417 653541991 346227407 547318085 590785911 530469477 961528515 605532789 640038479 889027487 258018707 800866553 55213973 135475301 548427537 661637883 854048021 696239601 477463609 708932103 133149757 531778405 368080431 89797137 928066849 626828489 746149695 330835575 976609667 779869711 101414875 363670269 912355275 99203087 778957725 413752531 513938439 20183947 841549899 356601229 604039917 264731693 439937743 717354535 705118941 562127749 172958267 12101639 938326753 399284749 416660685 934598139 275888037 812070949 602407653 505066807 533795969 20778777 535727121 305602139 982745205 429248025 637035523 131638377 966016295 359210301 868676501 473444815 496555497 631913095 143913421 141526883 277439151 257559777 308110037 995145569 765450521 831276315 525153025 917639793 406264175 167629549 432234441 198956701 43257761 570328573 86136533 423367261 619233347 263194321 222809837 645997965 482438553 90038233 300867845 595631217 109513351 578012785 587263801 726453433 796564893 28471257 551560651 477520503 44342801 520340539 877278759 257962283 754159301 178541479 768247775 137393849 400811327 650404629 864096177 635035247 410306221 961810795 344921215 581351425 154619625 240649325 93484627 780080269 939400559 445166545 285007712 207638425 201476713 240640557 180031237 534710801 518598563 960948737 964925633 33631563 18300313 385471675 15268673 242900483 363497573 688274857 400826713 637199713 284744913 661617923 100020483 435255791 301292877 990674671 854372451 739703461 555152625 17050737 360017603 202402269 682028151 27100287 661410713 159953503 944678221 554196717 721982845 496904793 914658941 685535105 114615091 261675613 813354945 344187617 896952489 3282539 635177591 222123425 568375791 132396263 284435623 350145337 893291073 72848797 783057409 735146761 586728707 933507781 776244443 452105051 984215743 687410683 453095731 291636323 321037867 460945733 413463475 652493109 926247711 211006479 372897961 308927191 620305311 818053677 617593613 298643759 667325145 652356319 135529851 306304529 108138013 848429003 803653439 430860851 556478951 932981755 256613189 501630523 481324763 139946725 988437287 556450221 117836485 999386985 554168353 155094525 812347287 718609097 588447261 639779717 720541803 196466099 355532455 576941187 241558663 712311613 302847993 158676003 514643539 767106019 663356403 591977847 336122471 954317453 926630681 717378165 847047289 429619079 347129245 549434625 130193519 857394563 412338261 81770981 674664789 204373667 767969217 158484431 2929245 357039465 743240455 774292057 85726691 875773893 680196857 881270535 579994727 151075339 271060747 644655679 877008281 204253687 790852701 89321043 573440331 473889199 290788535 270953087 241582709 930111679 177751431 952306655 228333631 932783393 792577767 347486339 612141809 921848365 282872469 435852373 877946623 457223083 410299125 260696117 63425027 909734087 567199771 473226463 898953155 666409239 141870781 135533567 622182697 141319063 274987321 530260263 725093193 339307949 73055381 964238541 92534877 902182953 579271557 538294613 280399559 510711355 852804955 837777415 491391509 666776197 722837273 575062037 199644667 317301769 548618343 966330775 52846415 738834229 69732497 515685007 404436251 647327457 619180433 750092775 325589893 213195591 875934471 802615919 655678689 330659083 739076407 309612515 991051437 226608191 863504915 47754207 20843147 610411349 781696561 297635057 908592453 29868587 333997521 659331465 575151569 991749895 815979993 782499071 308921415 735637397 192540891 104907925 605617387 231930857 80211977 575819381 361528105 214560131 389401673 831352495 636511381 691060809 511899933 163638333 354871273 624373125 413786037 222953473 509580809 358395117 376415723 784254915 159558401 330284961 402685755 226542389 49710849 9533219 29220303 260257519 960729447 818454113 310970741 591849843 455078327 836793009 619818659 9590313 647585433 764006097 826925947 373700711 332351203 556768227 980481731 824752737 120771727 440908921 207061737 908840505 642513345 829644165 327663367 539801339 866042309 765765475 85297113 160146837 112104461 96167645 876669127 171777507 405966131 223795227 831372515 173712805 251937789 547766199 341293025 256791429 978101843 589475243 513591585 659047955 499808843 790430301 597610157 356899529 191756577 292283803 885867569 208925447 88412213 103397273 504729605 2751257 80508437 976729077 423160359 11227437 77889905 802387125 887898945 295877727 73299497 208647493 947909539 747061167 9272381 892501371 150280767 103159047 140372695 890779285 263188411 896624695 851444559 621189173 89227609 230725113 689311771 9106283 619070985 178995437 657846755 405952941 320110949 282643101 837121135 183468503 82023593 15933565 244566451 162937645 765337535 650660579 96122569 383622237 444555317 948605455 387371255 749773439 546032705 641081647 664201383 612981261 223757765 474316113 646606957 420697579 22883655 882546285 703092225 463823979 835197685 593132137 980635467 293873727 533968295 288912393 741897555 462812549 651348445 300049921 295900493 46847171 375105215 658983915 251766165 915674597 951458073 66444103 362768557 381436223 213473893 754005629 710031937 83415187 801466307 934540769 294322213 100971521 855192823 408885419 351257937 742697753 951507315 284600827 425543917 106550737 280094029 797700571 664401729 505381763 49045573 695475261 957535427 357952503 468491969 128925691 218273545 291518553 947008209 714196435 510073309 621033023 845468973 52732275 370159653 762297511 928267827 64608359 624445687 229057781 872076523 534265645 287914125 335851509 668015619 394235939 696395595 350365407 898721493 320368275 621358267 479172687 122380381 924589999 97930897 562913097 711071301 270399889 193926057 388678717 3039707 209549367 682164999 668642815 147082005 167903887 74495699 28602571 306351509 13303653 230228835 7908679 76552609 274732663 919215665 707261313 527864103 560699747 781895905 763164141 994392767 218505907 132708927 190853737 193413801 87122649 678320955 962265915 337899981 507802413 561070581 90049551 89396407 800048371 971449003 28206331 964240545 817968209 510951117 943611773 963239531 480660313 59157995 601044855 845441433 618214149 575169729 103978553 660571485 148666935 333597237 855426425 16596365 515207351 680097869 466981459 229641639 924970551 601481537 667668555 369413591 133876049 209171561 785213521 677540839 489986179 79402827 769677239 649859151 320697657 744652945 424878909 516436275 983400643 947440909 179707399 741840211 535729501 498556603 369253025 160408869 809984803 183681985 595687429 458340283 648216867 351251303 4647051 828739545 306941005 110917919 586405625 696892643 102155385 896139657 605060991 444022759 757599595 349246821 400070833 683021985 911550921 306146975 920288395 621846637 425536037 387702089 411439477 630096209 502968313 687120033 219061049 122224895 580190375 882595847 221066253 798653389 900376183 506683401 335714705 479580605 956977049 191290201 694218183 19960177 623592233 11575251 261758493 616334651 881514537 294271353 344648297 323429395 175626365 570048887 732650985 585225881 205025789 587126561 546402369 476230673 610028893 280503023 305625725 469937517 401393983 39974281 864561685 938267203 395905327 786826935 794959845 157115857 456530589 517484141 161402673 330950145 125932001 540082119 704597161 774909027 748321085 300895239 146690401 712061225 45449177 514522011 192431061 181499447 882906313 522590993 322935019 405672467 565364741 663647785 225472241 740187373 828044655 849338053 825622171 863719321 569126351 237893615 94443015 793387163 431942613 903238365 328279483 642409749 872314653 632591335 529694627 930501083 738827047 427240337 739573781 495497313 962677341 369288583 962141391 775694281 508983055 738485149 567602163 501556697 83921015 583484111 570897683 401348095 78258101 358491707 124251679 213815379 798880469 628766771 262409337 492468373 130800581 262265637 76551139 491668779 70394209 70118577 366483341 313248295 983975017 955559573 796287753 35034685 786397829 986130369 221120855 983477709 53850953 303314245 430366171 454518239 860954925 273417565 419507043 539538211 202987153 757110381 364526883 882242287 949554369 275250177 546387385 791482947 804250859 446744521 237699115 528523973 630757675 974906021 855371493 333448645 42875265 211899795 192542909 512488761 36173013 585428675 580064751 822214851 552591867 918169733 982509857 100668073 400363691 567892567 415809121 224945883 715233925 455218649 798184485 604231149 546342931 889655769 945035847 965036067 687396295 15633735 444935441 529289823 854815995 14744643 166786091 939466549 220212975 98328845 944097197 570464217 746109899 737687823 922014485 649018157 266547619 221019617 462971463 428112565 710106989 439071289 668692623 748611493 798384143 461155583 106797989 648661455 23701837 94403131 168481957 786675893 848913627 717325345 640128275 45973117 384255315 784503819 77362655 106068215 71324467 720678783 372503645 664302747 812460521 738286375 909835081 394032521 968609985 686071255 16972745 500007045 897326073 509411721 245212779 890223617 997796783 660123743 956770851 767474961 570997997 420463015 250621265 342807161 893053093 674937043 785935543 947880861 840726191 868861055 467900035 126050189 159795919 922898285 390124363 686403585 305958315 532648329 608171787 629264983 323139543 750317799 50807851 708108951 856853705 619359937 217810549 561954415 366760933 1121915 272031777 64636471 332760435 261148319 830030539 155128817 829456805 990707681 581838455 681817663 552011155 504004125 163328661 846402933 685169217 954847061 977414903 435662983 738965397 387467959 338615517 199884823 413502305 318785939 161503723 614490987 26001505 360129125 736870703 788819825 589239089 17740751 367799325 906383809 344708961 131767201 381440915 394337179 833285211 320266697 308829911 535295717 723521663 913971557 487017621 580887343 237528073 335373241 557429219 792565425 278392869 596847917 501729597 932076875 879741923 953459799 452445065 898695553 428908349 671517937 798655765 382641027 607304725 634268897 721946263 152052267 859647283 702979885 279392299 902260215 527226185 406501645 343603285 234494989 604657135 347156185 781055747 75950909 77515943 849720087 282071691 29842173 462077403 875126127 154704555 188139119 946559963 449943991 760395655 778219353 587096035 823918827 48503979 679270697 690545935 753653291 412150287 891367929 97597293 409027011 145423631 975294341 609954029 254925353 143946097 878748215 178821223 494873335 912356961 172019741 179245213 415615981 219820403 214746093 903107385 120253435 520960935 511958535 982216651 93552177 673762403 422972789 551767245 806141133 117609585 225492195 425366689 978364975 645011719 156752809 942593677 842950117 153973955 664936647 108899783 858575777 462204587 918440419 991130725 109999167 463329067 191530573 751674473 837547201 547350299 62330365 694662845 579436881 777799347 633338003 634965041 16049735 388715165 138655827 101796991 508376859 286402787 416829741 275796295 324888943 973283837 981192635 427357973 573927953 820651463 306037307 208780375 781323251 410243205 307639699 970099305 141115697 4770279 118742099 40158347 122964493 440782847 616121265 715439335 230803443 117661261 774822031 924646797 95903863 656035509 281661043 359939959 559253075 292885637 771369611 339581829 445033577 445938545 440154289 55291777 112230599 816728727 483468897 294373663 152130465 145352061 725130693 270409461 124852813 999102223 537650345 158474117 529129557 236295843 43270023 374025271 468449887 444513525 866018943 376113759 579248449 220258605 10408533 388836917 598288629 583821269 109303163 952412121 863190429 504822243 918561543 374641749 677466761 26771895 690271673 528650397 71503143 62623251 595377913 268440197 349272085 342626597 413785043 82291155 406878743 891106693 332063233 105358127 16801557 56057133 820300513 210239783 323034917 884013697 940813947 445358393 654679425 144158035 788471423 391557827 623659405 924726229 234052929 956704785 433785299 84737957 496167621 95619409 593699593 251900105 998022575 784978333 464354567 598370475 380700239 726456825 908819411 644525861 780675995 342285387 192659093 78902129 18484277 811205223 437972643 967366965 927749475 800782085 998526585 998615935 290073619 219773125 180220599 39654853 343261663 83584817 375614249 341225697 364486659 208725947 352214469 80017947 913016935 649592509 197042595 420851231 131018909 513337461 222070793 97226243 152062169 494388753 440505185 241154629 845855485 155504797 537705021 223306185 611170701 752889879 69505115 680134363 467149499 750939741 902754203 593404979 453910365 466075705 324866315 628531181 361526259 454000221 484748763 668841613 25567139 73087585 512498283 924489219 802339647 387726793 186969403 235934881 433842233 940633339 596676599 268427815 556676023 87312457 973809777 787602105 537115003 245187823 657704359 512425445 989582581 254150667 48152761 986035103 443655231 449050023 8597493 358678853 782445333 476993973 656708557 995138205 93897185 182639885 777487325 880301779 652704433 114939505 269487591 859502973 363207741 5179275 421658327 275602329 729865955 210894317 474839487 620962953 623375273 600605197 794020061 706632989 791765315 117742671 784573075 514309259 309943555 432868347 482228331 18229615 241450475 988166211 606235673 799768269 33477027 764265791 320539769 677263123 871633783 27246833 12120205 923284759 106356065 730997827 535530625 553589015 283255553 693530629 231578793 881898935 821343899 240130547 310046847 306123013 79185441 261600681 934277543 707657077 900394537 734980021 877590251 836932837 788208371 788469895 479243071 519739801 654800741 196859255 538981567 355079489 567131151 239742407 832459181 568967153 514034729 168106913 629688695 980402981 402597009 938895637 916024237 859395267 210784975 317094687 187624715 193651737 104816147 645865627 207881333 179640541 811886131 133962071 920775669 122866217 155925677 93537539 721246143 204311941 17862059 257925175 196998449 575824863 648133371 880033141 605747657 804936841 309570323 493100583 644536373 916380225 681458709 489395613 404777803 572960303 511935175 4653073 70529793 442321629 965707159 210795939 654620029 251349827 220351901 221638495 355359241 38654397 259475355 692709941 766111259 526614799 909610227 182371835 171691083 849523049 39585977 891027063 125691743 977188703 716201633 429939281 867614017 199161069 412100619 660384793 381048835 768563321 141999361 160194889 661335265 275434961 589370157 414714179 529945919 257237289 12189419 13396557 831149481 488266783 993359929 509443229 676602577 763017913 679018941 292275015 763189393 563022947 816178121 331152209 443880687 762116851 144664911 270950563 643987221 506211749 97157363 933021965 346370645 174894625 963472891 924362057 545526061 498790257 431841111 485405175 784959549 474912013 979820701 584729251 500366675 784782287 759963915 283107515 631285857 383521537 893173387 205413531 119245955 207705931 806395051 789054595 582770427 794429381 449625505 773074843 974818355 729747181 156604239 125081335 491962563 731624871 854369339 954304655 719139939 37532737 502342291 476581955 992132853 220978543 67579695 849370333 981709703 525136719 666419343 187520785 937751371 419214951 884016091 572599923 995466909 456562849 927210463 81832073 742548991 49803863 116819477 643158457 533266717 820733251 672649117 178811479 293468619 337958285 164856379 411677083 69094147 679987391 971853665 710316197 776613865 603974863 655876389 234113407 720312519 528134941 533451591 943901211 387850257 654652779 793411117 238014291 21124451 771840743 467564519 220503015 795974271 245618471 463132973 951831423 519482449 461170473 486562909 157902255 287690733 95067729 17236095 548719341 733007757 824504683 757583425 803378077 900730773 267385263 104445181 990529287 990087567 627857849 593575855 169153631 281193265 984150157 670660609 537230777 18308947 204609179 572799297 248945435 277093625 912070837 188620133 469944683 402008657 961435931 520568335 466497403 780031915 159201907 963538309 883034887 882027139 73550533 622945205 89465773 366571645 453227661 850614583 959276023 873742947 15714723 846743627 638564951 761073451 246545999 215957465 16472613 197213421 579403837 668842093 316932261 991798767 121634179 759464257 521752061 503415193 570703261 758065973 987754047 283466625 844302451 904674253 435983975 325907555 129407823 329987643 366260049 410110239 314800105 290318421 238542029 636914627 681024347 52000153 374655621 807838847 768279855 419634737 429027097 247214771 15394893 147598317 591373061 498838493 172086287 740962623 231856565 804078253 574354733 24677451 169413241 830981619 241014993 888735191 47279501 478720429 419279751 419684435 16042255 753528827 171300419 745585363 301181961 805825067 192371555 361528859 698992491 433222575 578094509 744922511 687709459 570434849 141156685 137935421 760502973 551667527 404569305 887913953 237687061 533839371 523948109 467140565 55680171 698082177 783598607 79235109 90610425 404126433 670416877 796404861 833202017 108825491 89932829 117479221 872267819 291018271 809463353 991734349 1353095 865635129 814545481 327893101 840189587 532489915 834869179 313705441 121093707 456829611 967959137 69663139 196766875 260208181 765782393 235823699 190800211 593490599 317278891 914385717 533053229 179097729 845869827 5985595 916784329 519627877 291158005 12369403 736462771 698227229 244284511 408944819 181402971 194611101 487223685 738102093 249526809 168494593 450250775 234462551 35328047 247333515 616724263 57989897 101175495 947326375 990551861 251944001 532560113 43002345 484050215 704437639 546141351 480923915 989863749 441149195 256637897 687943921 418375755 475324321 616810275 319554213 364126289 89098699 999994723 363294555 502551007 761555633 792780325 601630063 715540705 832023841 928519913 180854117 854347181 644960401 910459417 382820581 921580033 2786339 3925509 361151429 722864127 401978269 47644647 220294399 681183031 308926573 954687199 193345975 646701471 907273899 869403385 774837815 950616723 632919063 597047843 97308917 249033687 569291543 588064057 479787913 49810075 584255421 433564923 2599351 240664689 100316349 159554833 630881389 534861401 956095607 647901455 229998779 251391415 998315507 563036013 228607709 61427545 437173217 472430731 448820023 830906483 966221719 203392949 673220949 842940835 527725589 375542809 503127273 671259631 530472705 375151571 133816013 123294145 597593003 751411427 4207111 727208947 97406985 861058609 46925503 76020417 376383933 219221137 186304333 300306637 384153869 825397691 131525927 787953703 442061801 523488079 392392691 832340293 564860645 386820055 643495037 939117569 831455299 608891847 819198391 225165987 331879147 14460019 333849531 521391321 962822507 194413345 256486095 694300341 372422905 442763255 9072733 942590389 331382903 27669769 229554167 894092737 646562153 708303183 444224091 520397861 891324161 898095017 832844905 711172757 304480023 955461089 647980079 567290927 324338983 253517737 634377695 770929271 439062873 422325659 870559957 136289373 439585661 294629429 347738259 284263221 919688203 260063461 464615877 688922043 413721891 462608631 135288637 800902421 567785865 735345321 936350457 74574801 757054383 967560729 658970907 709528291 119755433 948786257 839912173 635862697 102543675 738219075 457058787 120292841 260141769 994672585 376876185 801725647 698568803 170319521 347139537 390317041 251104705 283093879 932632439 528523085 91168321 202949853 357477789 690289479 934265323 352555593 679074177 579388843 35443309 469599007 547155589 45713073 803034143 827912615 419056435 648945139 349909763 337444883 935729729 18947963 561765307 111134589 561545607 613198001 317545115 954818275 692805385 180824431 410336919 859532849 917899763 152185071 448506961 463282487 679612313 269851863 166228237 208974001 886388341 420737075 359249853 640109373 39853355 396905597 650362873 393557093 219734405 922771085 113587965 837142939 577847673 511866793 995659441 717504823 61868575 352729729 804530341 758991227 535110843 675991593 184054545 312249233 334735291 186908447 314496467 616038025 206569903 369773125 412461941 888222815 254731347 207388139 800417313 140988143 144711563 451137223 214731443 333975303 784582753 621347571 553006505 689888599 779362827 928696055 74400809 800618871 945732321 170944193 222923523 992541931 724172137 301355171 675925933 921139223 491532621 462371421 296322377 803380051 788522591 304523795 823180189 449398739 194154395 26422097 888710167 110569145 571830309 374919695 752030417 669584401 913416777 455233961 8081799 992269771 513467001 586852837 497004195 861463231 244658255 889200109 304153649 697369519 515030417 57429851 35492589 139946565 373009193 675950377 346745137 341223953 369528873 996566717 126276105 418081677 695499981 438348005 828295713 881439515 431414651 362213079 505215185 874886147 136778683 765397293 184920857 387843957 892812607 678389487 487447711 909464973 476036839 643389577 282815667 147273803 482830771 283190481 215044429 231298713 166475215 744429061 487903757 153382727 293949325 975307463 256914743 307913231 75301483 71193897 914395835 342417041 13654539 389489053 370183987 500833625 376618295 251229183 826904285 494639829 44155619 251487385 245902495 554773601 335843113 626264851 730919177 432597309 549467727 582585735 677406033 701672851 292796863 69229423 356488281 371406195 813819661 872588465 83529127 152451031 301228787 798506137 908649577 234250143 174840405 639056609 518592121 197338263 417716029 477404321 870262611 510753389 203269599 417896289 640083743 253835197 241072535 238943245 131814831 587487495 799348199 609108473 81396599 633933235 192987515 781441511 700359833 112514837 93654823 511130359 920808409 23734629 34348773 380753849 296983977 712552643 8789209 993803043 904061727 476341819 377331277 59277201 221838587 638836923 550424759 636926919 37307043 91024927 983292591 896498675 514372905 467999781 553351417 834415787 812759617 356393339 449549185 243275757 304549707 366874799 231554139 831179805 773325903 798235961 998872769 494472457 436905725 313891453 571610135 37516517 256784809 312207557 169712873 679222095 490422359 731746367 731317735 398345803 103405995 855515143 509074673 178228553 57035765 917636379 86950405 421503005 196292651 283947369 773133907 74059779 903082735 215723197 962393899 838245537 638531975 202095061 473646345 855148805 121770721 128856911 781201553 981668003 868130967 96711861 544593807 735434843 848866789 719155577 446404085 689249647 65942195 120268789 565745885 301858445 691870355 103716455 904242061 502805195 329275833 155978749 803310701 793283239 809390087 771982787 556302869 808144131 661778433 247458231 529342011 473548337 490967001 355959735 66701509 525028579 615376485 260523661 950603967 194353973 518388773 642180843 121571163 168366001 192548415 500901993 351040755 483804223 959905155 685927563 665176589 614067001 562961769 778962871 955408979 346151001 737754383 243506239 746025881 298000837 597205055 820333919 841410775 48847627 282647651 887779381 794654517 671997471 467026839 514744523 534600953 832409695 440539543 179411219 84392603 698317713 955609805 834093541 497503157 476641505 962870599 252111875 379134473 351496165 863561149 362904345 771168899 494456217 901027469 295806643 903797303 808675173 563861693 514058573 77017951 167722003 843329791 903137609 889223261 110738651 266186411 844176879 905666751 997179479 910361789 651406961 357430839 574150543 430153951 37545191 23749537 396672753 999502941 644711251 302917119 356404047 927969073 105158815 736345983 834426601 434060539 826978717 256140399 766522979 68177919 367782915 120185423 975876041 553584175 962728309 928743105 950168467 717361697 530718329 893079183 138347421 559896597 489490309 445514413 453612589 376304369 216975855 588230967 940822255 939400517 708090107 274141809 234456057 771934281 736865485 610273219 567536839 691492059 217724797 765154499 266275135 267792003 2436607 995322411 125846703 903911537 544051509 94658783 931160781 959835771 903495915 851154153 280536755 509859871 85362897 775327359 846004201 309332871 684862847 402219769 45497179 746623105 226003319 749937627 595777119 415519107 786194467 733984211 546706355 471107759 578718931 30890417 441776763 323632843 4614081 113455985 400332099 333510213 613385997 520250679 82194179 962411573 502965699 327726159 353311767 714125659 124329171 205175849 833349443 653528351 120775701 139783525 913337527 112983181 956354891 179504321 157083909 524608353 975036189 630022701 668946989 290540277 467937823 441997753 769561747 736051539 195981257 557625507 929354757 593588267 643091325 697838667 540692665 749098451 373667201 297575229 114126921 639846987 593694731 185292335 657774781 988218425 698571313 603737851 513296257 685171693 400847093 372420515 221981803 521497695 42057279 621215057 909510327 92109869 269692387 109113693 160306701 956338335 558006937 727128125 203454839 708760741 862118657 318026905 207434859 123467733 104806055 842070583 88464329 485409645 413350649 135047439 223647443 394445143 336218707 725998651 304003129 644709665 48847093 712421629 412195597 118835969 289133063 428354497 936931791 397781721 692925597 616608025 71373155 71429423 225984175 192646851 781371925 987535921 885222941 946267809 108740255 342681271 24479665 71948221 462656793 96774465 957903903 925603147 964239369 780552439 502419707 710764967 207175007 886872229 597152715 264498515 937871215 253356997 485743863 269566971 496640501 25169783 627474125 353986929 388266263 316007807 330295947 112425139 872084579 755641679 762516303 233895651 582686159 453757181 371927331 648173643 704338101 626509897 435977211 585849695 484570845 678978457 478484139 428099003 550012789 819673341 274312185 490006307 478549519 533343533 393431947 600475263 82355625 434413703 45519093 67567845 977368491 837663251 397489325 416119951 174159585 327347839 707208983 992705503 957617789 227033381 548995453 922865253 194056481 742707969 110727949 675717583 558854609 891530173 563852769 214208251 26561271 973056167 278535677 561983725 645387629 806595509 692173383 901140941 465539437 339628681 735218065 724578289 777393565 359623529 469939095 740382931 446628363 635125827 267792375 657271319 851957035 181783983 372840763 780731529 217513693 183462893 101263829 42090777 300896609 214760421 657659677 97206759 523501675 759601187 515093079 631919921 499381771 578655201 833559977 206233191 844023743 228739071 342861093 942201113 22507887 334004225 629551559 554586627 607771237 304637721 634551405 209781769 291129431 70453533 459063009 621213495 686669413 439117195 392279253 760077759 63011345 378703501 143680737 516056827 359022155 89741811 921521031 765134449 795442789 807071791 236531249 582208715 299160351 646203237 838029873 641678043 653471645 225487963 456078269 973776029 428623469 33111425 670155001 639345719 535817347 223960555 274338029 8889583 761078845 686679645 85587593 352329789 977324129 238669881 314002347 636708539 70333721 476260499 925735439 305185579 290623743 282237217 273111137 769297785 288235533 248554815 943843633 498443191 281325227 846568697 921721337 897332515 878793379 814960123 928732699 341045533 902413355 486048413 566864863 684856883 419253987 870086367 730332023 959270167 13467341 85770601 513404923 611887013 691704663 868537479 723036781 822187999 986070103 322234675 622033591 606231793 919625995 961485325 862440617 566987823 885966103 697583193 888611069 90398225 480430983 357546761 256198741 723211071 997438931 578789811 131563063 49317249 390650583 886790549 621832217 536436939 199308249 449734809 339747921 416638521 239477635 445510221 441648929 755619085 958017263 131698921 404222387 513448371 876366999 613269579 727199511 589401279 182988129 974117627 853668167 771769323 6871963 969927975 317035555 415440667 721766905 965522345 519805047 931599193 997276827 415851773 66405105 225669595 580116483 747197005 592533805 436842745 495685663 941327975 491139755 512379703 468960581 67285697 908205525 518029377 609967921 890890877 495152379 240296427 472888843 97184095 706403671 186726191 802229597 827988187 387424777 298878257 912092959 168151299 935393565 161347645 893760683 5996953 676311681 94184643 888521163 344836867 453092113 265594977 208646055 107811667 177189261 240380635 776677337 246929213 824123807 804957977 63910235 147310369 770994901 456438833 363747219 59277319 102879661 464286815 523453261 560684703 339410567 820913667 185489857 369762879 1533609 111362217 271709579 694601701 845460295 553964039 104776113 238679867 909486203 4282613 257403039 241953169 10846277 658130553 548782891 255503065 878766989 444695741 929840529 842972855 199055655 70649363 332995193 506209137 414541515 450359287 739205613 459716855 26977817 627444751 413947491 172118493 429626269 607437089 527475131 612495973 816282565 771218469 834143287 658082679 399215083 535310133 804119941 764979617 952395091 244413073 28478395 443428377 612202533 383743913 608177239 604360641 68273263 231811599 950539069 1824797 201594671 244420731 890954169 991693919 147585859 456349141 934690691 305834591 917020789 560690213 657545143 615883161 22881911 46611869 229021659 502787125 676086243 733684637 865574619 171081219 321709881 429738405 680541195 702862715 659985889 811244129 535718955 599221949 813506861 768527013 230535775 480738957 122672985 293879401 902124341 758294363 8185987 11105749 445947811 451141697 421693365 608043057 256807939 621785597 15841 992403185 797484317 267480053 978700001 561996977 408312093 619413305 672107123 849285171 918655641 515911041 710896451 349609827 415611279 20253227 657902563 920659029 902716001 22533437 506744265 148899395 469690593 471838827 681103449 474327185 220281151 96920071 403787227 774675913 661772573 185736725 954315393 785254047 382646909 790383927 978662757 570330351 908976847 828597185 969172869 498200763 329287653 171006119 948816077 151766833 36360959 81275531 449841423 520993695 655706561 684432561 53670657 277477509 473259321 501484043 544109383 379255941 716819675 59847217 678175593 24129387 251331973 591080029 393982169 323169575 793460861 925644925 362149359 320853719 608246383 390324251 835516653 89097151 137805937 241385841 211422461 172237895 70649087 904069725 911190833 926853893 97704193 775944553 366950271 381851059 816543425 400453823 688474571 236001333 404724981 116249915 137482461 601072535 620109245 646581595 70909285 305349385 731629467 364226117 304786175 419538155 414064253 385458889 129388333 597215675 196135099 20506717 990988885 713612585 573770765 631157283 263369929 213810437 610820765 900644833 531647939 892112971 576122871 72293637 702175333 280406049 788502031 909341609 944182965 80960717 576721987 643174281 830298793 373178055 595357783 64048911 33012503 938624935 213700475 735919175 370539201 854144307 146378051 611544045 863325009 857300053 324181163 214106715 239379543 104283679 280743705 62998685 820093517 81662159 642849115 857910111 313281429 992716485 288704677 81518073 881835383 862546831 568413079 693303147 940872483 588091103 324928307 552366939 531285173 580009359 115634663 399551257 648451117 846835877 857698441 33193117 389160565 610209355 139940693 35795845 57555549 574332629 560048883 717057051 908836255 352597947 61637997 891970633 715782107 775034021 766802747 571459243 240782749 179262555 119506489 487599487 76156757 40757713 725857451 975968171 912407641 537013027 224134209 844639677 216903663 180545171 583917837 887053553 651540031 596711821 520872591 369105955 403472729 309813669 671191211 584956123 613581879 191502227 182355631 60049991 952651705 140373055 658059343 996822081 305839531 680333233 166547113 834296389 274679227 963183133 25260867 391498363 473309829 476660447 101057801 325234869 952086665 57272699 424499025 475480935 510032175 313775257 244293335 728936627 544403403 734398221 86935747 316635997 835899541 571438293 618784671 34455511 860849069 829416467 696468067 230627639 64249375 721444371 176182121 695188029 819417 624439877 534547321 109124175 587259831 744352071 228896961 652137087 898965625 717613531 287210963 369555073 365308359 183902703 847501999 771978677 281095221 957137299 723353017 476159011 679872825 252408323 79823037 131070331 6041145 30587043 574300147 334724625 262218105 487589373 749660919 265890793 725066029 243587271 355527119 689395623 430918767 984277209 732014567 710470555 760407613 481578553 507893011 243395771 734813829 969934863 322926739 346230185 202935059 756177329 852291085 153226667 718493861 120974747 690313867 197210031 794533849 748087405 141259139 507077967 502735929 622386163 171870165 820770247 494349111 896565795 763820737 179342591 901540653 162092565 203324667 620531849 919002203 598383375 579911059 35078297 456650217 806900603 861823751 633016081 536060137 219925995 42199103 297185909 337497943 878807579 819231621 36424951 401970449 206978545 871221137 952854893 894170337 431378035 165576831 994159703 173647225 707514585 705859283 438062299 438656115 759319421 900986493 96583113 219648333 547591905 108671953 202177689 235120755 388748465 287326859 756312681 64122423 120632511 321883857 442137857 654957007 856523273 292945455 437062097 712305759 736726447 501580959 851914479 735897583 882251775 69561721 346001945 635492977 657137003 760177285 343577017 450753725 254289295 517844719 724304861 141118359 532179501 368122957 598261053 216401573 39361073 59356059 613230645 214395769 654082221 382542911 328379857 945567373 49032671 441551113 106548925 797275203 514930729 111902505 592644691 126844387 497489173 792932673 290241935 161248415 642350679 365053011 207912473 723885711 65256651 348884685 372928835 147491255 864029555 865401735 851948801 172223229 228898939 369904315 445062901 284051763 834265143 396845837 905912163 506903571 60160033 573343887 70856765 746915135 737419739 732251571 557457433 852076863 462151733 244542551 552901943 489905283 946002973 510441153 142736509 782071913 813198769 117024925 461527675 221580333 570588467 789769215 93663849 35490811 486033935 623401575 356230949 953520611 272234457 86287291 760947767 35504351 469377867 741865285 48976079 796206033 416206153 400757947 496443585 851524223 321599967 917288253 590992785 672840351 626133309 695365709 758860643 763210439 713270465 434033369 170190343 403148153 750236143 643536951 861362675 814605343 381598063 945079589 357775689 297633801 180910615 638796997 15752399 684158833 104263651 218250665 540843251 57064057 247970547 521551043 692807373 596198951 865107091 516711535 637510941 208743281 246010937 419782519 315858251 680952877 550168189 255418371 308296803 836066333 337721893 462929069 880624161 630414825 664100633 990948207 233991647 840717861 645345649 542884015 73954215 906184777 368070755 739756603 522390313 365698999 72479573 376689223 957469371 716588725 83900627 953238129 773549149 259348345 712626575 762032831 15400629 491647257 7207267 140387485 633260051 944666775 61519957 990742497 788386159 856831963 882400655 905389513 394885479 828946617 675728995 379604471 114218307 104774633 792357711 481664891 665139187 354143243 669654259 788719563 695084811 578946731 638685469 665267139 781373903 385460023 267052479 310897319 281655331 12425227 791429107 27312933 320785815 179289959 915804415 433803861 404440161 622077555 168398157 502035633 735897699 691600451 677721969 174337821 3375137 764709583 476376357 55412715 199070159 976147959 718431819 894704077 65578047 824192647 772496369 129042145 997502963 342343469 643508553 712036269 950068243 930905477 905438895 924844061 193236331 346629901 351013541 57745541 894472053 767303731 184531671 961040551 110421841 427897667 936617241 859142307 519847619 883559803 125968997 72556553 793566013 360566265 365763037 990773967 303219925 393432265 551037391 290194511 486357321 775698905 218503343 151701585 12054277 214686723 179565589 495453185 759623699 611354123 135689157 554598133 481748269 855544215 562681515 468225067 186513585 696464955 67472347 775161607 348119975 192889453 154306447 909693525 579061437 477954705 413545003 173601101 547662669 188600817 925277497 426440331 900251219 5001659 411259503 11630867 543457145 647720969 274339493 366608725 303268365 8443103 414486239 566151205 9058821 895003427 462690123 256136639 940498179 950884265 168769591 233509065 700179789 858817063 303807269 44354385 109327569 290430017 198267827 464237515 261546023 455595647 590963373 567073301 936579983 73189715 301934345 952969845 787002863 541418007 105972959 836950679 111937497 995580937 761931893 311868049 541949569 344994133 502671155 480303073 885468359 380307469 132731567 130378857 501906485 604691751 482302885 270041465 942042615 610190215 697494261 521889479 503498211 815821045 602873003 667198319 996852605 808401699 102573309 542814965 401333993 440612009 853088579 894002761 118048759 603631113 740878595 714231485 670342943 380072109 65358055 119587089 662533247 935662055 478406593 404263529 933172959 450817517 967091599 471425873 461258415 652524259 149184113 128733377 732944643 79587281 682670517 57350423 812585631 100848041 274886861 426739475 444934373 776539203 855530067 402715879 185160937 659414881 644726541 904028967 150934113 765193645 240463589 25396687 940591273 429934007 451988973 253050183 515705293 566882041 253154147 919838553 520348537 619835093 289841321 269453371 436822021 428285843 812958791 24781197 525564273 189607269 391955703 165331281 304588901 30184291 473121933 913185013 289910573 786443919 947422993 527692879 460096195 80686291 999360941 50110621 319115719 552323071 992459189 123045763 872217469 931227853 453027235 268387853 980051671 874709983 353777689 338546611 761430377 377531579 667763941 615903569 293535351 876232407 934545915 395555883 658220005 195113097 860076147 136628465 239656259 759366163 735035281 181170359 714674377 447663263 347438529 126414841 54083669 902248253 109414807 633499549 672678511 145004519 847658189 927016433 124236101 157292669 78051141 161734057 989404081 707166155 603715599 487825635 459959343 371355777 874416217 10194981 723921897 404224055 775550081 816369499 330758061 981041263 553765129 636810459 656044785 621326737 741027743 586760291 792942807 130032625 187360787 834988565 627543331 69464263 136535393 217287043 577882439 226545971 414293677 149926045 224903515 607281985 600900161 818362053 530604827 350401761 809283219 8560061 714202863 90082025 979001147 11895989 691420391 540512799 664665085 330573631 310586301 958628907 816754631 351153243 91432395 392137373 906160553 495803757 670241307 131519981 396483039 860143939 992208221 346984065 194999501 931655953 304752359 827258781 35007999 851169141 852782007 888795255 857665317 562339189 293240183 69936931 190487839 880351101 305735029 729247655 991068907 534691939 814958505 850225387 660499129 746169443 707471281 674728381 266041049 621544995 561429973 461484507 333916873 257228209 283225091 240584419 902592553 227760515 118752981 30895457 168957383 831631731 160783495 967791043 413021333 270350795 550529027 409583973 574628013 220027955 856967639 25918341 761397845 567367875 543878457 68075601 26377975 216401657 628347659 402553301 505031205 797859513 793085649 476139279 172223645 999727439 535896509 493954269 176933695 164126323 209287077 786665737 733122073 903936833 907429897 508211015 787309917 304843581 691346193 487293995 722875495 462742871 205080713 617429563 358949561 464990947 826944747 578222813 644867839 560451741 752696917 967716197 85690379 661835179 419940753 158066185 736198107 41237147 714250505 999873773 324065935 365403233 780094425 432331545 977651061 818889565 729057471 330640767 917813761 41051729 707012897 486772217 945558729 768100715 495129615 721463365 2981013 871262017 576857921 917633297 232680273 561037775 980956179 138484457 632747787 86845309 35877009 180449097 405699843 853784597 393468009 173430163 963539611 457895887 897858543 855203345 743214685 87058503 774051109 384986351 758527229 418627969 926427827 131476301 334610519 532612845 748377319 366940711 637661295 910367325 396108983 327550825 890375789 505409297 535478469 415106789 908667815 180611757 395367509 233720145 262467735 133385279 661027929 945218897 799254497 502814523 959252583 515534445 12880719 338903679 221171647 611254807 537751253 900811089 38268489 27831975 787133841 138049117 289490321 397766751 607129281 174631609 985279441 468985961 543392467 591283425 10936039 799596503 642835547 661082043 848137051 249777311 64865045 396258197 390528349 167622821 493081313 819740965 784071107 340373169 22911691 419795079 168784653 821422963 539345417 132332607 288811105 438715017 156735219 328001083 327377551 931830639 780667919 900190929 957156109 148130449 917544197 338806207 614868733 763459647 366416811 415188265 161561637 902474675 682129661 160725147 499557363 24991247 738202651 591948813 463102593 403169115 774589779 176156379 209539979 797326727 330196757 721727691 457704827 467885935 607590145 704949513 223605341 275259861 617626327 541567785 418875117 670870109 701651329 598473771 947839877 645689501 529866775 554149749 445847345 998771469 371617999 76121041 225639581 563436047 223112721 646454901 47221025 548265195 124813155 401627647 340688829 64963281 133531773 587705205 983489047 913925085 324697657 451502915 589981055 744171023 46447513 779525185 704696301 177447505 912016073 389109415 274110719 709985651 261587483 163264287 895089405 428451631 99463437 586173875 834223575 707367 33683263 200044763 268728867 413404641 78887807 495792243 131710495 731170771 252204735 942416063 360596149 572159059 649799963 293882735 141764723 874510499 296381653 835319445 236545169 908371179 136393561 78741425 221343213 855172415 201900603 935982247 274034191 379303575 682252853 945210565 292643365 313229267 306513961 300479 611275271 540490943 920287783 7186611 972392247 817739017 794835549 667949351 14471639 150973261 839838761 142708743 681660859 965407243 345360141 466503849 329089879 457737901 98537397 71949769 343848141 129797761 582279413 653450383 558834913 343192005 584915143 491672453 680744965 157885591 223058255 992060321 627158863 769883651 542610903 313115459 238330751 257757431 819812819 328839469 27301883 262201679 923589599 478600077 83810261 182334155 745683647 205866235 918615745 930688019 899158107 270916463 376958495 813453243 582091465 899926355 402725367 771429177 792150339 795988595 503871479 119518195 582520621 257489155 60585593 721172525 342230291 164786849 233500539 1654811 948727205 288239953 545829283 598649047 72028353 442189955 829439809 234253665 359331947 861576203 498882379 24658337 584368589 980918053 375149155 3675499 474995257 640851319 766499791 913027957 609330731 452610575 740738685 552259683 673352775 62477411 264387589 37730239 855761497 322825549 162948521 342272247 923452497 161509397 35524427 953719397 331448655 419796839 868224639 401463885 453012113 509088857 9666425 128710613 774732423 133379945 815779867 182646801 895304641 659866491 376386793 398657783 19310589 828983515 721366549 165681771 189938971 587603521 463098997 437220149 587323945 805934537 475152009 69991943 327145561 11951095 647462775 9961083 535561221 822789819 275680271 261833231 616350131 953015399 323389385 734396719 272873229 351924411 334062019 746857005 456828389 586115035 873048517 168388671 887367481 187193173 182754623 338570889 212546089 422874909 347418695 4350739 44023043 35889809 956455579 629104079 341397561 23432055 674341541 47158677 539054951 463264507 573679219 808137513 733422159 15500467 932702907 103933489 354760157 803636125 880141279 226116159 538641189 600618779 539701989 16483279 425578591 463063037 184202875 753278269 342154739 500535161 381587963 584284119 481871209 483329577 351827041 72865485 719405685 948294423 716398933 830294071 758794739 875141291 929575977 904047129 573108453 958928829 886345937 872987481 365266807 105441931 612845295 897569481 10602493 374089145 940749511 780350499 179616241 546582357 397083211 629042441 803038967 968857043 625036817 465254915 492927961 277041425 850046041 79161219 411456907 988195155 996725769 182071009 418545705 798295113 994355633 90814815 421087223 625446919 770190985 236481831 490937437 35558409 386378607 399712329 64316657 613635637 579372011 822072767 591652973 841970137 897530669 939361387 377527221 155075755 388336905 727676949 951291091 326981573 244418307 276464749 447721469 872003247 710066495 775360015 949465739 238444119 242464141 345761659 768717313 450842127 939574883 33749019 744523021 931277461 143626723 284027711 55256191 331076369 999564499 860633889 256517203 688808461 347761057 181909987 26214061 598850177 370635109 252474507 689727705 414155465 567707359 179046415 645077063 808054697 104034679 658408517 104049559 424609617 651175993 816662255 155914631 970715221 470218975 733380279 948630023 558307505 175667401 178884653 64361767 547540171 628736507 91582667 428246051 491840113 607654951 446169073 364453985 376172503 768735651 477241835 545968743 874332827 703852655 81779943 768300269 181223107 780599601 348897281 667270605 746375099 619195961 891767353 658190087 376092505 803637887 916393335 869112267 358815961 742258337 12450703 120992105 403883491 432292839 238293817 391958111 820640129 926351169 236682519 303661389 522693931 938190915 503990447 58653697 76905403 111504945 528045941 119399021 793497723 747175663 194344387 411744173 852051475 426106379 922138585 212781315 390499739 986382785 264981729 459042011 692559249 131278317 506202601 622931399 14148313 108172565 416447215 471737221 911202241 344722797 897412049 294595573 405836029 942575047 627237723 253302821 788027563 285114021 731208251 176034121 93749071 406572333 50958349 447005623 846258393 481468465 193142351 194294263 334168477 694502181 503062383 4152245 63837015 760695595 17012155 41707199 606105135 217772551 619455083 704116757 924391343 995424555 456082595 501355737 39662541 22655149 190469741 710937941 12225001 390747723 935838135 781949437 388180933 440264817 751608667 775771245 837318799 394405161 488003613 208139879 160778205 263677227 345861027 13981913 751599277 448004315 420521345 219968209 216817249 461826875 594991663 354557583 7338443 876270331 18411021 724091509 376537629 98350453 665000549 571313167 463101941 327390117 747925097 566360333 947466327 676601653 846169137 692305485 556956083 611679603 876417985 840906963 772947163 563939413 548913663 157322951 467554319 20787069 425671103 328086655 59480053 352175919 582592183 41048949 785101973 940285279 881811595 492544845 564758123 764573343 554636739 811530963 75337551 949682481 793461969 192510711 570025353 574285819 487353615 179013591 553975493 518291343 170538939 790674359 419950873 469997345 800412417 156378111 187233281 316791185 574680819 63007303 651026277 7052393 758141575 151170373 506415759 779592403 171871393 659148255 504433975 265631403 477549321 140818977 146668151 561262447 102882673 779186747 88063449 522623301 832409201 616345485 536450629 325951997 402053261 187117463 380751125 254473743 818408747 69895939 35281665 645635481 989618077 721454249 558904627 602930019 130254365 423959679 460035127 54114781 953930445 471478443 559487745 51764251 878131381 909131897 307263471 157705951 157737159 137223515 209247175 451533713 59732187 287842285 927268533 521369407 427911347 724833009 611224399 889526175 152781049 806501969 308443537 287555603 333214269 221923365 268362721 850122401 817831931 28324771 689331213 15793911 369113487 127077939 24044107 750532973 550836039 810008669 144076853 258516483 604741459 272359125 605764563 423485281 477987531 879157623 91837075 536577491 650536625 449863237 960773191 760658515 474357487 590715499 261436973 335937407 542496597 816025403 351341549 433468577 634018461 926765875 996446355 438622883 637456233 465082101 259557779 794772257 500889921 141112907 80730569 802379097 162634645 10718505 753875583 975032625 246251201 604052139 26184799 388252729 739272965 145192467 56663165 376281769 844188555 542558157 999158105 773946463 931196259 80352365 809213913 309300707 95285383 950774701 400816709 291720547 524436697 670783857 376336217 944750521 967687455 505852099 168797485 797155169 476046863 813204183 924443721 526757253 770565439 236109833 315308185 635479795 132448305 616827613 651414643 263520033 765561165 597937915 402374547 499943217 824851687 450964025 775261217 24387303 504943671 484243857 859791783 49303989 202508895 407452199 60018205 476817843 67358565 555398727 800754911 714692765 214275903 729705057 640772529 555211995 743768257 599608851 859548099 800922237 720545457 588776225 538153127 127000635 41080503 325366387 538448733 793089653 111558755 691597087 657341769 325324847 360243247 432186721 107983673 104327707 227115643 21340569 300410977 872497551 445261457 368847699 300308831 562937225 982394789 193286213 819767609 573482419 564024267 484633415 743446105 597948251 266038025 770093919 304166297 603954809 365529671 765002423 179978549 368003243 616751701 697511841 57626063 676663865 609729259 71078297 610208119 927825681 939955117 232426563 898281635 779950541 947789093 885475435 272596781 729970857 721639873 225682179 11627357 461912207 874210525 877622309 102826209 560909325 896416183 147877399 692471243 674292313 392946813 889530947 4638105 931629141 744331581 547610683 268978227 508436869 57328879 559307965 158587109 572928795 405829751 190564521 777216355 211661037 194408863 955285005 950140107 334521467 360196117 910912283 768188577 569519597 18723955 445327151 314225621 934503183 535185725 887380427 490938809 404538971 650059225 611025307 172832527 506366959 452544923 467065713 81986807 686082709 350347449 767319371 994195969 94529207 762573143 16482123 838099745 826475377 22285439 670961851 428567733 261921665 73767199 349489423 373135747 495726669 194777361 836776163 89160119 881936613 835085337 843152633 393417191 718887679 821506269 510298941 828262929 127648253 463958511 46368707 172005017 147838949 874961099 6208965 917898059 552854119 519762639 306274981 130268767 337283031 745896517 279488243 383469935 714687543 965599583 83833693 172070021 50183215 127352629 156069313 256502025 565320717 947735753 728515617 642709717 473635527 325510663 165229481 14231331 248403711 290427067 207858605 287008153 285175289 251919777 800626343 879296835 532546215 630248283 412968251 888873883 882546335 632669041 252889395 456752505 296679713 817571157 732793989 682657827 945005077 983387999 455374409 305974857 683446023 528272339 348303811 326751999 455418417 107695575 421843297 315798211 774403441 666351741 122272691 213405303 437706063 664080831 255509109 887500395 158287867 495404415 782305163 343282005 625013835 671189125 579787265 403756879 695349437 801228675 994058503 802070241 733509754 864736785 315288829 388677113 582303827 663775153 406476897 826657513 338156477 297209037 119767267 137063793 849550807 980700597 776371795 34424755 526682729 280696739 449043885 13151553 190878433 809475001 693463061 305208333 121124697 528318975 516459479 689609589 694484365 976704613 641427301 868929853 44187621 590687177 341735513 522814101 993818739 908027623 220341369 639564561 482105835 450657641 164130479 341200301 962637999 459869925 569804301 416500175 418238915 494570447 391461073 954517061 474899417 354829961 563828571 8132677 443379273 647906399 368911673 94609513 277683213 905225857 77993501 371193785 540525779 534708999 323321569 453516449 363628517 692314611 549251211 36677111 707034941 237469741 22945093 506644985 789879417 182726793 981260131 847455049 106766305 980579519 655104605 272726521 696141669 322653297 941885403 493586553 436151707 895477797 992651941 971927211 312376513 228483665 100207023 567909075 921770433 344596043 449836309 579286683 252941097 56794965 895751449 837910045 965634097 935113623 735743271 791303379 893727159 380962085 767319761 551100067 449948483 906605303 994576597 997912793 364978179 212753391 860191253 232423727 148709839 959446483 227075227 883118269 539709481 799661655 932536475 705689867 672755507 569217557 988129137 100140805 524721857 92312973 645815455 818645503 54314311 812849193 492298451 425851067 716034791 294464825 736174811 437981785 468741221 524752117 58147511 612279145 47121459 953293699 198279817 730140385 462816615 224763879 393112475 927237917 329978049 343258901 893004131 302709985 939022759 399748839 461443705 904890971 185742121 92999453 801142177 735662625 445397759 509454431 883508937 676465713 564308617 783211841 359555073 469209327 436119499 754065211 584897669 727654953 197253237 167253933 827417017 458795027 95483617 133189345 157881383 733080139 274496781 607206153 476049541 232625365 992227231 215969599 576580267 500253985 253079269 917630083 38053021 21329667 991004123 64151229 357489545 562299831 546744605 950320577 783557823 355918563 635324915 40222789 368299195 449389461 377731403 506406637 131396641 160717121 314288829 18664771 942844605 459567303 749115273 181469877 209096833 150159209 946476439 536602525 699703431 485943253 325917813 421511743 68887573 471770913 863694937 255167937 320712083 456349131 607568675 695811895 631607193 925224117 947281757 97034903 13166045 392557617 523373363 495662533 61805639 492103921 672544637 917701001 408521181 259544849 947164859 841200789 783620055 416243483 895010835 886186115 957348495 15585015 671082581 127602897 832567941 371325183 880420601 61818859 34288489 560678637 893227293 378826787 155988749 706979047 331333769 438297775 698278505 185671803 780223661 556397747 500038821 716593565 233209759 211945527 2462729 867980203 950681885 953147181 624274697 100600939 715146641 287146095 511271743 652636937 267282697 389927099 877082737 699232027 2085947 443258301 265881993 159603101 107414921 410553093 79972763 541973495 631693305 377840399 14673633 448611059 628744761 93045817 812120509 798091209 443875235 981189069 603633085 77807891 425591603 282208507 658099349 748992985 125390481 294487009 76434715 188030089 178967823 813408891 436459609 924477941 679472801 207612853 335733365 875880029 224952553 559716447 60885443 589922917 258248235 11495475 527312321 583768601 316419161 144636115 439677457 344739313 202782729 836965575 22182781 656853449 364206459 505415297 604361979 364713447 510583189 646644569 34979 198726647 929297127 727936657 405309113 652674063 741782697 563551827 738445993 511699371 780537785 681074351 939284999 322393265 321736095 49327263 754075021 456620143 217161611 451184901 695232543 401019547 892591441 171004841 880050121 923094607 306192501 187188795 773887675 606990099 308626715 823834455 657748051 656253907 167456531 237297021 967455253 511280613 702508243 779424279 58231977 795395079 170432637 894377589 743765733 805287261 46078165 452927185 305312963 305250419 284122191 757545805 282649703 624044609 544925181 923442417 54383389 322935075 803557025 268332717 518573143 41838557 395436451 328003165 930773167 380707999 808418831 594708929 507214571 226750971 218596767 612199811 891421427 953074673 491097011 540935219 900970205 832474853 163875919 142886731 926108645 671318693 781774629 176274475 865244011 72647527 954592395 459483423 877829117 865760453 242712705 47318101 281111627 19889351 13401005 67332841 876573237 693589721 361610847 580483035 660142523 677574865 664794511 550514965 801759753 254373355 272030171 562646117 519678577 94687693 247404683 512576137 853972847 279459207 417257615 494491681 513036713 115200649 557584763 316524211 878427879 603683253 118432915 658111925 912839965 828713037 923125691 731708283 872057701 142055681 681696385 377999435 213149445 43725027 835056929 830536013 153426023 955872371 662979447 880679823 100377119 394490005 14619145 556845839 660147685 828428693 461440265 506621867 840598945 879167531 430818127 153118767 454120027 703347829 904117591 805315401 26849607 738466035 744970313 944012949 714588865 28237207 644044023 101110163 45905739 419508917 805215957 169523883 215186065 355447305 757954307 371355185 139034727 116784569 40086347 16678235 500624325 480642387 860949785 797599055 38216147 857310413 182181509 364432913 940479193 426119041 198331725 229942165 242643789 686910775 149956571 154115253 247532741 915345693 899409983 220887599 712157963 941927109 654591275 342392753 143153925 74336557 762234115 67077319 457619401 312116157 621686989 605530607 543480721 162803009 830792505 60542343 665056449 69806315 40656285 461477081 546427619 723544413 764664567 124869399 920075179 842693531 289909489 166203995 80438775 58462735 527430361 182517923 838513861 594557331 8970405 824896731 567312963 515529825 706246647 581445589 127561925 146976543 50469651 335981383 282276805 296796123 73948139 987528405 503478503 487572745 194707223 136677129 880236791 334147209 656292563 629854799 955661031 851060379 139882503 895969287 32596177 478604531 719888709 461148013 887752953 795067295 893000129 851669165 921965261 792123427 512272475 580437977 830398429 288719455 977795741 615292903 363181797 637801381 285387185 506813883 930971339 445668261 134573427 603943197 486340501 248108417 267888993 97244607 24227707 468550331 667089313 430633017 574815701 783376451 857211395 550567695 77018153 518785899 971555071 186826151 762005281 746404595 457926323 757402451 451621775 284450303 415833575 183080525 917683057 588209949 281286921 873678007 144476391 558024001 319384371 702517145 581330751 506698953 439985953 129610725 166117865 317305467 525267517 558058867 403766149 723405441 510535061 808174085 409599187 787687285 132768991 662599237 276251071 249108305 554398077 403657413 600105051 256590461 903745909 774834427 70026213 562405571 943240309 578920009 862826941 427317849 849063125 788699387 501279857 936321759 9553045 491745601 529278643 909628503 642362971 124143667 882518111 889477679 507038841 603322067 886585207 353770557 321463267 252437771 600705319 999468479 688472377 404571307 711434435 441435225 418693061 961059949 240685253 133750551 837990513 409575667 760178127 193942385 922334425 818608069 536265135 876528707 816717883 519200851 336408151 782232275 472927357 872576761 215090915 152366539 372203311 422610935 595887767 226320453 607558793 26619511 712713179 471648955 22745193 249467273 620672323 324909587 401315159 250990887 212723853 719053979 209841537 386653491 59992475 602604807 67549121 730424435 278274935 294889335 422276243 1043357 426086231 541885549 510487329 772992583 566421907 168937943 218286137 398174195 4346543 36487179 322890577 536002315 644807257 796135109 254247819 777305565 662677599 260692013 908981931 141725095 54438851 672218061 32433699 874940297 436662179 982448541 622667787 497913225 887774283 456880887 15883807 659809181 531457583 388639653 335621319 949333659 388431085 40124111 552344595 503344453 307961923 394953743 70605499 259040579 758804769 468168799 376527135 598778921 864929431 756600613 757879363 739569775 98005217 902428973 499823321 412283509 570330723 274489263 935071799 269534087 558215337 397482823 975672667 91499219 229302627 592627963 839118319 329464949 619556209 478378807 576901953 819733611 291959761 365856977 279842121 75027875 939451571 656043013 830703013 378589931 580542567 532908411 227917469 563030523 171881579 896387901 698318879 780232825 769229919 400713665 548973253 476188905 443952913 561828071 352552651 966247871 630911345 945877233 563515675 603662933 109346207 367122317 277255233 805200363 402626011 84777169 74423161 49763497 137879441 450382395 974087581 209344675 866985555 308285871 566680633 51452111 567404765 57216633 349732473 600113681 333469205 570800721 869518389 18534963 666487811 389502035 922120941 109911267 660766427 909494789 942208201 902581435 259075063 856781395 563360661 138814527 177105117 841907345 248763851 40462549 166347831 363470207 261368713 735049169 412557017 667083841 750687639 158012265 122339517 835142501 129502821 766419905 276788741 423149537 968483593 942691299 769939455 842489359 809668675 872554685 924273693 316764343 891383161 206744617 47432955 31800837 976314811 188894699 634921819 671691407 747587263 870399657 640603433 329018963 725279719 163139317 944342649 736822195 412345145 570926667 207673989 156782209 762772579 302322185 512604849 950773997 247140799 870685817 388639111 829804697 709022025 622231501 860803003 508282759 591749547 53751581 249024297 562592039 58310963 59817325 917774803 304325963 800613591 853365923 786672359 837859123 196059449 348813457 673210805 905729667 819353501 542664177 441155257 907765321 621796597 362794341 393768599 110522873 773761239 715325557 622149401 56013937 221000323 521410707 120012851 66069239 248291809 889642519 131333889 466822711 933478013 97443653 512352455 125412679 142840465 731203907 70795757 802142371 743845371 25208099 202213129 378490163 642879299 404612831 974809047 760920385 740678809 470061145 859447351 383210883 875065555 619237977 261778741 306047001 811047535 682105745 574185991 420257669 892200087 535631257 693425925 943359925 794441241 768997363 786459829 909314305 416817773 624280329 525628607 579213089 466980017 711761195 383770873 605459519 446442669 804235155 26480735 186455527 235923919 196150115 14047249 218032653 93788207 211474083 879052381 253667855 486340495 571400517 93456307 59548593 811898961 526533665 291494835 195937315 802848393 525217273 556509723 256037113 166631659 561080951 244607963 394732847 442998233 60992299 755632645 296678955 183842391 419804303 548181713 33110715 918021399 599296771 345510053 595706387 311935343 774620627 348700429 84937427 475022431 767675951 200531387 211091453 983188879 40905263 359045003 872983039 239054923 502491093 771618175 437291439 158838925 569388553 534307779 138480969 699815411 437253535 538765993 563656053 368356037 568460879 188784047 749220925 372459763 286435771 113203317 332182553 167503635 563780715 477974473 268407013 172671331 935869647 475905181 720436965 351419085 639259203 362941197 174822857 919394783 125573127 148260187 272678307 715101137 494200901 397644019 845605875 855178113 455429387 624085865 930365597 540538997 660626775 871101303 140724975 53678561 59601417 527053311 851782813 875239319 192719079 620901135 728464581 261724953 981717415 910081755 719368941 162213007 240631005 220202169 170878465 767981511 866070287 10133555 453867351 54207287 620716453 541624303 434298795 998361343 906488303 267847363 556370981 407298537 668244005 255914153 773335887 312743009 897078381 763646405 511109665 167014271 290605515 405240161 544112885 747440131 789904181 131044081 218420883 51721555 385341055 658091281 697762601 274030207 138620783 209363077 772721993 174591295 720323243 525802805 585947379 718596339 129251015 781900599 360529547 220201887 428558139 367252933 881180125 664252659 902301031 176375363 250443041 801048393 412704661 470254909 203656179 338527391 537086457 814604643 473096281 758175129 370340263 500129939 568023487 879889547 969889189 554173649 355099129 877554795 883579865 500669765 222487111 127473111 435498519 927471941 859036751 815134231 492296469 357147469 748767003 913432089 402495865 714693629 30354465 251001205 532313287 720340257 332717119 692218219 229973107 674765487 417604283 514635747 329090773 141905345 585731651 124701803 951097393 4592535 358053865 277108537 149226413 948166305 107269675 438138925 879755357 274919279 941443569 168350673 569044023 590951359 980604293 769840209 138940191 227652465 821753759 988010629 525434335 134208403 389114971 994969837 877642533 161504597 939814461 415873711 490428555 993739543 236705077 397311131 499966867 969342297 486287767 665301545 693891241 938593223 182596381 445967991 466251801 987377715 710825971 267428173 773436703 183133595 230855583 848818715 455982813 458026783 432367645 627164405 430392667 989277965 1905349 196369311 391487115 771710423 714782047 53366397 696860999 21887257 324156695 921142687 32282701 967960725 755630977 171805627 421937993 781634871 379694495 898651955 667422669 201603089 626453201 397957389 330859599 412215137 862820329 42954743 949569843 135857033 337118231 581327689 791803841 188491795 4908541 772720133 865097001 126907571 192266909 715243469 833022857 972171845 628793445 579413493 304288989 41285579 90830893 368034929 526961169 611992945 986376751 988032737 351584245 320211851 355120399 814424463 895055427 853407635 132958431 484365415 197998237 910197549 254204433 366395393 433921931 967074083 505501827 759101597 435927935 895214185 348031099 206292769 166229969 343224091 113310117 7578141 853612995 983308155 142373909 68323017 308816767 522778359 289198923 998590979 792838933 874892575 515801901 715366227 952211327 237992111 676526341 74941417 449605535 214587531 516326025 95451545 460820285 248586941 529170649 681661415 235572745 548493177 310381431 479059191 601091231 546853405 903062865 858731159 961721217 918589479 378692541 613467971 926150163 488907847 827527545 539843863 245926315 626726221 527971239 336367833 90365569 934532917 380952281 109981437 74238135 726356515 156246529 704455829 941135701 91365217 478165371 712304739 230340939 503342693 293461521 577367503 383700597 842122695 32295915 96122853 346128019 827574861 316065187 820765279 5206095 351640033 577430323 44203165 27543097 288692373 496959745 852915363 921126347 197233573 763905755 87720995 129198693 174855797 317181173 646473075 517497427 84624273 906832621 989963923 911207875 69279659 14686409 623259689 495179729 268535965 353399797 990088837 230418301 453622381 92303943 169911455 79932593 412359749 747476733 960209173 581712701 997778295 783878585 25051439 310801881 248248449 45855627 882850269 163540267 881217027 349522921 206850739 513387191 155871179 97763759 445675253 685165043 329407947 744639009 181746309 413996853 687679775 371741677 388590327 468497085 885557001 823183915 151051905 42010041 635259893 89157971 179860737 80511799 647620725 570402895 811773 912254767 523913287 457611627 817252519 251318663 402664779 961795419 826546903 600695043 664513679 28158525 360957449 5360727 699624773 777844375 620419941 562849053 875191753 647216725 675867069 574560981 687982749 17350091 710119557 970819559 843110765 985261243 173722333 278557351 49078285 947213125 428185743 973916235 109882743 564166905 60705541 696470521 724587215 364693453 719806555 696584117 402078303 368976667 67246159 801614195 387173019 710737067 249148231 547323917 975480095 958690729 501244755 656315457 952029101 114741163 379624235 622635965 728909617 269771183 894596909 535848973 892859071 259746073 851500129 175026607 607421585 541226165 105660279 728302849 977151243 134600123 296018371 462340429 125123511 46374087 712493129 391523269 431328331 951599325 433540781 315346051 171576223 964099181 569081917 774558597 464827063 899371083 881884917 492917689 652747713 824838323 574870129 550513643 262031629 277089355 101777655 361459671 795725847 87744801 994985593 563096863 144117891 498332585 116041103 967916109 184556315 174577089 28652661 360207823 662395093 812634031 834945555 886357247 41325513 815893791 587497723 767944479 803670077 177570855 341159521 662225499 751988633 412730949 461477157 462101183 933302643 697400667 192677071 162817351 809750663 575040185 526499471 562115285 238611893 493132821 376437819 133539633 788297995 145762955 551760723 852243981 491109049 85292959 809576957 218189315 625254943 541856321 446408713 523075985 171627195 451979715 925153775 530674723 77672765 722920165 380925389 775361289 459261557 687703755 262509675 597473919 242722913 358233089 553016375 291968161 66164001 323715967 315031627 193301629 481744899 232434595 377370979 129945859 7451257 684007725 343888105 246893579 973796125 699709007 409390571 915872601 733950645 979726237 857080863 613877649 517913899 710851347 724658407 460526411 659803283 326042903 89352777 179301883 345057317 254971257 345659379 121924357 88056649 832910441 974425149 355798191 850625671 799930761 839788327 896313135 271381651 523129563 280742231 235981723 356745543 497606093 570112799 624283381 294020779 425331253 940565875 205980455 51795429 958340433 104456947 830661633 325320777 135253701 302426343 595018815 354052693 457968541 623660095 466271869 232567979 906907985 968532625 237590601 30700821 454433469 39434013 634279699 362563975 47955749 394602953 214270259 217540381 989589817 543756837 191397099 106983705 410294797 858253929 667898723 480847335 290743325 239274099 550682031 97104923 633571407 748350667 748535751 704858479 532247793 676311455 490970509 821582279 667505847 55067081 365067721 800484397 839387583 611570117 857358635 917245909 823346319 339307709 544154447 564713243 904395539 723380605 623022005 28139139 674593185 146831233 127743687 718206389 138590199 777567717 373997269 652017799 966930487 551892591 937860377 860614643 117684723 146621073 564232883 660231965 36137755 582385249 509376943 300051535 162560273 173211551 650735611 710679039 684811159 651842739 541447283 316032453 663163869 812555689 505022935 827021671 417158005 677627707 500584911 186230221 153516895 26241993 942420975 529552909 922978047 701256279 91365039 271246433 768357155 670896023 915862639 163578157 186438399 713399517 834573435 126772733 161166641 942107437 522124289 325666435 15590079 669990443 783331101 668868505 297736725 641540391 399943631 844382789 7256585 80867353 978881279 955027119 479520983 203246239 451400065 20034863 169258277 470693121 854311693 105075515 153757953 959757101 75785027 647210105 548465889 989914557 843573933 572640693 650017439 752499437 129641405 810297825 790173315 778351015 707995597 695618839 517458491 918062711 643769373 515380125 844377561 154855577 501472981 253661916 611139805 745287911 871152649 850974313 919537963 865974509 154732207 297992959 546205711 343445463 84155821 511165311 222102337 859038077 598608583 656739831 925948893 796732767 527664561 91312793 429265767 83743139 11193093 462789825 767290063 295665179 542479169 509814769 601419113 292354875 675166161 956373717 132011505 170566947 342537223 473282623 293733261 914447003 389369371 724374573 886490315 288777747 421297709 823102657 729991839 45597857 235133767 987771717 996283241 919412485 430414939 877982509 274461163 810968741 387469121 706874645 25249875 803913361 539709885 12186559 731748663 588160639 401618549 132945687 345869459 347324881 866382845 109490481 60437711 832107149 419823563 456249157 166729653 665167457 393778499 463945915 940422525 399126951 383241389 324968987 234543043 57402971 760313915 727784987 62379659 170133287 597105413 795541651 531802949 886614617 392220175 352449927 134506947 345929959 641917759 16403491 481520965 926312817 461362279 669948347 718451055 44296513 779582019 613639369 568317775 92874051 998957423 615540721 942006873 47247631 310670201 897113341 937636715 286950373 1056721 90992099 609337291 550565803 895813841 570443707 514112037 400872947 317353655 358371785 41607055 317424881 141108399 463894139 437433477 58569861 491458505 940863073 710862829 272323383 188684799 575528247 376589333 635927351 359265075 420030177 5727667 240531291 83892781 188507753 510017249 492640289 153909151 553201413 717524521 650236083 3150625 158663437 48868723 146713567 571655733 103779079 90978583 156001565 33989445 732464797 454905555 598932875 154337441 128709537 334511819 943134961 832169349 649092879 143755915 125388477 334577933 558777355 499669515 199483655 763579207 674972385 834086055 443758993 365279267 481908227 307130405 357250749 930225273 247563531 64055217 57170079 153007371 630930879 206654175 128296427 309319043 730833673 301957295 42848003 699473265 301326331 93887623 766457579 614414159 428639441 237806897 517524053 660024703 428485617 750761443 804523671 283035463 860213987 792114491 783825585 318067677 870135131 473151551 780741707 550099799 754639411 102359387 264503985 893861303 480620145 600598373 187775965 823551975 516770879 598813339 411080557 946647223 329455087 682892705 286061481 955215329 629643007 113899651 518678657 607449861 391396113 220718009 847008907 654830255 802713839 617334047 265734149 101485901 501523341 168286969 692170713 985306171 823971589 704650487 822986901 31708345 513961885 820612907 195017073 39542513 56576193 769471765 214878027 322965747 869569023 727721113 324346281 397843383 823371287 404105989 306199999 570674723 742300139 646179853 748453215 229172731 131008901 546638031 94111755 194466549 781911833 119041745 176278507 157157287 73962499 741353215 905900237 760580753 121033157 865757359 551952679 336755489 592567051 668798621 882412825 92148901 276173481 175673329 265132909 572938583 742480025 288218421 707981967 800150871 936761087 73949535 228530071 769759151 951406373 740518095 969428293 761497427 299431041 829196359 922646271 23521303 744419243 175862773 545155029 965437377 954057575 393035377 262483839 310664953 524298657 42690995 584127323 781412941 221883501 733410853 278328691 655937339 926145799 221632915 307579761 496815393 810298573 174976049 718778801 893257803 293531217 974929821 777155119 947568359 713321537 635728347 744090005 739155471 775584381 836997723 779202609 969486535 284901123 521278705 366655227 803679989 464515331 826446553 255136401 210688621 682026957 781553593 352322105 224288231 304946653 409821855 982253287 396113923 6680535 685756161 728109101 425328203 886373255 153289145 575522637 406326833 831659743 761370639 51991087 171878415 463812857 193578159 266124895 731976227 160372507 690145455 100683289 423576473 390618029 934538893 686032695 169900931 464343879 254013229 377942597 70716887 985812895 534091483 378096495 653635193 443253915 223649871 756063629 279410227 44913479 979024293 894814493 81292723 844851925 441948513 874246987 904123027 931354527 722838387 47355105 113149015 167659051 941234221 521276761 64941413 412292643 887712079 543163857 506314255 471987547 444136701 12149265 532884881 277099211 675284165 178720649 408045833 544304539 509248667 919532109 261085313 157848083 693868509 142103073 856643563 689908391 68428881 336627049 393247 271662321 218587427 701613621 752345055 420921015 590300649 987126587 398365909 980217059 605768609 788162781 965730963 435068553 582428077 101528097 826061199 554875875 802427101 919033781 45776941 993823571 699322983 775635697 609990069 460622951 513303269 663434967 77219673 785268433 53934945 545155849 674066737 588908397 119570499 230371035 95848255 675302717 847021667 10410049 600997485 555160687 271772671 18799323 225609611 593997137 962379195 395350259 673505365 506146659 402973605 795656821 794972263 118610503 612203057 919202297 13285455 235721927 953547581 67226045 639500925 525854679 125538573 185847981 269984841 633810835 405438801 210546003 940239093 743793215 895152157 630714089 935223979 256883011 965169901 30103117 988435323 79088693 188579239 230278919 107331167 435331535 822595993 229418565 941973049 131558133 768152697 963544545 826108625 25892785 29005153 326498137 362756057 5847609 982167001 376078033 509139433 454172645 176395471 990617629 633197443 83680313 26021269 835385779 280043025 262985699 257517801 704211377 515281635 494490035 265156083 641442525 820491827 118507429 298579773 175328171 832319009 845255133 155595711 979154221 937073593 763020199 747072469 952530981 187586025 835201651 25699395 96496633 210940557 138275041 449749305 70506939 767485797 870510511 895545675 663208223 839638811 548189389 704900213 809487751 517336127 429452363 769808669 159846135 807975499 609447271 374931729 457886497 587676831 875219841 882512517 795941979 975785351 1552679 695450391 57047717 479908659 642499337 929382605 749826725 908804793 315673351 27883795 522747563 830094111 245892897 859570623 706978735 124868173 621835905 642840589 363700303 471316499 450197631 333000101 221692883 896534315 13407633 487432081 898176809 528069685 991639135 931503433 120469995 121100989 658398383 69647271 206179671 126722609 409986681 279436789 535540049 261773549 24107223 305973979 488971629 575648559 420697867 370701169 204247009 102028837 458197377 530747957 812192393 149132509 741971659 345572363 105613297 268388177 544452263 149784385 449105989 518791521 385866999 70620299 356711007 569853399 704619205 197025799 821301947 602095973 868860741 661103161 456995457 339601829 727041235 930847505 579992195 287466519 952987121 61471459 671560757 93005091 554552907 503696235 319645367 945352477 711933363 594058449 823467475 850248509 766544679 158728351 504489715 831940771 889608649 270666955 435845171 189344089 27956195 106038965 505441105 682990929 301609961 841982495 95017651 475455333 229664119 546324023 836581481 820465749 232038993 555141267 804171563 475694025 960026463 599378481 678889303 26038611 158764983 898656371 765000693 834896751 474015123 658447403 193074613 873273979 921731927 903466635 25996267 551900609 992856205 270197297 381733275 33771635 759557865 639937057 747590249 350929067 509647687 324659403 365774755 842018407 836731563 315656449 600799045 843586197 115517757 939872003 42857195 994863617 647490387 571684725 231919835 473361001 211051111 725620837 778001671 383276907 377839133 110960713 32416263 625645969 581395265 137253627 380667927 223640397 264105667 812968131 231786015 568571895 101338307 719684941 682475185 793519827 246751615 308702383 635125505 284963335 640293479 526551653 624287727 164575653 768576267 281853015 840302339 516041385 472738855 827946447 860450157 515956719 188101279 153219205 667403523 516482375 836700799 663175059 539382085 138188891 533757433 887954051 874604121 306638795 246202983 18452541 836276239 323162131 623980879 793537563 527360735 895304863 593146715 424867541 396666087 510550719 543763805 714561941 913967343 181743279 724110161 373928679 629357925 319198347 535554909 936320447 767605603 793097057 42151623 300482171 388320165 101388321 777422599 2325985 703877525 401096867 638884535 746685981 123968065 97759915 552943769 562818501 467021151 463538399 220711577 685787861 653221457 733149649 73259721 516626867 50803483 242076923 119703143 312993837 155443569 690927039 513352403 31636601 377669541 696250981 444085403 603636273 579253177 514324253 828493937 790932829 358657107 900961539 414616113 688618347 795131333 872772889 810143197 653980205 886339331 365272899 463881889 413084897 260413101 632499033 31946193 884275503 421511179 499972111 406004709 737730595 789782541 262617607 945043845 753596721 877399625 493910733 272217721 966094133 463858175 315836881 70704821 699272569 941468949 650746219 477411157 721822375 683303195 206490077 826997659 669514195 619404873 610912849 161380341 535034749 673420413 40068055 448239345 170108555 808373311 673120361 789867087 900983109 488842685 105059815 10813937 628201575 442778065 181055773 12232929 245896201 940770551 905679033 260670549 859194035 898572377 746382423 799014565 698117201 504518339 370384247 410088021 30081849 168521137 427354755 493799697 279643431 492127805 112109003 179210925 201737283 754254387 22232713 837937699 830141975 652364543 820975581 236469911 151099547 54743737 574488019 364713045 934762283 404177697 910667865 224787405 141805963 271119519 764843595 942912157 598085867 697582911 161824873 749727369 240565469 612948923 653789275 685841017 376612961 276544625 213032373 207966083 645610203 888807019 845504751 598134755 562383129 580064339 879882857 541794297 327516751 599236485 144306543 100750673 600797979 322398463 239510319 860405153 454407297 116258919 43208645 245790145 423145201 540621069 554997553 23603383 737016127 724632809 308334683 992975021 305383849 962084761 497170455 821404149 637187281 481511269 178289693 90249739 600177863 307388987 832455181 78902421 717768705 7643317 226208881 488182873 838557273 602567439 800753085 305168975 722868247 388280883 186683717 181876369 177993959 113978541 13173327 536128353 172905697 556370361 681340161 692003369 494088573 534281265 794277743 7012481 97452197 885372833 63392401 912803615 416779173 202037045 146716487 978983659 818409521 437295813 983745883 946246637 682510183 93899217 854081663 916216409 858061003 499539071 746568013 13479305 952827725 634914977 40212035 927966467 332352063 827785899 419651279 728182641 178616931 745677501 520906813 978315175 838542041 538304415 143175883 778838429 530905137 93174721 307921559 663989115 368953183 127493177 522094251 876740233 466727105 189481413 620703737 437393979 119067421 171469775 122390617 806754093 328790175 911913317 823331215 949620257 179262429 935615551 33878593 145977091 161378005 959247803 213082883 684371431 662113771 281181665 342046027 538864135 203257579 3524191 896997501 170369735 702009357 634226575 197999329 93620401 576996587 290375021 425540265 904026233 229352847 805368483 605639917 719490555 756661601 248218493 523399857 179552057 681067579 326743287 610874331 835598689 990052695 355807147 20701757 554257345 57033819 715950309 645339795 97476825 228556883 161087889 403875707 80824651 217823417 647038279 505476735 836158179 843204709 667729735 414288143 566998417 59660957 634133367 962213257 808658547 93090321 856982889 399188009 77055693 385422293 769695569 641575450 445240583 258975845 148333327 49172079 285849527 424274089 304649003 691431713 369140887 495605995 461876693 730174477 100211083 918181347 58939875 494209025 350053791 339654571 725926867 648296877 135288323 194304203 312074959 519560873 99162903 471574321 393903525 45208183 319551321 775747375 638186445 122457473 835043449 793913989 77699685 994518553 942245447 68062549 766680373 493382517 620822975 528040753 68556203 74833591 485961735 849936395 17367519 247307243 476702053 277002049 314811283 450729729 764201041 523680407 327869225 636431057 950309989 706137917 222624437 338221085 38338913 827729095 502299371 763316879 811585077 204731953 527581229 104197559 738421745 826944737 309501311 609817103 259955411 913613733 995804563 29744121 664045883 336415155 373152191 467526331 67375799 174364069 363735811 521641355 746242809 881978499 923092229 598981759 293268701 12570297 659050775 184558489 963973475 814090525 861261613 290569667 262159547 312417261 400126695 381934029 397976887 907928011 295254157 15428977 736878671 224883913 909916175 830259279 99578283 664078167 739274755 335853299 823775763 29652311 794890919 494134219 957622907 218466573 986653925 663622707 899008255 493442595 704943435 666699115 982592993 102450355 525518097 43123613 595805837 160013879 842774805 748607193 891587735 356987541 400041693 934095385 542800055 579280665 60960157 514089021 522028501 481744765 564147495 588241169 17725433 921947865 933178109 498665539 81822551 144819379 330945863 11253871 267183947 248323579 31910865 890007573 320457561 788024837 779772183 6316701 221375017 368231311 760288051 908437339 841953937 352364987 43449585 47144583 611792523 830040857 693406909 551750209 606572089 198930591 896908207 943043477 634219755 221886121 534018695 260936561 205839887 537560059 468783275 469533105 20604483 298988227 674952491 689118739 70151241 912715159 53382591 608746821 857778703 388625013 144441285 669539795 232128421 876031937 844294981 117363003 408244295 935240521 469692399 463728347 730220377 194040129 680622105 480247039 693104997 145829703 240541633 654149077 280867617 4934495 389109137 889230457 276485733 370021113 259584471 485839849 27433271 349093865 325650827 444673555 50332863 178892651 85611851 87622339 412446803 985013029 532516957 98733751 581029487 919773733 500018101 591633037 590794163 482064351 980093669 784483279 687713771 543250227 511976239 518496751 361812237 509554019 451427963 734828359 240988209 963768093 291342933 224493077 385258653 607301495 14363897 100973959 732290747 624760559 431193153 849803945 566611229 435534951 725499577 567636857 338393471 823155761 846368395 487288789 985029063 114692863 93074069 378487943 260258043 353259757 521918799 142006337 46883411 414041221 454970855 370497691 149317161 940869551 35221799 859417 430811391 259878597 291590793 241408033 951181953 106826113 598001963 466513925 439334529 694027273 887276757 854563329 583604221 973038571 670689527 271699763 207628821 236988699 748834213 715482021 329814807 790007543 65637027 201771337 635772789 294704965 681985109 262608119 300451531 394254641 134788299 695909745 310053083 428975185 693827259 670683233 280602257 851028897 370509959 795128665 703895295 18651273 646588213 804927695 730029155 142121939 920014195 703566119 417179935 217253047 298938009 209478569 574912189 211402191 658406823 524078471 121788657 938984483 784904773 944242393 898715287 702117409 180084161 326350753 524686001 480542875 315162641 10779849 765585771 566908369 374600917 663911715 987142937 312407143 607228503 460665445 535174965 620711529 495728769 180635699 627264865 283358799 425296881 870937875 565415021 2896885 952298207 774356859 447676231 585140129 81812025 657898177 776969741 460037887 569875081 648229927 676500737 591997477 668709129 256421335 404922769 657369743 394321559 93151715 358795083 994667555 363604155 740592449 208338159 515222575 816955555 816020179 872306527 662891111 463497769 16499813 172808359 656206827 846562505 339046823 799363831 272523325 453883565 360053553 618124205 973262411 186231203 435178885 325315661 476537195 660735523 116649485 666265471 145264731 765185611 110134809 317278745 824158783 82124513 212380643 831566871 371508643 710534743 322055051 177593241 111914367 627602373 72457757 671956971 245154351 472377319 893806729 621311107 231010423 689941029 84583591 59154937 541650567 748182417 145283129 781526291 930604273 449971167 443765223 349272505 746702773 121191025 408645 285940227 639714103 796931403 784080587 309417767 50362181 115111967 543995611 685959307 430801427 234946371 48269499 633756859 91308353 43798711 577955489 639120489 800118993 63322913 276050851 941854575 498475569 918339793 778096833 294544339 817638197 553407167 416122857 941046463 95879967 390109065 93516009 11964293 373399951 302826615 533336699 390128291 372818839 208228983 153731903 17674425 755004583 422344483 747083969 273041301 141300641 393276855 491264111 836608809 299922375 706561053 184135333 977546895 308589513 173295587 569864099 967089421 226560185 545932097 503665809 595882765 147115287 469086227 471638659 501888291 813244871 257307365 171726193 733752585 195728149 564778467 517347643 536942241 253766585 317550055 969004715 444899065 413432271 980501869 806020725 337713475 298741213 550116253 346668077 128616411 944986575 590557513 803219289 562801475 605269499 532784101 841753183 374990119 760655901 318462097 868922771 358143835 613353051 155721493 493147693 184618201 206800963 102100193 224916301 221271235 505244619 38108683 504358141 980530025 654275149 850922579 948385583 652924217 914324369 574425119 363113149 681163217 898364613 371260799 850096231 257500915 18543995 473497899 978549717 25281931 375848113 239356289 677483675 777835693 128048591 685474697 5978927 739158675 859474849 875684851 988186101 838482337 68691801 262607379 794336823 424128353 413489561 452672749 827947811 692856713 213207909 641069091 570408147 947107057 352730919 846135561 343292235 840916125 831419833 523576725 117184881 796093627 866302805 577621859 806680087 508456859 631984289 936519871 965374713 398028985 189049771 198114197 343332789 408139705 420276967 498888319 466000597 458229093 224082997 975029177 707543755 412699315 560097749 253415467 462733039 398332347 994006393 396233829 258541189 967499971 518750005 305099681 182830003 820846387 490577031 409372345 641804427 424551585 935252817 818829111 481767433 744073673 717427429 54825547 256070923 214639499 623794931 264546251 331570011 241689075 504271005 956229943 76087979 566351671 987102565 307333301 789466515 496209071 419727419 931339797 654923925 715770337 626982001 111939023 146197787 834348407 912145607 196733441 199830647 965798467 942145633 781477235 915028703 695026243 17962445 560814739 425504375 980317591 245398015 575949947 543488071 224897933 587105621 10909671 97163071 813389207 624456851 983501889 944828733 408759887 833170921 850748055 580084733 30158971 732572139 238494367 539848747 782529541 285650069 374841275 681051735 93612799 296390223 781771759 815151099 241145511 51355363 125116141 748532345 610065503 36356743 710874381 14942233 946026161 36301531 929323595 101024011 899217489 988413409 195627855 976346733 49288985 243948295 970015851 936283963 471384335 877980707 965876883 170667873 979046749 339247731 782535783 842973359 897048407 729913755 762089775 819866079 56322423 50191015 72311771 483881873 591621727 47861519 63285761 964790609 557913053 332076463 853124833 592996495 262480357 363764685 596345441 142315939 800461711 293797907 32512017 209645263 766754335 235738011 280507945 49249085 847573505 951379167 234295943 931890685 31768009 148271813 919732145 161159433 778336561 475779483 684381659 667424833 314171931 192040981 448593879 796351089 83469207 188215379 985611305 586700359 370095315 499675351 672607733 692194655 247421997 196856719 325519881 374484793 282141223 985518289 60373473 49032255 988026991 368684633 939770007 488822977 364221653 470817871 77081079 643342329 589836885 461615677 159975789 94215943 614132755 437216795 858133777 884574199 714493529 149307203 337236643 412377783 578958749 482722175 481339531 744640035 829569399 774560759 263201493 311021819 781392299 561227845 712282171 77047017 967059239 40081251 422511387 499236219 242798331 62932663 524200575 934433583 255464291 809384205 300426001 437336165 975372995 620206493 804469293 262912611 114390183 965048579 87281873 490308189 373339839 744263237 946673315 55852141 962653675 605912015 83153651 183925395 117337899 764300407 979067833 653483959 414410409 848855161 633997459 288468653 610196667 49523837 986191817 777439533 715770077 154021005 876070729 765638359 728196783 542162207 166252971 910937655 628381951 539419155 455895857 646843323 66917567 751483307 845999293 568884925 703489545 382953365 786097891 445172353 754093347 931219431 108655321 581994797 695908215 687303711 621080955 214073557 722918551 735204897 822519381 302824561 33960257 879265081 103158931 214248673 513786965 626879775 100601357 333642223 504886753 354074351 658714179 559984461 309534743 315487279 873992539 31359893 910327891 30022089 195187495 405400901 3699735 228807959 368689179 909202891 717247503 622550227 627958359 18624627 188324621 357986339 623465123 227740539 618912527 482790293 192169327 315530497 107499573 949472799 772237777 964774415 278687693 549188123 738848391 266449815 419220811 193741905 820582651 925603699 296547653 961583341 325963835 266894689 892213893 970606725 475921919 924615693 317704433 177725207 604840357 552184841 981488797 60225285 702915381 189585611 602186951 871696417 189590621 454452663 923358417 136928411 484900727 759078165 879605061 615318549 879117951 253538583 788642519 45343377 816975391 765787351 23068003 898984831 323033763 313222483 16409837 422532785 131043591 371419767 514994845 458617191 571129829 658694165 999885769 672442693 326281 104014563 511159531 76216153 512064991 861790597 843374759 472983831 697035135 35818371 96119495 753535837 586865321 269584463 349681473 155201393 750731075 878320705 490830637 858042879 962580703 974122907 816921551 618813981 59980209 255360903 698030997 944335431 742378393 732744983 184799503 372736357 557560607 869399105 16934393 298172353 914697843 30330601 415643191 58117137 626530921 929428949 395720915 998441589 805230469 34993083 114564867 329583 772108523 328090161 193534239 29061869 959056235 923878587 215911341 906437959 116682365 494843327 550318165 446142005 924477759 250131343 363446511 422396385 538344823 45412709 885875313 682811863 445542553 737309795 543843329 498333195 296540343 973602959 105883115 308936667 377251219 201551327 26407583 252427531 610614677 479820073 780364221 522173643 55500491 996457775 202636549 995182767 363587563 921729435 556022625 825811891 850611543 124554237 580379625 984986429 25680403 236916431 278288595 276884507 195764433 670615667 792902279 694252929 128166119 691758641 176285835 241123855 356320597 564795705 796816535 153138887 460400577 5650855 707769733 816203287 162414973 323939707 928497751 987446485 597411965 620789663 21009721 515160893 774629473 815167715 20064381 849021431 771940721 871959809 140146081 180416269 620776349 20959641 500612165 945989879 348142457 492666167 338701111 336436625 253028681 481588811 86045033 989076255 996086769 613431851 193739511 755293009 666228737 451726365 433310755 979048505 757450417 438209097 368916569 254606679 147536605 686296767 898091309 283200143 546165777 905353849 891632473 996194095 914713979 417838679 472269759 556345067 169332463 438657573 830938735 97040609 914466287 245519249 163740567 907270807 670349987 25060663 567967381 368669433 59577047 257934743 890097899 543426397 21101831 375264281 834352453 113140351 563693389 292727313 465092727 82669959 222809205 668974519 18051195 302113535 397848811 322525995 901261685 384912863 20665287 22874489 535644335 975060097 749091273 41960335 795638173 276605357 598081111 527919433 717533915 795852177 740286081 6231141 122252077 527369407 523705855 352901521 925015675 86182199 835319855 732511579 825652443 537851229 920812313 493995323 70795655 627333373 792534637 744999573 536146915 199991375 937628801 336380339 563539579 294639855 909418323 762774211 326424063 26921187 893135757 198473441 115610189 68144535 169208701 806956299 748911977 916041951 962662427 717230895 289625213 25175035 756701189 868993305 373376219 330958993 402113153 199327111 204915455 47252907 101139075 324508951 340919693 373393599 540922269 636300115 711907409 303549099 84844305 964383149 485975867 289736373 204804295 987289727 578676075 370717579 672221771 810664969 989561887 41795135 218739673 665454451 6193607 26331983 43124555 424178127 520310515 571104675 148343083 16349465 771260257 608895877 981406121 207059247 608752369 842493357 286243739 713002715 360256177 194659383 853044097 380862159 561717203 715377063 273595523 621173923 634761393 127486957 944862573 837069787 780168145 555869531 588404665 837487837 452083933 579262897 931165829 373715453 940093351 16530197 343245209 277420657 157432109 946976015 713878627 837654877 606307983 246115227 104292605 446190281 77660699 836974097 765369637 440931495 105441859 826260025 156170049 198557647 779333283 71277375 677469535 999734533 460287229 668220087 956789307 136003567 111689277 777978275 880517681 525649439 120516471 124772707 536292937 568679951 54216931 807809737 657713969 876060193 266254569 763063557 491776065 55476125 336431889 868521657 198689401 751810485 685327119 92664551 784136577 581266561 35456959 888507901 237562533 475723267 877151779 610624723 649194465 936338725 5410919 587007393 992281807 918413497 14616287 826556689 355748283 960290421 570147589 524676399 69250703 139673597 340171901 892173935 858837991 824292825 762732049 484624559 27709441 908783737 432202421 844936245 236299715 850089785 838781573 601780395 306146751 159532379 241484741 554160171 233154345 384655621 209902045 783042095 260680417 701192777 502857827 757953183 354274927 138152993 368042513 255182533 715717889 189675885 282098123 688857175 151873137 320344057 838194075 995084917 607593019 995005301 453799863 762336929 328469641 136739449 46930295 320356809 649583913 481828743 215635039 463949635 902635667 370740745 515116829 950807501 474603747 326710607 5061761 740810889 429422821 364789139 937462407 802535433 885721349 133199093 321870675 703931711 18961501 850152577 249952817 139123335 690302889 992162599 208066193 543001771 85780049 219238079 15518483 207544275 215050599 535824651 724202613 677101209 687154847 265469619 444110503 566298359 654328665 116154443 631939001 856134483 578863007 940667211 93112551 805592955 701341469 640628501 78425495 513628579 325115947 769002991 765220943 501859177 61658311 942517775 748707271 312336083 113464733 684377739 38697433 717440333 246197495 3582565 926456965 334452397 207765967 163853189 931176699 681113137 126022851 849977279 868433035 176687483 434464027 894837707 236136371 889749403 438381509 495599689 662376723 415289863 936889947 16830149 237532281 823224219 299783705 996820653 120475607 834705307 887181033 911197277 362795081 854004405 683231833 73282069 535556369 742137345 865089697 679742205 482352795 316339703 520046493 552743977 994614649 468581761 144056281 348618129 932970857 425831659 662496129 224210709 850899019 227621097 875761517 697522049 244208941 10402713 294673951 818596739 190749507 541005185 974043321 426248373 177630435 147480717 61318157 35912347 9112213 241748241 196398997 121708957 491693573 426174671 481818219 25805833 227291393 202278375 156792921 732010781 427924617 351372777 463848655 734510071 177369535 417543369 36463587 653084833 482469101 278926311 962341205 980635407 527188615 540281605 155127691 856059413 70345769 73138001 802206869 591516281 222121365 21131873 43447083 19278817 412939705 552131379 691205035 99451873 563018147 146610475 936208157 219690223 629973395 590858005 55757361 145779055 159589867 262309417 577476667 73959083 933563959 15371011 66879039 329226705 890662951 626212519 454585823 210986235 857052825 209686917 528725615 997540909 355031697 245760625 187951077 604323405 105917495 148522919 415494621 357503023 240281057 349658061 112229027 79975817 175221513 926087409 320889379 48080383 668713299 931166599 438401781 246141465 662925707 446009197 245258585 170654281 359055009 471609577 771631159 568315879 136968371 724297127 59934235 874637879 665203205 69599165 171732033 228838239 877427201 302947497 626426755 778440561 818729529 242252365 547059563 55704937 785486185 744259577 347529513 20003877 34837109 351886691 254110355 987657071 203337577 202145703 347911977 427211513 643332213 972662857 32282385 778233179 982467833 943205431 235097627 692776727 199004277 805639369 680914111 209086871 257909139 4531897 703795995 660957741 45400363 657127213 636048375 486021903 70436659 313261745 706414017 20769889 879334865 621153853 869991827 785545515 333106257 908316717 23337001 341326431 641615397 423241543 928916205 733846485 214822889 388390839 376145645 239282511 901035615 915678739 626386911 470562167 12205937 783963735 283122981 593813213 33365815 824856809 525090499 708339451 385734889 955769241 247321707 167409971 798332905 739426967 105473141 465542093 71142085 86275973 600413405 52806395 121902127 570815589 991557707 849083349 783605763 765160613 984229137 965131101 424755267 465278491 447551523 712704893 407634459 721412613 509140513 573302277 175272157 943777799 379594323 647432623 333563143 163980077 575977897 765006621 755738427 964975343 60158393 206434261 835070787 584412713 140312515 282762061 149605651 489144863 380772781 248263131 352188871 889484161 482352391 181852097 545088673 538670435 392852999 74953257 93080589 926894145 581853327 30349859 394290335 832139009 351486245 579263913 853086225 17735665 650575353 224579227 786916935 305607109 607988191 101288901 654459467 400397467 31377755 880725975 629572945 595036921 196067215 573604969 187517877 568012491 130074959 198716157 246564347 124868711 785249809 178831867 696683467 246579595 22074609 890742199 138107643 30718553 31059387 639624041 171095685 765673059 579252699 515439665 661080461 303858585 792870249 861159451 811296351 712585053 770786853 119599381 21059435 610527089 468849271 725571067 656120399 421745413 846597227 868213133 106685135 305393067 230443707 787088757 997503955 515976291 7490501 700748611 36931185 65109137 221171347 788027247 880421605 255396099 853864399 320186975 85408655 277438189 371040469 74701655 613025275 392010989 267745955 889057677 472694239 960462857 552169183 819230485 22613523 58624685 427961049 535570421 712788893 786667439 672353929 604424981 810644647 834196299 96463757 196834627 790800259 717041191 890423851 355515965 782122925 443212369 850985559 489188257 98076873 766652991 269071011 424725499 90264995 182650315 515810643 206517689 157515565 353857341 793107273 955615799 215959937 226813507 436412697 540816563 48432357 329989871 332874231 436187995 558707907 727645889 824420549 614165563 616707247 297831325 796730121 679831121 3063137 143991503 464584177 285064315 80457665 563970063 405516629 996899971 472482773 243540089 917168309 586512411 394998229 382431121 131621431 737895389 110343451 786332231 360363949 281891401 18705705 383347183 27669387 599236807 319947435 334803269 910022129 81588395 594177139 848290159 470620583 802072619 389758591 834363131 55367965 255035755 162199281 551307485 339955049 194693491 155961107 931023221 294496585 130429749 169858137 80877445 384845351 652865675 877459807 182912315 422414609 806200627 174379239 951576365 314152895 992031705 277096669 377988439 848539023 283848463 253981013 354931233 680916617 353154123 613016457 657759573 496534619 288626929 23431899 188750123 202199903 570848585 637738459 858502975 63728017 350254469 900366647 564567957 224988059 745904319 109498573 740206493 668785609 229564405 10034335 787100457 617138455 953841427 736281561 342115705 719120415 187070955 653468111 426221617 63435821 9104179 924534011 289991263 190283309 818737039 426375681 481733495 841784759 209627271 84673707 349961815 217557003 845228941 130111727 933605957 973113615 83802873 943363045 112554477 189532243 313596173 7897299 461934691 978802703 894641395 775919137 51461161 390078499 636825533 995405413 700710431 410696467 568553313 821345113 605639317 603196177 108302275 712035553 482697281 289871089 878860203 666289161 400299837 177630007 745655753 875083777 566744083 206139143 869911483 309294377 8346795 16057649 61507837 915769343 117343581 263902509 636688891 844401715 782137831 851940377 368030981 323370389 124377197 699525051 727722325 448706337 251057275 567172999 282660877 10347515 845191177 316672399 714690869 835511919 596158579 19411861 521225917 764666095 285759871 612992001 875958145 178608405 561450073 72853217 494671425 9006247 464431765 428257003 151987879 982092431 118148403 717080705 540642371 469315551 526579097 819177639 437194639 540816085 672627345 19670031 596014317 256280017 516560721 272414223 540556197 240288353 130486391 31802279 412771047 501425207 772003081 861930109 896730831 371241005 734883699 482064867 510521181 551330121 117710475 634473933 104821627 85146549 640857231 540723163 428981241 240367045 388805155 432903253 168310417 598642417 728038739 716825387 253797093 498509025 861786775 537191665 762813307 494843997 958696395 253538795 832651465 248247897 428272435 993294077 534722597 373218545 114360957 217872567 388867793 745272423 951526849 301398607 328007925 139557415 641325177 409176743 790491301 276898243 109086859 301137733 478159577 680899065 446071109 105365335 588759665 728737707 256755291 240187063 820500281 950592739 946673899 473004769 265587935 271013333 586254971 819522559 591548927 754338781 129083895 192910813 218646809 282476669 915998389 618742519 378369429 127364707 783555441 504858471 182392519 816325213 833129809 565182969 118082279 46165611 317298405 572324633 222875669 128881327 472419101 259410911 170453853 958802547 995920987 323553545 867345325 705669421 38790497 466760195 3223265 844936053 506634333 57253335 263527609 145285647 312989159 898143807 60303325 294726377 118439927 640302745 900170465 145014803 587944183 852254957 466994491 69505737 553428659 609526507 844522577 810008687 505176415 432325353 367055975 679781263 281054873 604778213 438754225 778789087 46353509 866138505 934213449 995668535 593184819 277921059 382636591 66665883 461413847 665680043 181321803 513381433 879559821 124795581 186663791 220487521 40673787 426608293 379566167 665554319 869413679 881308495 869945249 259597159 894755231 824945237 7300311 316303541 705452069 877392115 183175533 706314091 959695881 153791251 599125431 342887075 359160311 69534273 941798907 711734179 764105989 274138295 738746207 526746325 5726129 960621141 918381813 282106571 634351839 325597599 972372665 125569857 541831387 401052871 251449993 9946141 524465757 391690915 900917039 694725733 937789313 2644403 598294365 473919825 777099467 703868189 608931501 536614715 689323051 600350131 245424797 817994917 182089715 844897513 620133273 410793785 385122275 365907935 614521843 504294095 848060959 710872157 759508705 482394717 179832373 918599633 895734151 308715787 185231385 795259988 174220269 213989665 270840617 869755303 846382085 355819795 745930539 637004331 762527911 268806779 8494923 445684725 399549591 175909151 833255711 611725755 853234043 721620457 408858019 392103899 245916389 27561453 149807167 623610715 477903695 643981157 725395389 795165423 175606555 862655667 378853717 326802409 921713553 190516069 802623393 144439627 656366051 254938927 479700907 942824637 472528937 372231911 900367323 442012043 621977703 29454231 165021449 20556209 28022147 755368293 756844915 168424649 881299535 592411813 977394621 67243293 405817477 370261717 503559157 701405853 917163463 520193943 943533711 124694495 869745821 555923893 520253801 265702179 701004151 311208997 272186567 811556687 965651891 844037887 463863385 40969973 194813581 18416263 822367283 914503495 843126321 836497449 459944401 798613803 646884527 318198649 242957593 451149347 525918465 477203249 252803929 573674847 959710729 847347253 712180807 635559609 547523469 102507665 869182717 805384109 912032579 332120181 571214595 463074405 241206209 988047167 424240965 584687791 67179401 216198771 481846555 374204675 198246405 975722681 734044989 814499197 572700293 938126055 121915605 864411881 975446851 811551991 375353453 410615731 846466145 466521871 62618877 112327413 140911333 40251509 655056609 324253035 895616965 831282849 73748701 201000061 479699159 708570155 706713377 958040381 165359069 254109657 31158337 180346207 633019265 820523411 865353785 982374979 623584339 558793583 878079855 28997107 668447179 688096425 126337457 559032859 800572239 873782945 784116019 317501203 462487333 281470437 487311251 909529 398130557 900057895 810698967 809707033 820217715 230584897 166725739 404821277 605651463 408258873 59369509 657017567 988281121 983467833 493702977 598664189 663010965 265210771 194341223 782616511 834535195 501661379 396788641 513495315 238942035 389565807 806221671 907625363 828206281 959547743 267067283 439675515 151871723 772788359 331498349 979323317 412308501 635796993 596503971 790132431 476957319 864550675 748164423 763336703 533396841 920420391 605407961 284250407 726330831 167777745 55016253 275040461 114460593 84805065 20296897 549009183 496987375 373960183 639280665 618033397 64843861 263459683 652699491 578785999 620127377 931638593 708459299 913616853 710991679 32048621 894635337 636477651 779134429 414829545 314752553 95584581 409376473 110010081 940090751 941490245 733314687 370050729 506801523 268078493 934955021 851620921 636459407 30102717 672076961 206660281 288277449 420131771 826851911 405742193 517606273 937581655 453026029 411503575 41924729 723985655 88449389 897458819 581211615 894746539 780456075 241279033 968508233 768835371 896022509 131908069 560534965 108353493 371528487 856941723 83739781 831449265 716999343 733318805 847791755 986259053 248848619 44869175 886157049 71911523 865011999 556431627 504382573 794060687 553175679 21452485 424573419 777020827 509866275 382387267 877918691 272881621 703794447 795449475 186946855 131655221 74966825 696552883 911821303 844020311 309320773 58443815 616376055 604484231 221432857 121956699 864144949 921445041 742597193 602291439 918318631 995946861 842847069 882446767 44172455 334429947 271194567 165144721 205211645 948678723 704926433 793392557 773950421 765502929 652925417 509466951 471407173 474775775 655739147 343488717 90458313 325268045 289193049 48480207 685962569 923151263 344142537 108520713 409219343 805634567 994974527 554211681 664016851 893171547 174121347 41338077 221491375 29839643 261353799 127663541 195325229 323782509 264882467 943397697 205514293 131430945 679538587 55887623 532649247 457469871 838874133 509367217 402186921 139121205 370025955 633174033 335086071 248689787 2517823 54868005 633454487 586976495 685709899 480406029 972513405 908313259 851302415 858806039 840893191 74257515 776524157 497917109 382100475 977751449 872179309 537119617 671628677 786062145 841209505 439733313 778063929 206089503 404076739 948775135 352713241 523399823 631472483 735591789 381167493 795078039 893250557 400653097 392331853 394200553 349912045 549505907 692427943 222581725 851907457 474762457 203188781 602422639 124916457 6242829 283832039 886097735 196565821 20791019 384389699 86972341 247321471 107715445 774781459 958587315 841802137 191213271 714994581 125787099 865413467 812738149 567280753 440036215 946748799 717638809 147214259 45772663 320943271 910251541 339435727 812050289 6129243 281171111 413472417 498621091 884575243 243281985 343256691 478084857 638450707 767519743 863680239 274493949 864865971 1994021 749818665 46450151 821360405 461480475 609463201 744821401 540673097 584974709 255591739 741470873 482951753 675403505 416605253 705780759 154774263 115533425 606958965 318741991 704793881 485086975 855728869 883999885 809348453 132707793 765329181 534173995 113196913 417529151 757824521 271938709 457685183 905622989 501529599 6525505 712360887 516591913 472783547 981397323 934665901 860067617 788172389 467651455 370157273 766039735 675750535 409927753 533694301 945686793 510207257 267278273 345758271 877790819 416119 42834343 764983157 466330937 667422053 581788769 251857363 683578153 998992915 683414529 200352799 859060209 178150675 233342779 252887041 486597249 116987749 206941295 777537801 522928617 560378989 713070757 48282033 769417829 715744505 313477261 422193241 842808921 889956413 49556861 173535307 410766161 301188311 134013045 382923451 997775613 647741387 171813659 280098237 208833597 712460169 863408319 628579671 696645135 312768229 641710425 512019569 842279075 87210011 175748741 764639705 869144137 830895571 920027279 726852941 697804927 976059927 306737509 939658347 151918821 835874143 470125467 473519551 901569097 590287749 745516405 68708791 947458971 827960017 391850453 55903151 435555067 743799023 866401103 11735269 399844009 460271095 529032471 526997895 514369041 322807137 484565519 238945185 375683269 388059415 296097213 780056113 32170369 531865701 293133135 836830741 455858475 707930879 199051933 432700697 348595659 755347459 475121447 764225771 107430293 828686069 897457427 678248997 31813603 257489093 44007985 23968075 425506875 640258245 737462011 825551811 242072903 964322231 463323019 176854241 294749147 886574267 731162795 84546267 74744817 78868577 314170571 186507733 426588075 613952413 859030785 953949911 221748311 847347405 85978123 727148243 515056487 653315255 592337235 117757347 849667447 242134919 987680743 317684485 480341321 317779411 965447039 273945511 63188169 44731289 664845689 47467541 293706763 364092733 508345309 813397965 8469065 756712075 216487001 742507565 651493095 418092987 737688391 667363711 373163119 175282279 435002019 51829749 868510613 643298457 229309717 232423079 971941429 172339641 884488431 661974167 307436625 133678497 592121125 568295855 360130327 154814347 117449817 118077377 889266135 60297501 661224913 734751107 66671373 647550307 821117563 259470233 183067997 958952917 914740719 242332043 928973969 903748945 562173293 999514315 239621277 252652823 322821339 248522673 750855837 91807193 309189577 278980225 669845461 676226219 676425327 753004129 532932269 557405193 230741677 266127459 545677243 621947099 801378055 865056897 563277499 717825899 444701101 830733981 855741837 318374001 635648377 771558271 631193405 928581127 248027881 760588249 510449409 223149749 517596451 917935427 834604849 65220713 909625079 311936831 150045779 830636917 923091419 443601463 263416335 131160473 581798641 494699131 61598779 490803447 410207231 378746181 543968723 285830433 232666229 339803575 214614007 649692681 486088807 482029529 68126965 455123213 399430039 502142363 235880765 756840945 982627437 198234585 764906607 582806501 219878647 38909781 52182091 632041597 771254763 342167987 868506555 523086005 610972073 671281291 918690263 521755635 533923643 101807185 394276053 256943365 250170701 127839079 94376731 25306913 497138487 497201433 285614133 91123425 651365369 371583125 408927701 163689293 177840953 90321399 717033175 400302289 657206345 873529153 129224765 3981891 339349275 102565207 824722995 395692001 695504213 364718351 445197067 248117837 713513273 488618529 161125955 76573081 272667319 304418863 536000379 916354101 801225833 442176447 679679873 898337795 759625869 94965575 805689671 663193415 610839049 247100957 273329897 365637035 681997677 378659715 489111209 230556489 876471279 715074977 961825779 857030043 797129329 416161419 655061083 119813767 33432697 468352825 473358491 968408409 990435125 914584715 607015317 960712139 853917823 201988685 396893015 713494261 854915027 149310509 218847253 352592989 462860123 882531527 594399015 727091443 225858787 715475611 779285009 648487947 865168101 471047955 626333055 728936547 45172097 233396093 575424581 770799901 380300155 912328215 559886941 258261193 566823749 142038273 588444651 550243933 281792503 17300801 105275449 390928947 94967883 30437835 342580923 987405077 392834479 50688121 924146189 980178731 711755565 567639819 3346163 525434637 752087167 879350313 365683541 187065017 414274819 282227815 973036361 75255443 641334465 17006909 891817993 728922217 862098281 353556491 271428857 891372143 125313873 315878683 517290149 512527425 626969719 668417695 447143869 338606569 157320069 893461937 430464543 247220433 783708361 791336273 837257679 242576079 2562873 508382567 642525173 777845023 857379191 151851463 729070055 795832167 361948361 13593383 572400161 855400117 885004317 503145515 110132547 110843005 75681549 94836829 378896153 790029215 592501973 872260395 833514393 257593693 481722719 300450543 758482909 642746469 964184119 949584877 972665637 784835021 270569879 634053451 96761825 941022739 903887711 325521949 790588577 949606425 775481363 682700377 344020259 982033457 313086437 897170915 234833223 816744717 816234411 721986947 433615387 256449737 16771045 765568491 467030225 518745071 160825273 175970997 662141891 623832167 295187449 190344543 676239735 252187787 314379287 613606485 852789143 964242453 43042617 276049897 72032245 975735595 841619745 540289873 322827151 605044059 955416383 56778673 772646789 634537625 520509869 971282705 721349669 647296579 366099495 312567139 703175649 195917855 601282839 780150145 149502037 255194969 495209099 322561065 51652931 140778375 323518267 129553671 359425431 115722661 259709829 556159403 827911779 472311579 632855151 243885201 316377573 649952435 115017901 735197205 186328703 577040291 794745233 222183301 361340347 433210507 346776605 202985489 79996749 926239341 610615289 974849491 941363217 719199673 731097201 254078665 978861321 302570817 897691007 456822751 376573025 611775301 900125891 394427365 534982765 665628777 57468033 620618389 984275623 714967225 637629611 518948753 71342259 11613357 505549271 944327521 332466011 830280225 980181573 99689079 865257363 164860763 379893979 695535659 858819447 541791239 285374505 456665023 476387145 837486139 772640615 504846173 57395831 695254899 407752051 695262997 602701457 752922517 372515797 600112097 646337107 718414831 577515965 944567459 293702305 520664117 360539905 567285027 575889285 581398919 985543455 510623505 78699827 639781223 183243329 895593737 859762441 662308547 84975669 374684043 779529349 203685105 897598833 234451457 103686743 605203119 766905367 84963771 496758607 434014497 158100717 724007667 736690025 592245459 574955105 761160651 739729097 216518333 157244299 986318667 474630329 378769723 682107693 357908579 8187567 346279185 482269865 670509807 677720899 288515695 362539283 380639407 5145403 428505063 924039199 174167629 987863169 37011833 660728621 632409689 20156199 574625673 509783623 118898253 770719849 88243685 21606167 486431113 142355371 733592257 223918585 752710233 846872441 455117245 392097003 981449451 611905157 40900313 881635475 531796571 990031529 567513481 173094723 453207465 237661675 249756059 399731181 620207807 659105141 398616147 194106679 44862315 576559257 348157265 983613027 136637035 215260629 782183847 238814305 548383327 82164681 163325125 979097291 507220173 275792451 744096141 465507549 874962219 475579701 127435073 585425025 938228685 311862715 420569745 265349445 642262265 384000279 365821583 690421599 267254743 224505269 42586555 11585201 967430517 969004583 426560761 518291393 674958289 90663979 740222613 551712445 783218889 391582625 836355911 771315325 859764009 741889943 83412779 989468545 61373855 234881855 711602375 783873265 863229383 490097909 243269639 88894361 417296161 801322299 767099713 193202419 729017877 836314045 742242353 239320095 668500727 196834895 663851773 239498977 820798205 929593835 714086707 949894315 306795339 877517237 355984585 118082963 207949291 562953207 225490713 934780761 89170123 281362725 432800235 868373091 595465927 193319131 301041773 695617217 314439325 89577179 257238577 895441195 266660345 730702865 653496373 725625855 692915821 62487953 658768865 523652677 508678769 395933077 615545857 859904683 20321381 636059265 42586055 437153931 941226387 217420767 129195989 895402209 45931821 35111781 973156655 248468823 764503373 776591851 928864831 76520251 300830705 510137973 642984927 772805251 700107781 638666545 871421513 569846993 434700891 187463791 263556131 489805931 913631401 47758763 801978747 254254399 22661267 352119433 186104517 855234021 731868321 554594771 140095969 205747869 667387205 491912831 588556047 417121359 93198297 973293221 237443073 853138311 604519323 669896843 695611083 325329279 456162487 922427801 851249899 914564375 768266559 202135909 961614915 426158547 282537513 165356715 742765605 897240805 888846425 318542411 818305089 447843363 820461975 845186131 215019961 248134411 699523477 134038259 535462415 97313737 932834027 506837899 413216307 824351783 670007837 628363673 771917175 314976925 781423761 164970957 805271195 955060045 554857369 639088887 433525955 629644541 144170351 811557653 471785597 962556957 309563445 852348487 29420221 650010049 482857203 704092123 500333025 771037357 746429595 609072451 263295661 747507781 634687749 726154009 992494417 567426455 73394163 980663843 814821985 783189087 148015119 520692299 214210009 489276921 32395755 992149413 894649889 834567275 51044605 962250601 675925251 668976487 639025831 274683647 557519541 594661187 609119029 751964399 24688855 517110271 833365207 660906989 292258667 79151171 396702373 643424723 223844831 775718491 471889825 957724329 525135881 647740225 58564533 131089813 424194343 180342677 111935153 593773547 342349533 169679003 981377871 827041321 888140855 107070789 667016753 758214897 415805613 553442601 510014175 73694221 380970267 331446661 326018761 114962801 434065095 29439043 453059147 502399545 690802267 419571 239676325 576436135 580297457 621757895 191609345 796875303 676652291 973087395 976611951 150420557 153025399 948679693 8637673 257276371 83673755 246682677 495485777 474899101 222548771 706263535 805725293 864917429 228009775 889015231 352871155 964066383 921050943 461702855 272788089 385869511 113560391 514931675 834401409 981199777 938701207 986548335 664843635 653099141 597713901 129383845 998159267 641028425 179594865 837291843 853246025 28424935 774583981 322564791 879437959 626260099 157107865 90710553 750856803 666328679 849900431 251263785 21814739 872191241 966439769 937214541 739064749 592058881 265142559 230456215 333619377 504596757 396196987 975795643 251938445 512537389 386001509 154146585 518740687 223289183 387691591 852867257 25456625 739508709 646016749 941269323 415067219 578219811 781270923 812671013 794424129 243395237 420607679 537202247 176379881 437190685 282431375 95000919 145975911 664216165 719753831 248832165 772048569 656109187 851253789 5767207 846746573 510690463 742223085 749331839 303171697 69746961 683784575 672167155 14308445 742657871 910171101 129023603 611285303 503285503 24514685 374798995 694864259 389517549 72761663 698152343 80546229 969037323 591378021 504988257 99418407 326814323 848517533 826326917 569557785 576906347 712603389 167079479 197754803 266288477 180479491 129801049 733831433 207795931 880989843 628843631 119853585 992564643 133598713 416644269 406580143 784741013 215340525 678030821 800739757 443879359 542208395 288246681 974011833 809795411 235138649 35766255 544878189 793539757 230951745 159683255 745794125 976111951 912232349 200606313 633498303 760386021 151902759 150277413 712113431 661289793 529314821 115848623 63339403 639163745 829168581 917538937 519830079 738399847 746846813 338887831 463997501 857499549 345255975 610079949 888671859 792173175 963765739 659530879 996166843 854122897 278917077 808177341 857650905 434960301 325076091 825325887 808175987 313985719 879620571 318710627 602052891 344766659 127616599 649192753 661542733 874960649 235164097 392419415 398315879 108061937 478079049 923313453 202293683 750246147 254519697 403867573 473247843 511293429 856396187 149460625 193186447 423686559 557714903 629408789 659224891 645562373 830212631 264112437 65201229 187847763 633024923 972322451 493641111 662438365 26148871 669256565 553556435 597352733 806944361 628914889 228997539 397402295 969335861 30767143 741351055 626631285 566546505 194941647 420789257 60756557 440437739 573122727 922725993 189385047 389834183 572260159 612030451 122114775 801971955 353437391 853204941 642341179 610051051 813741367 834916105 902859027 700010391 468982011 784745377 425550875 575700033 356542027 645166967 431705143 383075487 719981057 396317011 750830705 427917009 882606235 170673127 814779903 409727833 292348223 314362571 47047993 837399589 2551485 708875649 101903013 150928781 586793099 110674547 773474797 453692745 655894475 7700977 628806371 958090627 872554051 836919093 475605123 840184775 232203105 749775201 844633585 501075977 614142271 466946685 795314041 971202471 786021785 808548475 346255245 688255077 725998297 853177395 40393159 635530611 423697163 586061415 756066797 613167205 467527915 790410945 404042473 754341943 767109843 656308433 40936909 818503247 502242255 710956817 545145045 554709883 789532811 108633569 278100071 732908271 194094687 26901133 126373387 842024267 255035979 987369029 7930741 343250321 107592693 713046305 417730943 264280623 316979885 132124451 539832623 274528763 121116267 195078451 411947183 503926577 346648271 514563621 868110929 908564089 109394461 185938353 577756051 743365085 473485381 307323257 747293719 213549525 234020833 287917061 630497447 995473469 94232879 37332933 299697719 282257241 900388117 450555925 738995937 252897497 99316259 653376053 843470571 967443663 934542223 583002189 428539329 609413307 420576315 927315569 300781297 208557185 51273645 101839257 669975867 345393007 927444243 923308199 233778561 354476345 686703687 332752737 968886733 272259325 195739333 137312637 489823827 386143809 524880565 530213775 395856495 668740593 482050025 632388125 422980003 934996835 274010837 99677839 787888795 239378771 166667675 793177141 352874027 891904233 250262783 740404039 533545549 548956847 850952563 480859627 887489317 988592541 747419661 595962149 577671677 856478733 71728013 695042025 52767819 184197319 113421147 474856977 545789607 885833721 481170051 214106461 141424597 830631477 301188287 847861365 125707201 984686459 431224173 167376877 802089599 868860463 931911317 235258173 564783435 109845021 764052967 905536965 502337925 721252221 138990007 687219151 270115769 668882923 976855049 497458063 850221211 59438445 846966657 523417113 302578185 102133615 285585007 722090099 797633025 28501957 890983369 447289987 8045491 114679727 170581553 207511581 444216943 338361043 484723949 74523639 4337329 663263291 327535851 859051701 996607261 856154461 228126149 934469089 856007039 768294679 43635383 650696425 369740233 340694191 800073641 290810407 691474197 46592723 298354733 934629343 801256617 164910229 939193463 254514999 30659821 869526131 422297705 961405251 292869753 559787861 946922631 2336761 747123459 510731653 814705411 472146237 278422129 357389243 676244659 605267927 516677583 13347859 581736983 32931961 335166543 491074321 889559125 104240829 689952843 517515941 742868029 705539105 957168201 879812385 378814791 123580179 145210355 986657861 675243155 145930207 583403293 545521207 246174693 347619777 563568831 275664511 443678381 179901403 737306113 233599257 209011973 139284533 711830827 512993629 813566633 51492545 293834417 9899283 636379651 795645017 281404461 330982759 453676833 794947515 92318053 415494637 337945275 733421203 333498691 501710247 368346415 305767537 864196827 631749109 67181443 987976145 248200295 97320361 229089387 987310353 148816457 939330035 397939513 491382139 294238735 598889333 665857263 467488319 649107307 447332657 256771893 496262523 816463161 327396245 314855255 911317803 492444795 241475449 117818191 112322619 870401887 286125333 774416573 59533179 938192947 13125395 232111589 598896293 581451895 376760191 362591417 849331547 846413773 891746509 966523343 753985061 68881151 536227035 253969255 412360565 626637059 641059311 873360999 868384931 497852401 49657779 541352287 555174641 605133837 759860801 688467847 542314121 926694595 16796435 787211709 919888251 863801767 171986449 306980233 467022529 438202739 673436293 965145115 331465021 166942475 911147045 694468937 138296503 57386105 236687377 583099537 851534559 927848435 78605771 344204317 262677073 199980753 360738881 644907963 928571279 887831705 722025673 986450401 225220093 355640307 264442399 903790257 450174193 61246389 733583723 431311601 718266531 378682841 57035577 899560207 397745461 859609219 305639035 2228771 8855983 515436287 476974995 712008431 22196993 384661693 763116869 427472597 57492743 34240605 92617147 325541609 997848961 951983261 654684047 834399967 46350617 694715757 253256891 143246871 482538079 98333917 404781989 66110619 383246029 487650859 296642075 791257621 460295619 295241911 84469329 926642401 374238605 167083279 264971749 236082941 687840857 223112675 987866845 819601679 206060355 959495955 162517157 99705193 714640715 91358879 854454547 593700605 269789787 939264433 80950117 819955823 807262787 458150817 328848189 913016581 373230523 446780645 713023915 248751023 759379305 143740965 500966949 565656067 670328017 183877417 705446279 190741311 974057833 859667939 780807445 427540301 577923973 966554483 681000829 179721147 610438507 113767705 485205463 907185855 194520131 718064961 724544667 730779707 199859997 46435965 317610675 502606517 507301361 842031243 826062955 459280475 230960293 60568397 235747447 751463941 502300157 259513805 266791157 521558579 3022509 723766079 229849707 69138957 844779087 829360639 540651205 62771807 854565475 590986895 2886743 871217315 557137233 756335259 912729315 797532665 738611565 767356405 349965961 982768677 48105965 555720603 337821913 594301081 369123319 228631727 251192263 239156075 987704719 236136315 949231283 522140763 751260329 213801075 555623263 655019471 921329695 868239155 461785337 841490903 988561071 310535551 642739479 558463787 429333511 218232383 263322295 376818729 314030515 821772425 369871677 626552793 655828017 94096535 820025205 878446825 721844191 682909389 124396183 585604275 887426055 951799989 318352191 991826483 2931675 129799171 518098545 858837779 212100469 191606675 584150685 679361185 97745107 915468393 712460439 998947539 540159713 53252269 452098715 769940299 695117937 13653173 243120463 613631055 279429433 942021115 187644609 914566093 493088477 232273955 359026533 930169949 841198055 306079225 744723737 182155327 427520197 991265901 389930019 758307931 622027473 461340575 29382703 115280701 432011085 435715533 72499027 553080351 263886949 848211047 592500493 264263649 870117925 197197565 552320319 663790599 37430665 587155531 955226425 689420739 409483123 233346869 791460529 405397739 505477547 335601095 57489091 318207741 323121635 16383027 522746611 217141795 893648563 911206867 653256751 637489197 787385503 488571949 906451919 425404813 82086157 861220843 93814413 843197543 571928911 152983519 358736271 361014657 728326047 715863557 150668641 183144779 703241759 123344515 991248123 464243417 21280727 351956127 762900153 942201071 373557689 902373329 119537505 385367793 406811549 902233779 250532639 925756909 940926789 788948999 572261513 933076383 970392411 886608825 941466011 685825889 897256561 166756315 653482683 637231935 452816381 388026795 352515001 943789797 257234275 573872265 287310021 472762027 660650729 567115011 709956991 875020945 993649861 424758219 51339759 710369087 606242829 284927677 654894461 820313345 388123075 601148379 203904513 22617297 393279441 378383953 414492345 179385167 534664199 883602291 310397255 84347327 134500127 612000185 754362557 44471571 308626875 173513675 258778765 707723489 685245795 860437873 758172565 222054503 295441287 326176415 738965273 517655439 891633795 362586737 854304201 910836711 48038553 578725929 680969401 798720935 388325101 312143413 575831141 466211501 432814741 439282467 148256179 491330945 241522057 670057651 138890993 301189715 514385835 611750599 89921747 698016247 3969987 913572457 960844151 442288367 311728257 627318479 322514275 992662627 595092865 190252113 102104707 93191969 353537091 485625715 669649197 798759071 291625777 3027937 70246687 298324479 168339099 421085551 521784443 641629447 457007545 73286935 885030611 226961701 812811185 741491709 953415703 961940593 977334409 929261677 706148265 554212011 263893553 34264791 410547531 191790649 961610117 412379353 620182573 13815085 183612229 176749111 304883169 763832891 962767129 554550233 584492903 254761923 713494165 771090647 856313891 724612813 71098929 677039975 972117731 630469129 201604685 732866543 62770907 471241933 360398389 745153529 819071657 157601305 926143255 40312123 298688851 662339475 64131855 642242701 892065605 692728459 685137949 298000629 390130515 541491447 378571049 176993949 804907455 233412729 55315719 898537943 296033065 241439575 451319661 735243807 454367649 862765441 39595009 885356827 136946077 675839883 384641351 761716625 562688247 516792247 10831795 293260409 592267767 474635501 486664351 135687661 344997451 818182075 114820427 569355823 588106245 358113623 800826847 928815785 717906597 920523427 872898159 800349939 190443533 863958307 224615409 686238659 279135631 12769289 582559051 903332865 293104349 818118445 629488705 557381045 658749717 372469259 755982471 736403219 311330235 282158795 850371255 532398965 203730879 791784765 870056783 952212065 343044213 520669145 777978299 110359681 657070233 72535743 43842893 74086057 72222033 805752499 127657531 946766545 458891051 805397029 545269419 286069025 619682075 388808751 287065505 776402657 950312321 395840399 778804753 117407109 705200927 724571051 272506323 490489257 602868771 490450323 643310763 602844175 929840419 579759359 512924991 598206115 865733659 443860301 647250465 908571001 993933683 166422659 459131597 769224651 707483893 785892949 358917793 504751357 740419801 420190997 260905959 474643865 973985467 860607687 360715985 748475475 428909215 715026445 15140471 757379335 207448565 92495675 329454557 761357239 5414543 491419973 355227881 661002129 180434349 80764621 125493613 329170915 775254259 424373527 839662627 254687021 246355311 230012181 822653357 71918609 577576085 843448415 733205907 124929627 729237827 938361393 327084871 703691259 654225087 565688947 75761955 364195343 660920757 741058229 703801701 504184795 250800441 689783599 98382649 778303943 896002509 39151551 27774383 305026153 549678673 751857391 993715905 889583483 949398293 435917545 810235473 6792929 323898575 650201737 763088679 973991335 171080089 896332877 6540789 291745021 147556349 834851675 781776467 35299139 91254243 238526595 806678979 612840695 550718883 98252091 533515439 690503113 9703675 616069797 883574119 435406217 852075023 126934663 470358311 187819827 856594539 56478287 482267915 948135405 739420167 210699287 322049825 230704637 751300159 226744731 763029337 652179931 692521177 490730821 804110475 624932129 529676033 850663201 752239481 5842831 334056523 113555435 154596301 247795221 483456951 899673597 515056919 888236483 196406443 218250851 266378193 400413399 782280177 480657865 961838171 428544433 631136959 644459399 612937729 617965535 631860659 813550237 934920691 367937811 496570323 831665 412173897 616236585 539406219 800077587 604440325 789459489 207805873 526545851 442774801 37102891 210466947 680158793 241019197 185869209 81944741 927263489 553959235 77160165 876984355 564714963 678419139 464541361 138641269 690118489 237065801 554902987 952523381 100947409 737079363 382178597 62788973 434252321 964693517 606101211 280684549 331558617 823104743 88535343 492476503 75103023 813840123 64113037 606167005 859017221 88989785 422008201 549903997 363397345 365290489 252613083 916007813 683978993 92597441 814031211 635915433 295106575 381525621 977227841 446512391 691272119 51116747 608701073 87924773 510998545 816987737 807195063 741490415 644851951 963930527 905318199 448982203 966913221 199030283 667635641 485360197 141826997 799109355 708829715 552405171 655631491 590487673 231920191 161985685 834952609 419027157 735094367 166707931 385191973 367125769 338338243 568320487 791910095 803803657 362494425 313101435 665123589 550590377 479473471 713078469 870501337 369811375 423615159 484439901 650520319 593589955 374597679 203933243 435456471 836160371 475247543 837834697 717659241 802908477 174817931 121658323 367400037 13395327 393190415 546397325 134469663 335261317 123269837 918339989 655296411 860989565 207267707 143448815 784280957 501473409 844402673 229806603 212621333 933222805 675699765 537837757 898800729 309741983 341959023 284713025 141952235 54796403 850769141 889542717 730750225 116368585 271333699 600353727 543829433 152615233 981813497 375252541 115732605 424063845 736209379 381832337 583861401 36000935 416127479 947158531 891150325 419937121 247105613 464218431 963015203 929136081 926921259 435577179 309766999 913335075 541318651 878867669 954645363 639269481 966773327 190253713 417504507 588341145 687642851 778445531 343883809 64178839 887449501 153234539 198671291 630002221 523926405 643049821 692379209 671136521 992063949 194520629 134274801 116324549 77499093 717641955 117277827 944335589 382662941 827911609 821196407 515979215 603983441 772589687 283706859 439934421 559399491 993833281 665419945 250129459 858375665 544233381 284145691 106139653 190170747 621981591 960567389 749936475 347850287 714069621 199462187 907275295 33999743 279749125 210051823 934129969 925527047 875080563 795966391 782635341 892638601 754483797 900785211 142847007 12486897 819258279 141744855 693943097 949363537 117255889 249875607 70762257 786187495 113021085 500925991 544293387 610447381 507822147 827627233 733237103 213386853 847817821 772931521 345824879 40811915 118285813 631968369 163391779 140434019 176778611 831464509 202276749 567472623 610003375 509119263 165514391 897456219 495118567 788393143 829053713 436626427 211040703 77759817 283639991 261763145 287694405 950895303 144351525 869036775 798370029 891840967 235749097 733541541 349552021 990904969 357493363 956806257 68041857 454203379 884702491 117665897 321173857 319933077 602999331 693878991 671507529 542000039 589308853 208042769 21681845 516492295 436496865 779766461 494867083 682382653 241976225 134148245 807551769 384531577 828266967 372585333 150787093 202946449 719739467 677782895 958077593 134622211 705073839 413361841 127799341 289578489 274147739 426989721 717056445 887599937 502228881 2666155 701287585 933233233 925454329 547953039 420961169 96608075 965443625 541558811 836978103 455053557 56980565 610319435 272006557 854037437 106739359 305045055 290120763 836572859 959659539 585408835 585815021 892666543 711510943 777417933 487551351 303407873 44163359 958689141 138179337 343014077 192909395 129548801 956517687 196370847 48153061 579087961 727362557 404431617 403297893 456530581 827558849 175853 561753933 916267499 417115217 740127507 115480061 923410881 319037921 156078537 660611777 906470051 24841231 123664143 562998215 13179203 867608801 472808331 520403499 302968699 733170627 493218701 78985965 586679121 531859083 276215309 77893623 385130991 115223157 443181993 282588441 565657767 459237673 437352361 499354893 215740919 248387505 459128573 86881395 47152255 3457925 500755259 924948181 331600397 71683455 318259105 257124263 17151123 619711207 988489241 471574847 405630763 861251179 184982577 62989277 783267099 808392989 33322015 808266415 904426189 209231229 281655749 38912195 347698901 61533807 625699753 47390737 411146989 278150721 198080505 817435263 85477623 74486695 896008077 80732369 756083713 885672639 41238245 946021307 252661565 344531469 364319529 378224343 318381319 852637057 792248101 313559461 685575137 255379311 783966803 678762637 296578935 481324435 808156627 449867235 611645341 231755797 538256745 455313119 374719309 150653055 283186311 999584417 837415337 383269575 772572995 767511347 528343809 714835021 857798493 743806087 294891459 792716499 781878075 601223543 542970253 283561351 568012013 290279617 79784993 931839 242915627 161538579 492825707 522833209 656494675 33047289 238190463 226828951 224201581 750116337 345378711 977069291 405431591 136595801 327158551 592789863 388373723 297472635 94324105 200905897 883238277 790443145 554887331 313685941 77391055 499925917 692006205 56363771 599965703 642867125 8708699 314089805 108581155 65601471 652125739 198245099 851462085 572691079 171596029 395524729 351966259 133160907 913754189 418871301 267432539 108507945 95551935 2222085 485361877 766204203 45020189 569513555 697174497 619881539 914082909 206789431 305315431 221599177 854185111 363863133 592642291 745488641 677042449 343311835 679192767 431280657 4104499 851070765 893613227 129586955 310904467 42731067 935232571 535241449 826096621 547378255 719564449 744103565 425301025 610519329 621882803 748601791 311630139 581479883 785667311 852129329 18045297 978185687 488167551 959400573 173764637 652842541 74341425 616152353 618717375 900159013 72189565 196277129 124038151 797145725 255884673 68165893 845593285 56613977 222846981 614507985 341088503 573413959 898215545 226301449 301959357 518650683 900043761 918223035 414044517 25503123 305694001 821712599 212608097 53863445 278635419 292579893 946432587 824643309 347982403 311205017 199000553 826887343 991020767 379345065 974979877 526596445 27296459 694617335 51271185 227255127 146418707 779726077 294079979 548076141 920836707 667141661 29002261 663576277 98896915 741069471 634908441 418173993 566437667 351977651 696912299 16319601 869075515 502581621 118328229 749420827 999640487 164411367 5129485 460443641 360629345 466168813 33888525 550855241 619567369 475014495 218279673 42519475 239331 550061809 630755147 514509635 713545953 290780997 329519269 702852717 509374105 378476519 237985495 115831821 172813129 531518535 747862479 876501357 434591963 684289725 932681387 289881911 657480413 151325067 328212141 2183295 18049927 724711897 911639105 984565701 12801207 234126013 408225275 214913517 57586933 308981801 515669909 993542469 966500463 248950277 512058609 565726339 119922175 917490455 501514527 198349761 829104673 707512335 626133837 880217991 12407295 32891017 108259289 370211265 770540135 988550149 850335045 98470597 885374671 428062445 771725119 961443919 209930329 361490833 259951511 841091207 441678025 310325035 914120009 350592247 32916371 953692891 569307001 948761495 390834889 387350189 299324529 525876675 220395053 104253071 619521191 432395071 633404965 814414685 345300403 523466043 969649347 817799127 760699737 70578505 612149435 402103717 400385671 606048361 932518509 22280283 278766157 455382015 61658849 486429809 629263591 628990169 582829255 324863047 167077561 836807723 887342965 516534057 361375055 95952531 906581481 307005509 176129627 172846357 872775117 332021175 995367095 271151649 234303089 506111871 499970409 848114827 367513031 218233477 312883865 819655311 205984627 802677149 460418717 140207829 284374459 32089727 545339121 416443751 992632461 529917131 441378101 378567355 928303747 770329867 935324215 789600945 814827481 628367283 871521001 957767563 762524025 217116183 467863397 147846391 643444721 469731709 837246449 648151309 111691895 909740555 504834039 762397509 965914605 610088405 771360009 380428169 129795031 961396179 394540517 169766693 729477479 782182629 597534571 729024461 166838901 488708309 709306281 48131743 692500091 341725525 831114961 997885727 270704551 296223487 486809663 792454205 443810755 742002769 806329717 836347211 339937609 295304377 748625183 240237321 981935193 519481731 742593551 673313437 691500471 265678573 91500611 700514961 728761811 852578581 368609243 662915547 497571783 653645573 940804645 649359577 751139409 810510255 427088021 220779601 533612759 931187947 690167233 712506991 419887209 329941117 728470131 97484233 43372223 126525195 195005073 405251165 834927415 343098665 648323631 942698637 233577943 596876365 538442891 830216235 610710611 496983003 321950471 747658089 350716669 706422299 510209581 833635811 326729177 820179775 988210353 336726435 655592841 845997151 196375151 73805841 61670497 822977663 502346091 727743751 371585365 528915333 709554893 772588479 110260487 816328515 973277163 349026783 101625019 156119157 398969151 734413427 738177379 495510457 260371309 798040307 767134869 244418201 720966207 552510013 785763217 346497669 790205867 42241425 792377919 377493467 670979785 89034657 185908267 595535575 835918045 793191297 655857039 391676069 973829717 263656877 165897289 289163861 409357249 324450573 928101091 568131043 156270301 600019435 181053831 662901547 46331277 967809279 722550033 70732539 871651547 11739747 35772927 949008387 615845885 766237343 518854007 692060123 846744395 293669281 372333129 758673925 994676043 733590459 129881579 727348459 210810277 649096877 534736255 849696991 840597041 190068889 324297419 108460823 984555493 199206161 914775869 627478197 84455399 884673543 803701999 887966149 315557507 461684953 519997341 218739767 350306857 373120331 983816113 167113443 959405689 24082061 736421175 683239563 105795891 601340467 203387627 151968473 827776321 843251513 722842919 506981213 563984315 904480005 525880055 598974609 546940631 104793189 336391431 419417303 106552061 52540559 470184623 840135029 275014579 949425693 767961839 511216033 37807793 818571287 617269613 775607665 865517777 456342249 505443705 949385447 755756309 22015849 203950347 615619309 761819049 350153685 103197633 505559635 152672991 369481423 773323237 826118355 948217909 755542633 150642529 22522381 821950795 906066195 972846289 995569805 899736815 310113967 452525683 133838017 124142099 712823681 374677291 600081925 120595667 663092019 829502349 470820249 693397361 777092063 938934479 930788263 461364569 974086399 102016975 855127103 825663519 147609721 448858133 963967579 83515005 171991449 27625679 249933019 893552469 252056089 346267605 858703243 631028919 359282961 297186473 370582553 809788625 117150215 515676013 845376289 726057729 972034027 909238773 423238435 568242889 283004433 568086709 344138119 12653269 406275383 722487247 607669665 553261049 739488895 897097735 671915433 48444463 710209657 569327055 947321279 148862875 925112859 93953085 953273069 220080007 752531391 443777041 589816871 208090471 726314031 246338737 372879681 486654423 361457555 956612911 440872449 594395035 562850947 785539391 444803343 280044187 597686525 392435777 227458297 484882669 31122789 762055741 871435581 458524107 19879305 194466529 148773689 244506265 139546523 353765511 473927481 142147043 249248061 902390061 155406187 447081561 276078195 49549177 615604457 629993947 112187049 873383355 814282935 328020583 548594613 234135785 126025915 754096429 853425363 98199973 906464969 194333565 840603561 385655605 821794713 452273619 615170885 638615175 719291851 59253459 433344795 682533683 479563497 565759561 722039307 26641531 536653413 184391205 414120279 587586113 828011161 411004807 250422701 909386777 623646147 779587501 128081443 233066551 403073297 652709639 125968695 340752509 444725135 230243877 404568011 806986607 115848507 186604229 555311665 587754815 890613747 347372231 851377433 499884739 815179905 275497273 819355813 924431483 61513111 411709773 188882265 370260877 874553549 623007581 170450207 62620361 871154087 965054959 800068689 775217063 105514123 724903597 291558569 110789445 346720715 359219561 517853261 950817643 376702115 801638689 634635467 455906185 164923953 579997429 209053719 63884213 224762495 561628979 686597007 82950573 903014271 881089613 429079289 918711259 739825673 351920607 166972289 219001933 12316895 56386475 503097021 976405947 665010091 815363741 620290473 285046913 620402175 315462089 657202093 324354475 203529809 816684903 622959507 602597861 68820741 422512095 675316369 295694985 712441187 555080889 189433671 998473875 93683869 384866217 184347831 25598891 623505611 466243467 78906705 209551651 555667951 500698977 977057767 199261935 266746099 929430359 364043961 768320689 74528937 425633217 151044715 439849645 968538823 314088985 314928905 578686677 308310767 992008195 125789963 84829631 266398125 72773705 101329997 163231147 233571697 636326367 444291861 575115135 974159763 443565281 91077903 71894475 30357845 493125011 612266063 923690951 408263905 784706397 237733975 995224145 258396743 858031061 375506695 268225777 911644803 655783349 261799343 612299479 442323057 926727649 557068803 492861399 941626847 526575203 928851235 255009141 892763773 598718321 317034129 344911317 322976995 959076963 527758139 17063623 500268435 286106813 234031223 371196609 670952951 966424877 184985347 617840613 627510623 198365827 561439747 290783993 309224453 806957755 721365507 558179947 477895177 204218873 488954363 799241555 290379383 766512009 991619143 172223601 889140799 122786011 281844651 18024237 716475191 921187471 214167639 201371795 542769959 401936227 709483229 525090399 747076273 680014151 640351037 479036907 213952107 886604875 241714139 886549825 916478925 502724011 345441925 91056657 34205753 327382221 279327087 854753457 936331253 660109879 893906489 175319841 652614967 620454561 374604515 631093255 451706645 252842981 881038561 12901811 295530127 580185091 820746753 185965853 844610451 97497643 186532743 920176355 701673967 273341871 789776659 321604173 488125021 310577415 695625143 504359499 866345341 666283737 615874787 18876017 597088475 605993201 165288313 961008643 462837221 168782145 801410747 289812197 289044215 914205413 316119897 351972007 331604561 121912607 585219173 919606143 131249435 807560283 473698399 803521359 468656233 119906603 683173931 277134491 970361395 689494861 97706005 975890327 460502617 392916131 409735893 210738965 494433701 102062135 964557959 243858327 510935243 854920509 914932145 444189765 535961951 644807695 517456959 861274603 339594983 797931829 877460103 493284867 638800841 123671637 998445125 522585517 650150489 660759363 635057567 47873709 700985295 690532605 496081955 576534645 647226187 562690213 981716423 347817243 20107479 721609861 598636005 620535389 159196261 601668881 806925893 16192167 170330319 427311077 345339925 802300931 185521365 701611203 78194407 74958123 761416735 333194905 983952825 569281661 330579009 363923061 778141683 399763713 451615665 856256151 841751649 642611557 627764435 19069793 610370613 647283459 124966127 569682527 495846417 891074263 963641145 679365953 545803001 834671755 515369413 609599717 96811863 177025901 245292185 257444431 435879429 648477043 986145947 855766951 935663421 230612031 729408669 766193987 423531941 541210647 597683803 542285981 644228427 677906153 644566899 555516249 620576419 794454861 255010415 398127171 565157259 423561603 612245441 612784203 456720969 220389489 591902401 116366223 975622793 86701225 76712115 973548627 829299809 63036767 651487165 34140161 915549519 852430195 21261297 451719723 146154293 138642031 891296331 274107277 139614565 45706621 420702121 919539467 312442767 884056697 128633301 793478833 71815381 666438369 167433855 483913905 21386425 4852955 112995909 823378021 798405163 928855095 459378595 70294867 665729661 367935853 349216261 349802019 315939439 594258075 160811195 216822189 924410661 686664329 140707329 62590439 823201069 38655399 809270773 405796087 880291707 206955273 386100129 963283497 403639917 869909875 794306037 577647855 589301447 514241095 857301711 918805989 204305593 800387225 889832939 484978125 433532119 652029983 2626549 824839825 961716509 847928885 824637821 189280841 844781043 466380519 542102525 417012781 227677475 933537249 331352279 949631391 408730339 314050939 884428371 901122349 667371731 531970485 723845793 406167433 753021685 395435319 173178591 366981775 689885367 511686733 899854857 197061697 722951151 279962609 8033803 248723403 227932123 528111811 145745077 382132863 810325535 83366407 311756993 423470299 356315591 928575663 778103503 519220097 693104203 602941007 505648747 854134843 15662727 757949995 551767813 702315261 893358529 903330343 800376053 9404131 190540963 131319763 530525309 673925935 75184711 10016615 403394759 218306125 760291111 213444289 184745699 705389777 147644969 566693481 886151883 446362741 237895579 270523533 556785759 350700829 647759921 259183111 436621931 978561491 323878411 735777107 820012957 224948171 333829545 825394075 437420945 818500961 684250879 200217517 773150663 378107161 287599709 729901311 850143913 266078875 301078401 585912499 545114247 268553149 753799827 867741325 772277915 76025209 343939357 940675071 672802821 148397299 253028119 605849377 402428113 418289783 445671899 997884335 396048109 714033269 345015091 738852369 952278325 840742027 143897671 444182615 32162409 560734333 38634161 826775867 919303731 169531187 352404841 781978903 763918369 379393475 203714521 597356789 632034993 482525289 362669773 871447429 516806721 621564293 915284345 982412317 266758173 606683811 799408251 173982139 795813747 632736121 39573721 776467977 186846815 387136223 779151103 101668949 654644961 148707291 503661507 21565079 76334049 578961559 621307233 673181805 617309747 970870117 646699137 467426847 289542031 102085057 543941421 584190875 396619157 194977615 913488347 405835643 28194511 647629019 746368107 675079675 780282289 945660247 985847071 701730821 930510735 518077151 701354405 932761639 944893359 669800883 402895891 888725911 466798647 228309827 21644263 25343287 886587 98579233 44633861 614959755 675718579 680228869 425885369 343392965 602735231 823190743 209361595 699857339 717963113 279599005 594149927 25030381 31231523 738305679 995308675 156117635 565854535 955442439 904197817 439390281 14515539 820156039 365084707 941847737 940378549 730786235 840798587 860509169 85441465 47099255 517720039 954166971 396290461 928079283 107537397 46660481 842603391 413688983 84958875 214207327 6349929 782482795 28213299 34183955 857144141 657545635 802446213 404669955 177782277 753333723 97310909 673351487 844304463 376446165 724129393 731303039 105898711 792716413 370671263 646283039 808346671 346845415 852024745 844332331 166002637 858965837 98112353 98751057 574602005 860179217 691636215 495623397 743727183 442982595 591623949 111618281 786753453 150258449 744643749 51446021 482767945 623253977 638734383 196199815 907156769 605474589 365145981 292598629 146233377 945905673 564902351 507135809 317625113 831326193 609010377 157470815 757451461 759270223 168403833 889364401 702641603 75879623 515553107 155924685 771827101 942921765 298591541 910346995 457824709 2333017 232068709 736009739 87718035 275235201 909357967 498293153 558669897 966345697 80007113 811985391 55327249 432759009 869935503 42838227 423284475 274058519 878338505 36575957 943891715 278888509 768017601 628897317 470837253 425711671 961904429 984106393 928173263 683050001 794527533 295763375 909089297 303867 406465859 750353809 997993315 800255317 381846877 356698637 709149769 550188445 43388369 934991515 58098471 530705283 221775965 782904409 762990165 775436503 998422309 85908239 479082247 920595605 400428471 887725099 675742815 301322723 346205191 672820679 407237737 322868999 658046323 123402655 189740821 107605625 692384703 673011229 195958587 604313041 168036379 307577677 216333213 470790869 239725593 273251305 251500005 332763247 556480699 531694161 2114979 590678961 611729249 457967499 650228561 41016537 448153819 148420677 204297553 642768967 689405021 362512343 72158443 842340745 393204359 89006913 570916175 386530385 964567641 827197481 750102169 529635193 457872455 481321951 946372809 145542663 225809697 571445851 294670025 357276197 338724133 22926651 200369513 44255271 662844155 382431431 996618851 581350277 647226541 357086447 764579671 262253543 380447923 756876873 910525137 342922773 779703017 172424467 424551743 476980995 239882643 944160823 365234173 717336269 134858337 804691011 146358347 348306869 211830629 945658991 626990163 964839719 121377311 438626713 350501925 10144949 475747443 624916809 533841595 793842973 913606575 905839789 402664693 778887489 349551495 225917341 352122015 240943915 594880281 149024667 327297895 45985551 174323691 463430857 427453929 510479945 566933737 607877371 484213413 684407387 811034473 669491365 161248515 357900787 172602407 719850473 746166359 266455007 329762379 626053515 742669017 547383327 977322079 823168509 365046441 137360085 292349787 303116373 695474899 775178571 276337561 274956627 396755013 406268663 296676321 13287005 36716251 217322609 209870945 636499077 184108115 799268989 432304043 331963261 439320411 60950281 97809343 465570987 91243649 203750437 727865601 657746961 771299133 83214605 409838397 407841119 294920947 347767589 52280491 338376431 427719149 511759095 50984167 898867391 546018393 678330169 792953847 902039413 732111699 891745219 530708807 636689249 123595225 81475737 129232043 764333945 106298329 676988137 985269603 715846751 804444959 840134147 523405077 675703641 855392873 276228195 595962059 527716181 543836757 402298543 344284155 223262699 118451821 42782381 949602691 664792669 661133347 485218901 180254377 90790541 184895441 578864831 469556251 498756111 460428725 678604081 312388843 98588439 156550909 278224917 869291927 600310149 592037557 440973821 706929927 282886627 721273563 776640165 491849605 463647837 919636813 234095603 508980169 516386251 350622421 770507501 515552239 964206765 354309157 388222155 504275067 381329961 511576789 184957415 752890717 752781583 109639273 16161475 319997671 503224535 488305991 233962249 93981913 758584991 851864513 503855761 553996631 732671535 565772563 337562193 129606639 859719927 906843227 655029105 805212309 447932173 635473315 216097849 567162025 631206447 711995101 340280093 600091115 820049607 448428769 941215159 906132367 769520867 100105331 408491981 537255203 101034297 658303801 196681 627561899 221983787 524468421 185504831 261368455 604866239 217182097 976879081 382209161 436371363 164201983 625208233 553201889 673253937 912276823 432917261 171894833 22772069 376819403 169876937 20309883 496861415 754955891 346859187 485602093 668191753 801231441 588878037 270392863 546110143 706627407 737504853 727742089 1744043 158460991 710628745 544938261 804966929 707160791 257505257 547668431 799924963 466669755 119339293 259274539 810096567 193028211 105276909 802504967 794404557 169135727 197486927 76816809 697828107 836745739 550669147 334229691 889163009 609131657 1646165 23891031 183872999 872192013 890652073 672131063 282262171 390745263 306544875 646829443 672218789 701933923 455287509 827403845 406997301 881496843 255531595 876505075 591093279 272178035 513389401 373579179 190381799 184912459 718227503 107579637 964403121 401108523 573381163 819537081 827245645 635825557 891189969 164545103 122496817 36748787 547042505 726993011 39455871 434001045 241123049 142426701 358811389 582793141 422283563 907395177 62490905 151292787 574733749 512466361 139779051 922983131 361868237 280202911 448494131 258498269 237478635 309286367 907411289 238709585 802809255 100509603 687029865 43483129 214136519 289057925 506528541 351770493 626463283 376327295 580798677 374025329 761312257 756444663 87682453 137619021 213819245 747204795 596568335 499207795 217741271 747113727 564166041 525898537 502435277 270582369 981846835 532954277 264185345 844481255 314490499 78391805 802277965 968451581 557255129 352794163 389719223 499128697 950176301 890676015 927998057 450293913 798806045 268240581 527323829 182009087 193063153 312655789 340744215 883619259 599753113 672460935 704189237 472201283 474116521 593653471 954339799 86695795 52955749 579031587 996593649 363553423 523880881 290129583 887971485 400406085 443003675 217404611 149566753 457508781 656048351 776159623 221242343 956278079 726132953 224002063 421265283 746095077 735007631 642824275 578483629 404678635 290936117 837899827 378920013 829227013 512540829 462908025 946753131 767181905 705152585 88133081 495492411 81746773 313720671 750127079 786735897 190902525 812513457 795550761 949425799 863160733 372098483 273494279 972642609 724060407 72595845 485942991 453766379 757052715 261540337 503940287 147878575 136713673 913826403 853599733 853213087 686098117 963148531 646372475 218472969 507024255 387591519 961164869 510654561 971536313 424691217 762805287 543040575 756660897 309684505 990913255 770748263 579616717 309407529 587361323 817538245 959370811 529873063 585697159 11917165 983263567 536777363 582191473 563401625 339977173 663084451 517249101 199868333 809172229 283771691 245178725 532760883 870948731 815239209 238606823 581776351 229502523 249242695 786082285 727551119 927120309 339168467 624181115 667981377 586480317 967461315 122972535 435356451 858932623 15065785 647389875 303376265 288102097 87053305 376752875 756757743 81575569 331170167 346342845 464963829 617433411 942186949 902984627 683585639 323495621 85287205 643731263 457865787 497946461 965261949 962608569 493833865 78755511 108487263 317180005 503877525 510937833 995579903 157257577 411518669 732862831 549382717 789532375 717013441 97429041 872690339 682201515 622601005 232711801 555050587 626497731 322093559 505163775 338415937 685650409 571156517 241459679 215680211 210174671 956822511 233235357 862547255 456957453 287372461 706572327 994976829 12124197 996340709 757003989 125762141 816450177 244302913 239776865 11182517 726986355 236891795 428667889 163737357 355354161 43606745 803340305 664005331 512220127 323802931 155927993 643559969 705730693 602281711 183639877 53307827 874245395 703626111 837926779 189040371 195968359 290362237 699129479 308620527 134142781 681807279 758635263 602073949 407738177 954578431 819838175 532290463 456394243 82195583 605332109 959567291 181871869 304520813 577546201 743452511 942666641 37307177 124679923 770302179 714715143 379937089 736348027 542285383 215199889 361704807 486494073 489351731 594914375 623019895 557208149 15718643 643226667 913890675 478989799 938410881 229030951 234260615 11203437 162437243 538456587 620768775 5929097 619356971 982635153 658964589 347896909 605383803 156377179 326052955 884161579 1746951 374694639 296431519 138996993 799964429 334986179 470539819 757894163 424766323 319821101 587420443 611594257 394155209 927394671 336243635 841284621 924883271 147643315 726433371 880059529 626552011 379322121 568851369 510014565 886682077 229064043 893227349 932535281 190840491 406078137 404096327 983119329 872431119 760223679 104596617 71482451 217394821 670822701 217879627 234109389 206397751 461976217 598559467 391491131 735979251 31497097 380759275 51198963 304238383 462515301 571819001 939053747 258561293 746073981 506602979 216970397 361216081 160656395 282048427 798508355 210736237 590019887 756687983 976098453 596205945 94278901 858639995 201092597 694116145 452825931 394836035 880543525 95506941 619935501 279334245 591017301 484152301 612759291 701269407 545363479 192210873 121032383 709988833 606569579 927388097 787797481 894957371 640774581 355506441 629266161 643815401 509126851 689038403 380745277 238065743 220682953 148205765 675249937 225900025 357979749 400856973 477425313 650466455 974175901 133129797 455746311 259938569 637689309 513901115 858935875 951030861 985038585 750932327 662585661 96220819 335152179 862296935 50622665 244345387 108204587 225968259 627945119 874230419 45682417 532175529 175226975 998952299 366211323 842473075 334499989 986620289 982653987 121005597 55509423 996753349 444793521 283670161 326836999 882979415 99998291 188124765 952448481 937138551 53973275 279669431 45527653 392574609 912890505 618056833 708787361 989956919 477264511 107030847 243675027 354334247 257819727 382868003 632463385 776267329 402300843 604959491 84958717 818147219 820861361 154901855 415826673 581705807 893523429 973495135 360759695 305370575 515327799 162404559 451945047 446213529 602713851 148555817 468102833 803922519 928718317 280225675 499226607 68403933 772497203 475340223 277474893 840898341 523016539 100044591 404582889 19808081 956531033 788259575 386763213 964297903 783268237 613106133 622118123 625492657 613490361 844663599 176570653 620427251 537208075 147837461 943219233 581697847 125888281 209904701 249630371 909729897 44557535 442363657 263285045 966826397 52267205 52611711 27539789 877461517 697399445 592472143 985089103 820985117 4317831 977306829 706359939 56947031 346878519 207099387 887027227 462904175 697840041 632171649 602847281 970922817 794247243 274967213 381605827 397622993 46332917 762066805 998235325 880912711 661576673 648426363 201880817 277579769 707197365 757922307 736391445 704922977 86760575 497854975 129315789 101880355 915312563 604037381 222337185 917062153 247786543 14995029 408779523 851273991 791036729 528703959 756681547 512402489 305858429 509817111 44511675 385647843 412297231 649206351 992475005 768997741 392404337 90692957 995102115 26626157 5990019 5565641 787095075 988015519 744173973 277674179 91649249 711801571 543215453 260792865 234783909 868583749 202281461 542486369 687217695 529685499 397843943 423742893 841262827 242704221 592475419 946405843 811433611 300746737 73116649 596060491 250541413 265600351 877130767 663182131 60383691 359889277 893419953 562715475 531236599 770200391 213828699 885123865 657006091 577176541 763580421 217342623 600874767 774794637 66905099 416255905 358355955 19186887 323085363 735624839 15763347 350349611 301275047 610870115 377698991 294534265 55842817 278476521 530173681 11785627 585133627 749958523 609725929 610436009 276720573 927733789 140464145 640331993 37753169 989843329 748957131 8102801 943567917 3646719 303897183 535081821 742438127 517225361 9971453 492646895 189733533 509944037 743691713 350463523 945491363 356852805 434180267 426404091 978025175 696447915 839826597 124337315 780822647 26376885 876857983 905265517 263768359 941687723 718001139 974988503 359830259 608463997 619986081 99526273 296867923 426434497 38579477 732328761 491851553 993652149 848339903 392088049 711739303 304948547 890849271 642272965 790460301 588285177 322114301 231907319 297811693 436571151 425645311 457804531 55217985 738794339 989449739 72822605 418455663 661076093 941967131 716159423 581377477 266076811 318908175 495170859 546259703 891645285 491794867 186916767 267296035 382328973 811187893 252115279 720714703 98911781 845612721 578749331 203069415 825162753 551467047 415885807 706529473 904376469 285646463 390205711 604118809 586267651 271590157 228698567 379701781 963321103 721636361 694029329 986250309 937428523 252917651 299085841 288810649 672291437 925764279 725859601 554723187 874739349 47646819 3937925 307094933 403599369 415933043 672168713 567928621 415164377 5636263 492265825 357697235 164668861 614960039 166415733 576799871 449494805 546265607 414671707 387073179 39555557 543397693 24726093 657631987 700682205 34058415 713045935 827142075 929287511 230689441 426155533 12411537 346104401 609089351 120260119 858871673 832103279 228903355 93133227 967319523 281422597 430577403 493141709 588330915 987964425 280846581 920978597 65857013 132694297 449888629 452881033 389425791 116718973 489764153 813043957 910329935 135993379 371771103 714002569 283343579 211634851 376288241 704496403 335788797 311776317 627471843 111222403 812890621 584097497 579556105 326247929 6100615 912540677 780211625 643833523 400127921 867687927 957289705 912153377 795441145 992243343 5023707 546590163 70968899 183553623 361161851 8458887 49671899 760237435 718406311 12945693 423326329 244929235 554806057 529606307 765177657 276859615 700659379 425270859 751711647 753349829 399277279 980678767 701651867 610806613 624211243 548313493 150646655 497762823 859448323 387720551 619697931 358870009 862613433 232889783 248230499 742826739 65841027 180154243 142452501 695833189 71393413 274087915 639957269 511998565 463845063 833412413 22033345 702880433 426606651 368989163 576134879 911506355 604159929 424741265 671530907 622915449 2889221 14006769 193271691 649103545 830934725 866342391 383958443 957183445 245605771 662887093 248059747 304117715 53201617 33498729 726740349 485409633 152336121 69826421 534278449 762125273 208016203 112360803 334321433 577328183 91181817 474385383 42252351 505981475 333665819 155379677 609452299 246590703 556586677 709660743 879042645 787910799 255123373 332094289 600922715 485759651 272520661 626710863 874325953 608483189 793195239 671339963 323389589 500307185 634309765 103827001 712746827 451866031 311521079 937116051 984665537 138078191 651576685 591680701 853520955 574522519 882001029 344152019 794405481 282768439 580632507 679496471 117053535 622551559 153592123 109659639 622499737 887815909 128260885 522164227 64318973 82967641 309066819 634139639 723731161 425632147 443586471 384131767 306963427 874334823 281153799 948879437 705739317 546600025 232210969 596133613 978781015 593216397 200999795 338376693 679338549 112092625 83315607 989027555 225651239 590186913 538509807 746437223 576313317 53038873 31840203 631014225 507760281 720593151 976443749 660823453 442957517 127025095 657320159 595986287 269582201 407215747 899055423 43376145 558026489 960068085 402490747 467890937 152269329 699648389 825474921 433413823 406301425 295955007 981549771 720692265 61681197 245758429 319157835 466507553 936444353 34919359 403294327 444370361 60956691 178144233 196782797 306800429 928248049 249307149 673604269 946222305 375519887 235880577 53301343 318971745 23601291 483855173 369326611 873169759 732483307 962137343 446629605 354498229 186908955 85031423 829233621 581395817 405268209 136705853 365994699 977425061 481024936 824883031 922674587 402379195 488441067 456974741 646575869 376087849 529785793 550553319 70880145 334240143 628093347 870761697 522061539 374251195 287041387 826665159 344383073 831917727 454365793 703197821 444180071 902491223 7629107 948019089 351565621 595643685 85162227 93424703 646135795 178481525 933508641 8929379 998570421 489850329 464048033 47219843 381063283 20811279 140036545 360033489 516785165 508815351 99673909 737914917 185014607 50039967 976382491 111433979 989655783 977533241 755474167 986921083 383564913 312196641 749923769 281130359 715136875 152388057 565363893 263652195 8132675 210632205 807560103 580926303 224230725 622237841 734670519 971353909 412164527 640634463 416050031 846008401 247621791 166778523 666549701 418881739 538147873 711032719 405754647 898000481 762745379 817472943 719197485 4814717 323896703 989378199 96494383 427348527 442185465 121164297 611315893 21210921 946551351 65343217 931720893 252448463 997604045 704671331 91209385 78145575 682298673 643609241 517267787 548985825 237528009 20330999 701611477 159911763 841906649 788631559 335650533 157038971 751411861 921556607 559706495 952160771 258819093 479211063 879493651 305468473 208246365 117970483 274543475 193201683 586821715 452523169 33089503 561658163 279071435 597596113 230718459 185631709 814384507 16880447 358837717 182211587 519165447 548036751 779088867 731885629 937605879 707974283 265538047 244528327 611795645 981617193 47538801 882047625 333192883 412407169 767738085 869543957 768456215 838662361 188831601 707537567 1473813 600402841 900123537 554932487 798408639 614221143 429993261 625469655 723797259 143888079 737511823 485500217 769867741 768677089 575456879 181784073 477807101 664868763 734086887 739766469 810912029 371594541 263908993 635067795 692780501 214231799 574868517 476718659 287010983 678546039 847439147 987955533 113646845 503406173 388435537 317860047 593485865 106219897 335413435 434112913 467784801 668533193 306562807 124254721 745033161 774096749 125830137 989084473 679465321 942685619 352346143 983898613 884559411 646489613 552963631 731626399 412609023 711091479 688014933 539480389 459290255 354096017 878187813 946225821 803330189 52529515 913207457 414621449 990046345 384181431 557852969 910101135 499811325 932440749 502498957 273937117 83306059 62867125 414220035 829280331 146365883 26168151 784283685 298758361 991350399 492322631 611728891 179896621 616014767 109797985 533850609 880554393 83561549 892562087 557785055 134029585 39830595 611937605 885252861 268355637 805655905 709476749 610491125 654605391 346904161 656243709 557370067 968317513 880674789 333454647 410008587 640786879 201042803 221711109 466652537 292187119 449017985 674316635 388138599 2364607 972739941 62423381 326944127 696694207 912857185 224448565 250831829 733042983 40465567 759478375 782202857 681880789 442186031 356302463 446483103 945836369 294263819 98447927 727981125 54846153 133789459 17954163 518387601 665971223 787668755 639503165 4382877 79887799 240244923 228214985 380977137 750323923 658309027 127044723 839199609 722542649 257691981 580174015 802403211 562209631 861297697 885254485 254956003 69204839 641421427 94065675 907139753 432789013 424474491 757804507 647735655 462449371 735288411 842935785 57024021 761191887 944678681 432979071 748855823 48124081 366975403 748002323 232396057 880677353 532438245 101959229 734243425 735268227 346534285 247356611 56621951 714998841 476262219 321115277 450148717 373374059 993633711 338918577 854670737 429197597 309026609 49806697 593238711 297606913 288904759 766331163 35224089 75965291 216253957 434161485 601235535 147876703 837725137 17413559 811836511 822089345 956819375 986872625 589036217 219757089 18014629 374526657 100383281 84310071 438429339 986542735 266348291 839716449 395828063 196839155 895749591 756136167 400353199 72327011 549591735 91059639 350939433 757313413 532069913 272627051 736856153 518755365 200878557 295679039 702205869 856576053 342128197 140905245 696018561 817557967 87554303 40180881 93447187 227968313 761727523 934341079 408361105 231594973 434276649 503423945 969144327 842349389 562458619 425838067 771554163 108270151 576411621 34592129 998333875 182412715 694616731 447745099 740352657 175212423 22126905 978422737 786463681 244924429 453285705 467485755 193527255 544816281 173181877 226931029 467940697 846576301 513140177 593311129 795172781 613572341 314736221 223118117 587631655 486280771 843934335 735580865 118568189 283643541 30131905 718258909 709166675 785466381 836744217 298441359 836470065 208475637 440087781 25982103 158657161 677324225 706622443 820907099 432609845 472007693 940780887 758415083 802607091 208319387 908434367 703867389 535286897 585079895 239156001 257923315 56859195 881022037 721025503 630931411 572199629 261242573 523856331 724780107 191048585 394308903 48376599 226686645 328887481 827562987 87748959 443203341 945536139 25777103 942007981 246972413 353947161 112923819 211199081 486921683 585546341 136381571 549315693 757914501 234825561 785312899 927578097 151289269 340191943 967710207 984487073 68990887 766567781 264484721 787796355 889537613 410474967 101679485 10798097 995253565 212404645 462016493 781940521 793551799 588224577 258295479 628137995 772897697 644181507 727847667 52438377 991832205 204881709 643369445 261055063 557016239 696192745 895938043 98563921 457807335 859143753 725266373 270969151 403615421 234155843 525835519 768942699 814517601 972878779 489544077 829156749 959428265 300002937 487622267 669567679 291423507 374276141 588043513 761449609 313796041 174648437 373345637 922121945 204761497 680132301 668747331 576685569 956333051 490732961 12832061 866092481 717411341 8863553 354181669 832121915 265405847 633041127 597191159 402011905 406704647 481595317 250194391 656747525 776302965 651167155 423686161 234912933 36049315 508450001 862599447 107937445 947938035 571775979 527818371 63020341 881942905 723197891 982853147 865360873 473879529 576579069 583303369 651965373 792329381 708885551 17099167 379552279 719744689 421229267 110728411 209561541 233243327 895939653 823647965 447063037 84829733 608568275 217675059 664901977 732904931 604715179 135212431 739317985 134772641 2617065 701101259 781085953 60662955 841520269 194580973 736098959 997072635 541698689 14052127 40972233 410130991 8106389 421502131 593606481 656267407 95047555 938656807 521278777 150210571 603622893 776500509 819436017 665229625 966062937 584085087 148979547 879413335 362911293 221883617 836428729 738903119 56785391 740328125 373674171 571697583 829334449 94701115 716023925 121741743 499252651 183263425 602917473 411188013 367062513 401514979 799620715 985175983 303670651 191177311 565501401 696053865 535695657 58499351 869216869 609564973 446454983 318321685 89494317 893407613 823644163 491656077 355285425 337598849 202375545 58705115 727264995 64593159 928069545 634303873 642946583 975281285 292364797 515872299 290405899 713837595 830866371 820278701 475465697 679909523 596995385 651619841 119660073 151517273 20818557 232539979 814383065 169611909 505856667 564152533 454914379 200304599 296231041 126334997 810280265 924196789 6549003 381565859 104978939 659920687 491443961 947545155 705469945 909373949 299989491 414316513 427800897 148765053 342497165 670271121 767241783 619744697 979470655 830754191 368590503 424485467 529304169 931309627 66038985 889156031 916891477 950731041 11300409 254001121 330060341 291604213 39655165 48681835 783373859 286682005 903966849 296018603 313685023 880860927 524033177 2568857 970406417 457318499 79771271 795068371 166134221 978694929 890144235 114834337 389499401 681212805 736970197 97859313 68233065 167736931 905151417 62000475 330808695 258064247 442312311 30213151 354213793 172575411 230059345 89047333 143135809 758398769 403761909 691896315 84628891 224820791 751712889 630375127 537597141 877952557 642234459 536243097 478845699 494719915 884093 248364235 591031323 4627559 888335921 813956249 324398081 840724551 651578151 502397915 327103869 132807767 942546049 258254609 840745793 197357001 80924867 500329313 379855591 48519929 64515031 391478171 867683309 283393639 585533463 602076471 114548415 22749123 838227261 453486419 166598063 776865503 797736303 201521591 125407731 854515891 255908923 583595475 909677231 14585447 652340117 774987707 601719275 575989827 196835035 276240179 231741337 172906683 909477331 669876383 631622801 311783785 692324777 296240655 46333335 706898963 406432243 37223481 550334033 611616163 621273005 204825471 923651665 509341485 216991295 565525735 722360851 743347435 471878771 831848223 695897587 497078079 370196863 774195583 82941759 287904695 404740611 641916169 612076839 248278021 974779649 42867039 648052675 214576389 681120489 762795989 241408279 860315065 201078925 642266207 673161225 245145167 108874797 816436381 258565483 278781205 560560237 926918873 930396919 365117323 449886553 44885759 407008847 379165011 461409641 394362279 968972795 997055799 658755705 747391247 449696365 770300461 772887759 657892387 929531645 590608461 95764503 173805933 836358893 815898587 282293861 581021223 66112103 94798915 736279867 280805679 895204219 293735193 521151609 628826125 728752931 644519191 562136943 615659503 845493313 619073313 645283793 548447407 667857053 632092481 928744127 988888523 565733351 705980333 101459387 565934439 124659899 432229821 133855667 84654423 256387993 561824503 450545149 877833745 221586411 800081923 843172183 820492211 717252865 876981175 662702307 86886147 178867989 266711565 812259635 101771893 345608777 695644969 250124089 90329883 260180899 533261399 410905427 314311607 725043737 750352647 273569349 131852721 161697153 223757273 510443071 105010709 523853725 666080651 873147859 667984029 267953943 239181325 184162561 705321641 121022079 317572463 24325677 220898877 74616655 47952623 83836709 801796363 849168103 52579309 306060829 411395945 262144403 474600183 251891893 41945431 797360001 726906557 313985773 474450811 464010701 612214559 788162103 785179685 174649207 173571101 197559399 244123725 471685223 396898529 783954107 845760657 937987185 853666499 759523541 49154105 334345293 855231033 582624199 691686453 226227357 139873259 217534721 452330521 417872103 402945953 857722213 685532969 447240351 955759437 111495221 729686343 1955359 473074703 82522657 689584647 295973799 599622951 760191035 432324511 54382177 583632129 82956035 270574061 997588827 692391983 801624413 662699383 380858003 747055215 663850901 681408623 415017447 68059043 868173411 584128429 440509475 462254293 26725859 227343277 204844533 95161145 376295579 819462551 287513849 609351467 832236663 450049085 353221805 128701229 388166605 70555411 37809535 273183467 209427033 949157177 772261309 234924087 423429697 157431417 374672031 523069967 686630675 812560957 379881289 371246485 502384325 832893601 177209797 892275987 251544241 549133155 827158017 779028221 602176159 933871337 568656599 317785327 764828603 681385795 496226571 817910957 210119069 336529705 727062595 215060255 803627325 160739065 936333331 255132507 890601477 218499515 163737331 623486363 479397567 202582047 801976131 811103811 869395107 86562681 509011533 791666397 198875725 707340493 817109827 367182621 362560707 122240959 51165757 827612639 466005615 414618013 606069567 613717543 607692331 273496675 627013935 977933853 173357617 516785069 295479521 274399767 732985639 972831169 503754251 141216143 984322843 125765265 477402193 837401129 918952065 428158133 945204283 319161009 752041783 924741737 465109563 964599831 394429827 833505941 104158123 306943099 196412177 820648907 261787081 566611995 654548983 738149183 757662401 954376295 535089075 987299281 522477733 531161327 728499239 815782153 831923819 828868207 983959717 904128023 157648119 984938443 500031197 970723025 254733329 164111119 604323825 83791031 850533227 82156653 233014115 647960047 333053341 911664447 609856035 287644233 748902699 578471179 430623107 938465853 106287483 524378235 342458947 26893801 817300447 205093473 631833479 379379221 876242577 492596921 236178909 940224303 387911091 654663593 648596537 83007569 579084877 57421431 905639673 379627575 229173585 222951067 487636193 777574987 773046423 181684399 660441121 689447323 322607585 246321525 48049997 900137949 817156057 807914201 114322529 879489139 74025743 887097069 460839877 851263331 356950271 558019823 78183747 47318107 326454021 736896575 298361617 502801843 623499119 135406443 509079759 930906475 338112109 197136677 874418815 367487017 332977431 700858185 991181199 295142975 389249647 980600793 617731029 554294945 880785503 832360449 715047055 393734127 58560695 603415317 485555553 654609265 147482673 75088781 462916951 343265303 415106927 124861969 35852777 473131383 2177017 507967593 859830259 288200913 642464063 124333193 941356219 247600139 839060893 890358157 990875883 220354229 929182035 597637303 14941085 105402631 634299787 50964085 452811083 809187039 348368725 314856277 580866779 312701637 517652139 373498647 975266459 70318311 417657199 588310429 71492927 866753055 837433447 52716017 496893671 898989801 148844617 640006985 325193235 171695215 749002923 681539069 503298743 342831485 255249167 279130769 4674339 236480399 831519197 632890545 979071765 790768577 908207977 961998897 499957429 53539289 931849451 636404747 773843341 596574537 778814341 275000675 425818517 29776935 375151421 594172549 935099431 448241203 622875145 150053345 362904845 861606869 464203455 398798613 683115887 304519961 199413791 323412453 618274535 299255481 882106839 610791225 596859501 944695573 751460725 643841065 965762923 482491697 202733427 167741675 771106477 889867711 734015537 57651173 990941543 157446675 364014841 685840033 966754359 95329073 832915711 692501717 858056739 713637565 936306777 881672025 34686359 908629511 790789895 6397235 828664169 268983047 173830135 559828109 659801557 832733019 503821303 642804665 250817409 193815883 199941823 994292275 563977341 26923205 168834035 732923297 104856377 900652643 821593117 622471881 121537431 162304609 669042603 886586531 685372377 316064681 387343865 457183561 48947629 400987335 379004997 711895805 847408937 263325431 898629309 329150761 712597963 901205779 85713775 564219749 184354679 358959783 194813267 684664423 591989113 57113823 698658637 767275287 883149193 485289875 913130279 319785853 320976067 451266115 392806031 732074957 384136877 382738197 56100895 912197985 264191537 16850907 356534875 892870079 419120297 978652937 206172841 915853201 118116047 560640703 587516509 501147563 959338953 445645765 617299885 751289861 831680037 951806603 866752189 248911559 215420633 764100647 397055127 477363001 865898047 391784791 699855401 339304655 364749087 250386823 810694989 359092773 198536101 761817025 238651335 820918781 618076263 728329661 351387709 157286979 527478627 896632541 708845889 171739403 538468091 273478951 481142351 746911631 662168831 428067401 304384197 572146483 485972389 715971741 525745901 948880001 973416073 661535 289384185 477227053 462074287 976134521 832565249 572098579 362499719 320498425 217050887 448116789 293254371 258066325 647057399 640282049 338452483 282181101 535252125 976493061 892358027 436557131 872309685 798250371 339627657 878694043 51518945 478844631 917917809 333858165 888168105 174368211 352188961 128768793 333807999 914467941 909674719 670000493 249249467 547460011 913962327 425242115 430834849 468924649 867077791 676639503 9367127 427485831 845849395 864386161 879861487 326643995 527288313 98756785 951171171 613888095 22525761 976887807 262580885 514713655 56759739 606448433 502558797 710114223 469158793 298177733 180764221 268982265 647015725 434522085 250416125 359182703 307988629 665389919 818386191 846390421 496912407 688222379 563701213 747551001 628499313 137620711 695546551 288343755 200616647 165058523 793762007 696472745 778797479 533096693 529268063 298815443 25010181 48475213 749442647 611829909 17245501 80667557 842991023 604299109 770039065 7904095 288600133 47031773 802046147 877085071 859905237 729454013 894013903 695173353 868726539 535580149 599348031 73500111 379179127 572401045 948080755 336268101 503296403 509382875 18138683 71335421 548040895 539667495 2755531 817947981 451378503 985641223 870547395 57482293 500256859 153534253 979074339 452357213 225360915 305347445 366150751 102275857 477488241 147855073 889065031 711566923 460699741 908180379 424331033 290902441 965654699 517997563 723897725 482186611 140036883 351169401 460010877 347378585 550502199 726869943 863102865 857486513 330519965 216377219 181134229 562716409 856684731 636349903 911920589 878587739 92713959 547900087 978976745 966471781 679134307 755593341 857007611 240923983 720824919 126023821 352550787 846400247 197161943 913723003 153567845 486336227 725240795 551459071 887399407 733161031 641273669 194521345 295132117 875986165 265218523 605037193 175466805 937419887 835488595 298403787 949370773 753309405 609303105 78186531 516914145 530180621 728184107 501735701 413359983 695324277 517202297 20700489 161820411 854397493 541237883 951164821 313791917 366958615 467503209 915129843 161244687 515937927 548950377 185521797 727665433 44621981 67271295 593179803 502474533 730363673 675088031 991200163 679073531 12710241 92462499 346204731 840183497 166220933 218480459 490480935 141547809 440955453 651844671 954266191 942413827 358014439 709266707 753369545 728409043 742688651 940547391 647966927 618361949 322736345 63393315 294040773 81317849 648901671 691209737 90628149 317410787 733998963 704297763 291992021 970417793 802005351 962338443 645419901 702981405 40257617 342335809 810747699 65050513 495623465 795199789 857118239 481913623 849808525 594081827 201902999 767487319 775808963 417134297 360646679 733933915 448754111 28043251 47452223 224074393 607813139 837703419 941218267 839925743 513947649 649324895 871955169 589024931 917628785 264086905 390627433 657600867 838371311 594791309 330849209 898389313 357043127 800612033 798566203 677172411 491234467 518217257 53120897 350687929 345349951 76979131 306816583 768940421 832582071 705797979 712440691 430767063 635358947 156823505 528902157 491261387 74060097 565964751 327767367 222544357 97556989 585960687 186707841 317402645 867654625 745110703 233732923 267989165 779027047 448699771 233815585 501101 644528301 740356005 485943813 758546553 79835259 582907491 374141413 403412319 373439809 751125209 325278433 242692115 226121491 360040719 85602631 638218741 329553333 818760439 299385225 93020357 272468363 176579435 333673283 598698421 25140901 657643817 962285623 872788569 349379001 995025885 715243857 2008495 80117033 228125975 127749539 896533273 293273083 285759315 582705515 773725543 258336477 287616751 348188427 633626063 281089831 11298101 225013773 802655469 948038105 425389397 869582373 3775941 756650651 54936429 717678639 143390405 256013499 694474105 517464365 565283525 586657327 550836837 777520459 616121341 691384471 418845441 762703581 204862743 605710909 61754631 508099933 75728927 918330125 448947737 678533229 129765257 30847391 632096447 801226461 356364083 244772913 401586539 214421403 202176867 879987119 969774965 904764613 33297347 64267427 207557151 990523549 901114477 598521415 192316307 720298129 311098075 390544249 875714529 428179503 131662069 378783169 887411715 527652921 552949253 564796493 265398491 805621643 458109889 750889719 540768817 583234103 36968263 943237949 955787701 171498091 295735325 627205955 94742531 342518149 970547505 649456861 39009691 62103305 33328597 517145217 651973607 394804127 698047687 323849293 778313271 760338461 64756527 228699399 878757573 444474495 637201305 106524449 267191219 882275045 594100983 738151859 338392585 494384795 526196651 630197625 468289207 201062679 546027641 531076059 812685209 294147313 12992907 319715307 786064495 324461295 209514363 639044445 415846883 163388153 940765763 566507411 867116165 44122407 285430857 509106321 152794575 583943855 999170395 306045449 308634401 708677367 610961837 452341841 647760583 273949323 234251997 596727657 102869231 993427997 224102129 880502775 278247093 568586119 894420309 316966475 87113497 912228559 234910175 669457757 127455749 987725087 224048075 708792267 586302281 246409673 617566401 426061021 768182173 437954891 229867979 358078849 114219943 294459973 185602145 743752529 298568939 38035077 659939167 93207435 405120735 399964669 782654473 615848979 642356183 175284167 219119885 268221053 621553177 480853289 372691843 942627071 493972173 59637901 142438371 641337205 725771011 557414023 263023383 210243691 778623155 109978833 27668843 292007949 620399555 213453133 141560723 996720437 367999735 943279369 181946797 858810463 525095683 522877239 674840639 5223091 585585025 656296499 503698229 553407747 863132657 771079295 394003171 815921859 668197563 826922951 369499403 719130387 516637747 283134943 610446285 851104189 930411407 680024513 881892025 193599531 800967157 316401295 192905667 5499001 754885993 163853977 190017099 609705573 587567071 711589453 403822611 799235157 570988081 208378185 50185289 717506137 359084317 685918543 380601987 210693929 287288401 104766283 537079231 70465827 661339481 5930065 920903009 520359247 977027763 910023323 211636277 397484637 352623293 252646029 55136115 745928609 900607169 747965361 948530103 506169887 391903217 287644093 422921733 929260411 990259815 505592713 728412365 185178371 476559393 323321881 564895459 336014003 704990219 12965275 3998339 347860519 879247095 319071839 686573651 644789157 678299291 229737441 996021345 407266591 47027355 766750661 422291233 415228717 682941313 494555861 845165169 969515019 451830203 648654855 145113239 862265505 214727331 653587827 159768383 934111617 398222715 557845855 179013247 18643935 368126061 356705075 225834451 6879387 787027851 675783301 356440867 632233789 403318219 769982481 173345721 749351669 497702417 867357367 656623437 671860121 885676069 208706179 94817019 673744553 869150137 331856299 601820231 355424331 950616421 208023433 428162591 341317199 931065773 439087005 69433819 688870189 429657079 422187671 511559221 69102851 335803797 33416519 83955795 770545305 568905409 208717739 384919745 410689117 551251357 494713315 794946167 183911273 515463985 258649405 249466833 958440057 490995311 69853995 343954325 165544695 381309743 522962503 926018031 374105073 720147251 513026391 934147445 748752669 897100069 88935493 525877795 491330013 338688407 553632549 584395871 596858421 374196735 327926063 670696951 995987929 664397247 350877643 900544289 751468827 180167971 782084481 627063 250684925 821823067 815010565 619228929 191773989 423196799 628593713 111661357 157984997 420157073 624504075 317221837 997262385 372117627 286770365 595748897 394963881 219481613 967294619 262470091 255697557 758513153 345084703 132654045 544508901 136418553 583197931 6257097 23709999 394553469 102484943 179731053 730122163 183682557 912687545 155708173 643293015 478067669 706151879 778319449 206804907 966396485 766120763 604605795 841523943 602088567 574534785 260926125 147778793 551369595 802205229 237495575 726654521 975391563 780694521 154079473 454072581 585605577 170425799 589018351 480567847 99339195 274949799 402684207 959986203 777952727 717691335 686808119 125669387 516006323 240138629 611439091 10853059 817757393 618615395 661081785 349277119 88917915 789877775 961304647 204328473 983363681 469601369 893118655 135181213 102112859 622819389 810781619 412330423 750541999 91573983 372234003 510799999 457407841 693544585 195895873 241511349 902848615 97127345 645354751 925155777 10666135 20799983 606539389 777365167 488024755 114105607 866120781 661076793 807538787 357728743 488046447 244953021 149901627 451840415 181776711 728095557 731224499 763461739 858055843 68600955 268172843 143185583 190186679 484919483 302328815 486521847 284104737 154585347 128751149 454786037 8272359 567486201 272560385 146603907 956143733 158444525 666226281 673079207 687570079 543198167 339266899 688798857 239773351 308760661 557235341 268040319 244947245 615527855 721427919 150164229 836381249 414370259 934240447 129279419 469838937 299681115 944844769 44096367 866153807 43825283 853476265 157794579 952364907 800562741 981184881 167423169 18402907 491125501 221265017 959554239 581940785 907403287 688831209 628760183 865611885 160705629 63653077 543386491 936642801 795515739 90058547 415192201 505842447 577757757 630208231 957017217 55186553 274155739 891641787 802642801 421335117 778264245 756889949 507663243 36767247 53835761 341451879 5672491 695432879 155279457 591629149 157234387 54363521 408148089 216770981 56817199 808822081 565275225 376002707 202842897 824486677 256926921 162875485 107588471 301288843 270294073 176643879 898064257 942120855 784594879 400551419 313316477 466645401 847562777 589386183 547763679 170263121 451116721 115369061 471280189 108476915 764589205 418235801 454421601 929777423 969261437 145817097 665385521 21257635 93759175 978255943 211733953 32894999 333666427 725976527 950566991 178947125 634726471 778662399 664055613 278751285 576595589 450605345 6937365 812360115 990915377 853685607 506818187 183600819 839692021 416609769 931540859 559265443 324384797 845537195 180353513 56160091 60577701 974769811 7005437 878783509 768838183 479175795 549535245 283316343 616567023 265966085 744842643 819408783 381147369 507520491 996681779 180720849 153818541 737428909 821532087 229798171 953724539 154009277 22468629 184901043 403346233 182383475 726670949 954780997 871847289 54061075 181662187 941480165 807637871 895389123 986584853 192209685 868840699 211268501 769348211 279146677 890618533 613276035 904422849 146404885 562497181 937979247 63729379 983700459 309185977 561955361 466774243 35620945 138482807 607629899 76171511 375106513 261209601 910766469 288890743 396829267 92111653 430736721 666137833 537380399 574720859 595249689 716393205 543937315 585269185 147297325 392919411 845385043 472874013 681002695 311735641 226407499 174097891 120417033 761731021 28578307 843212069 87028987 82539803 951516631 699209639 915647631 39910325 511843725 392317899 120521885 639320373 558602319 933482405 343682023 829584737 948432823 598201833 594178071 57393441 150036671 487519481 990640317 679223181 582021325 331673561 627634259 593098971 790417071 295806779 957869881 417517427 311969179 193729653 16124091 293352155 207018539 880796807 822743049 326667467 453737831 931961111 658164027 835786781 143469499 829421431 890413651 172915155 424929789 796767131 657243193 586940441 56188011 956236067 710977475 299653441 956377513 376348759 957751459 132629705 274269123 274572071 56402049 393366097 232239921 797494825 17766883 836811431 119904205 887148955 868265785 868290237 715539937 476182631 527792607 209397423 931041045 103768347 472563989 144955583 221882243 495150831 143244037 119024729 960595621 402772159 14587837 287713553 603669601 62714391 432583227 718614433 466951173 555050021 53057375 209781997 201742149 238432957 697715439 887399679 819074367 239842657 206963873 197116427 682829689 671588921 569945865 55481197 778579167 725423377 425712301 590320807 981675207 997240933 304995573 840676965 688326637 109597775 989377841 591578491 541091191 505029019 902234521 348310499 843483125 560549045 427065939 226848705 689311319 666482869 942041187 74774623 393798399 592927323 117825727 543900977 495867567 286639885 469178683 96458453 263021461 241124827 473246621 694718985 631342665 795196541 469110411 543888571 103716035 941165649 46733977 446787839 439136621 111612767 347022143 272331791 192145939 327827287 928098781 401245519 355269353 160088719 596735165 100148555 38709133 795997957 538261011 879390387 815955459 881911651 853256947 392702311 265414075 11612663 505050723 190579045 459711625 325435833 486027849 681563101 367446953 554333511 716294265 368112159 481971393 915840999 946811305 170351271 388440799 464239245 706274431 535557657 304806265 374002379 564642943 931438657 320540009 995544547 730836253 20049167 448079351 253175741 663486643 268813731 11837391 192607717 102781311 511463741 80954375 608019607 649473197 168283207 287372573 457805229 636889935 639737687 384458229 812859827 485102427 636565545 871687387 203761875 199568053 674316957 878307463 59668971 763468839 579314113 384610069 829692275 566171231 80937671 87068937 148976281 799540983 262759433 517133907 93604903 879250801 420700173 422241605 991476119 47958073 908704893 845843871 63772167 311265691 890154795 917777285 879416639 977288915 973683477 937502341 85743279 326195459 244858203 939999379 494883435 801482293 285433931 72705293 320442935 782621781 954114647 849862073 896590967 373185091 580591387 448977347 856353595 392681659 204069465 698457793 822310713 762637673 955937533 949433775 186658515 297978847 31571995 886401013 220711183 164234899 479207915 447606365 547523739 470551017 483485909 136469023 93667023 458292009 438312033 776737749 475467947 77256581 407801923 734228617 107557847 441706773 577392471 927439011 244804513 114300379 387928223 849083643 329648639 239012033 290335303 308203471 227317393 885666455 593445027 288838083 840996769 711153943 149046061 709224677 776141081 826222051 325046153 992502697 35994005 357539715 377365121 88434669 883876179 395666025 165884681 558974965 633248571 352019437 352701245 940714865 114482137 585725777 962911585 483672693 76598887 405217471 929675485 764198013 147231683 134314055 723381063 259344239 641061749 71200995 915589465 196944537 810433195 231296373 959873527 643823025 858354495 709771205 2379051 153441233 314994349 163644291 337575723 92168321 812128031 573508941 537856335 985910957 130128995 545343903 951424283 357010347 312201969 63928803 535880509 260203577 725012709 281049965 960859269 419698555 626593547 474355829 827667183 291410429 721468367 430923549 463927967 381269687 600225867 294892141 768589025 318884357 35736891 496545109 456864549 542999211 814304775 292533681 165919243 112981721 837063105 824486721 431273553 216061729 973564445 30851759 406817255 360162691 63296125 290008203 706327261 832964709 916823269 411962959 282600559 740859279 975857415 505569627 924588035 661934397 80086329 663306235 81900063 249479431 738998651 32061533 242681211 328142069 670644851 686350237 566585329 167500403 288444017 606361787 644893057 945518423 681080941 944490401 901024603 666273501 680434437 748641311 236281041 453796013 463258497 493060335 443265115 830082001 944909007 79351473 90988705 716606401 398612105 259963631 636867945 435276119 761608683 546634525 436500651 325621723 143992031 505563025 814878081 652602875 635149555 779610763 959711021 453910217 714342495 816830265 690722331 789521605 970078463 286803113 32543453 711295187 967949663 539942099 421056305 711178561 169413035 469893533 410323705 967960259 963406523 46727627 552484671 5266295 461952273 271488017 63837495 690263009 369304527 68764681 730614075 111576049 944961481 688644915 630573523 277419003 992295539 684324855 307393701 547746235 313070829 364607657 826582917 322070361 973124351 926855297 474805617 165466719 779304985 139796127 469075339 548510403 54574673 863531789 928305181 648207843 417723751 187575741 342378395 146721159 667635649 336391561 811590561 352552663 582446959 397712687 918893553 219843947 488454441 634921565 393556345 555345473 765098317 901507231 770010953 380801723 187393763 243521651 320275869 819757995 805763739 732013111 546948823 951120451 649382345 11582773 120938119 183985951 344394097 851097759 342379099 755842377 123893045 74070159 706380593 418021675 656355433 9194243 953603085 184486297 148683011 120398057 799115543 350814419 171597983 401914125 357158565 922900349 397643145 41774381 571323953 312306597 211898797 832856807 778816863 93477825 376807843 446698693 791578363 615217067 342052781 169927993 275623413 358324651 439095981 364889499 67067499 991517549 250644277 179840815 392034977 152764679 549540991 526008347 41355777 38902773 22340965 366132849 145457181 727639071 562916721 553306923 248578993 806446287 917412307 87828779 551647649 662204349 841757281 599620665 768532473 199941123 525552283 508416007 355003115 259737899 672940711 477161263 641213393 407181853 312067157 307401775 661701681 667524657 572931613 539171443 483521715 305448485 887800349 685342027 860896815 568387357 728433437 644530419 192253595 766674855 526787467 594610567 901783583 944122039 361470593 50831893 918781953 670156971 19178171 82987917 303397305 764563017 112008099 922324935 445168097 863645629 730569287 348475527 599201595 612471195 417273949 790532723 994879921 729923045 994449735 603297309 166608731 276951803 619915529 2514687 208958321 885369005 162918229 859226235 624433493 891965745 218321539 201126105 270830997 136695841 627732111 147401289 454611683 411982725 562212385 854515687 476098331 796341961 898150795 464290995 732048959 24203205 440856513 125011095 536352635 392325041 239015267 210729315 456786977 93227063 563629497 563175891 254667439 634697827 607488435 688589443 701964743 155719079 416424679 285076737 302360371 808200421 782112917 470573757 841029351 68841825 31114403 559623183 375815167 762663367 367146145 757218105 49247677 670688555 202248391 957549923 473778829 543338509 546515699 726733729 346873091 389998929 125016491 923513835 930995929 726032709 404848931 204792867 450784755 718060703 844944429 592376081 485191003 874910073 129059149 637555045 785068613 906003035 626255271 91968187 900556559 750122289 780876297 559823507 371724855 295339601 624227311 418521943 483235179 342006647 501913203 723809111 137865343 711945931 427635553 782737357 131570285 701024727 400411685 790994905 861029465 945901203 893996759 673224071 884474511 787448411 516781367 990760645 436063103 221947123 359211949 126112367 648079559 434184585 961307205 58676549 453404203 676081589 755792825 449157871 631088275 76660849 98905191 88672513 456246549 922558243 189808985 845020147 894143981 190057111 796325177 195200037 883262843 744348679 578794339 616019683 991092555 101444619 5933269 40285019 553639187 747853737 143346997 31951785 804953515 155930449 658594771 483101645 22027289 886265815 334109351 405218479 43094151 832066423 94064463 927610147 817709383 299491545 456643603 27417313 8691669 994728455 28518625 662039945 909757911 251519863 374581329 273837989 572131859 265802505 783828645 794112423 501975937 31010047 927476415 416764649 673582139 910527751 702008115 340894379 559652481 765928761 986710839 412745493 423754691 490431245 801170855 87101499 586771347 403975277 343215119 563578643 351005353 827785893 603344283 611425411 67221485 178400105 421231651 15451727 473157477 27130325 906052391 768640555 114522953 111680371 925940941 861654705 602378483 963916589 726611687 817069151 92191717 622009431 584335849 692448417 792581835 907145649 108475891 660267721 852036729 606432865 880181197 153538319 326869735 171437297 724224487 510005139 31938109 387050071 798375255 598095199 149000643 828145393 282092763 769895269 409862381 56257925 49634781 732071805 449522263 740979263 553146731 517282155 562856643 910491061 121670461 375497173 46868509 173887973 533356721 675314511 74274937 303577905 694588367 697413967 70091025 389073259 687215173 786039097 551452999 88873157 469674093 607836501 256036779 63248091 723351107 43872213 872517355 91514295 166202993 672895953 714092261 44209857 388043587 639395405 480102811 496426963 553438645 248250159 977238073 293920805 407399521 333507657 641995283 617878369 595162771 791997015 63528867 396797587 740861751 122973173 657730957 163387183 399167461 676129457 51305885 515203093 501871069 446728699 102536643 90436741 114092293 643128877 900407581 829179697 582355183 944970629 100930799 664807213 740535247 906697007 768037793 414183157 891889541 238461499 1006025 970491249 946718361 757912739 708913953 210202859 898740539 36549705 302431117 916300313 303628351 377565685 936588825 871922971 208203305 745755737 504243189 266286195 89277981 407965453 29986689 655528465 129130219 490641811 448844603 931355207 459073035 550275669 65340627 52244693 362964635 631101859 608004121 612907997 339800673 124160185 857501705 678278385 239506129 515182771 506801097 556176387 449221629 546729887 777074591 192388209 289046439 459070317 536916483 876580351 449319479 483107061 993838221 861331933 176200123 901220601 117213443 143772575 557398249 350561059 807838287 385637441 269211683 332406019 851026307 120323369 259443309 616108307 718539997 170891045 90334329 438287797 787843773 297186153 4958109 486601263 766011057 803370133 53967577 298180023 442705003 349192619 743361491 119126115 144873157 753770777 161688541 269774901 856963781 962923445 371303147 421938711 222540437 771383741 522845341 836773081 272398985 421949907 893742395 200731701 871403545 121660937 817488053 845755339 500131053 902049999 639282591 784965159 482162637 266681863 405850173 175494071 288200621 365387251 693933427 463037911 961732265 144474691 494617041 31832007 381179139 782084873 234754703 109840305 156111399 715640773 300064905 653666213 740473767 734578267 202402635 301790363 854374465 95381529 109176321 778396537 249032919 275307699 672570501 203127299 434773875 433794889 456862803 178695663 841206857 145586523 546637717 555602899 758689973 718822363 264398871 314686511 942516281 30387229 874018901 692057201 432433027 99767519 521724009 2080743 531872097 33970499 685260575 538666699 335557587 950068697 455470819 645945661 74637563 308759959 584224973 881302599 132190243 295598295 616520093 677669085 2177729 13886563 312271545 711044307 633017709 452906595 260982065 551281135 295698667 831742319 137422525 499157209 692535593 493757317 573234363 823461407 422767671 67986185 379415347 760438079 431413585 566618055 261571541 397117847 544405979 550053367 254664439 68548467 684948575 334376245 440860311 287708929 623746451 842605447 317472607 423972187 111622991 483277913 159798685 970219909 286983065 486027647 229809225 253047141 851576729 720954939 175099903 284250831 552097957 176550957 931138059 832028283 69593911 579700325 308409691 848447753 916003829 212040791 14152579 67831299 295626405 344328419 938652101 517292763 538124095 24739147 416714761 959983595 318333147 240373821 106854363 949326705 256844479 830653647 293445495 286805657 130691925 620718463 524049079 749642869 441431343 786263343 989242917 131685117 355675657 137544753 955404273 183959569 831941065 51361589 763043569 235319931 532320117 766709853 690819493 743340781 250986053 533783085 420324147 623563007 74901651 891359375 13018733 534897205 437523169 880528861 321902279 227033845 552250073 343776209 552546145 265930129 630107731 130947217 170317315 557052229 367150149 902194603 929789979 14645551 461315543 964723987 869981635 236988761 747966289 55984167 517625017 805648821 804064551 732269229 129618275 56108827 493420275 283411409 136102351 277625421 727498365 219753257 10321081 40731381 351643305 605407153 639657085 862982309 162410641 795347665 380677667 69073875 438817389 658660179 191610969 796795619 233616543 920824941 4710519 846953757 262554293 465079999 365773181 763114931 821860963 591255883 265365779 45566653 277395583 245853825 768374917 40178749 49871379 671709491 118524879 507651869 84452677 729513377 720817803 260764717 696037995 814735471 529427715 881835817 747666685 687850409 692922663 83395501 162462883 853993415 674409357 22081095 633591845 686042277 217840245 799709031 285634681 961382537 559277765 366188645 959209911 732624671 886694159 392045699 132864547 411470971 554493061 937566699 606197033 512823327 669087757 86225581 977223773 488850411 194202409 395447237 729938553 704450863 410604297 50022927 277794913 478618527 26376071 163728217 89602081 982089307 760344607 199732563 157112297 900813541 574900987 193164437 505821975 796573739 680355817 78460833 682309935 684982147 675094881 604343777 610652377 229800363 6015871 273415845 268895979 954835909 272736015 944802855 611778399 268131939 766910589 528099975 449168987 580807799 815516899 51647185 489052453 775811679 428743933 812709363 44022581 206615263 119683635 576616905 438736163 180271655 623338391 745752083 30480821 369808585 587710173 920591227 298951379 673702597 589292901 720567953 87007891 826451071 507013433 943347407 599114801 803654597 162727941 261429141 291279629 702035147 946707489 633282863 203081141 285923633 879686027 930116557 232633051 781863671 694079727 545583749 369175129 269219215 68430487 960149085 108510261 397843661 966469501 662628157 528038297 505279471 907526719 987576565 197542359 899560087 617206309 311263295 650559853 570999767 906720285 627021755 522961659 705297183 831259585 20053749 966859343 104298833 85094989 80775003 995671899 658427311 745721259 671504201 557353273 276490985 852170601 451649791 765610287 424512529 478629821 567244197 740090791 1257895 506685065 706043471 185024309 871797391 154549331 801229557 42088849 655347989 341532489 222133623 234576035 473824241 249856579 376066207 459818867 50867519 142184897 543941921 742356277 324023685 276416235 450598545 100848709 712689327 978465421 563982453 480280869 690782995 742407203 272247091 381222273 594071149 162241223 693736223 95811885 224913635 554823235 303979889 902831907 369249795 69409799 937919305 978539141 208763843 780435497 694474929 48560545 771740541 891203177 830152091 406767339 263521529 6829869 109601505 798500859 430770019 622431877 818159427 222149269 782747731 945272105 547458665 680273317 709835969 479460727 907253223 69873727 579564567 833337463 503673907 450141341 229667615 629171927 133389745 383509283 668737297 188679665 205603753 706619227 743849609 22805187 971026765 19994361 367337613 4570865 368968375 342682331 337355655 346710479 222621159 690736127 334854225 309488979 924613061 346799251 348132645 694645529 815917347 203113195 103439529 256699245 118065085 685051523 860589803 614265915 669902641 888190203 727845471 697119771 53890057 307255583 534421219 74849613 628326071 326580709 271781565 417718969 74764435 83780453 76584857 871211243 36860129 238784995 606605197 280145181 53994951 301659853 742238231 493566511 33866583 738066867 606615321 616567717 388178573 656585041 512692709 47241393 525311557 473009293 963800619 796855081 146197071 983412589 333174029 424055949 128573525 385906729 787653645 174326531 785014519 48625177 283158555 823009371 402139313 698837699 78221961 293189389 480180975 814311121 14221847 474057527 743036673 288979733 781865961 904435617 201874723 777273229 473661581 758125753 738965361 354757209 765815543 464202137 697090809 50493127 573656453 809469693 758890155 979527753 613265659 354082383 551335519 478674297 372868489 194554525 383514073 368941341 338881475 181606301 996552639 923632927 419087269 773415601 626863267 389229457 117134743 273846749 213512703 577980849 617978723 190053075 4769077 319363807 225234239 863962091 369726093 256975273 196083915 993620257 531371575 335186625 707924489 798322461 603814735 466727427 698002023 943823409 800620759 279415153 457321403 273067345 178791091 972348471 89359171 423428381 433969851 437116329 548922019 804668637 414968739 413291073 267360999 636934017 577019405 944982177 429315463 775177375 409820037 165457047 615477087 557120887 191486331 130111511 538535347 663688175 633973319 714144311 409285939 302785943 172057131 176432193 223790323 277586085 612860497 242985115 97231215 255284987 268595657 16103899 842062221 776846623 797919885 587231675 51197339 438949185 123787901 484647965 576034381 666187829 395786341 24219665 467754435 981942399 339178739 525677765 713407613 968872257 729154499 991589527 36419695 835824975 515157589 499575817 661358057 733744159 126003987 388627145 620380841 635430093 446857293 906886311 674265303 842616613 623250749 115899551 907691517 940933779 750248195 861292501 966254611 288206127 623993259 279052435 846343283 722636473 499644707 363512653 815780071 230504855 465342023 431071137 514825367 921159131 757678551 516939085 974404893 248285241 275936635 149329729 675392369 981497617 527741639 999688845 796860669 951683947 656434227 607040365 112118413 975306743 956613151 719108165 276423509 411723787 378304471 304110753 428211699 799978151 814168201 777154097 31601517 500417905 332066897 819753941 855671855 337706937 80193839 460574859 412757775 400608119 551715339 204987523 451390537 485227081 567382457 277096461 596568707 913300597 411599345 489978023 538289101 54551535 777179219 987407857 434139799 689446729 155668841 362970297 31941315 935453895 678856103 690654191 748959891 748472139 684520545 101993395 828836789 475374953 629391581 681796165 199978559 621384277 482105153 948100881 524944303 282483953 100964257 782706601 69463017 301243075 140765429 704161995 288792121 252160249 119977501 113984855 349115991 782565739 734703843 711273819 961904991 560107417 549066489 777925897 489248983 43188649 899101433 986555 276204969 174093677 686625633 159302391 906094383 969634137 268490143 579778407 232864291 992406925 616919295 768763871 780756907 616100049 277980095 383464025 525304917 23325589 986271229 488266999 168685335 465051375 321719491 526771975 466923595 823385501 174990595 571482107 425257145 193123593 944701591 884444271 4625549 213390913 342935869 1280293 115563613 581078269 769722785 741797897 97101861 250179227 918770773 431604015 869779021 410170659 376101071 611002833 658643615 98822723 138931827 235372371 979525459 107537493 732006281 701320767 944625669 719475541 896599619 554337097 521441977 376729069 859715003 622463565 427935455 709461609 868557039 964693327 742766665 133676997 78682571 711137655 508195895 404956827 790362143 148779547 227905613 128290359 713965735 183893941 448434585 574174085 103790593 626325737 101441935 774703645 140856759 570852225 530884365 706286911 831024955 546256241 364442969 575507153 481217765 225128919 541256991 738183267 365963511 177303025 748173685 326107693 126298779 104340013 770232535 81878543 65126625 88861471 865399851 835601549 240085445 389162627 385083841 663713241 116412707 516275769 911721545 996594375 558314441 879441229 592500197 493138395 215706727 236736245 470287639 232222265 104858261 261080457 730840013 950331569 851942359 197803919 22681693 603626683 434965649 750580911 703838853 312035187 54207771 873693375 880236137 276525221 371734697 748292794 187463575 699371455 444023389 102399427 238331907 786435797 29424707 558365221 867408649 598249385 436993099 890942033 956123251 305003171 330641741 952495079 460036459 352489425 268251147 366943399 115832709 408475625 196782639 915439995 19867587 22177101 894126921 439477627 642057605 742349569 9173459 52574941 375913883 836539831 131324463 211488775 360244025 532809925 37568419 738372741 378591485 907469099 421490533 41467913 979977709 175952527 144936331 596667247 819707511 737255491 573966871 197268921 790538605 382973499 225265139 595198739 285141773 467182103 184899055 70818255 482602495 991270943 453115333 957911915 980811853 640665155 633957141 79830919 796521583 177139479 98827883 360037105 332924993 561380063 846657589 667604635 228722183 284020351 787345871 539247777 842409329 760626823 957988473 915280197 47772817 989937197 502664285 770736627 924350695 707712595 118667147 69887551 20366935 24716927 968833277 350666467 692570159 43509215 705023891 618819265 414210083 435474509 420504857 497561575 834133841 493826373 922019645 584601737 328593215 713039089 369310875 555773439 654785241 530988317 218821555 250078669 454111605 438262853 723737581 441506975 276172751 602492035 516720285 562398025 899233039 789241507 826257403 911453637 273732543 960758031 615473191 857070647 735058133 756944101 217088557 856428521 733437617 228638941 177646843 20949583 105971733 467871333 793433709 486255621 899318065 611180167 909916225 447962575 237841047 512454397 70252325 858344853 215232071 477881637 559225765 344512877 364416165 710601479 571507007 92011153 766211965 867454547 762223441 613976677 217250567 704323935 320571943 218946933 312378591 669448233 67624943 283027057 694519051 419170651 241299397 624509751 898772725 912998723 777578663 717288395 383289463 366537433 716479619 279044949 697852619 919199417 510710565 289915693 21293977 467066927 566544715 607576521 555698155 487023143 259449235 71713743 660658487 352679483 553659271 31392523 763454043 636087207 107108505 988595565 467230877 301131349 174141219 995130901 518140075 771566545 995799907 535639617 917966743 674162261 435879047 659436641 124579807 880488385 541058971 277174021 820181099 733492889 92889757 476134891 627097477 304324879 286382955 821470451 666316261 101087225 582329039 249344811 901295527 933689303 906945403 641068485 993830223 45226447 959592199 71548187 326066893 569585843 35321079 835253171 277144179 903998455 171982769 471339319 925098497 524037307 281400711 535318905 705816987 44120775 570697653 498745719 650028751 105826185 316737369 312827985 255917457 160768795 848850045 704906837 434193217 788788027 971192595 345373173 703461279 738793549 580664307 281958605 511026653 90993765 739681247 836858015 141764495 278805561 417896579 851904599 812300723 452778535 642983275 443791623 462322603 267289909 531693331 278589677 213174855 673761303 349015517 859936363 568400573 4948511 592163089 622429963 877119913 889176143 268335585 780235393 60228111 519468623 804232805 140459433 149428829 935220587 781204639 399020421 541812075 191532959 647366009 811436097 5340017 459430533 505614789 175384113 212945177 815926887 388134201 113486031 810362479 853858101 235349369 513897919 509571047 159486341 682368267 906167755 561158495 680187287 32704101 105960935 246976797 520834129 122336989 380305967 503503563 831681093 928080823 259922663 955432579 963433125 362890519 94408567 965179839 346704983 35205397 697143157 114384487 576624349 666952869 132431259 216506309 432382311 899759273 604651213 459850127 562357199 832138989 464081173 526324963 894186385 64556833 154865833 721660743 70238935 236101085 304964321 719677353 734345583 812775843 356582209 510831963 128494033 327606749 34461815 16550171 858443801 291757019 774287187 375944209 357239059 807958999 79662545 590293193 712457515 328342513 436497941 272472117 983382395 60307765 617234795 302924983 47808703 880072339 189314883 349464851 193367647 649347043 53036603 243062131 294124909 126809831 387204887 55270001 766423965 233463367 358180289 454397447 879765583 867479191 148854347 314834587 333602701 317528911 721443825 83335163 388984067 29779409 399720473 692910171 413835017 882191971 993335625 622382425 319138205 783362875 353361465 49549051 441159017 233855855 909262529 211206829 316192445 68593665 40025831 959831621 143809677 602604761 729437653 896481023 707740025 285670859 76314333 406337155 353402057 657185679 378844797 520737755 629653355 802238149 763750229 36499071 575662329 794267897 504975667 818656585 655969455 294863257 579641865 348401027 604370551 289398017 918019827 445583317 810253279 969360241 337516851 755492185 265247005 716755473 61770549 925530759 869820435 497243637 662997387 787449417 48139591 938134293 874485235 740892907 905564903 444278097 262115405 896184097 143272395 195136371 595996583 471906057 355625075 424302127 712290099 956051753 321463815 812521241 984330573 953791853 7674707 462603191 871252599 448257577 139697619 447188591 774400093 948312349 98931873 600178069 330403539 995512943 747149191 618809441 687149267 767453097 674225653 644384243 712652673 292586689 181341185 439043157 756327207 226883863 658598251 8712571 452108857 657191021 523808921 135352377 738646099 154255857 64067483 466733909 899971383 346261817 117373737 493872245 43115475 133371203 517667233 767200557 547633973 236523891 892055563 759219187 817189277 316055701 231255317 518913835 83935597 830982625 55062553 777045535 959380529 466727411 41821715 126995965 159797145 161881039 911902381 462857951 607727235 827656677 184870197 75235017 522951153 54332679 586361251 597151905 17131537 711176567 494996371 603375929 72416563 350057429 58356561 440094797 30631123 439627313 269868745 573046139 546640021 19186431 170454163 90845517 778876227 382638109 301941487 954677301 752919507 252743633 849800901 933761931 368779869 859260359 827486881 261806739 686804775 691841045 432134077 935677811 781649305 163149879 230251769 915003453 251496267 287573525 801923545 894604781 446180083 783823609 685266831 338145121 527922039 58765979 564033009 694138467 523738851 198442007 735881341 380313765 197597031 245809393 894678879 386764479 429443171 553103383 668090465 398731571 12055383 675496673 662761979 708101483 111308525 748105225 809907793 916579001 886859261 670288565 308794915 109499219 587406461 699638641 454693351 463489373 101433491 929718069 741650097 25507807 26195339 237256797 747773759 461347785 615471831 592072111 509267707 602566905 624171795 943165783 842924273 521829163 976788223 488855531 556888285 972081931 863901835 285999463 862981659 510059817 603288009 964982321 842774193 218033407 881147889 243660311 710298705 863116271 146253931 682126671 819823955 70721601 335594431 568168307 67801011 318913575 265916577 962298507 390455833 938422969 893126381 8140805 834652373 178433273 994510501 95101363 1501919 734576337 155943157 842266325 744342231 931130897 273506607 260902669 554891777 397585779 600353745 988180845 668285775 846715799 904724861 891740007 864131671 556070921 758675965 453724121 818280535 794647609 991649093 422566919 202816315 80532607 877598321 791575713 134889613 473313565 697219267 205222073 918313093 881224509 214648999 70487761 473646853 741033967 57010865 258790857 20493971 974258477 659848347 780092913 345047903 508721367 958499913 690419197 470733885 229073849 361470661 34886667 333603761 683257985 733636931 729072289 637846749 679831243 550698527 766384555 520416405 186899991 185330653 651627391 341203021 696905935 932558885 407096795 497421607 949176643 306694349 45660897 650689769 462087853 571225807 654666787 653246209 838115373 720989007 133111697 502780807 492005327 749247127 338335373 256447547 282655617 85165853 329820889 536473987 153472543 450918521 298776997 464424305 201143913 908482161 396890243 674780857 885502473 871034349 656295539 546657723 846180493 194600451 823502553 396371327 595342451 788496621 960210051 978129589 505535003 391432977 658566309 384501427 464455371 290013685 812563933 507456121 125192631 75217233 934820657 448737709 880426233 743972861 806675725 944538527 946467473 995027711 775696965 759782981 949750119 835080319 752717083 470307137 668223055 870720213 446951983 711318745 397859585 182389111 514091409 746942205 995053341 505474571 402966967 808370753 296284463 94535517 585579643 351326441 746826661 675222111 54370853 306178519 604058585 417196331 328199267 322255775 328068367 315721735 966106439 341625205 1006445 375513181 976329297 423378491 469249799 638627775 337889123 567757175 517842133 336906987 689123791 411408983 692896695 822955713 355136327 324785331 996972919 947262799 399902953 286037003 158924231 860836551 939266617 260806789 975418177 739401349 248925735 52438001 434078821 631219723 59430919 437413575 400311963 63945221 546390677 849288487 183331125 222732101 35158775 406523861 814827119 132084681 856136635 337717571 665512551 745933747 597866965 633139847 903457319 819042893 849178533 599451743 37766305 259400971 440550379 909148725 548763567 716484745 499474139 761933079 960539407 924235145 620986117 272688829 25537389 277601271 483528295 227766405 569176923 366028263 130256233 183638647 143711823 1381009 892474837 41175617 180327853 16333661 101261283 971432509 746588605 7156435 615673647 160020071 646468273 600692649 338693565 680211303 783116195 760393143 653669627 238353807 300384657 490687745 163124929 69665747 86288999 300459187 557406793 608863445 182115319 905429537 385007417 151764955 534669559 184822213 33398431 875235283 674849291 195454531 829382639 344076885 918898363 917389669 86828551 859788961 824415353 265856289 565211693 809131165 246896029 806079631 625681165 991066585 768346729 29613811 962059195 834234509 576950279 489780411 827344569 278629529 597005193 860924535 177623271 186065537 725891301 547091427 210988181 193847925 215044095 461037795 787892345 914519887 303060895 935597699 290256045 458442637 698300021 67768819 427292089 345200213 32552477 379371409 679583115 388826231 18666009 224832993 814429301 671757161 153964751 328161421 938558007 444640333 213283473 720017255 203401973 254126825 381778073 817733995 507530299 454453933 826304009 587217341 424161793 673245101 16889575 538501801 651884451 895534507 941804841 478508193 874598119 307509007 788243365 315024191 113555191 398508519 692110621 993639497 961692525 577081577 440021819 638266025 494071619 271688309 935257487 257524081 986173407 804192149 227667603 71484127 570624527 17586421 759906473 19098451 304007945 698723309 733204761 135126619 591419751 112551293 789138707 201497513 651594289 750211915 733563571 813426711 272456659 475711143 702019577 670453931 416426275 489128329 717570511 176609679 261471327 896922001 947026181 389747479 670266923 633988355 67956565 100137659 829460115 219734991 726337119 566159395 890857487 214392975 16002735 207723543 269325433 77709185 420361909 128726411 714093595 118240651 430901703 8024729 930414749 412827453 971700523 635453833 110000153 470769101 656008457 956745665 524613641 25345565 414748017 73838805 54725715 317235635 10318173 898903939 869872709 134672829 540802989 454854829 74513811 23454741 809029677 345127517 622476123 76210231 857430667 961096903 882026275 615955533 942761315 334449479 382964695 438755363 22084405 145399647 705147085 323222067 864490345 614978491 917702849 103739037 880735571 362929455 373224153 7084069 983380779 699628469 427336613 786138429 985653521 762582385 338411029 143736059 401049105 430994861 993645707 437677599 371497753 407891423 354515913 139855889 230441477 366414495 211352061 188713437 74886803 605539505 575816639 666514237 339831665 670285315 550703879 150253967 593934637 584778915 898015807 697817307 931706687 229961171 746958643 667803345 366402829 730608369 129600023 529921477 96410331 587669129 302728329 482623931 214150877 956861777 527454349 506526039 982633005 214970145 523528595 400796905 855395785 38571517 408863599 533675879 197061023 184377619 983237469 573733235 387274107 775957939 928958723 980087379 303344667 34014809 623784815 924940533 454603805 996189609 14839319 103419635 219479819 556338543 678351829 371628937 718314583 412347293 642370545 628479647 385887835 934134093 208973079 658610119 923704151 948608453 763560029 20049205 709383795 898105709 596139585 495599819 335982785 103630557 750289319 204089613 744365117 539613643 810995931 219067437 73996485 928362013 361230485 181132545 703869219 89243871 761653487 843587081 958960649 155882307 267129971 789420139 120146703 470029221 758458635 227640569 174998457 96538757 914643211 939860261 77898349 161767827 849779763 589377557 974476671 946911393 968222887 471906187 446594597 843244199 533544437 874350327 193125251 777834701 103331857 185635443 828393889 609121115 463535705 522265019 892286577 954561733 135835795 610977081 260875979 857406117 530924011 896420091 104513907 126882497 980674039 343860153 141947407 64602115 2421171 860847057 487370801 988148095 376461959 733516361 622230611 585384303 866223933 255979477 900464343 693091381 582574861 896202183 697847045 663786847 561015441 786216737 839569423 762494111 266777297 219512715 724711949 659299537 141199931 494099025 595259139 723091703 37332385 86405997 718567893 652531519 850906947 739738239 863101787 537412599 545968581 477528523 352907081 125318303 824302901 914448195 287927107 932661977 63093255 465383805 805114321 573530479 614148121 713477305 512752483 107938647 353989039 39901661 30005077 751360169 107707001 50407289 25077481 633308585 445845643 723041477 443622469 286613955 837997409 768620703 806541691 270957707 319571169 156802703 701558149 335125691 713242713 933801925 317537603 657052983 854675327 612794391 473671297 26404873 600653677 663154947 169574127 394314599 195848619 803556531 514393381 952543401 141653285 95082741 572003749 906118997 217568561 186031679 569516505 203687955 200996493 734647475 803129617 267385273 260144221 360663319 42964359 786546753 931008301 378416089 352114013 144031695 536019445 542273553 362458521 286314415 186553617 610876545 341793585 538622803 195089733 943305355 486098427 473429 961663681 926286147 443067833 665026169 399651351 24844381 306773267 743155373 574745415 798636857 70649501 674687489 757125303 509881825 916181455 155994035 65614383 988045823 282262539 250944291 997233131 912388591 153638295 356264671 537653635 58217391 347045545 542702487 577404671 761085413 437598807 60389675 655280075 520165091 929254307 466833819 170259389 490512283 675090549 596977681 644592657 176699571 873758881 537307109 416567919 718240109 614521567 997452685 157477857 457672377 650008015 396791217 544709599 575853105 10155261 9593881 29484867 168076561 47192023 579994807 723638613 40966467 430134969 762888363 933782211 50553429 194114531 695293237 747898527 335035517 929268861 619480769 419775337 599820189 225369499 303510499 602712069 277517883 907201845 980560467 208267457 889418885 353671979 368333305 283164241 580155219 763049545 140004317 232630483 507175205 542171453 177822515 976201419 99352867 577630115 299790935 301768233 796409881 708665593 396716491 902725441 856579969 694691245 982722363 690569679 315171451 991180811 461415545 480349177 470854347 991189329 172989571 892485455 264316387 690162845 829724283 610375617 596326873 689591803 914536107 150224047 997662829 806608217 274027399 760379359 985816069 538761617 593553067 922998399 142998193 189745511 547093979 965288993 559061801 371275905 790477311 958771653 404990411 261448307 597135405 669984461 105937311 71257011 127896223 585723915 334411091 201446565 388939193 729114801 930735169 790087315 504425221 781160283 842497381 214955691 959945783 154525459 315150953 413072647 114735147 221129283 799975067 466065835 336936933 211311039 816519153 309007229 982320525 565235143 878270989 16212817 360418681 973527295 178621749 711618269 537204003 907540341 372928343 727999941 178822191 62320541 360904459 314726545 524625769 922539863 175440017 277521843 796480961 189115109 77456593 462001797 647371095 553637877 331014743 575347781 306727529 918629533 425130077 113359647 364590183 539012185 111382467 184644901 783115489 774269201 906562573 307529037 248525459 539718671 709654125 414062203 151585889 154005771 930049209 702626423 119268439 799157535 716187759 324393203 195215015 44260309 459029435 974868615 150740651 303961621 571967079 471593909 754391017 372039991 503805675 558731751 779930891 797193721 647188329 562445935 145401571 921355135 2968743 585778051 947684205 237337175 376545045 758963015 620695247 105521013 272527303 368115907 277665873 486007607 432418689 4351721 327428453 343627363 425260455 231262609 822099115 64016677 761579847 639856253 457667811 18767377 938641437 865518679 674851833 203157801 246687619 901318575 882053631 878477005 99213189 467040767 76220467 538575565 245982159 426554537 106137589 395120479 28433593 158296565 171055571 130719261 432033347 316486677 885151359 630349071 597880597 535734817 158519765 508192161 178689915 996314907 913766871 185871787 313636463 113102573 68312497 746209381 639044753 94840679 511050935 81675129 459665701 364524867 425309537 275339251 806273821 243199779 865143383 676976453 978020879 160416397 259497313 713824849 88604985 968406263 107674739 818836059 721253509 159098551 501104297 264331791 994547587 240949263 221406021 795528833 624504933 375332393 703190197 30094897 750974735 888883733 108696967 862973443 894821383 699523533 501609339 83883589 869643133 498610481 218049651 7798189 785018437 590584077 436696441 959658581 930608355 940544529 493512643 102729925 228084345 196264405 325783465 458115817 77826523 70040539 450358191 840188695 828568701 26835083 671077761 671675147 929215873 497753145 277384947 912734957 473120941 847235101 450791167 414107207 737595247 544933207 418558153 906168593 766176735 878653427 337858717 989945511 857248189 653340639 148375275 196719309 514680175 615107575 277158737 904617137 467008775 935895803 752449939 529010155 409712953 465417365 395045019 451677045 508565093 653256789 674059131 602199221 17988499 13292723 965120111 779853943 877891443 44247573 640948699 232362485 589396827 648203199 564966731 383556039 569420875 860270823 526369903 173077747 218335721 204681121 720512551 221529577 817781637 31279603 383419761 193286013 179563285 779353285 934749309 631138795 55438907 182568677 514575259 442825179 157414717 809569809 895449159 430443351 171256843 210926567 188100135 662886613 354811705 812584691 734312449 458306101 345351433 955732899 817137869 774895033 882458211 994984787 155589285 93026575 634063317 798740801 921483211 934208079 788214421 261565339 769126825 962343665 93802373 666545773 952418775 863195871 741428777 801097397 650205451 640136549 318994355 217915729 210230829 763104823 125096955 662468107 151002949 993836145 399252605 658970263 187499143 461723037 683182433 774024585 825845069 259472549 694311543 643909479 379569437 575607005 510344247 133264279 582096545 787119365 370705601 186297709 995255981 315535427 261695705 982453535 966165307 477308193 897772785 658126545 232606829 583520405 72829469 94444939 517842833 380856573 319199009 411447359 119500313 864399647 114696545 409052871 536268961 903911207 54478317 177238241 486263787 502749611 181958269 111469883 923509219 205665449 611451503 44768353 241265309 544019587 778469835 980892623 217062227 747111691 617497663 722644711 194856809 807716465 192792611 676598771 588751721 654676055 875015545 800451359 634375 998513345 686618339 291325323 10460959 742080281 172706997 435006003 495545523 825961273 569525731 600843011 896322545 955819609 815258383 30050253 277169191 310466083 241663357 278437703 966216151 339422627 209167903 521418261 68171165 121454669 231189133 446841279 88529227 35198719 656221699 345444791 72024271 329362687 126953065 319578197 637925191 556868345 112357199 723044315 677725687 128157699 875570413 161790323 247816519 742440601 801319715 937783343 84953037 342070691 156590197 761810437 254053187 969659243 277819155 10181337 413136269 371778727 874289111 211691891 565455287 989691255 380363583 814100611 501010675 928181341 133696625 544855463 943852443 558576969 208434749 484915291 551300659 949929101 335877657 483263243 224587369 135988199 892556583 785380359 787585037 309269375 774254381 873108105 890412573 580952801 714037657 152361395 239180217 403418113 389319813 700452237 700032301 972850237 339038637 867949575 376649967 73692505 343697275 510711805 112242329 42007173 190163451 908529199 592035819 685927765 368359401 558288967 395290069 351135429 792177055 885196245 408560999 351358523 58705449 213073235 292837087 151245445 715609651 46960419 651898013 760511703 193940245 876923533 401606703 460330449 238922703 546234049 992297287 370057333 875150855 241827803 988380865 734671153 904654605 373093851 974300575 169368283 398332121 488950699 37440011 176361905 518713099 485656603 25564253 65520213 18032103 629393125 278436365 355782873 518722397 957907371 811913405 989429165 716164103 122819827 113211195 787340979 927079971 494577459 742575737 538574381 119605911 93694401 273237651 152267211 252697075 365494239 231950283 649755551 907965805 751409589 657656717 113542441 131949543 546178903 140146029 131858509 669592295 361702333 480948771 547168857 141215643 583531975 953105559 864151809 693586909 947500353 698191057 313840997 150649641 336133593 615067397 515427077 290484135 148280875 692874895 990306003 781646633 907928247 29787379 977595427 521884195 441076453 718002905 434069939 887881399 750089737 14267159 152681637 810311081 108793947 25112999 194574217 982115179 396566523 799738027 198575445 703696659 355151861 467535731 772617315 252029793 82250551 398819181 102677885 416042941 296928157 794829623 58356939 899614003 512562919 333037461 331725541 644423037 516545469 167391343 312418761 634143225 746850995 345489883 726767579 215119535 342328127 683407635 994571495 124692815 432138951 365652347 539196197 494114349 301461903 155996061 472756785 530549069 243297739 574048815 26851857 189507411 325367445 106359561 19362353 411114639 132827373 987778097 802040933 8635383 15527099 128760015 561693167 465410093 485551571 665897017 590257775 755827831 416570603 377466091 142525173 837471171 768479911 153251205 629725429 30536619 801366161 987692499 650736463 967776619 269455895 500449739 869216069 591131371 744441747 890774149 787288965 309140925 364215625 234202951 599192869 301499413 600393311 939960443 473729697 89588181 648165863 568941747 970207969 38868353 402395101 677716909 49311281 446129995 514986015 18969417 492752707 529615369 508351351 512414357 81836089 816377403 999306903 68901057 314508183 256848647 468071705 718758445 125736775 640424253 517321851 943262553 957001635 162153045 250453289 939461617 267209829 700474223 132788597 694401479 354580403 494042703 253374101 874532313 477140251 555225701 502922157 604578631 556597905 154961867 67461829 982764639 571046259 756575805 823113167 598086035 812743047 623991333 332440483 130075263 862708729 539753873 448628997 901857509 962216031 280431929 340193691 289092529 419168181 638294395 595347191 138109429 556584291 393091421 222803347 996387823 953777715 660662673 542844881 293923841 194354011 660161903 757867257 910286773 645821307 27631091 381804605 27047615 405825429 235788999 44207029 857201147 972474905 254019895 962269029 309801579 376473049 750942525 892250163 678405691 810606357 378968185 54578929 6642111 235158129 539538735 300040025 122370161 237979641 658848593 256009997 741869555 309893669 976326005 566583957 612202773 316347601 870849499 377432161 542446789 59744323 98856809 728929743 617808673 349263399 454930095 754403355 123141739 144595601 653968101 232644465 997676561 838968067 804782825 473794529 906616737 108165981 533408835 375355493 89687517 925632751 161804835 71473631 50069409 160447853 844828767 837955093 866068735 208487927 682147957 285092541 409254437 32918543 639119503 421012589 686977649 969577635 667093115 120494503 603573607 769097481 669864111 785488853 824121263 12982271 206594893 924776519 418925599 373463719 275176219 48062263 886630579 723270035 644458119 898718919 289887115 511458741 331669161 290132477 928068595 713026923 536406593 901284815 908659041 445499769 286483127 11031059 410392173 945172495 716302617 801157771 599384029 607598527 228810525 169301985 382331803 436927113 320408611 679024293 507580345 842529489 679711283 130016849 219377523 6009445 482240253 702641221 735405613 286201721 974829271 242440909 57776755 20086701 926954433 727110167 900285687 940291841 623565921 124655423 755463571 373834983 159745799 812062533 356076109 977969459 565398699 619924497 691843663 794450211 332590059 374665079 355810027 980703321 587283471 455872047 465650847 429719527 716665863 376244955 5521419 594108733 955733865 464041217 847101181 828180797 204681587 316558357 917997415 112235817 648908303 952484977 26372197 505952175 224806091 106902101 568353591 872724967 838257629 227540201 686351949 871109195 425926951 44434241 455218233 351466945 181033263 144333141 791405749 938187413 390293027 738631941 419583395 650637695 856744667 389244189 612491281 186710171 172569047 868815435 642623281 345298543 624092223 597163563 674625375 403372263 288360671 566075963 78041373 347704409 855915825 29979369 903011863 551129729 762867285 363926659 848046625 996220805 286952463 498788417 553716277 797400307 168583121 344433479 778510709 801695937 595511217 227383199 635277361 867254345 587178351 16741687 829940951 296184659 570159985 274115305 633272581 495836939 606475207 13372793 177354365 626329353 106049321 67745421 281967659 438474821 634451445 469581753 570045219 779147817 669613875 450559861 908869535 683166591 380513169 613466145 449296899 576064383 446687337 428525319 386059737 106651333 695054519 490594649 960261335 51799639 794159141 816553775 655907797 739398815 821165569 814788237 429447639 724505719 819106369 830144089 912005387 454700569 362210439 365715815 992152001 446415915 343314713 46455661 374032757 482188475 689524709 379841551 817402827 62646845 952181123 201284053 231465869 814369935 59577395 964633905 118209457 318613495 262931677 188641661 165504079 74325025 72693773 389626359 977710509 779052323 199400189 870118603 874383667 47834747 836075149 506285579 831322231 250327051 110052929 904071341 515800629 691219749 187475787 940281749 770163021 397060473 161017217 101160075 389179339 368929321 910582881 491885889 561855973 63379127 731643925 951336015 101122805 562426387 107427437 854506553 507021947 21178255 329952731 376908389 226482471 690816491 377997955 737628197 564510665 420710475 107779371 319402931 71670879 400132925 343987779 325718321 340210953 82532789 186760927 655920551 57700117 486621201 290901443 441126919 871858165 31221013 318533201 122348585 253016131 934451953 736936349 203965391 85739717 594542649 21873501 774933923 994489701 572742889 779418349 140547125 598281783 307591017 617734233 171377409 429483635 817606531 549626701 977818979 89469313 316823917 740841505 846373289 178566633 973627591 796731093 578822147 292520543 167320467 910948369 663079305 666132157 680103743 455333409 713104189 474643721 977961377 178357759 353694985 270641773 495323639 254375499 266513085 44655677 61690341 205646409 689928467 377108211 487401079 496403691 571357357 119226161 849718565 479980999 309630227 435335879 376597195 951359515 750924213 698941347 995186349 530988497 890234607 220476643 592418683 473242743 387550977 68341193 586208329 776620101 288771349 92318401 944066963 346193689 566671931 837378655 379967551 157281147 529233005 423988829 912575131 391344027 660613517 848240287 55651163 716374093 900334689 239976495 566057117 587923987 141668767 198395457 265523943 514359829 120654557 705005873 587535909 861810465 437523357 16541059 409980589 739599533 20436551 560371423 554467901 62589403 819965231 169119003 702865145 640727665 727706509 639435057 119449197 684675549 781028995 702242885 575177361 768129591 565199895 387173537 356863167 512343871 404602431 348765371 618928833 111348571 94981583 51187755 902278079 455005341 278561165 224473269 236760401 579242937 194205473 329242439 484805749 752230671 199387163 960563441 861320847 849373095 331122933 133835759 796441197 286410289 996191247 148114597 510228803 127717379 523409587 62697119 689345967 435963931 403746325 89536399 941294775 688540709 841520713 233050703 731924167 946315115 242698069 42122213 943979701 667999717 981321249 754530425 41113277 237718837 892024699 903497825 5540741 456763809 350484769 498934553 205718301 512678681 669876401 478016065 317756405 883825201 111030455 559197351 250999279 889771307 903545249 657728829 97922893 229491439 557288139 341963805 157543357 861575179 402337651 87789453 835599189 371736501 897560519 593104631 370548627 873255119 937243603 521963501 588886619 310350045 96819861 916367661 651644665 452054289 992832747 711010199 770888997 39548739 780305569 171868473 618462203 735810287 289830245 812354117 338018561 695225917 406481361 327904791 154669345 884623101 799057001 156360241 538145205 301030823 93594259 899387711 835080055 248243291 383323555 475660307 318624653 772755421 589168079 560550059 471999109 583163037 553866043 247299879 205402453 752253877 936266991 45911255 578483287 119675875 229641695 258941225 450029139 247398029 449729503 993787065 698378101 398086339 579019443 21777999 196583507 114473533 245208327 78294481 485824745 675222617 385966439 729556819 570079135 658655517 269317457 224845331 537436223 760181309 228486691 942806899 180154113 13630475 855576103 281305085 451009921 745707147 413280143 503091301 546080195 535601247 771288435 715639431 55498039 881339355 620680405 15698535 449921967 320733171 823463327 710099757 158335595 222195529 726795171 219157039 685956367 974062369 439029655 726577127 144175273 561085037 628252703 888164601 512669357 260456133 521010883 911937839 946747385 568271203 902592757 646792831 386019283 712306741 249510157 697255425 408207079 882444997 501494095 141501177 667135563 10443085 484471521 701905877 184048763 600350123 711791829 298508581 221792349 675459177 484257573 522035877 320654401 422890929 658917299 547448889 840159959 812403295 602683719 127869675 74157633 253738225 354504851 210962929 352884481 911206541 493005615 941657507 424640773 343809027 874334877 890051719 773025955 968915145 848150855 825074757 436481433 667943425 497876861 606426805 404057611 406959473 204804217 970784973 751232903 268303495 332522845 806530995 106114559 983246685 672468017 445495219 975930069 436711855 188199141 261374783 336756685 890362855 512585303 844396529 4231699 313799185 824068419 466418063 34917179 387825897 140173651 435541763 723879495 827505353 183266845 944769375 456945303 239240893 386228245 423110367 992467195 713258865 544581533 380281321 21013671 581047869 523866113 52436997 823929913 838216225 289240689 381829349 39840439 10994883 257632517 854366569 137527951 54253939 836032959 294983825 217240211 648317993 300332935 469514889 394336513 629138051 762264881 322404259 670611585 629988043 780927605 20921693 298284317 303707371 343549173 11552601 187056461 956097919 176440631 523340383 307981037 533976773 907396017 170097001 650320961 159913379 714947001 520584331 12508921 611396265 860036753 344692749 758093095 532242701 533225569 47184217 518446155 897472433 347285821 66693123 135903817 578916891 599591965 488728261 105618031 10593145 370243043 839219843 169898609 412498341 645798997 65350983 801061741 451659291 248053543 490374469 809682153 490311427 498457843 869468121 614081489 293356591 810647097 646212741 944913787 856405523 917949539 387080693 234986147 766121169 762670271 315801341 3633265 909679405 370544011 511537047 778241903 18294681 318348007 686654439 575177363 686370091 240598489 739491127 946616381 799706275 662616405 220510971 223298863 743101287 378333493 371164113 459494297 410679945 799893817 75447415 291110413 132150717 347764233 577604315 843192459 14630499 247303225 760167185 830326133 735537283 903634753 727673427 404829341 50898381 712484481 110076933 288068149 617756821 978817603 638621875 742410715 754720991 380628153 533703949 7694229 907252047 246383357 480744179 868221645 833414709 298908175 592302179 930767197 999536775 501651415 793881741 708251775 971265767 668488745 94760641 337052635 430617243 169785787 827393915 889587323 448962193 6850865 135373151 929748949 548380771 496671253 272738361 541808839 597730125 867984341 165131769 604518039 91009847 620179659 781388735 197821425 204062643 109416763 412285643 494831085 719102197 131663435 219037575 153505539 921378527 452639503 30800009 34463261 276691957 262759293 842180493 103142277 893804137 937275769 88301171 58680307 442775313 895148491 758094921 535643523 317214829 708801317 174242881 465566905 512735139 555119393 615962805 134019973 452140419 326197565 507372587 107802681 344831365 884741093 761495629 847423125 459421383 732874091 538015469 1818813 612179217 709853957 896552713 662524479 938633171 147417559 831751107 545729295 366493987 757381609 808385379 21965965 59922623 975678253 772084321 466318969 374248209 40092285 840334423 735537669 196387367 388139671 286199559 482955973 453916345 661477159 783443293 794334647 909365539 456563133 296557165 722021949 859749489 283931861 697432175 111292711 431226191 49410763 283528139 386472363 218265879 536916717 97712137 380209253 644407493 261309035 643399389 492425305 627495425 589855583 697197347 274944501 673292317 430563783 54876637 888015889 603258637 237864079 480369975 890110181 673703027 802286727 678936453 881735451 317712019 642839401 154287169 679317695 443073887 974610135 965148943 644278341 546854765 723938649 700108473 849532299 286339837 985479521 761905715 662212309 859945205 799482951 995405209 433228755 376410085 767435597 608579375 741708953 986928389 192903837 50610269 795400867 444756275 801999943 291424953 64821209 424731127 734381381 198109437 653939077 114173569 689561721 910376461 644325213 533611687 384171947 532960755 173371007 787221479 471868555 134508773 293112433 321576555 657454005 226040891 520591905 543809537 581449129 320571769 958492897 863427359 430939601 172523853 922471791 965871079 13174653 438363783 2575091 880824607 221496039 883926819 930640889 31404341 19189809 352947013 107715443 540861249 594465891 324975161 988805059 722213379 141453421 936267119 263984557 190214371 969323051 103614343 572488539 340010221 367963485 934755647 216382311 833208797 748289197 314743943 733571531 710031117 502828715 379139439 509412589 25671815 640195281 528579893 620429979 153773051 292239999 973755193 392807177 381889983 2783745 582369799 749507029 507108307 379315589 354909269 63772421 688896221 681971751 466998781 857857029 432921389 175856871 915015935 50393771 295179195 228159919 414314635 851281971 441868069 600120909 777430003 70866501 6926515 435762559 392893359 644813291 810850133 505311717 182415463 890539165 650299553 592512773 425173985 785496885 768153045 440610389 694785557 611204861 749222619 816759337 745313309 525930141 634045761 159029959 976560443 370768685 274988861 924773719 516551643 136967467 17131185 219917543 185364623 358044027 147361827 315625333 429588245 290723947 615965121 645671647 171640143 346215087 310569571 92710385 422640199 597879909 508437129 434864473 80679729 982879763 550839643 934480563 667826791 15936931 127730597 68544383 637109873 127039343 570884321 238081061 620998389 89447729 163730479 395467001 891672007 979543313 996578643 740807473 584626661 235764889 348038079 807971825 426871921 865851327 116901769 944258883 311164341 855336419 585281649 542594837 325539365 467060423 454149341 466530883 537920861 922059161 809759965 774887307 966383391 555117039 943862569 61291163 535532633 414852807 141388319 300354815 979824155 573794693 915409095 548161845 157034145 944354037 672855503 187450779 825850957 593799759 464992401 867117947 519935663 290844719 920929801 619666951 649350517 348111769 809152481 320569689 245492605 714669821 776040807 559152495 387685835 812119341 550959249 331555125 208590471 94796393 833331969 185218429 183097351 79496535 39021309 678044157 470258629 971365889 884196467 842938457 605627237 713957597 439087611 618258713 166367667 949455305 166717397 75263663 489628575 879843595 978537193 394567285 348997959 344967247 494263747 195113385 869359343 143005099 755463581 729154167 424492033 636543643 274277717 115279089 912589839 480268551 840234613 619688973 349484501 149168697 647084073 564415151 280133175 584770025 43695175 758986399 704377665 82001203 745057363 533482895 301633317 72959387 628002417 418689559 348176701 825508367 178997361 730922683 132536079 406947815 843742411 198943969 27211587 599451613 454687645 268920283 823959729 224830743 274618799 589000163 814079823 690308641 707010929 642928923 148928837 820893171 272615415 741599371 199102937 55109353 442194949 13805349 364959875 57376713 626716925 490433217 967940573 633885375 675025907 730853665 186377897 411789409 141853853 857763567 152298195 967766699 136189527 457073853 124727917 950568451 51235629 892586497 207222453 737297975 434007755 979513885 396769035 58182525 199060361 459453277 902877693 564598127 872308071 912379377 716308541 438522389 658217229 407916273 238291367 476140765 803204807 607770463 414086717 240343449 582628239 178116901 273789227 535472521 147239429 78010387 709862339 643389007 728649069 236332259 355652227 222165245 843405497 466130487 840344589 645491461 194427773 559916439 344054827 183625029 809940221 240615539 157033169 929012993 414327581 892589351 490773275 849224937 632775533 714238963 78018123 937674767 524920869 943783425 825108173 849708275 979508515 159495265 771579701 792440443 657829103 129484045 198853437 146883313 126966199 32206311 236070089 190626571 791236693 126988725 890932451 638461671 351601989 787578669 752982721 427439371 31326641 405781477 546844859 621529443 516571751 843703135 186658645 704847941 336643293 564279811 455973435 905378671 200150069 892350501 802374977 861504771 74262067 822319869 81361761 233811603 174088779 695964077 439903167 79189519 506899087 144000059 829412519 866122969 80385217 799661213 53819529 729612979 144936775 128277417 863187203 820402893 774637619 785000993 47941081 566893241 147738681 139811757 443300851 307605367 991834041 573194721 576611943 500068971 384642491 960633141 111699313 756007523 866718447 623012873 114921841 774385811 391218859 555281321 818473459 329306009 77821421 112849219 543771821 655552123 319578207 618082547 203331191 559484837 488961871 120014519 148272215 656046059 993021621 436198269 586248823 398377871 543925807 458579475 372585769 796572465 95951877 254041649 631538153 467841249 845811749 976718717 518467677 52330773 489187113 128652411 417058123 794733991 409070413 9252255 848901547 501293279 389906811 520640067 751952279 436357227 96717889 30357415 94825295 531137629 921879253 380977139 320647235 147870261 50787865 516696891 154183685 339734997 693323153 400718965 646937933 44555407 758044271 845128325 631838979 175328789 145347209 399601461 799868717 986745221 730738527 402709043 978748931 517815907 511903513 565245977 843737311 910882207 246487939 124263787 824180035 800371853 442722583 745755535 472450011 210564073 344317939 840437209 864362875 331098841 411225825 674363007 778990107 752557547 923746891 343511461 98064355 603522067 510891853 171021909 75146779 318322607 590172837 905312637 323605047 599962501 753921977 526550775 670626515 611588035 588210073 222187655 505451185 188544251 765242365 174123219 610160061 76887339 393581635 531651181 913209867 547827899 596711025 579567313 871912149 39610229 931301435 450906461 389872509 351051665 975444979 727639131 919127699 702576299 302639515 180834813 97113797 256769223 136614875 600913755 929339889 956253523 433582849 16760185 599185433 223083559 1726467 784437309 372266089 140500605 515234691 843960185 806168629 843339771 985290949 289046503 485424631 916800431 786557627 40359977 178619475 957141261 375910651 577994183 394264341 912871667 999333573 13376563 321494061 12062887 176667137 6041029 499380409 935524051 243513403 25320641 569457661 759537809 209245613 166722125 346337377 129221213 533618229 124258171 739666555 731052825 721283163 388498501 892709893 905455381 76075087 489176205 20777699 80254215 725615847 845727003 792789537 687772937 55327907 599302305 701295343 201834915 853532329 419717303 461461933 35107523 678386633 40765663 962968793 876723899 414114169 324104067 137025571 160258891 432259803 207693555 526703451 624695959 243825589 814273641 3055485 780975659 727563125 507311879 148091823 761751039 324630581 414713045 757438519 507261807 116494769 105521605 209717645 216057409 935907411 149177519 251855177 229385631 345835559 105168469 331137329 114777891 710428137 852593249 187032623 44610503 792366579 729185379 388647765 22266097 549467473 278549717 578845921 200063855 613314223 565630999 944959795 588892791 901101413 267894133 832437721 401207459 950457971 683912735 730045573 675996411 507390335 437283885 664865297 522783211 742556633 879287713 330285443 478758473 306501497 741813091 133435653 810487891 635358717 669035591 376131307 197341867 195676079 525800965 188332205 174310243 59359353 778526783 727425523 698176237 27970295 532999037 945203589 833151781 760062823 137170991 943579735 757368405 691857069 285096881 355753093 315168293 520599389 577022787 792586321 235618479 173287597 362862349 478911783 737465197 841161595 62460195 480532633 660551749 574590799 249378941 793525093 695296133 519429463 378603517 368528493 549360097 155854187 72658793 158288827 898643831 695678221 714199159 120813955 525547213 540982879 685749691 881489185 640722639 828084021 384011707 866301463 990110931 960035331 630908383 378329363 311060373 600874731 864888695 48846563 802686011 486263473 867388091 73866119 671584597 235628487 41264593 431896865 257525203 940272963 688908221 747928317 741720087 618783205 336651635 809296523 828454115 28979475 869135053 26818665 784626277 927429599 932931979 167181145 180149045 243808253 161755221 469641033 484953419 625956045 554815935 141314121 847570705 902931031 767104321 610967957 352866387 79326281 89146939 503636113 568058181 962992381 153492727 870745031 809591173 694722161 552218537 354559981 745356567 449597771 414037349 261993179 552054123 446580699 932093745 118771863 43371093 484304663 266618099 160031305 877814545 418008993 807181951 247903559 501204805 580532415 536105099 283700747 924049919 384788319 854985661 636571451 979603637 190919449 451533721 178890909 802704449 775464751 543024019 217080873 586437611 730552195 572385283 70960887 624538207 285558697 89969965 203232845 862103219 243250645 796267575 529112213 364247397 600596457 484313653 436832353 387002199 776554089 461872413 44992365 212943067 659288455 207510227 473028511 715147939 377758233 464147489 516878845 976745163 622346911 228653493 676091327 630804957 972116031 633555753 619093823 190827969 136161225 45401087 981069055 190246609 459794613 466303651 593095337 21220039 698509345 502111585 178614805 996540361 686815701 364020597 24341049 14095717 53987649 515406849 847856701 950412687 30612091 670377741 78456425 243329445 829676353 834360459 844039985 819661677 619953149 637603669 69327409 608763923 793440957 530121257 635408683 178693421 589447225 412976819 86245131 89909687 798305485 330473093 806120675 361911065 866841989 46584853 735769329 564160029 299105037 212378567 51915157 320646139 142139071 509240035 150752351 782654797 726899095 443323033 280025341 712461083 264922941 769691911 441807437 860168659 851374339 309238825 536481617 30284871 300704477 336467691 419539509 343362231 210973805 998409757 479328077 967305159 118765047 905190777 449696787 476755845 461345133 48543393 36193833 870618725 800428389 743891485 984601693 344263237 701994527 405182559 17194403 639231849 845150849 770822335 659782163 992800129 915811611 955672703 79357937 558436001 662189349 487861705 859250857 115501637 97209213 215418541 43397071 963096147 728927147 954214437 241225757 809003545 798615775 478637843 853043319 513212749 157377261 281055039 996959465 88649993 523983193 150397017 933042083 676933845 886024775 206623485 808151555 881641373 929244039 658965421 219187597 49146551 699456911 731088333 894434025 868859617 994509441 825828531 295921389 904468287 59196707 422788759 752765845 875534429 188730339 243027355 170945281 284929331 308814809 197426375 780156541 719320605 706373061 765711115 737645951 703254495 861933839 575582787 490896031 853735593 403954883 139537455 235749027 311031565 703878301 192132985 998529395 747242251 310782455 10625201 303269159 737429257 532399323 598194513 870530805 104141007 875671801 205139129 317727299 218443417 255966375 358140725 525120925 723301887 38775269 119159027 425306037 932773129 456465753 257259791 948033125 990321443 588893011 718709897 119833011 336374819 768357579 649701195 906472649 680054597 241307743 882502437 176428793 617891377 553246039 646925007 558578369 571389425 775665315 662225135 91806912 627349499 382424535 892409097 161413831 463147823 552335415 218275987 122074309 318445263 525243303 282755553 264190421 168646027 930007479 32001337 349841725 953144437 25687709 933146051 383210343 775299085 983058491 205318799 621445863 186007351 985170197 386661781 736264565 907358785 364147551 623873723 320025849 597890015 67038187 362755781 800651899 439426095 39298875 211584103 106240815 200471477 884566133 731267899 566015345 205319265 377826411 479977153 966635971 183547527 314160273 385434977 563187153 445875683 939985929 2087279 71107439 456666779 570812055 785877537 339467159 440501823 122544557 750983837 223564651 852472511 440168801 261742823 934670137 739449723 859661169 827257075 137343861 996104761 934709833 950677403 38828471 250952743 90038259 799953821 448662979 857769175 797635369 829923495 509753477 910146889 110298185 4184133 348970769 901912287 858084955 784900853 869314977 705256555 703639053 646327061 139695769 474606879 497023161 580109807 950359427 282925975 499897179 498122933 986137621 468580061 829394333 923089281 385242919 778633051 694768845 298702417 89302461 462158309 549810913 693784595 2994691 610811579 288732027 445233043 628090957 584569985 820730079 429755533 405209623 523642181 321996033 233713315 857572097 111072635 214886003 631336031 707768791 389067011 750513015 276671535 622897039 709495327 856836339 728553325 572457537 861068925 816306041 933634395 270896689 212121139 144166461 563479077 838816461 602765501 415555103 905316311 995633573 578428419 576161961 330474349 731438965 243510607 685233925 644512713 826247971 624553561 425093391 24707763 914237621 171981883 244574277 920006109 588604515 944335997 721922253 778938337 490059141 299769869 409792119 104426301 382942113 912357437 268358587 489292125 118104929 342876621 688459447 913826705 414614935 910836705 513730099 792813075 149241409 182006023 525155487 521506053 175031167 289779763 369569551 146092399 263193759 178315203 604244551 57022531 33511699 355187837 266797993 790246233 156470133 61861517 362263625 986377333 743293579 786620039 164421595 32209467 495835711 910026861 950727617 370675523 543699107 146802335 513008129 21379841 846553333 492914925 942096969 824953561 609967253 922505101 654140657 151206673 58682897 2559513 69691897 423103967 666210331 899199129 440617993 747126361 38987919 317998713 940935533 139152257 289172335 700702097 435082527 685945665 818809319 851239705 754924477 511895401 162343243 697352891 904236689 488457907 858929173 137682819 772140165 723367361 22000871 198278883 236225333 698562587 872685967 935857085 547098591 245445937 813282305 308150101 913455721 596791649 238256979 919232085 313788003 561741031 569785551 320921559 779548165 944021229 395848411 954267221 799265069 70526087 679057933 185488053 153917539 636691373 317546527 27262277 403904469 881060929 146351347 410521787 835528285 990050059 670092185 629514033 327058551 559091387 550364991 438722863 733628749 303911149 68630595 87233185 626061741 322289953 682593575 487738845 402692365 152944577 894968217 693928095 3356815 622156573 527313769 995900687 445317111 89127021 191093139 810247863 525698231 430261975 370744123 638667151 12996327 806381665 527506603 73414387 839126083 852578043 768713817 961421479 621922099 959729537 863590877 998727641 652512199 891459251 398484219 693928481 471557815 19480633 524970145 352382585 351620195 84460967 155282399 237775943 886830543 561895285 904673521 473878615 111016877 707891203 820802107 656867299 361591635 116521629 756985161 261659523 756177855 781988465 848000459 630388797 700328603 352466331 105993889 566098561 844666165 562258971 579520713 18005283 162679685 734080217 380954227 427193951 621343017 244735145 607637487 647338205 740546665 343612227 52457147 254802599 535708467 846848583 632569463 482074163 854607905 32677439 814987249 211033441 465425775 580375965 171217433 803620467 705819143 585029563 281691407 733496599 670652023 574298585 411682579 111877477 669358069 584827935 595786641 591935189 735582563 598082721 637925403 239113553 78954053 528634965 884030319 29196837 115129805 542918177 407917165 543067907 708605905 279023561 645143843 503125261 100476369 947783937 630544835 120721863 287929333 942775907 21826473 435187229 573852681 802983021 664719959 385557347 518341767 955229323 827204727 93087321 230897549 845712911 131585249 298854949 777284581 165964081 886264205 222293841 440345081 616815633 913082525 857636051 897773797 430228921 498606431 296769289 158186855 721881371 540269893 956844729 722086117 623928847 106198251 312889359 812292207 213374553 681760531 845071265 59468731 516930207 28457899 381033837 510834219 881982323 275559105 286089173 577272261 592802385 714996117 628767915 234081849 321938583 707918729 212765215 29800411 87606927 337418023 978621395 726544045 549836395 711500067 295376329 390076247 646502723 114151769 755463025 138003495 141448731 572886477 94288541 599468051 214566105 914324391 177346701 122625981 954042703 103941693 943646437 40332905 792565305 492474377 324386995 170184969 23905843 292776367 280330091 701454643 405078731 593371897 974641643 652291111 177237873 787198427 125523833 242088397 259033727 509283187 331824833 966914481 95644211 972419839 526544601 151922701 812194745 804054765 734879293 492160191 868803105 185222609 133929941 632411215 610947941 608259431 613815787 915466989 588760935 828131215 149223733 849914223 190008047 900994901 693244371 190035027 390216367 65612271 915213895 34934979 987321919 960717237 45768831 45278093 838048545 671803693 724484819 343887913 516281791 775852031 96972027 958431157 241181289 368893441 117151521 965483513 940978779 701232175 13682897 61866595 826289841 422171049 480210431 51992845 238132089 747952317 113497097 57168819 113333411 17303003 24627379 966163645 964709127 5696675 176822061 512879165 658390887 661310677 211496203 581944551 574585709 898792283 865252169 281323293 892985513 143077709 246008653 252419043 430492565 466520289 630650341 968228843 422970003 667541631 985603653 725725837 882738409 366812077 150386445 426767045 815107533 825038883 164923199 833600571 479264597 562779323 103024457 128385599 862280579 966894199 462574081 201064137 754187585 800382851 669722019 423892343 338274655 1198641 136353495 150467729 797964183 608267775 312299433 560796167 917983113 692712077 677860491 426584687 949656513 107051689 613031263 619757063 842124973 954164549 277303399 476655033 333301673 734245501 794983763 261139987 117502453 625619603 53768757 241685069 104294843 417002227 187843213 431937349 986420491 359417649 470323775 615023747 707800285 897845767 107427993 606142261 196859927 317894231 329058639 291309363 687261309 375024175 29102977 317734911 675709893 860312515 672049839 187147195 402613893 667870315 387370955 128561211 271867709 852127659 376578601 415695859 35368795 148380207 661939335 143979269 994118701 312279243 537026055 490941493 817700333 925664633 897529657 173012981 265648315 933451357 615824147 64762715 322562465 616100545 743743983 187971879 47002003 691440153 731619989 540477119 44193381 891138817 352400691 227240245 87599069 582912061 484897883 836196923 286785698 652339637 281031181 152173367 958969669 631489919 57642157 420526123 23962433 608614101 734461447 142368967 245889013 778447131 622222931 190936933 748961197 977125085 63675181 461993987 693183127 375480523 515213979 656709447 104696269 862368963 262359049 918916991 901288019 774450377 208312139 850929063 50266127 789281285 985675171 652993115 3811029 80484303 773426865 731323107 189157213 124757149 622553477 270324269 597125703 129703701 433917843 372502993 342661917 584144131 54502843 273152785 102540625 338329687 262687551 932326351 860856125 274800689 832303821 273766815 867761439 755561935 471488891 434272437 907409955 193641889 792559045 676615409 966491483 734665783 61706387 295907037 255766205 237888335 669494833 659912357 584323629 458608329 100214609 630803745 123759221 318453171 258810389 427124433 9484355 257985343 70534401 238934747 246095153 936443847 472596991 516559375 289539267 786748369 967281513 469904357 710879071 870691079 647542009 849000827 6973271 265846587 894777557 159348889 865401831 971905387 4010635 42170543 918244909 110775 829316623 735510483 817908787 895142765 790826175 625001411 961866219 199512063 185803873 427835625 241054253 566460425 412058145 386689875 250565563 903070029 754517909 342868407 773216831 326910647 429675961 420321399 236410187 779233113 24752627 438168729 341665621 878127985 58415379 217779915 574805697 801076065 749413449 524051047 858633431 404162227 982212663 306094185 233862345 596363547 901116383 27400313 530470575 344512885 170931121 716892649 27006603 461436099 431548031 201143981 248474439 497291057 876548233 697428583 715001779 222270227 613733491 848386907 320531339 108571619 967770697 369163131 603270251 397735749 374183043 591588701 802707169 853157891 922063613 482045761 704829277 960219409 528006653 737363981 43450679 635731083 643098927 994229841 620678577 175400629 45569191 99373381 59820789 716929783 516000231 42154951 8768787 140286183 687129295 215499615 542170885 11991359 891602607 512400189 736500141 304232163 854398779 281725237 748551891 688335837 59278739 908358347 902079017 629098595 474820921 376599075 212551 151083469 968839963 326894861 826944943 162008991 4963983 410174463 431799243 745969287 723137619 44347163 69915627 482464597 255236489 700918567 289417801 647347205 51195587 286556305 330815749 342381755 712791795 4691057 251177771 675062979 71285877 907344775 237348265 778807693 46216211 928179515 104670811 872414135 167813623 994037913 402380545 366458373 737341109 945892187 308456005 943040097 59989069 498192097 893021879 302024413 575524131 562343727 514343377 691384501 122725125 520076791 733111539 307075919 775970855 318426511 923461737 550397233 920782887 882555895 343034467 330722579 472855819 655860181 647530999 542426317 151634495 116095865 10039339 288369765 374689689 142727643 205284071 388727557 265351767 697879449 743092731 908992511 64218651 871608827 523754017 691776977 166985207 416355313 62823929 436749595 510382427 907234575 800317199 762983339 431886121 850045593 47455441 591447923 492762787 178379891 20336539 329397135 797936759 363398699 937889195 717097793 99883453 470812669 446244399 130430197 943025391 463016901 975669301 531219773 450135283 152424457 604436405 663170519 677845525 81852157 249434261 620514979 241666317 643548531 218370457 506409647 35335671 811205613 119025525 283228461 267423577 929728913 530239939 748314745 309749023 682851633 654215171 908119317 511260575 108857409 606882461 405242541 589934229 813344737 851801061 377662741 453941287 520339419 481471251 702189895 874729955 111452059 203413831 326897255 571956159 494282041 311797899 787828927 176825109 388584563 4406481 932324035 25519021 69533107 791420147 935728655 2122931 862823689 934881713 817899621 879636927 733276967 671783603 623603891 877308361 75491441 79758219 909535239 833533499 650096109 982642357 982384801 191265247 135896139 832638607 661225187 440454125 524469985 50783331 892468825 391819009 283075757 791716707 339612339 599088673 324148057 570867113 978826959 562979255 104948787 991832883 950668719 473722013 934291249 866666735 125763457 137072909 725507061 438971817 952679061 562857901 55409859 5344543 578344551 827194507 188106639 166019823 725520539 758877211 14501099 288125859 12061179 904915003 954038041 337659309 828258685 456238897 359560959 181037157 142084921 75957929 540812591 86622479 462507381 197071545 195196637 545592273 623001 654192351 959023849 291620029 408019773 617852157 335609565 262333133 643525911 55918693 129763811 717606627 424604173 373503175 981390807 58019527 988637739 642283845 826086455 781501995 247013793 387050337 638435113 14988201 884805583 182735371 413889149 670077375 539931189 800798869 15892139 284265433 75410813 621252031 831150545 319272775 306697855 474952365 886570679 439664197 231355185 898152429 139373003 21520111 316503993 568949363 736205351 841694291 783291235 151605917 494995591 513424225 813843361 917112623 796024405 646461425 49491727 827476569 995130015 77168071 381346925 914642607 895163675 446669705 764650411 682086957 317151531 520745929 108333787 355302715 347426005 828852225 834919733 579208611 15324615 395845523 448687137 101633947 938029657 716452551 301311527 266823363 389744779 985857997 960444923 4594973 697287941 648552385 10166649 457429015 827278355 406349733 127294627 427496839 722683055 607982429 117074085 427208875 643373431 729712833 186425553 255957287 778803637 898775685 897420709 592518663 907982419 397113163 427500995 572774595 968509677 51576479 678064885 665325623 446613697 94025713 349721391 511020455 220744629 672704409 217471885 447687619 697697625 312074201 683123025 216867231 681726437 611726809 837548263 995561911 226181943 915057327 396861155 122674417 983895511 16438351 372065535 434427803 900254195 474849435 735886111 772499049 546516069 98443359 226759757 93397369 679962025 786323529 965557181 739555665 626237161 956730357 308711371 451531741 613325555 727124707 525714683 932554099 490542909 502168957 142954741 650402769 254172905 686434835 754348431 542468379 264579515 186693599 802254275 372128989 410067749 423932417 482242741 662979343 584167231 444186245 593545903 645006091 757796293 955227993 40800807 397190811 129678623 13941593 433028789 486540007 434852701 734693701 819622431 5393799 275834167 482053829 463541581 162023289 946796301 992640365 809007957 93260321 969671651 136644021 730841713 405641805 212020331 33117693 587363591 670090033 669825531 492468113 614014621 615461227 211573137 657814943 490829035 351175169 461848791 871809603 982399689 853773663 291867931 408209277 162304317 128442971 834324053 644932149 849575023 953364273 116366371 151714111 833171639 979190407 176620237 912885843 681794955 484975725 357486657 115278097 134398097 890713427 654760217 8408067 780721813 920907035 791845777 565587357 567031433 671650311 749539475 40380211 715851399 83186117 384855725 275472907 908480725 788489835 734309141 142891595 592237277 110949239 498100909 707203079 79596593 281739981 955334905 287370295 848740751 396793785 360187179 623234491 645276119 661908467 225634585 868715613 797189399 700697239 510248515 985811407 412116865 308519723 247307473 351145643 469366897 44725913 960150159 428733295 429988713 27411003 460623863 528131977 240413973 293389515 189501735 814992453 777231431 209079151 641940711 342597601 266768125 254835893 722181031 664045179 761171801 876669841 692126333 455986461 218385061 809190499 361794089 272180409 845265493 803582445 418690065 546406695 711258373 582209629 45654853 429015595 995697015 20997193 273057147 721513579 910942615 500958637 881865237 606036091 959163769 603611377 372854553 699734481 840513111 610753503 421045815 774504913 496951699 496744623 128261059 89149635 951383995 737812221 547965375 934754521 685113731 877911757 205440211 285963563 33038019 525008783 133223245 34481341 383298943 81669397 732144163 623492469 547646691 963009183 200246775 398456613 657569347 728803281 825844237 213149321 186349081 545630649 456958807 162617919 224137481 256481227 61503851 148403153 686740701 513902821 930539913 31311023 255621003 584180301 571259801 558734135 643301419 532805295 833038119 44154789 88839681 208953121 919446637 213448997 278898555 849420319 154004297 560719559 163700521 815005839 37640771 407637639 980158663 976638145 738779019 465464897 425797689 394679141 702696439 484572867 511855243 345268893 3397125 596971197 798545645 933202667 580002527 448085447 237650365 794854461 789200723 407395 139466623 19891945 131163353 20805115 417218525 96524461 506888847 385970657 782643881 668540333 783133757 423354443 889902303 972725623 181011793 729466459 86563235 790478845 34938341 205398045 699070785 230708385 536487861 175368577 60652075 955882279 739337001 964680543 76485627 476725435 161153619 449662073 581354615 80488689 547639783 322881657 699346057 429204169 538237511 173355759 251202371 437439913 432147575 253856853 603703011 518655579 680269097 78759181 818420681 433114645 446676917 543157341 990314883 490969973 947431189 749606779 916181955 940776833 269981943 629815421 630758755 219494055 200619685 983527781 82461033 866245049 869739033 337617693 762181631 216944885 392862961 781783669 404049273 789381891 980948853 600658215 961597775 340176877 472556437 837051603 631554345 280293931 15520743 713256965 815463375 350039449 375750313 970928939 222534197 987451003 257449669 439933345 791432309 956497537 454627017 73488039 423463639 132766653 87767533 810404967 224076993 696889263 180009231 953492721 791680455 278527035 128055735 970565439 672972967 552341679 448383251 62558257 242134083 956020927 785491195 239236499 726724773 477262217 854399215 312959251 353245185 907923 703135511 170676557 655936947 240457929 979696961 238565057 56213821 418035585 566188003 586746583 522640715 397848951 787533599 797285603 67283121 562615763 155114937 790555421 631197545 129191199 880951331 761121189 609948567 508672593 669121907 302762885 486224005 229979593 754900073 547406257 503785385 35833929 74963563 297986045 545712027 233193473 815116425 71040559 67117343 580834179 73754747 179777775 284351523 52709583 38101921 29868235 133132469 919550535 461865471 945303873 968821271 744879549 702101317 654352815 884329383 711694691 723472333 499789921 212063729 382432983 766950293 319532933 705132971 242828319 438041921 405819957 155413677 361467045 439372581 775908725 526479611 144236611 786886199 353200429 952368579 76669491 942674709 651004203 257213013 365963291 689262343 272888365 190213421 974886667 919851771 978792145 488655087 417637491 566846601 307156641 854885223 38787891 784638705 944434447 860210311 491046033 487676443 855968885 378535785 595020601 761057173 833846033 789649235 914485827 972112277 377267217 416467117 295875623 288743419 164652673 162375695 912588239 164062033 900472415 142407983 832868741 393902019 114229641 210880499 630780929 428861481 773356745 803084135 825443167 717346563 201541329 414556861 695254051 87966071 645003577 315912785 36146237 66707029 151687045 646293155 432939007 508853525 403495451 550470499 686871849 923055317 564772173 859423331 13328863 950530909 61470295 393001627 565705647 932596765 95427671 847849267 693351565 640355115 391302487 370534515 510594009 903520837 791359817 625087183 886816083 914952149 984599301 113391073 784642605 502226921 45968717 154235247 427125755 379061559 519693771 232937571 844912571 968948257 724277265 139420625 199682767 495988141 580974229 351629299 939066887 859320969 159104955 810442539 595256473 174860813 349789899 192696583 227554593 652215099 358933239 81020729 843247779 674639285 579712087 838664349 548474253 608539343 713093357 306363447 190390967 603076221 974045603 844543535 623994969 540229215 503471947 294075097 12176669 232397503 362419611 300174259 241566991 351711113 534054965 193019999 959342755 14111573 127864741 752617383 704456631 129305699 952707675 961476737 977206927 588251033 736460207 869715717 298732763 523722119 303251171 715612535 114293423 700027237 781793825 267679043 704588679 449027601 716890491 89527805 351255371 201709331 913063399 91240543 231681349 202982299 760946759 989591373 935040811 163731325 254881895 987033809 807259163 965310013 856961015 277118753 336950171 938975743 901510031 493255061 99329177 760904849 609616305 610596275 558767207 569464431 988488135 654078499 904055747 97417653 332109089 968214971 161682901 987064617 800523257 71683701 360934697 735123775 812055663 875821685 360480433 357389577 686725519 312816903 561226447 743587657 79907401 346782621 465197127 117030759 651578485 299186385 414267203 7253615 332414421 361809257 91946589 774902811 955207953 196348237 475020175 136182731 88898749 808412819 892772671 989561731 360250449 658453623 161895739 609315061 48313135 703600729 547680183 161096311 442351517 953789639 501130833 568994825 216252369 470274673 79012623 76917329 410562785 602188599 105154397 83861919 98618317 157571865 353414929 216344811 105065091 772965185 463102311 548357331 574520017 229765895 391009287 238605471 859495281 51242721 20361723 887977279 281797891 980549495 433500347 938566215 813076243 467614865 663491873 64679675 85927695 614107683 180842615 831714109 699365203 755729735 478153061 115636897 276786207 508256579 743258883 641008989 606441627 851472513 18226127 296828239 335168987 742696341 483795629 807604477 114401751 512742455 543152107 37108889 21108847 349526607 625154621 746405627 439310445 479665893 469474241 510470303 68202117 935443245 684169469 871168173 993728075 82241923 104634843 216692215 214903109 764339305 873126581 336940529 97517017 283221387 952423749 206031803 270959195 571564221 878099891 996109087 357499395 147568887 771371913 865707401 15336945 14795105 143222973 798145807 926013487 802861635 903021231 740254069 636749487 916169745 928588065 335414047 883680331 370017383 224857409 994984479 316428739 369341193 607220389 775407399 954302655 245730527 48130123 50633883 307176147 465426687 806580119 785559937 271775861 83103139 857967445 581444745 59246601 131150639 303244477 759219463 154410711 210701101 866195563 531650047 285819411 788315985 754690403 454152981 971423697 219474039 109464597 626683287 828022295 29304739 65013075 181881217 140811211 408329469 499383133 260370543 17330111 261763291 196478681 588497575 108565935 688608439 39630289 257646107 235636025 933614645 342125755 571970403 764892903 466720289 857756533 210814651 626001195 518386027 366829637 238891275 862073181 722933299 964494039 888364773 895389377 203731639 258200385 319138685 728375677 553943655 327684863 193735091 458329507 426987731 883705849 187566351 812002351 367093431 215824249 158325441 782008831 91298551 38524215 89280159 908037853 67400607 786767951 44239401 699371643 930274017 461344325 822703493 648465265 130572823 980453383 45487235 910815297 56025799 856308461 599975323 338765909 715498907 24159153 155242731 312052991 709664101 973653879 394345787 517731445 564433953 221413585 318756089 962920155 872360949 28607153 732646207 939279673 901611561 961824629 242458825 206039167 232219183 205926883 712279297 804256907 57761447 600078887 539909365 469595929 75211345 162296535 738639451 28383957 477132057 446893551 380794517 136613455 20556049 855210453 446621609 286612225 208410487 472854615 867493701 735690829 674728363 437598123 121908673 718926459 345457723 645225323 432301341 877418427 818258905 799888799 628130303 89074987 135948897 196510133 941630649 167687623 665399253 779635583 414316607 974514555 790020961 238925885 240836401 13511703 737267801 480232337 928426713 841428053 840459573 894023309 765727777 933402837 50347165 303989923 215696549 226376483 338699353 592082609 920919459 184255151 867486301 874757627 828052225 679611345 174811589 918045489 555856463 6480075 737379283 326701413 31017413 29908167 234431221 950644503 699053377 197802709 273643961 748460333 477074251 934822127 24585183 309347825 763541009 30916853 880065865 513589785 980318317 231924659 730883841 883781059 216242395 730989015 211780669 830371189 193478277 436635901 184931157 771244315 942697529 202496677 719315149 92690187 853504877 807046457 626438225 444837123 904505667 291919113 543191477 416978725 682997631 833837391 619815411 682060035 266677651 527050539 103538735 501243021 910147477 949255337 719630005 897353509 593505093 652241847 476797941 879636109 845515019 535648049 132000143 213510645 758331123 520752087 666855745 625481967 45580215 834710355 37727227 168834171 680448951 77831987 60287181 555658237 836834807 45465077 485587443 776688195 542312745 381871097 975448529 96274561 468442273 456851589 323289075 229317461 894098787 755896013 311564809 943543237 492505363 892670699 487057651 464266301 699828993 796129503 544077743 615627153 955753253 220129681 233609325 636419 906475293 422401493 674734461 624434227 190244657 485748067 697851997 666668593 376712527 857140699 286815917 73582195 863802897 393902535 411288889 755429587 522366387 213043611 287222519 223483289 683313439 646045867 950568961 989967987 459910369 324865085 574956185 831897971 757513269 227667063 373134377 541259289 926880245 327683437 678108745 540659783 331202477 382186007 813379503 67225935 551251081 383875413 770078019 918624995 833891937 517279985 976724749 873322017 745783989 867996317 857260865 270106253 355845037 482812659 424777017 245546775 719971605 696574577 692125819 519006995 382173543 329944709 657102257 520668989 82546881 626284667 882102191 57995451 706913259 713086097 194318447 172597275 999627093 485018341 599683091 681015377 853045269 999430785 16960489 662560187 909902059 839630935 55304547 13016863 51168573 978910273 597076765 857813675 894843931 565677053 311354841 492826865 630697787 125178423 356900739 899094511 190728191 813523841 576013359 480049165 447449197 282037585 865448727 61214997 724071987 911471371 758005151 975728959 102774187 646703351 15327313 318311461 947634897 962179399 297453537 399367633 542488655 906242325 789737003 627221419 428321907 573799775 587499313 73816461 258062387 152082961 132904481 353416881 5515825 389960957 131761739 240223421 978153905 104810201 636895275 768264895 862188453 192979529 966205027 10540587 519708067 304806613 621654723 520510943 7279851 554393071 237963065 716128031 116431715 464425967 665904355 731471003 604198557 261907223 339607301 47560551 72145101 213371537 794840071 159448065 829289939 414272877 622727295 867526987 95451703 444664743 370208807 284703637 172892201 626194203 270065379 413390229 699819135 568542359 975188415 907581285 591792567 241159371 293186029 166300045 673575163 234143055 150740423 57773051 383526681 91234727 686812625 406276353 328736649 742319161 478592441 8819807 781268329 909047639 998498639 244960313 437659265 919966267 573522321 360456731 285244991 767430663 90527 622569981 22567611 926941889 713846213 525164347 122654135 614212191 416799865 451509659 432736149 402864055 734272853 367290439 936368745 915225995 395554841 827872473 682460903 746322821 837723573 177811019 328503153 239815989 535006521 734995459 121490699 109228309 286805219 610115279 232598119 136308103 437794579 914160101 755196635 313330131 37700951 31368159 483186535 572267817 72978273 189441477 576246195 296970661 302154253 204396547 998464779 671741767 683291741 189384559 440193897 552516857 388984955 637697607 257956459 841420171 288557247 158676269 473191513 47703223 956305057 646633523 150654755 190875165 277132227 250483147 879516511 179934281 798689523 654092753 171116363 121553321 621753635 66163855 196486609 654794137 782301295 723355053 432221055 285263705 184892697 444049221 122119565 63757075 184429709 972295377 144232153 498516695 694821983 669813815 293254889 673645471 801282377 650430661 2645745 462403659 328176173 628114479 24130243 77186727 302886169 66664851 330634209 456507489 723342401 111083639 483783283 682395157 383593723 807573447 884989511 587173955 469802705 557742807 584368595 390644307 487424617 638052969 402991927 921314713 223827609 166127517 549279037 184196685 455243611 979431173 709432913 48146063 68926161 416854929 832063371 671094123 191103563 315924899 37513131 70958543 772596535 392778749 489173015 135569815 230463027 925521613 177987039 239047297 774339587 604201129 531872443 49381691 884066447 663448975 557729801 595812435 899380205 892305891 790426579 921840449 556846935 40665459 451681731 117918057 292634161 199147123 102097461 29966613 281217285 565307009 790322469 357344371 553726089 802547105 403563837 584737439 364482709 750428995 676251851 724346007 582122799 39221051 500296903 205708361 750086015 545446597 433893327 209792385 724210395 259975047 99716905 580544253 319719871 357689999 949707721 385767771 126031051 294942547 897852225 141343269 869108171 616760493 12804819 687764173 473793205 779477989 990001767 527072685 777859233 686590887 168081291 29465347 924329685 81190665 347807861 629622781 640662459 432146057 866736901 703127975 787206117 33781513 249050565 652022783 120352529 54098139 78073057 346310883 425367327 953943729 888301873 722378525 379954461 170574503 658681651 186155359 948961851 244631367 404563987 262416193 256241369 938294905 541386907 255489095 461455223 230550167 778737733 320143063 188480961 579047771 52449327 852559685 770785673 788609771 391179297 371557575 582534605 752234197 925512587 597544065 549380525 71503629 495133825 572848763 247945591 539219185 233436871 586061479 87221149 936244807 848545985 223552477 279656379 775804987 477237887 292322529 513320851 131802723 653356727 540483417 574000145 698636219 268944843 873659607 418219591 896482219 55062209 125096405 572301427 12402429 236573767 517371573 692071159 199760617 486324149 286122687 961689437 537156105 206315533 953720101 282855769 74552677 966351601 744553983 306398151 94806379 44875701 386146127 769045417 405399277 864365133 43912191 872739115 420543019 436985945 666070241 919261345 763856329 347317283 84423595 663197573 755238357 663462295 85975041 445674873 720917699 152735053 425311339 591100237 411937903 726595971 396974937 963321327 584288547 739926821 959905319 796593021 63216265 425383613 775271959 160047673 565214391 823521157 997111117 804830097 799024425 16943707 3278305 808622869 19482053 986741447 583246023 861862785 150147033 628910583 259841249 515152313 842427163 889639877 840123387 922296775 907862693 940959663 186378693 832991 263311359 207224281 22076631 851926367 650502677 504576023 190432691 547154373 34200125 939230943 156057027 204047807 102736693 845305935 439203415 672179747 159639073 918840109 234731433 940740839 887931277 294487533 147845081 369764913 298714225 966267809 955719667 775382347 894574889 232533259 236034279 198031275 713421433 285221779 491166349 251258857 382061713 119437893 916653735 376344267 110063619 595469531 460656093 507039803 694002383 789190837 767332035 844489291 267801947 167465431 116562129 38023223 117431663 886872051 834506601 517373283 794703687 214895455 119694545 809730651 982377595 799468059 734179135 892377553 86870803 269353677 523235785 862111 461483643 91205573 83546993 874450379 581131401 206367739 550162975 99726207 676993145 50160141 538328999 794421261 109993971 119733571 217198273 177139699 789570049 765578891 713967629 836325841 701518361 420452223 837590807 692022645 138783003 369437533 602938189 401768657 830397513 96720905 349442827 938881281 384224851 548008727 901026961 452732231 902909515 976100029 787194119 570308621 567888049 743417559 18727809 23633387 841514601 399638513 112337399 356333209 264377281 557312567 855869001 972386809 575320941 12624515 463669059 710500121 185445771 721864529 329865619 336358699 300955807 13341129 673484499 656472203 227692697 222524093 416909447 146599355 682280397 772364193 333842711 453684839 802351095 959375253 637126865 892393571 276137277 619386979 961948403 619808425 3611949 295108469 36828315 325949531 795772861 811299559 176100307 612502985 584306759 482871927 37833359 636233569 77709459 549922955 882257827 141427905 968443855 12613427 380838869 107787179 266253709 109552935 385687243 864397067 666011851 31315653 655443993 368312309 121281265 297314069 123466293 407628963 340819659 703317191 58115459 990697337 165329293 892513583 664722765 291025409 724531155 405263185 56250561 282135025 950438055 688672465 772027385 429955617 810545779 197636861 235983097 442095509 634103307 600117713 986696871 852069499 721489839 189905129 653389269 360759075 206270979 206065291 92473919 135460105 849126677 785087657 807256451 924585937 75255129 50359771 348481067 509548613 548983983 903150685 90368169 473840475 790451545 947521303 890753621 150887211 90584325 651402907 550919795 373726715 7206345 636128797 865225001 492623667 211318049 280085117 940284553 670552169 89296629 969937731 385256847 404648025 334582927 308308895 24938265 252493283 767157159 125454183 504261873 530470165 129491287 34575387 794623689 872694815 457656103 498731489 371827001 884882529 710579205 747832457 350868675 802851673 171446595 842764427 698143953 614617527 661823905 232704005 359223477 584697419 693613635 337746879 706668709 593125651 174716855 763994663 345524421 270270511 637930737 327025751 881460765 160511213 14917711 855027979 888606111 635034303 974854807 52166061 888306467 711652415 689278453 603147595 40096363 159298611 375376637 910501275 515684897 791932037 16692657 5579263 677802709 644083529 695470193 445417597 204474881 53441463 959052557 850099907 486075655 118293303 302109115 328173353 842868271 735871569 997459989 718868399 972647339 868964281 260969507 843113723 336023187 828597065 496545105 71913823 582518249 349983495 304933239 26628047 405763991 878190621 741291981 933386987 515798893 350925279 231721981 109051899 579978277 16089287 110313233 790881775 436608609 183527801 46553217 982070877 839418791 810911167 928029481 963346565 844744557 697909133 847074383 337815629 577823753 215520767 275039389 659616581 96265661 452930647 550445869 797814181 331900339 29571841 377463929 886869835 133027579 676136593 576082791 31167679 348388239 576654529 832224325 151215663 47131471 454282101 170311623 834202229 119035655 2599863 674465293 281437197 133269863 673088187 561416089 440323105 756659717 735638237 103190105 967932797 491667559 994315425 910964387 463477661 843567349 730634671 927134771 86131611 345857023 244003805 747323185 621323587 689124031 297532453 203159847 945960961 470074453 812043691 844237837 30485997 102851277 718362809 86659903 914454727 385821717 642133445 131855489 536674551 60031753 931069543 938478849 388274313 616588393 774152291 61337687 915995191 845908959 265473191 625252733 77850721 428658939 242711619 173470681 521157643 110223925 506611059 213436471 884543461 306246643 135833755 277006287 978366281 893982073 920077127 412152127 594621749 511789565 89262889 12480391 662589263 233149331 891524891 619201817 227372263 616011841 841725987 57498825 645597173 639703279 953537129 214943955 108383255 727823467 417096771 243656159 36922261 5187699 730283309 256974839 78055517 727579301 113451207 544603537 695128841 74977165 854042591 716507277 919678421 300584345 983697255 47537453 148742059 572333093 881093497 778515231 517424919 134618223 589752411 743221369 449041237 302101669 812706167 291071161 11485503 703915219 420252767 890973635 805228129 799753719 59294673 651848933 165459431 302508271 507971245 400505809 619622313 683898245 392862465 724925865 463269671 14833515 610351871 996433393 957163143 440299835 126475267 115557269 946749851 619128693 493588367 54447081 506174679 825121153 824349263 475086253 601618011 276328113 125970709 782462983 452762863 556055873 823114719 349205887 503055619 660450127 197947599 769532689 519495597 392594917 206492975 143207701 409876907 947775477 696651379 227792979 176769639 606365529 183447349 270329591 436722929 918897615 663659581 46102935 288678139 936574979 644600689 97239089 301345769 443325575 79760101 83964199 974599105 910292689 396863447 175417419 776066609 315059269 492112809 311878093 794324883 794321195 534390501 759682895 276228067 677804469 186869313 904922835 490545611 945499389 916128147 663665609 982052247 738887169 93264613 729123843 274764355 10494125 651273565 42705089 385786473 159390419 2322001 339450791 552694101 560279849 282735675 650340803 610221043 518849107 991836607 616239753 190931419 781193689 985659559 137077463 465776205 314328365 826322665 268566003 369462063 645972135 903495069 692686473 121037843 490656905 53109255 803808687 819645229 475867133 974823061 513359841 477455965 703980565 39612375 615823367 673875499 567995591 499949449 658849387 245715143 689321463 475559823 262519235 358680327 931224173 281073907 943402543 830441321 123215065 634099947 584369713 380876055 708339929 797700559 172754359 182011103 254819817 907069477 997286681 10048569 46748789 54741397 564144655 631935555 247342285 366618615 813396675 669942981 269249067 705334337 580630209 574812461 269612977 30612889 795918333 303588755 285567335 364761163 22872021 674318265 693084477 52202185 935121421 52838401 925021711 539557549 298832341 65131135 252092573 288580029 559764673 702503911 852602001 331870947 824789965 195468443 282530683 507950897 328325215 164379039 417444821 42434275 720355141 826968485 737646593 957850719 60773811 273236995 197183815 724108077 549935177 244890553 59423959 673455359 216418313 631722095 717933261 129933493 279357281 869650801 346597161 647037263 249167655 261254841 159812309 272104185 6054807 716783077 999303329 390848005 144944473 292763453 372536391 572745201 799342199 199377585 464652649 662111839 922482025 1768663 816401549 273374233 577424395 148929005 132089897 821805075 50645665 755497693 567293843 123633767 10163931 815531061 45355531 660409179 668605131 874942765 387550655 831513177 431305201 604619427 625762493 576277749 118257201 718330397 103198207 273673705 612023001 907861199 214838885 130837529 142179229 264302219 360807355 653396367 210788765 702112979 568138671 444147839 283977305 204449231 920675549 149511237 124448451 758002509 431857605 835865187 879222831 633169347 432160207 679232389 843477849 382453073 423196751 752134271 343785321 444442817 687315837 372133195 642008297 708960895 596858745 309911565 10062545 332813731 759589199 702124047 407526267 334653165 30622189 434203335 785874863 280988611 712188207 356147917 918864283 392715573 108316373 149569765 570737617 486454523 343481735 900584187 224981585 386072691 757475801 713053987 144469887 989817765 634732353 30965911 646252839 263250497 279058213 4395195 336674689 978890397 663992777 549466651 250833449 652589751 741731681 158582119 640576805 582347065 609291527 81707647 82023905 219531377 25569209 618073441 132556337 559020375 748656485 34067261 957486935 264450697 363252183 675869027 787323635 419146573 375688141 361964623 419976725 293790871 872097765 95585957 310395953 70318585 982322601 574096945 478790183 361047221 850047117 91307235 105378617 870908083 604282597 638267867 752262165 446060415 196374775 290045017 502848977 831238485 46970857 130320583 468870889 79586319 505734349 437167037 808981061 179670073 886066079 64092913 393767985 620717053 856763453 28674633 716799839 535560761 50066801 459134161 737808369 536415077 353695213 535701435 559875177 903251119 880281419 334498145 116245175 483261153 855813897 64696393 183315247 242418549 595663251 621293085 584038797 479538569 667004219 949066927 127353335 332756197 864294711 74643197 497032697 401033465 164090027 562499113 663590285 647919577 143809951 169148539 722839563 593017161 839387653 782565995 476291387 696374189 682003637 326269331 144384585 666984213 306253939 575060917 444983499 291915319 723661541 248427453 303536573 735004533 3376541 539156159 553072773 848742357 865187605 57713907 33495539 312056837 543363503 716355777 435081015 850196829 722773171 405633969 40071923 939131613 854808403 980923767 559756841 772828205 262199207 471513327 971300681 885238427 654746547 326105371 4327205 412164637 338618461 652544551 981415933 283253843 745167991 432926823 281087093 748134791 780232635 247287125 607027353 780048293 863846347 769263253 463279329 990655813 341629231 285764337 46413609 6924965 815470679 327211357 586969015 645085361 823840417 252247541 81353271 509730291 278052681 387863293 369769149 290505125 578785403 442732509 216551115 25916581 333482055 565772843 995051073 169267323 129324967 614244001 28159087 746678357 240533373 307077155 963332361 716526605 673009551 694199483 423866671 970849569 130957715 863719583 834791011 925993397 584052255 875581223 948539795 872499613 453361077 604074967 924850709 982779215 270304703 912760669 618313383 440876777 328572301 256056457 936804971 976805681 690799449 578662231 424916467 434253977 227423045 251879915 915774001 560225337 800258647 784984977 938557313 83089101 459467653 448752569 373281965 230121917 17911973 369583875 970741727 527071259 151150969 265119789 568197035 384010651 452553899 504083751 879882257 611587487 208864459 133709825 629939573 619410987 874504017 267209721 774532517 174561009 263847843 159492719 170163413 311771207 818712583 303231983 113638563 993941037 753601197 286595375 541609237 433072457 73009841 261288457 873401239 695852011 423663891 586016383 655981055 81683211 810099131 400513467 173018507 940062023 617082493 797351189 202333661 151322087 261453841 328221443 371895301 503703513 395302679 647767597 379130233 357177527 19999515 144256601 718960405 467201469 936135051 346015103 470037021 755706581 170114755 864479417 469923647 841931661 671983875 570387273 930211731 216282653 421323123 790265243 149960083 702858849 600349479 621144129 676790821 566361829 204975639 95351545 501078421 149727189 261508131 475066277 500028059 268127243 951585303 138664783 36919635 541766659 225094817 390672171 848412227 601340133 702158173 638008723 735741783 344550787 713047497 477295887 162949861 267410769 220504659 52689733 690133673 495599983 926841671 280246281 563824329 831569829 133253091 832916569 504886483 309453155 887766853 128220503 750067901 692909247 663451513 79683917 827585505 65023353 880943725 298205359 256233479 250106871 621821691 280776985 572618331 671999561 744225255 637009487 672405619 571426599 623816919 368894777 762232653 441267951 844408671 721587437 685876301 909672105 18803701 833270181 865212991 993714437 372302591 271025091 539125339 615594327 175581121 416982231 95880509 755034275 59212655 199096975 81767401 787418251 270133281 983370185 237661391 446949987 54493147 665664393 159961283 127761441 464737155 408033271 509578753 92104033 128754669 584764265 64801583 633932911 541206223 908292953 523870299 656128311 246462925 132128107 232954361 525369427 865341807 348152427 399606759 934885887 209113639 636976969 153729131 647696675 197263695 561317413 839153969 289742417 55291429 372294461 834629711 197013181 9022165 949088257 132400963 336293703 331689841 526531585 888566767 452226423 387871471 217406969 212457381 577496701 273875507 523257549 295989781 646474799 135041797 398051977 973352545 103468045 137052439 18137439 546806795 341877821 578044673 446405289 469095939 314871439 464139077 642996717 419670427 138274683 108263759 598174163 644472211 165184799 287578731 141253427 400859407 77717571 3691733 821443075 12073115 645208917 929917103 518797931 66611505 649271151 419373825 112271793 7279913 161227597 913836221 539515213 515840841 962867289 763405243 601789913 764423617 980297633 604852669 488665111 749490981 806270683 536325997 637505523 383599473 755942249 134408027 241092479 454709005 876207951 134945537 97577465 933581251 416180289 280435649 370350273 348288969 397808785 642975715 477695589 551110847 139728961 257873305 811163031 322436775 191440887 886922235 81270323 249546991 877394437 339876363 319020603 952232301 528504159 102849459 3020507 149087071 928116901 228175043 922304357 722670697 666559775 788055029 604735575 300467095 977595325 942700011 590348883 754579041 741347861 917225005 673208099 994759587 857674087 883459627 532060347 456580257 172602777 336690753 34778679 112702475 550133819 672999599 978294489 230439157 653023621 600711327 717259021 723389915 279639893 524931873 722797415 860581795 745290803 992523823 519616929 354090651 920355405 321735083 734953887 560592759 934089853 659149403 442052715 909054037 391028031 84048629 733532475 372871611 252125629 288684815 878676583 684057493 632721091 148992043 943943283 791473721 94415821 507338929 873011467 827582309 101658613 115234549 557646851 978955067 520954119 180922927 19731029 159313229 177846383 693013889 757028133 930501517 943442501 796815601 632544447 768614743 399426633 299570805 23907731 65854067 970400483 541378785 980670783 1180687 132185631 48381179 436759943 538695101 243436727 113277035 805874515 373651069 733564169 534771905 178266041 546412979 746953759 760796277 270192885 590577197 730913443 529170925 989099879 724701983 1418737 278104173 909964955 532253991 224513287 641576747 192912967 453422411 432326027 130448443 30179651 650784759 102610637 305606563 642451605 663222785 151140549 784197195 131239527 200931237 899055889 250612993 976253195 18974601 493687289 55342467 538286077 345099195 126054251 331409775 937418467 569428657 3279873 928410449 316589187 934701125 417304055 887459735 727465429 220624065 888967735 48913309 703047923 372473293 59391309 125913249 822988829 323065729 929029237 419077329 34340035 658011483 331416201 481317433 214491767 45988671 275569429 885596119 678927345 190159481 850781509 317192841 464987161 194839233 139387633 237817369 245677303 258921267 97734041 717275707 624288957 428126037 257190243 215550851 591721675 570871313 554048545 190941815 936198305 86030017 535166535 639908477 678141675 147250207 318683125 591917289 999703165 498322769 650498547 389367281 648131919 217654501 702073009 79579577 983633801 623006159 941021509 566484297 979525747 426883183 690243181 300025747 525766529 251462023 592862611 703633009 743247 668087621 406492613 535944097 617219231 697451583 1370811 13652945 53198173 548787313 649499603 535862669 433094045 874366531 837398805 675725395 60780697 618943359 509422127 857938303 880177587 347221085 974608251 976121697 163902843 460341369 484280053 666930725 572607647 730204631 69645127 910297829 986267389 5709799 282849469 698133667 47605911 65724027 760174675 399844681 954387609 6419667 86870691 620017833 224408663 597580947 125541625 133569913 373585995 550423241 437010497 176196189 884469017 189486825 789010451 723703005 845656205 233841105 418976687 59717739 831387287 209851591 112657147 653618527 410991189 771250807 975038857 481197053 659273483 787784695 893106061 562411883 903071009 777628611 537296615 993921211 832300333 974159553 401709599 33661927 21630185 398894401 934829413 222004945 259335225 999228403 915267469 181542977 429516329 306402041 525273371 513890025 615405545 978293461 125979443 12362849 46047705 795590005 128343717 824358955 641736823 735740207 617316073 68935345 153067379 142085057 472077597 377392195 297416861 750012751 511316231 719703067 280756977 395851109 848932891 77050715 626887061 530985979 977802859 592219147 593074383 390100077 178785721 605915675 172548887 609171073 67400813 955757159 462904325 210059619 594178197 246319025 85360479 792347815 682715879 119729565 960500239 41681741 254340549 270505921 402085671 526696123 354416179 590306455 457449701 185345467 416860899 315252859 658020777 864727939 572422955 848832187 204421889 56108721 203279371 876829317 966985887 746311755 375990569 309775349 786681181 486132415 434280407 445844235 680517185 725076703 879692809 459151537 943485813 217109225 655860063 917421495 405757773 340370309 815671329 988464087 928966465 16162493 983777343 83330739 330766073 972007177 287146061 789885649 267254589 310847557 152775823 660761255 354978049 589566645 567046121 697552267 899586145 551662601 5007595 74430655 549301151 136722515 466373325 244733035 749107239 781610771 789970027 759490723 413800843 217547309 412019025 955446879 482074249 338922735 650205357 207596671 256149507 765372685 173148243 848766159 47620099 203494821 455078341 897516285 339905725 998934077 499202859 287526821 21276557 38794177 392682577 536965959 145644021 585615239 885447091 637027661 743602339 253004363 178268011 830240005 152107109 322896693 841811525 108221613 365234491 909653711 708880045 107591267 760573255 967024655 600786363 909318963 142538709 961944405 184396335 709818379 305318485 968346467 597592943 131870407 453139813 822317673 374371979 25600807 356388295 386490617 982321979 980279763 262359913 130450195 156857053 393486175 536843867 126014745 413451129 765139779 546884057 218186461 539517631 540125407 910067015 786437265 314453253 435921533 501309743 768137171 764679753 689219663 909779015 212161705 874808629 46297455 530443879 667368061 327450135 958547677 961211797 981095209 940981223 962005121 905105145 297374183 289603 572414511 947730409 698973789 403497329 212331677 566663391 349480345 577475941 293882479 800887425 289457425 618213041 36485423 967462549 887105439 302051991 759893579 113374483 497357451 622253311 577592349 585650963 565936769 246729589 725629161 915695579 300640921 683245621 352581077 849160661 383102283 7234841 658082293 880016275 263030657 114400427 619399999 344468177 912463237 648715035 674025367 835941749 336249871 187522367 895028677 440768133 671262523 327308183 25239675 678445369 740391309 948736843 921696595 528779243 626816245 356664103 986371531 648216861 934565317 623523493 305532495 824057465 141683133 105903331 325418801 915259351 756423425 696013737 677602727 702952495 682323231 89088101 345654485 335961763 929307659 378382641 406092995 296560513 727723813 849950155 44754787 387129147 880240685 935231641 305201037 813729133 110500437 528268715 814455301 934189529 412533041 259105207 547238513 334417771 211537343 261176095 543713891 24728885 649552737 909866217 452281943 284147061 457933543 988036547 199241385 624007819 933251463 777851653 143023783 499546631 984973789 710820271 736990081 834662807 834557677 272884073 540682063 416659993 980479269 7927167 177803285 974811279 256591707 14404077 38194873 245588773 731388877 477156941 522370573 520869935 225342751 621949675 802900939 391649575 535438175 476586929 172998549 426647471 871182081 202546491 44045299 463319191 968640995 514394055 566931287 714091213 822825545 585589307 147871513 311797871 447620579 98884905 293026427 269178815 628049605 511563717 289250215 893820969 673898603 884614383 251379373 568927041 153063099 356996143 76692103 321208257 905214213 913806515 120438295 390500493 385044729 140701269 212721957 322947505 119449527 771418769 521258337 510153565 821182661 249997201 570342759 572441839 80385809 667660067 922630071 473114603 143410157 743423935 77095355 365503225 381142551 465136001 467271875 519235311 788890807 521904949 276522249 29068233 105396823 384795463 981317807 411114919 872313327 918488785 142310077 4485589 218737115 13200527 753105443 445341641 18133729 688848361 617255101 663889947 669786411 136185841 621893195 781650833 841824083 955150939 968720247 115935251 135354195 458257543 292123857 988577721 258326417 169128063 195619283 132942777 208846299 814839791 328623581 400796537 746284645 693736239 624673083 209239941 2880205 743210557 688988187 291277967 308537625 357911493 36765593 376626801 831892661 77712401 287359157 619150129 886544759 829253659 556309849 776119801 705565851 484519553 152194387 774610971 119506889 499382411 264863073 524007445 6285323 727725863 199979043 938059399 411412697 342074351 737524511 642058559 375804173 761367583 303549385 667599919 667090929 111622049 2075259 108086385 329282605 829009923 930384757 890122059 586607321 852594557 591836641 945379111 331428979 143628779 814943949 773303961 493823455 867281881 767965239 792112473 244550507 432195955 35380733 613339471 465476043 210181009 742180075 814491523 107761437 435331253 673940911 72370985 946589159 989949441 152145893 235143837 865470483 936527433 367223563 358694497 668017659 75390209 362661775 866479649 756123481 416800073 577033663 256114609 348407893 382578409 529979091 21545995 627735161 698922321 409189871 280430161 5411771 321617559 279908637 145663185 308163963 294144635 138852427 569054719 786230651 843470691 757171797 168694643 386154729 89170271 773541881 662321393 341858651 706293031 556767459 957038949 990257615 285118745 603842213 167367651 749380009 655471677 899270583 997213349 767117749 235285827 314669177 952079375 236535595 20731263 451678773 974540715 938466983 731568629 609759261 608705327 44114221 330232903 412495947 142237043 202371373 893183945 302199485 278176123 390472057 131714161 455476319 787149171 228172881 92718555 285283843 329128879 202460763 888368723 688200031 116117419 452552095 945372101 208398359 879355655 29660313 689747657 901805235 19306639 531148065 269224863 820329381 968226105 934501247 91597615 251396167 499660061 834362207 476206597 829685207 958975105 11393751 121928029 32779905 608658637 208691043 342887953 466871383 792809879 395850987 242141611 926134863 17428379 59775673 93213531 117067085 329753529 182627973 499352311 20325145 759641597 312726377 386459647 368311141 310463133 28272367 567108761 678165193 763111153 43462655 950616213 664275913 738535039 265399283 608148587 204410315 352996337 971750787 704522297 974240289 759619097 552894937 795332295 618136837 993520373 585578369 611874435 416430233 515929253 394406255 487646855 184538085 299249783 934792193 58872207 685655003 771412445 282622973 61883141 824030803 668612465 554227599 158288375 920683279 927405049 830948173 821469211 538191545 172503903 710560563 196319955 154861025 594403765 172833703 553684515 178287619 427234361 181640311 558379453 401505915 21867597 247335385 392958457 42722711 935810681 636190055 105810643 368724359 983718773 550114089 873015027 479418723 826875675 227911821 256573099 18217517 608942445 379926885 17486575 215675343 375882647 327277809 311613535 782502425 706049773 943277267 296644163 28707781 105273321 251190813 651756939 735918453 674378029 963078721 198326221 956634289 291977351 132829213 896718921 398814441 572617195 570091253 234336997 216009849 28278383 785833849 408825649 367858081 914230109 146198715 686655845 568648587 330501915 785605435 246867807 758612295 890935871 54942175 187988901 643905231 915787395 235017969 159121003 481250821 477855689 741595431 387313795 341573551 878415649 731665055 1131633 563628675 306848697 585301983 122250071 284977175 361946095 800861907 521013769 618245613 709184581 677035473 598601725 523137133 438784617 235317399 91901007 216850923 543833131 898990407 532837579 967799711 140680839 612611441 932383965 165561003 515903649 390561547 48304285 632541461 514012867 489869681 326174667 527167187 708193635 285112935 263749327 395254971 661433881 750390045 755391925 551860621 848385193 873222949 582207287 114824951 377391105 136784255 481385907 766204551 389449009 463107471 957126195 699430583 3454069 13884451 154520417 483122151 916219953 601965167 109224601 83462499 277006833 898546961 583678169 700432473 290990949 281422095 980530631 411705573 465027437 310322901 364750003 694653701 832943367 651001655 10116501 714024871 187196515 493952631 985141259 242693017 986787793 431994165 175780443 279714963 751515343 858452865 876723321 84540987 901963005 191663057 992611063 181681429 416600361 531534335 457803289 640930197 760368197 151291987 895404737 895392533 781999211 976898171 426007939 79669461 854336481 132802697 248323477 631475965 151498257 768875515 696368083 553580961 867747469 180291769 930832329 806254007 663177235 54279183 374803619 914634275 486391171 568782769 889497657 408022703 555374827 289813693 784719371 925500169 833895549 394342583 239809087 30705611 759448469 338695823 745879719 5532537 951833525 217922969 752585143 409591673 94214023 955910801 805710223 690295071 892624355 253013149 711390967 782095009 123055809 451057227 536603231 553317923 845689923 689968783 726018269 373776559 708471223 149729223 879011631 778775347 248783503 325641401 626499263 775769481 930038119 10884499 821651611 942551413 626062593 52546279 44680315 283651997 390644043 65985203 518215613 500332691 837939283 720331615 619456617 549944275 225026905 398150837 377175597 412778171 932271039 564048621 766019939 576858517 918044687 408636321 512400903 205447827 263849725 569691355 889755843 67966669 822482533 126263811 810110947 20956997 307085899 972207347 631965795 880104423 143039447 699461861 656635613 472995455 343114847 816792959 452642461 498309065 928965725 66311117 37221519 149775975 637604469 393947977 967529547 620135905 669573233 12778187 270277393 58919337 755320389 757501337 768584903 866779671 104730383 331000931 527488255 205479279 177962509 641313341 612733931 427358935 723172269 920268709 609399665 438995297 648931971 506099581 617303059 388143879 546211403 265937429 157564419 81851307 146082533 510735907 476913173 919385621 239763805 550762945 321312461 144328439 330707177 378187127 93725519 509057001 984457185 93678387 866728043 464786029 83014859 145350983 343596953 875317485 158786383 882993011 622377975 676762553 850605891 371607003 702661963 699697675 953546147 559686667 478683913 39819013 947221391 536628219 863600451 798991023 432548181 763434759 375090107 855160059 145323365 906308341 363283673 739804865 765326175 560325359 169219755 394401475 560499459 350328463 168361447 615650475 612902715 551241423 99682031 813009417 440423199 178095381 544570567 168268119 169038053 460673583 793962529 882501877 740295925 248504659 164127315 853099055 702818005 987467547 628575325 399789621 852241981 84622991 909538789 309699871 406261767 746861083 100335677 569026799 550803253 134800533 123689305 681779341 123096051 96663611 781835481 77893837 848253587 465792431 58183429 9306471 825455251 805402371 749289421 291986941 615247251 212467881 479611333 157034261 287423073 505567869 625216817 595986213 172665327 399999689 793377525 745558403 886678105 451365685 912708001 84118385 611108833 999707611 537192043 217868567 290795507 150007349 869718069 74802825 714826787 971439657 42282117 456297151 698794283 230364933 278675081 37961371 130274285 584983165 136398875 761010659 496725113 458260911 554241207 95331405 354477309 836840481 112692871 5088877 306598103 517051583 702593367 845830857 321979273 820694749 684002723 870727881 427614143 327558973 71956357 498921405 804033101 809237247 922459593 135605725 989774637 395229363 50141915 879648079 609345667 657946447 595077075 562895639 184246169 214294319 894622577 692341801 322271715 112520983 176103195 660439135 112063997 595678517 490268129 816121721 540299947 657133599 885313915 707146271 128045013 842287571 955163975 613554917 572673937 125119157 764552013 293709123 771914009 661282963 33006397 183854745 720234961 911108513 231181677 969740593 321758277 994988413 837006299 134922559 146180389 502228523 711047985 393280471 293785167 458726683 197994941 982119935 749511111 524642337 973917303 396686237 394702517 840140409 78697979 229907589 905018481 556983241 928332181 473655149 602635121 624382751 606006833 345428729 424344667 6372337 605185385 920287923 295975163 822524185 649280633 815203849 42158401 2099679 136922955 596220245 384477773 191965423 161571691 68535515 821143901 834980703 703390995 159143873 360761569 322723757 848355363 83988763 362867049 909167291 391590687 518121695 84045491 670768859 430096953 185385713 893391519 40287423 370622535 626954777 34412603 653774979 325684169 181092105 171311801 747005617 255543781 758544731 398077555 646444337 395733869 920106125 53516271 187883613 534213589 635806477 804176087 212463599 353768509 684724007 729075453 711207949 751517293 350430231 52815711 711859781 840109523 172181759 147693853 748342411 325044361 251539431 562402437 579878973 383531085 465383105 567880201 810938657 562557829 218262119 712600389 723440227 57501759 372787607 894992379 140568473 210770231 899290109 541393175 854945215 492349129 633621801 397436333 33909309 732551165 127348119 188273653 801555933 47162241 986773413 565804119 907202519 430848173 131698333 48499803 509954245 962435201 906280879 512548789 494904751 516679333 706626297 165123393 164098307 981830245 144794743 421982721 979367827 379647933 23185685 132603937 795750815 614764103 659666339 108123125 727527371 584002637 146631643 265547511 758330403 947299263 848443743 441455819 39445791 172631347 999272631 852015675 770460827 281497833 309579349 955736635 939641053 194001863 631987601 871380711 196242833 293811807 360991149 93216899 131623629 16898531 471835859 972958839 279786509 462985017 821492499 744624217 677142839 909365219 232149863 383720675 273051033 598395153 667671729 901136121 604917993 898594973 388759737 778419365 818154561 77181955 357784879 473930781 922989865 94715757 673405615 189964473 482799245 384517801 81179067 615833597 4484547 43321391 331330999 79158935 861188489 780499995 981582841 842003287 772372739 785539385 381105337 496485433 192421053 376484341 349982745 275138401 137509807 60406121 442561825 156109851 320929845 860429905 690817217 714062807 173331 218649109 573094101 65577781 148544121 203514311 905829661 481507571 186804985 524542747 337422403 911311105 752019603 603189105 827335383 961717615 22037931 519842003 770105939 371825017 726217231 30549229 602017303 361935493 374134261 431971863 810863215 242448665 919862519 48138831 637247881 715606509 372582685 123269697 262728833 459653339 519419347 434773559 64181335 821376483 460899055 837069099 648251125 787730485 189928877 821334459 655909931 390910753 783309749 449542959 781437617 253447461 700604433 242889845 103714093 769993441 752480311 550258983 136304419 731684899 979553031 835201153 803595273 458621149 929524163 895559277 704094259 595077675 487932187 400212601 58246631 542378319 182183457 35298011 321490509 128911541 969729877 785932149 466711157 538319087 847138715 120103117 757851735 758090171 915116865 612496657 795859417 963111673 109723899 955156249 214181823 797349815 841575143 388357477 117987005 4741929 335154057 433299229 455582829 776674213 613445841 762274573 994044495 922743219 200553235 168201905 946369739 800915197 679392779 264817443 264754229 59580247 595985887 594192429 281009603 79573947 715659805 253696831 460210331 940886861 21500603 916842607 207761601 553754711 572693779 89138557 235685929 534854477 501378285 986678479 593294765 485297099 48275319 130993781 974322699 77943187 790795331 879547687 782166257 518120851 491945039 387626819 252563947 518599897 271246083 148447185 305321847 495355813 681990443 911194495 27245043 654954585 359911419 499680167 377325737 118586497 851662863 185985349 544475851 469884365 82727537 486893571 427280499 40420635 216749449 865993007 698262943 696001901 604090417 30091969 719841595 230915313 891981987 778779733 425226777 989202935 801366917 345379383 66378735 748326907 92265701 308319827 588327009 599962273 850641207 628232513 915546617 320552117 364617307 938662209 521985829 529559847 131251345 330890555 102953279 211865109 110433677 670610875 475151241 422991299 158234975 120944123 288866351 723377049 156918149 768788187 290734397 276308783 375670759 118223839 815887279 556377915 897958863 623045689 451283559 688077987 694229237 710078911 738910509 455575411 381221491 19092465 318960051 103598555 372360145 338176245 646056593 262325563 579989501 748499611 245311563 961092371 690614345 885635419 561616455 584874509 933754741 832749907 416834007 110529793 675626661 901861707 128116533 903818725 858795111 124559793 104368259 970743519 880940975 382145439 329117385 683792187 493849307 376486353 966839033 557504107 157080241 676265393 455622891 802231563 898870107 513469517 693192289 219995613 294711667 950590811 439483397 795699915 399756533 481083453 189648489 786324461 317892163 190110455 605595907 189080185 479391533 738772283 961190199 253748183 242304999 564672865 366610763 414845583 480281105 737592677 350893941 785747285 108797357 907870191 210010315 118824453 392942633 688847183 366828623 657208481 836345693 181051519 954398187 857448533 431279233 401547801 101091695 58347635 626430783 635634023 676078997 416717689 312011425 738227545 82429695 608986633 916615199 186459525 984168245 664829933 143187093 783363371 428970919 929753369 515703113 424941617 586157745 771582121 538653413 596978727 452278933 999189471 889222275 869103939 138850935 543458599 891863197 817282407 578016621 128178965 363876889 296583449 328367983 76640099 535591237 784841865 323920479 258892789 720154837 429861515 185298181 182151125 525650153 507612579 3667985 67537975 228823043 927012595 587737375 693225335 280226321 346304335 872886191 772687897 91363689 348962349 966438443 743880133 871588807 59980457 438336739 732592721 63461715 757595279 588702991 664838327 197004695 349567819 88491477 417809947 523207819 34807029 82767161 525185223 566880139 143284045 921765681 772026161 42412635 64347321 165880979 243409649 406225961 74434379 554232865 714341325 470524557 357954487 738628483 229052589 757024385 616392285 502028365 99272871 873082731 945278533 996264183 822936567 819328535 357116959 600578529 128222973 660446653 513670465 493853271 6144325 50151163 293039275 54624647 42934917 801980625 647811587 904058253 739998101 580207537 412734617 391734889 581300603 889224815 870837349 719795971 362906207 228334919 183866629 186182703 254115993 314132705 99470015 391097763 958336927 245091655 524283783 711405829 150330135 856827119 526702063 840223449 780785613 928016313 884763707 919732115 443863731 556614119 91064653 811759757 843252707 215949095 999649721 57329415 263466403 92654991 817508531 111796521 988082013 741420701 575261469 635414791 468352163 477507637 369688189 787633047 574802995 583190949 984467457 503209917 178214637 319176351 716962689 234592579 411450591 830053445 830599293 50963927 183032891 766417947 239602971 749052947 946401885 215527693 615676205 356933243 223212743 713517679 740465447 999651957 999515173 182125313 224601897 568200021 595086665 222627305 705935355 832996177 751899185 252210607 937532429 851287183 621849855 570821967 184282229 745477139 406003453 888523553 275024369 198015185 912611231 143303149 954544619 397121697 321835905 87685599 827466097 485472583 545246053 256668045 814128187 484904809 936094007 640947957 172444071 95746457 957499659 371317881 554567613 223147347 455373339 597725675 81523243 672379381 640389065 804389755 719096651 750201801 571762339 583879371 361452825 279684353 898945373 869589469 270398015 505965749 118446543 106247713 232141065 396391913 608650237 286837097 868062323 541812867 188479763 926546165 951472407 580381781 543795301 388313193 110073409 627612185 147376237 385737939 626163421 5240433 14548943 875213735 371035267 506051813 814760021 104893379 902429811 590216423 818874869 68779629 649234067 545253071 159247303 846352977 840186483 524876001 338590479 844425861 838342731 922632771 818836539 909294469 371793403 483664391 266302939 236487225 299266567 7090215 426456491 209984235 531763359 6850181 352855951 973821009 459474077 643097577 232465555 530154635 15450751 704385285 984188391 454428187 759402859 340109169 480445929 833390319 160984625 628914351 362851613 749833055 741687369 780605737 88338221 816641315 496023759 462766383 137112555 593950309 754666895 858760699 908027475 14611121 83415031 196900015 149924233 742858747 770334235 617855315 524955097 878434721 660602301 695000025 946019253 139565927 588113221 111833881 716873911 569748605 426927809 132583893 137899685 330785911 815284455 758122935 367276649 195841105 864775703 570523215 145462037 352555889 228959579 682746903 363031271 242048165 561053535 991488879 184621631 314455329 619975035 103332259 365144235 874093957 371897519 224768995 168530909 7170771 881499297 535806535 841129135 873103225 616574115 964988113 665228839 397055565 530977449 537408619 163012207 189110155 492833363 442194917 933816283 583712219 336054249 958949111 320894947 495500615 271031643 866268487 530145839 319580743 202622781 684046683 771682183 52912311 520418771 66304931 755942111 779914459 306289153 240469883 390224467 204777571 459727447 265403427 425503269 348614497 207535115 650287557 810161601 415018325 713811455 816090225 977753273 844969507 138501049 11523871 25312715 837453081 459315303 943478965 949177817 807916011 411129827 795956471 919375597 679013303 126106025 803237275 132237627 387620867 669950947 945688375 534342687 526548923 772129885 832353867 466692891 787600949 731375507 358480453 496423131 416601645 755103135 366614643 788713011 89479371 577013067 458159885 929635613 181914777 911904519 493744185 864794045 752519311 574267883 61390075 429855069 621736711 883791025 860586057 421392755 800791241 343571143 521540599 273358999 958622211 236370743 347276747 35716493 458657607 830185915 262413931 16029251 472225941 525299121 817841771 364131017 481176145 977429281 892562755 562275419 751704135 496240059 672850515 906250333 971820719 500770773 709568485 195823961 201147173 750814573 594851373 976453637 325759919 9557805 97438783 595086905 938047417 481394531 494872353 609337849 131143447 525174023 262856377 243913843 860817673 646515381 737397467 912957175 402765109 450110905 722708029 489399297 312800421 13796095 772257669 130291253 5189839 855651361 540634679 847694175 616564883 575933019 524457415 98411889 58280243 726905751 150160015 241534341 514829661 31228769 376914637 145869537 47179303 562581491 669284269 928328685 264787469 383404845 468036673 824308545 711982583 289337747 667431551 414429843 319204401 411874647 308703307 76415433 895112557 81614671 555283567 930660847 119911885 508304379 432779673 107905079 19899347 298960513 113409379 49144061 112331631 73842611 91755345 882860225 586601205 117219589 901195721 766995763 355835425 64462231 181849885 800928293 119598361 180784945 131277449 897605775 278957417 273447233 83681577 736900505 289942283 468088801 461411597 419539851 535508311 831252175 833923103 111405785 360259605 345596015 674959167 583382301 742043249 10972373 297877801 581885981 744244737 102240439 266864521 717355715 887225281 502441587 412937713 170739235 186240791 759700239 601672407 997214839 990267603 161504063 260109983 982969889 648192549 131652181 52462225 797313711 34516399 545095507 609331679 93123029 744757875 784570337 287683233 919170665 743783135 615957323 693984985 725139829 82334155 755180939 354004337 904901407 128959345 803750977 929622841 889522619 909507189 830431153 224731117 88570567 903629033 728069069 195511593 546868197 592572735 584620843 973510523 429263839 172368725 861375499 111702867 943288235 885571953 812437843 95794697 305600865 541313855 245802389 484024543 439648581 271031507 156841987 299041279 93094595 41393069 50079619 398792057 352028015 981111219 373831575 300959303 484156931 51549231 157965167 829331275 25912163 770492631 477479653 369856077 320054683 633973451 724195189 231863551 989360859 320071565 33966409 594736121 736371329 533173771 466318895 34133437 185268241 540382107 875459229 668296627 929462323 168677115 198170805 919458097 724264381 54306125 718587197 283175019 605430953 418468131 588478627 162404739 142963995 671503215 594372609 733560709 202204767 522427021 34198547 395117919 772142567 602307399 907341889 90999533 345141837 836241861 574836637 879395823 699101783 89196193 667576795 306030863 998535661 3404245 20884059 933248221 835950373 970018759 24964903 979637971 360720699 992227909 574212587 965736529 514260879 706834307 948359935 762036643 118439599 852934943 29205089 473242359 778827595 659306271 108919483 257462633 793975619 597798127 126815837 512455161 519575703 618334821 193633337 287041681 527100529 81008831 516449525 640474369 421539881 875416991 48198099 894871555 125995573 112903701 974056387 561580599 427520317 236830615 925764191 123243815 291129609 202500865 682032867 55331399 520728461 234731927 290852153 56613869 371333091 959008775 216312559 96811097 556056401 478381929 674533947 633040569 954768449 32877111 769076991 650299419 462788935 70104405 123567041 730153079 355085851 803558677 787827887 110102451 690222757 149158441 849619617 677029011 257188333 92030127 976579095 117545931 452220711 145764141 636874297 565248757 599547055 916870031 465995731 156902801 361642247 984784425 729865823 867235847 642239963 480676541 51811581 957503147 331252479 393160555 96715633 754461877 771335531 531265475 883574573 181351749 567385159 387572667 587423303 937824357 945731035 347695789 77572223 33636871 572125853 903616097 377683515 195055877 671466531 898716163 913497483 3970077 598225975 134370601 935941415 478537469 10721727 280498385 762457965 160607537 588231121 500489311 592267621 477926199 554818727 945801375 813127613 232956781 230941349 131221193 863300047 25739037 372781397 203756921 208637591 358285177 861175403 572398515 607046591 501362843 649991875 552748007 413620885 671395969 96278881 309467369 61141775 737349657 339680877 216229621 548411599 99992623 609635901 462741681 960981019 370459265 913931851 122150443 639706337 110681773 27127867 500268503 725048249 82830653 399242969 321023891 897364707 262753955 562819349 931369893 228334919 341344823 722724111 351779769 135713137 233001277 514845445 836525029 424776859 350808027 158433895 975222695 723176357 987418147 475425989 131267809 618892307 43800335 345799899 937335011 524514071 505033089 323879311 37698915 425151111 339914049 165283559 62633341 957039585 989503489 631853339 570022069 980625745 712896603 472915331 456070139 322599073 91213005 763191205 179865761 963722825 985998531 399739435 940196199 711770221 681388429 103954919 595334513 177352653 742967143 586920661 735033675 303058143 394577005 490778395 16037871 1414325 484630957 158956033 380846005 951632403 580417047 953736953 712567651 833579613 933042051 53664931 646681385 361938593 909394357 221493183 88117659 810315419 278020435 75810361 963947189 584734631 827837167 890123811 570052831 839411659 98030595 759979195 321586147 880713401 892410353 776577377 414460919 334833863 939141377 570129571 242564795 625871863 609813859 556112179 453730865 675778795 46539827 710154477 866848711 432455669 784296051 320381395 979882835 697637389 930202119 129407761 155226643 874441683 815805127 943394299 702965163 849540747 993731943 148522761 89765671 571933479 36278921 687163107 89947647 760359741 616283065 499815761 467930895 510938123 191960167 695566919 441642395 227236731 886801131 950831329 785325139 296010525 197699975 363614305 220951627 60181795 504905571 909782837 249411583 941284721 667727763 552985067 641398357 741161101 532140047 953910851 726460827 595230375 117416121 73073695 963498629 288682643 380144729 703077001 264295729 675111637 564339103 519270071 333550629 389973647 739679783 201310977 999100749 572927125 527520625 386018283 558172415 898293851 732850151 565503777 304889593 556776707 465781209 764534903 789167453 866820179 292132993 126342377 794715069 869765561 141049087 740672405 369033225 951537485 347858271 888730829 965400995 718443215 575755151 891412735 720075853 669120165 687925867 278059467 727527735 75798241 201293491 458531055 76978675 456718391 762184207 378805083 196360577 442697479 641959443 940815391 864447301 854827609 63097143 435116919 52431373 112314589 604466651 305568199 412563213 205484521 273969483 542711451 715093731 733398141 899589813 227799971 620085397 723563071 315026997 417097151 732391055 585256575 235627979 13446125 125777319 570522419 751344735 659745373 529367065 791814653 862687429 173587807 446481035 290062115 613890229 139106417 303771915 134301845 397716943 296082739 488909327 100356327 421963933 907199603 15474033 550810717 382088081 438896417 85260667 937679321 908069381 252375389 13271509 120515055 420709177 219984231 994190487 56206803 194331477 247488169 402956095 248109671 21537389 523741371 641905585 19977007 55638903 814769747 268633401 147873119 500334937 966619737 353439119 998475465 305363415 834110165 284080591 370916079 684105893 205496827 904080253 172051959 421901405 792027941 698377609 67963825 359307133 511382489 955822919 662626453 45374323 569265857 235605875 266943171 232295819 487377073 403389235 815206143 640827907 859692963 934490389 84018619 493950201 201061817 705060877 574395403 833749879 564151873 348698747 605264563 21035631 923897005 748119841 664816407 782298041 66248089 28231725 500799559 390956313 119246791 86321717 824852987 535613237 967816483 556239157 467069841 542394529 464016833 995886997 345957137 77008595 128684251 993829663 255371305 99346223 194472405 850021387 186430257 120139261 190450489 154289141 32298027 534306159 877010363 854947041 351222713 961941661 576870199 538188351 327823407 472183947 680206767 548390369 326771841 415257375 661818961 962704647 228799825 334805035 81094765 644003157 33649637 365939307 338785407 747651545 68444971 796634747 418870057 886884871 3812539 878289899 287865403 311135421 189147605 581191717 114148771 582361409 946976351 829219209 80814207 791723071 283458025 190180435 280636947 988619981 531287723 541306799 333652167 320730471 245196421 812511405 212937009 208241907 666332155 736467271 683391243 282581951 265204029 264673631 994281019 206411905 89899813 72182717 167504839 807798101 491946033 805587731 259388135 716487871 137020295 48233721 622689267 242376365 664354807 341416177 83512689 81938293 654831863 270341989 727966473 433195221 643894697 131044517 336266385 134868721 48475603 454430189 498470661 514191701 273437923 679779417 512920965 498794489 806843123 539625975 152329309 691817017 893972927 567637687 61736963 331528155 149394353 196961649 878046737 886589451 13012183 127306471 112809031 489136733 468235751 615091907 822464917 698235857 135146305 221605013 150279947 188513229 850486255 84263127 967064295 224290587 500783261 955075051 432223113 584034545 442301091 954159383 885893759 444015085 583851265 496876945 694907771 648624917 752097629 294588271 173933401 726745813 612136199 122692787 500417307 790296581 339804151 376901191 244480235 99093213 914605005 73340667 467861281 534585351 255486669 960249993 874109237 13868429 563355879 530608273 637810377 917848039 11236021 657766815 406993579 74404081 50745461 379239457 936584141 916701423 848923405 582789491 905334347 675291537 677740301 850559701 982220903 804179689 597538731 714488945 301050765 643186807 611301321 937295959 710015825 731313183 778702573 17864065 623360621 250898223 831057477 401816783 968190915 291263323 553903019 883102731 335777121 689295297 306215067 971411177 206982523 412030951 26204991 331465215 422284135 393465529 224407395 790567375 631279791 159790989 250749313 555701185 697108985 690610463 970507705 789796649 315602459 510547607 687060175 174641215 159147791 173020287 934605621 240146211 954586871 219920845 608033793 736835295 71908643 119900385 989464051 148159079 539011329 606512253 307431539 690549135 527650095 409665743 928777357 794987549 936928369 517240431 682777083 573322425 375412399 293791063 551315995 295039985 403587583 473326571 764346101 251898691 995346331 155032573 921863225 409464845 588763879 921182143 844588603 450224283 197939309 674449103 926070015 704634139 919331555 68710195 371268905 365849255 316929057 706894933 495252745 246091843 388216877 758478863 383768981 590802901 553531951 634438043 490842991 367008049 336770429 568180895 15227869 34146575 186223251 782336041 7115213 849572879 621781009 811883439 783961305 334112699 159838147 189793291 895470653 806199173 964167583 233228933 814769633 559461319 741420733 188814793 627052887 922204351 909735011 357903085 521658579 486654875 226020091 767242351 400990775 844622183 511453975 414909747 726887431 494192673 176777845 858102661 682208885 311650215 661432565 898522653 77130839 408556739 78303141 632894231 49874989 880222759 572791733 358992119 92995869 657659755 40971653 491362733 924614649 535029267 28962709 64497547 35916851 697821317 498760081 302085201 950657777 784296211 600595787 487300131 364961269 559092985 122162113 796407951 289861295 750359893 390544915 134307721 625906489 747681841 390128271 731198063 880932687 994491775 223395751 361880839 51589467 791371799 806704887 685914749 444455787 25969851 59921985 739744359 769228855 118934293 810961521 749722051 235829277 670798519 286239385 544468979 425178659 116223511 187250935 369076679 924804349 820505497 206151149 369152117 460926461 900204677 260612357 987201177 28509733 230486029 526271987 197431 845306653 820542025 872918419 880906941 249000497 834983227 300653799 972600321 789315419 791578061 923596315 326620993 460317243 413331663 200166275 22690593 497120533 270636541 39019161 889707439 303565787 929597171 176578305 395186527 642870051 723920447 171586437 705953295 687549229 751141457 798970137 78204931 722759903 358898817 740791257 277824235 816586953 853111313 68014087 727261915 641464867 524262187 787681041 85513551 45528523 937221087 317677191 128975917 519897929 799474473 194313509 741485251 249523661 373532645 319645647 798225607 853020461 905640929 208180367 160253267 138449127 434447053 119922073 473697263 393294629 667053377 860146251 438071689 357196725 674497983 753558051 715008371 172572941 243921841 142848463 12806763 871013199 517757543 127202341 630914969 912188225 500591643 970496795 857679751 541599057 990260973 322643159 383218989 240250007 646825961 275061411 118595815 851424213 799615487 265462261 697377145 321212525 745318149 272189285 402227987 276689267 538644161 418144697 275175497 599905435 612878299 117157083 1240343 455648069 769900771 573966045 90961379 88235899 915440979 545784059 612208763 378222311 693478541 158292633 406544659 194464741 41928919 791140931 200512329 97336947 183300199 999674027 623952675 924829495 168678993 611986859 668593677 241246851 731280795 561272649 616218589 706039625 502968877 444836015 653837775 597087277 857366999 702039855 617110923 641228405 578279763 630601543 311299611 846086417 258847553 904142231 629671159 421660567 605247277 87807469 504820985 304231237 465695877 194291771 611323755 319041029 909366181 481845149 687246069 39624037 437133005 651532629 895869103 330630043 310008613 746407373 677792023 642436745 870422465 895368093 606667537 395891893 350966425 185022077 560395499 875519053 835716493 490195023 521324889 9941545 739646311 834273313 122861177 185795273 242855643 618990885 7507665 965384021 32895869 32559031 832562251 418457 410153171 217405017 373593921 792533519 29905219 116445367 419943789 439241431 981631265 11226789 996478199 442123957 959602085 981670173 7988585 378736411 713137647 899130179 853772473 732646943 361938441 364392289 598924871 768283009 17083877 467455467 126107605 83215271 397124189 107832957 277213329 603035809 897700401 108352217 888766993 231831847 13312265 272918507 27458387 4174743 117109881 718890695 45862843 839901433 418818295 352396199 313624085 313669115 244665575 10685679 952302489 793795063 862125457 583487017 423290083 309869033 827520553 732464907 519142135 860469115 401628355 694749805 21926981 234498043 120628581 775761235 195123103 352531295 798610165 875588587 736270149 707234633 82148933 995843205 598899677 820731903 432851217 892774045 999299951 184967023 490857719 304097751 372848247 253839921 759791233 343368445 931956429 887378565 590277153 438500613 342378169 126045523 187204399 98317831 2690535 331328807 285182191 643377225 256935021 674207035 451356039 986002227 200465351 486065775 91762441 487531611 366911453 813135943 545331313 658004605 687718393 565204981 765020827 552740473 839123 602158415 162900311 908971613 590570629 695581651 800436303 138574937 980986265 948657579 571142691 822205901 168715255 176412839 735246671 426522679 235779321 655529273 52589375 494343751 691235671 143747461 935473475 419667661 418821691 793841745 220670359 666456007 126642225 907424269 167257689 195178325 358809133 894483917 692663443 635873989 591663245 792704085 690193205 657206665 591730199 270942985 360317469 13537851 158485751 669979895 215528711 676374945 5746627 395136987 91621535 351355813 455499895 71709967 468699509 458426459 577232761 495261855 156882691 876534011 484385943 335698487 708097707 591388909 186728967 364557359 503919285 5777593 611904355 70996615 481625937 283863827 621055667 965691367 76467101 73380309 200867685 966795931 28944533 625855237 178484043 74851229 583439909 642366415 884731299 467069325 918243357 16862081 854555157 284244911 954781495 670021275 823401389 548053237 573183507 492344255 907508191 633863413 460397117 333266103 677813129 72773869 256513829 491838327 685042671 773341895 497354531 500439323 360003521 47076881 354914425 446470373 211352593 571057923 399119953 822222145 895554911 827472763 352590267 61766851 41005201 459043329 400673969 89270053 158660079 97550533 719344403 547518027 478462005 260016795 424458669 910628159 262550907 10072581 96403245 755649333 40179785 576356395 112687407 923664009 14304395 264188891 445027635 322272703 20278935 619523211 128044963 929133183 966020139 705028445 906945743 460138143 392906089 80750615 216010737 119584025 629627361 522392103 634588713 642799377 457023881 497269157 430235523 357001425 232083901 439985233 503196653 733322959 570883137 845311121 787020867 744985763 643966021 935763063 339351877 556071441 158440795 22736055 774081691 305874439 57930883 494611889 565069273 616444309 857047329 299507821 440384375 127368439 58201091 801735067 217713109 659284625 850087005 977450129 427738175 221463023 142046413 235229263 191530467 223613635 861368409 677048443 582328541 860385255 988498795 810942565 655045421 7030881 40141533 637867011 979663803 738315353 112272619 276399351 404513115 969721895 421222967 934656391 541267909 112385857 371970257 71829923 508168857 482466125 293308719 577153503 632850017 943196439 555692331 589980285 215903121 987307409 753790733 887942757 3927421 615055573 274435203 991109669 120672107 722664233 698267039 314750707 470683009 343552503 931491295 713515441 546274771 421733585 447044907 241136099 666233177 185070197 320934607 812476091 683162867 457637827 118597759 149521 540796523 322914505 765886809 660829025 245420915 665279417 388216033 191870163 391895205 23138287 284256263 16306231 786041983 969379053 28361247 751289861 2174575 439966559 645681637 905729629 140600769 60361751 142223487 630343171 493254323 70066963 581076091 386303337 951442787 600928885 292059341 495715235 569600219 85011335 397480915 279153525 370351629 338587581 432035923 494431811 376990419 394161587 91805817 628067101 125372651 502607403 207432923 591993275 183147777 704715025 504487799 855950203 959026087 721208439 463114417 577233509 682109011 562459035 371662421 770860071 96030825 886003167 123869339 9005849 421237809 258607053 509242653 935864125 296417245 707739675 920756197 922067765 762588295 20081313 793454171 286106965 748460845 968252771 944943705 635318417 940790715 243859341 852773145 114812811 137931265 610685555 454444609 89896327 925639355 172012175 929720029 759244663 610255495 323425413 254421095 809894131 344268527 907518495 902770615 952930103 650903909 742277971 335894035 153669675 508158017 744479545 641527339 509037919 583409605 613899029 954954515 380551435 297099035 950815061 293422409 668402957 229736275 146012809 856272815 706148335 122755177 559199853 253867157 164636635 422479929 227159781 334960817 894626221 695948689 403737339 647428125 137625059 248369953 950424549 185444193 701866403 885696641 988255739 386493547 431107517 575749429 376946115 365894541 695191463 650198945 803662567 762427527 778664067 870255133 148928825 849880957 385223191 615589341 28818357 991864827 608737233 757635587 664837503 675084281 72928203 37041307 7657699 930102483 643404225 907124629 578549331 795227727 233473565 359539657 39540073 260649367 854593259 875065337 499064811 701301829 82545383 254502351 56665795 430480211 445104235 76036315 866796291 285682727 432950403 964486039 277548263 504137103 575670235 505224805 104194773 860107457 561581515 409507469 830017621 655454295 534658899 522129215 390296857 314486617 990597145 523761815 718408193 229927987 306097005 410601109 754150413 532726203 497967943 670735907 147718505 182097967 394947399 642357265 965355623 910595633 132235185 417477657 825192069 979392979 752080501 230597595 842252133 290996615 589161517 15225315 451290577 820221225 589466903 773909151 785601213 99292419 182498329 182057835 617705539 837767357 557131715 740123527 49839785 346878065 937918283 44251421 296915801 12522393 371883411 323073085 889367527 334739995 681175073 471027169 294930701 971476803 880077347 120838377 793344943 822827211 471093619 661500193 6256599 372902347 290362765 771188791 642190265 910060491 935141529 555390663 627944113 905260471 143820905 424569169 378841665 200656611 645177201 327871293 564630805 678914577 119306707 586224095 235305985 68665953 32647763 863162223 242576127 981407843 648103779 118672397 767672371 130870029 954956825 340367557 192370919 585049275 510483765 378089605 782288529 172329009 624932381 322708265 225441225 908605853 414155235 265885807 868795731 618424725 368291387 369166597 844201243 128266775 67968645 744795513 63799093 740449671 879742153 52877123 987598555 296729523 62399159 847264199 658230129 241483471 214199459 935312719 623695235 394205817 64148625 980281865 604126145 776258229 534804773 346223889 982153227 546703091 599349935 104682341 942710879 645939463 126599205 291196147 175190509 846098989 408707113 990722951 131616773 743943179 798732289 560954847 532757283 621750703 929928347 442512537 662119915 209736333 223568785 207626559 349635113 103924101 490645023 177946435 560692175 444976089 191858733 904052479 689895415 397888567 420909901 45132465 551706087 118528437 679670195 933497735 987358727 397075153 510738753 598841997 192061167 222661741 452654203 963988417 613273685 818366171 568494483 51833089 113768991 817231565 353924447 266016535 228184921 456456799 927157343 434434741 659576117 315044379 822490041 335037811 770759693 729777641 121935933 633451221 452940391 334193699 843101539 400645953 135525869 430798979 144131657 588217609 828939379 951242543 524284601 181863273 970175217 846947253 389084189 672478591 728215183 510938633 907336337 361930069 46650259 312572297 801288657 269674205 41137269 838386683 387529287 821272303 832488143 604342411 875006977 103886925 573133923 463380687 766037943 352613027 251109405 156152771 697140167 716985725 667462929 998757583 642207031 501904727 985503097 393570493 718684857 31148179 915807159 881984197 220492197 628525689 593281369 206614913 83927799 656656443 10154001 276276217 449562201 3685361 228633787 668440219 689969431 5539741 316623961 329648697 729336107 635554345 959869209 223576339 51876917 763743335 426366281 599009229 480722041 398168077 327445097 754556019 448907241 775133375 363252251 661724029 791855387 836832515 457421097 792223943 723223631 646883663 303343751 815509655 668110443 231868153 312322641 269167257 867008511 709563205 557984459 121051363 581865539 319997527 930946397 529905393 618765845 201815623 29390237 414940841 245721853 894236169 325220933 963252569 221553707 127756415 978302521 775405239 982806901 455295861 873067395 220537309 455486041 625264283 689858649 982829139 396704513 233001609 578549267 814120709 200911163 296305089 491814965 791755081 628163965 813108653 5117293 794251741 80546793 842509725 559758987 968740837 846903109 482812875 344854923 12338669 405965823 432342103 2610321 113179885 777264943 44073037 37540585 446092609 140631445 367600285 720286211 628541357 548078745 220975903 18242175 156112481 735748935 170075541 254458651 239837167 316022619 176166567 24799175 618026071 881983023 746490601 668137107 724258813 943450061 738030547 414458557 952256175 665419237 367464647 414681509 844976803 421336781 855424523 95751127 711710067 843331205 223180245 896878601 951962407 300585395 793389371 496780821 803688235 137846951 359365951 102516221 403392853 52726361 916254665 51795179 303064801 730731879 289150637 717251639 280000887 394645273 385673891 667167831 893591073 74289247 950073931 262651379 355434069 853326031 899284785 889133265 678424307 276023719 63812803 332175081 516050237 642815185 522148701 562428245 736994787 940985307 530519359 857707351 495572983 973979387 375150481 707668827 282554361 725188627 751411047 783683571 891737293 386005929 756706489 609700061 246212287 373796331 420242791 289634299 873320073 253006257 591855163 587974231 197803075 1805179 805957097 308208421 351528051 962519665 110790149 993554113 597210889 530390879 497057301 981717933 70564953 549262783 30498945 890157973 56649759 209070257 424255383 339084875 22223489 260721145 153968277 663819981 79265549 648980233 974933145 333664317 829469113 161866231 782010797 152024805 172518879 968707203 98546629 597364537 191437127 810264851 624103349 354895573 122475295 315636151 963102787 322673021 570167033 791839015 804248853 844189209 156093907 227984321 201656255 23011775 806568213 205596813 779032247 644891817 301298059 306047545 434597473 674646841 626020455 682920991 480346631 564813567 819186251 570995003 617936087 171332009 348076603 536555319 536111339 667409941 836873889 777895777 704869447 902548295 778746455 381741487 544933329 319370599 176364951 662410691 853814875 833623243 700483335 940900323 477953953 503415533 642087605 138322941 854315329 753986417 383331093 479214761 404103621 599768867 498807303 42739751 503553439 688893171 952694219 776202591 759624231 653886209 567708181 49898205 232744097 978192267 100453621 998408667 763009331 960693249 830786537 936442169 668289519 400957939 736543961 308663931 196572625 184405533 170530063 102639315 49689527 510375267 859845185 806700567 667050859 776135121 848828815 890905541 393411743 858072985 715821691 567817223 503186923 138550293 753655797 394335917 52341713 993543883 882512719 193276457 687122363 855001189 476968265 180005023 476201211 728403381 903078151 641955029 189665735 587072695 517827863 287647547 192032323 281415569 689525357 610384613 994799479 298051465 703078759 498029719 709130835 133925399 487539915 435024307 122888885 802158037 232286403 634073933 957461081 448735109 294420969 810128667 918105579 550791443 96726071 976763513 282199035 393670289 909021205 511073139 823050755 206057277 273635149 907465141 170342757 588637303 750951445 186304407 975380585 897763533 576649229 893959961 892406593 8379633 604736311 738277091 456541957 141408959 987526401 489854785 190836407 11089465 261374785 700683053 423754305 17761931 74694453 26784071 851361651 54040329 532679297 635440339 642921735 410798123 520782897 411578563 558281631 488349849 194756541 751003309 543032001 283296283 864230913 642070479 190476259 719189669 394130499 965180435 968063835 756734291 557235501 331081479 186322283 447489383 451922905 551994595 314567485 705775437 798307521 725733765 26738657 63431065 357344971 489092981 890515281 195219461 602325573 619197153 286798189 796851317 903103971 390944419 37743873 445070835 912805317 268098359 280677563 451176885 678312557 790618055 539922999 608184339 852974025 183910177 170724085 132502417 591331887 885577403 227499359 621011931 525014875 406315959 148433349 588666565 311093109 840783321 899284833 408898377 344729607 798142101 18157907 282499211 76931849 652186109 281992615 862217943 922618325 466046931 967310411 503446685 198315573 590359677 127003675 905201531 504314705 230748685 985548759 601696565 880392899 592234295 842265897 199038131 594172805 776763483 641391519 468789003 160149757 602605185 659542967 246429305 52990967 618093145 291899345 570345309 185948587 640426297 199207731 787219267 160577717 589399583 835434769 270710753 191069211 968493237 832586629 401671695 570156105 128998475 429400207 739192019 39427093 910090451 584783639 189927511 401826747 574465009 113909745 438895853 369262563 58558955 927312597 867568657 368060055 411472049 827446627 852725609 254265933 871000279 529529383 695354811 568653029 555411615 369848207 450554879 671266977 813652209 218426101 416477263 812506415 541566555 339165085 522008811 715041957 704238611 284181423 680185667 744269953 481688315 864083769 79829737 887643303 50940055 656414521 317752981 659974243 565993497 280201869 796020527 701940589 799191385 819176703 488003775 868819169 716263379 316310081 386624887 338432069 462809519 581688045 168599735 999856773 144070845 161366403 588445183 895038197 708994933 915403115 367734779 873279061 21453303 649591799 293300095 435354057 152551687 489032547 7538307 104315871 424572181 403452365 830016303 291957133 267075899 395640383 41508043 150368045 843805239 470019499 93012683 948275591 770442607 285228011 545501131 767887047 295170035 565157053 849870477 585413507 981388155 165841101 895375613 768257465 313587045 915744941 110867759 232010187 191743415 719608787 253178973 327516555 150316581 5420451 135118315 227841321 728322305 277485157 781374563 346640967 971471951 980487243 739034745 702130407 712518833 235486831 432201225 764058233 885875323 573481935 910247701 195143375 181692065 499400791 616290507 802493737 977509317 151305177 497791609 732395819 744311083 441620747 666576031 529742307 623423429 380530833 721717215 162133189 32799019 640060915 389919749 330934447 768004759 197253283 214463745 486641895 802461175 132315385 956001777 639985689 988792021 45291319 187407897 53516635 167619947 692120711 514427361 394357033 370655639 470248955 13157343 334078571 808278499 832051081 185487309 184424811 728287353 398127893 106752911 707078367 690537525 413768551 512139313 303741671 417642389 713549103 851415779 711543813 758398399 395212297 956269061 433140263 404932483 656072567 435352085 544519077 586393687 115270111 281539267 773858871 622042973 76039059 515195359 116037639 915858011 590738381 434237029 919787169 699624639 631244207 584113019 330396665 267362979 130597695 663422823 268597613 67033027 736559731 872977569 553248961 308107913 15133729 531656897 621599013 887829249 751852299 472297869 303594541 14570983 564430043 779301359 405777621 808315285 983206177 919051001 671920771 299638039 384515159 231155945 136147461 978429209 765892319 590547487 544511631 720272627 413938689 712139817 398232257 955822501 966279917 743304889 199677853 586905813 460530111 257717417 604275089 926569427 18191479 22668543 312864627 543201943 598943231 754486757 42768767 879742655 741943079 231714735 492833885 572502677 863555497 693219285 909420055 731940355 750921509 996268031 114743077 730688933 522621479 591534837 172652899 279656889 797957407 544834475 934181141 230025509 267946339 722960957 435981291 420024439 645724217 899506925 238595063 49323755 521625545 681022759 50847929 284608861 98196003 142860927 719257621 914907477 887367233 321371053 209516889 835240961 517958915 150288281 908999225 9711931 700909621 480702027 663956947 743773823 452233605 262105079 471633837 722306037 199342991 159544825 268496051 153485679 327877843 170938837 813851195 317712225 190658745 76264499 141926657 63916525 222953109 867858407 230375981 315494871 622480031 154250991 390770761 402388369 419589367 22167405 873647693 864581169 494468265 914495149 4026515 164795511 594564771 96591903 371082723 213060041 51729601 547292257 884669547 8601913 226341571 285347381 838201533 282250363 996289361 751878537 18982617 169375983 216567551 307455597 971751715 87094941 976658243 445578781 551929191 850240309 577507715 696579581 245071325 151102219 489335299 427907223 639215137 405146659 177039607 429953185 203134521 101096225 425508729 284432371 110250897 761476693 469230215 300213907 161470973 252233909 394323471 209682345 70318781 367078115 940918237 252654731 851848055 257083941 506443951 497306549 489095477 997544809 6149411 364427207 614142829 639151177 658015427 834686605 810092799 944721409 258757889 399186941 850786091 41506937 743217207 252455215 787298469 184151875 127716005 382093673 689469565 698485395 912951667 6119701 11721009 851956811 654513075 813757125 698802601 634155759 742915937 735905333 551028271 757864625 686344795 9329995 649036667 28365927 727549803 730124045 264399785 134988433 186298179 162376371 918171965 552666197 406847357 917118103 994974759 899944579 1628055 927890235 440048315 31317651 255090173 933854283 882328757 76146595 791310081 545671577 657392699 390600059 838023129 736549923 364011737 951231371 520243625 737388297 469465737 822244841 725680249 321326745 526796451 280139347 33269819 180385605 582165231 530724147 357319 741875881 726483097 888083607 267359201 186573447 500626231 269156151 146424879 456773067 77544389 301067631 400888387 136394631 277476777 314968139 999684759 388896249 459971507 325794935 204899213 733032323 118208787 212170573 651417709 10458543 531363947 41824201 443017833 674524721 58364605 776151955 83354009 599536613 157176951 577042429 625329153 898973133 191812721 993359099 527243399 605031445 954152165 105208879 942332413 211744529 829619319 396476381 550314525 542214203 596417337 939211255 37449865 130518325 597584285 424838931 659342793 733608143 142638465 893297 516516941 698250231 165259563 999642103 13664115 565631179 370585671 87966005 944878711 608847757 304219881 217797219 909960581 466408873 82260625 878973535 556584109 395630259 423658277 569077937 520701673 619507045 37758447 440614025 689286939 838110371 969189029 842504123 957357833 703697529 399134823 810848203 215772265 53097239 538932919 719554781 634337745 420447195 158331523 971278017 723269571 852561481 973761825 474453997 592038825 332638473 102593359 578608771 822050515 803248881 243876911 934002505 277381499 513928701 785755219 600858285 889493955 430664781 540115117 943354823 446241969 101288749 561050521 790596951 512035643 363392531 798323681 555253957 792833335 233290647 66729901 37916957 179807847 781689471 50134423 732094491 923135347 760496307 836838809 334642969 612990703 491219019 328921113 593318945 538632275 293281405 327252197 368195811 450299137 54265007 564673585 571502517 536062783 327861101 605073819 277087895 998314307 570070889 748766505 965772847 398922787 671712893 895094855 715116749 376193761 871214255 48317131 101038953 557186405 669929257 184104947 953643681 567687555 422333757 315565409 594077117 400748019 724644201 808277541 993591213 790846293 316680781 478813109 464279557 921298741 582138807 584511725 129461257 657647873 394365337 687072529 923976605 564824341 948523277 582671055 281683025 409173937 314060121 218804543 985040475 740642813 162010343 713637083 566706077 687399693 374848587 848616071 141809819 912956633 350659391 921594005 319606153 721288001 493614501 912492983 575567161 842580241 508370571 50908171 889763373 616322295 194374435 507427351 684466573 341645967 230432201 87765959 299088933 271456087 487042815 719028591 23167343 654045117 808986225 121081041 603653771 483071501 245884403 667577869 763707709 577022853 522755199 447449267 774935287 747523395 790061879 424545465 393985487 970265939 761494121 794998649 537495427 951310755 338374281 293020347 496906879 821241613 92770607 483789739 98035917 465589845 835922463 284687839 211554599 500188961 742479941 398197845 977234923 194345733 843223733 801423985 722191393 688957559 788968873 954345215 872398455 995996635 544433029 374343479 751602247 354647163 471646675 340630965 442107021 634519941 947793993 844058493 685465331 321883923 890743743 48382719 562375367 212569385 602562873 970016015 857336831 45770413 32142053 781420009 291419197 556334195 467111697 69228083 927689159 808494641 25698111 849269755 855788683 395805067 220552973 806406069 725144865 901584137 265471303 562202943 916587465 430609181 795072227 539643103 161182569 49041697 45444601 380543553 622581907 316998739 979344591 167686523 388863099 329611999 26025165 283429899 884001281 491073239 732178313 534369235 285044399 513878321 206350783 66415651 374720945 246771921 503328847 402519217 936114909 611033471 607110469 660951193 148871095 248289517 434722519 834770271 181725795 722131379 840236125 288799219 710062769 525437523 156011357 32757159 680531225 54564919 16670849 236788539 503090105 599796401 649683099 224197075 22383961 338644983 323101097 120424955 203782761 108980781 458569163 977364139 338408445 723072091 637517903 830590529 605685465 280389491 970409639 452707197 114155103 205168461 249384813 468141713 570318243 772392875 573499239 919552529 441774171 966122807 713151615 760123897 693500387 317794945 538928327 24428209 60388423 307377411 14834045 363954179 947509043 672459807 59804675 769288229 751639295 678026781 30071521 116111031 505689515 837522223 137813201 321296827 842738655 974738029 78230951 8258719 481029607 618231001 213029739 596500793 442478269 472394845 586583367 709699783 820042497 906246857 600022159 368685293 829904375 381968087 39672253 839961271 677304977 856711465 677719923 555106717 526129763 370064709 347517311 68254331 741841073 562579105 589336021 426684053 995124063 678343571 354643341 911689371 500273149 442716765 616730091 713142177 383450307 684069417 662741851 934721571 894992783 194886663 215156337 384177927 399855337 667761137 232532711 408490651 658396415 377897927 157744799 303624595 387770539 709307989 766802089 649625101 554605161 797979211 519587891 269026959 37729635 172111169 343547291 981994245 746098279 46844089 709421411 504596933 839187179 166054683 547000633 241842829 202481169 396977851 261047021 570078591 768184221 880903889 178611067 702626861 316365057 662476413 108528647 688453255 534165077 743756747 156732123 53973487 364830549 171064491 868753517 804826663 381060713 123440115 28757589 468440671 306978721 755997289 429374551 229335081 420029367 683981237 726429025 767075461 413397253 360576871 430413443 801610967 377854101 21793783 268579833 262192109 933972759 720783307 549265447 121471739 56486369 292818983 634987161 379097759 716318193 488019009 456670463 734819807 237992177 473835565 815082553 519119143 57985583 337218033 916749125 213181773 35505059 737696885 666145363 942421645 162463467 661903495 515179955 62652813 567458895 664686053 804113635 330031707 338411453 181524525 20424067 766087021 656569295 459098091 891925601 346710685 69533889 92080525 190097007 794883637 56922493 652581999 262328775 472802781 273877649 677238223 197689007 656213933 464423731 388222427 500392081 198283555 491866181 449552031 475782911 147325475 48060235 30930201 664110263 7687161 245301623 68605479 288312985 420952157 71779999 480068499 529452723 416420971 672761411 436885265 732497719 814970279 600863883 512906037 536120705 522059009 475400515 78798981 111551763 938862541 459439333 530924135 698622617 37661895 57427343 765932591 677058277 859901717 452326923 17368083 996250613 168286021 19132099 780507191 486823913 673931851 958152403 652941219 155867663 713820295 888510201 82815817 884267995 169680059 930479771 302515971 281723363 75637013 108654281 406875791 606026991 176637483 807662395 991829659 758701803 339663353 404416845 711169459 825881061 52032743 773095179 571181907 236932893 946077887 496964643 349484253 413169141 303452601 876840681 13382811 303503095 355347313 241525087 623171769 70525143 354827755 742609965 878162519 225492337 111817367 85881249 636281969 542623433 77000519 234265777 240991987 520166919 95936315 152635903 357489583 407123073 168569367 572970703 186484571 191809713 906283241 576804371 22925979 197182267 324901669 787391329 792188663 263249897 977472425 166422521 258401761 742421167 892383163 394246595 671040433 494763 671579655 503110219 547777193 601922843 336196515 862886347 629510643 707684973 10651915 311393313 108053153 342894389 555923749 370436565 419872937 513989423 134839871 873485591 279420399 29096507 440178959 594004157 424501563 22397797 639445937 27348807 522203965 346414563 914837161 491456475 658215315 394246157 909453285 349650249 555843513 980613225 731460539 851719 441545755 297653407 188738025 605294135 826475273 375161477 309502099 561132191 508760509 318155543 341974341 165449645 90428249 899373429 685193719 729182587 882968037 351331821 843888645 143126981 438780241 611991279 508559157 430989045 297899129 555158043 18726067 988626199 74294303 456410929 701618195 408549607 552567783 248439067 885603413 220369599 252896103 248645873 647456479 654218155 474739991 295129833 336674939 491709527 478079833 273141611 739598431 549364251 381445493 977594365 340123945 117564407 85017755 302790743 720279007 890669969 111899879 824184147 481477869 692628537 673662553 183622643 758979883 603173863 332515803 15834723 216459985 536918585 923507261 191971061 103680137 892043639 412303673 587201319 242967645 457922449 327619697 533551769 133206725 709463325 466799211 565015065 372839325 845285977 339803037 985807513 189654825 392984623 130378589 176602165 674989337 187513645 689056493 829482799 929235839 171508363 780390005 797917427 774379483 108846375 737252361 849276693 888621585 198188169 382210721 94608975 405542767 293303263 361294109 55117699 697319849 136385281 349933385 148095169 745740765 801990513 836068051 711102007 447441297 312216401 895527511 965056323 99799985 337796725 614656597 289262439 562252691 210127697 9544759 347865935 719555059 85856775 945881419 473929679 462219257 306610523 670968783 578054369 903391791 658027967 142715361 436188841 989290379 885937225 659825293 799600753 492330093 80410041 629651137 109727149 895745431 808931701 23818841 143193337 297653559 208084111 672407317 742153497 722879461 820175547 183985565 856068085 778184601 890292057 930646661 507312547 216177341 269498993 294336835 216468829 106858781 738423729 694023485 13369991 243405037 16926579 556410551 624755629 397826507 309664693 281235941 625097087 505097147 398701341 571546593 636028891 178972205 871095803 678956971 197671621 143336693 977831749 810855211 508641127 282643279 341964189 559007797 184725267 453953249 265845833 484877695 389838917 572103865 425273911 935304109 492008865 679731277 334479615 421352521 441772275 579565687 71161315 856599233 571749931 598885503 795320005 156883823 644924009 430433041 466972473 920748183 19732715 81327427 267086707 618603871 725377569 989259667 264466773 516349147 204551835 287279333 301217123 967389953 496408599 945842565 278227919 63754165 924020853 160651819 36956527 701567423 463620803 380710131 69232835 636761041 584862259 488939105 408112369 886120325 227946783 814090853 22461129 502438489 184732685 94682449 153361347 396882617 739353767 96512741 49310461 190242039 981336255 802932037 594211391 66521161 485107539 281037823 886100729 323599315 276886403 9192711 778957121 21222301 966509469 818980795 945939157 668115865 898044947 546510817 658482719 52716703 685301889 32334501 471058221 243079027 24657065 187794333 303203509 687931835 805636983 227614151 822043417 921708809 206495231 399445125 185851231 611298265 924037753 853035687 229297717 954105991 99051853 351008611 827717365 613956705 846898691 800054611 462869659 195072151 717542479 651963777 695366863 587199297 888407821 559704661 649939171 413512291 395669823 26454183 409565899 766292707 519684369 934085813 797278761 960900499 822996183 16256291 850586433 781531181 492850699 453281791 139530245 252072531 441752657 776942525 156241163 957650573 97174643 468654651 654594195 198133069 935082341 844527549 990179715 514854891 575835459 265603571 912161387 270687145 971106385 496476401 779975299 586267313 687399927 450271283 286034089 536366355 103701963 757856159 669534309 785159625 998781575 55713923 84356327 646370741 214652175 466865301 209832451 861970591 540407149 929654511 930012477 86858295 743433687 91671321 995914937 443902233 813165477 87331841 812057159 309675973 108450907 224934137 994879069 745679781 1146535 48057535 757297949 522408457 127379801 323892347 243981645 743820587 931403885 970660535 287358811 951469357 905820167 854360683 209222239 586393365 949297523 279481331 459013913 576594905 421559329 558920723 379341553 376012623 627577009 853755643 679160051 914594105 854893537 851348287 842615001 2182721 723021217 179476186 907746819 308281079 706415617 893640757 91768437 998406357 969182269 693227803 829009889 44847931 78076859 347411905 485947037 117896821 271454977 339270597 390431401 434778801 367152327 118908717 120295083 543056651 609297639 194564965 42388211 479836803 194247009 679703107 469163641 626882817 339778917 691607299 232793051 914774617 472958531 645600589 875852897 776486211 122036345 533540907 819301627 175985249 419471015 654436629 378423101 808389945 695004827 383770341 618640491 345615167 233726535 452486373 235279977 707256013 805627079 288625597 722490053 763637795 330901853 785716357 863888827 300586603 313272437 229502907 297259303 593167539 727069345 31830083 522297231 776262393 359635871 237060203 100595495 296972571 678040911 815622887 324190913 690680805 595466943 655462869 655599839 645216773 71607075 615900601 915037351 567663895 250971857 361046659 360781547 877638809 45196881 252764295 236473631 206216441 839042895 812954497 54254693 254234245 261655449 898639257 631714433 477266037 682549295 106228313 846268645 240721901 255799859 278566839 717712807 417517815 723993583 722567443 752401541 68792705 186622935 282610223 149618667 823208037 471891847 110958137 6010339 131853927 661937857 967615175 626177829 408311597 746502771 296656087 17320469 773736011 282921899 869379531 892840373 680011321 951496361 788605045 795371189 250762071 779858895 599109127 981529199 959271663 399507113 715651359 594455007 414371379 610709735 542785217 476976303 996149051 438363495 569554781 627142701 3150859 223773485 355910597 26602063 1796489 724831329 27424825 420525239 192470665 872555353 6869343 96852905 648872641 568632207 77940031 531585305 650852821 436977319 446444629 855209881 599328845 478792045 124049529 651995499 559349403 708430545 930876915 213034869 994679833 827466993 936701039 740278857 138996229 936056849 139622403 905454363 443280011 885394841 565573675 88111819 684887997 270038817 174208207 879668963 903023249 816281439 115385657 978204813 962590187 847184185 306084129 846449573 154543507 81327803 30350241 314572201 896143675 521936405 927756355 465742015 228957563 884271271 390773231 106447031 379276503 956382193 180100607 529384457 900781237 136497821 431622955 394522323 414464103 734625155 258785437 406651357 236682791 148357785 828706017 356519831 268621847 34690565 592530667 507968789 739196735 966433555 371107097 534130457 157707921 33699125 69624881 54490379 582530533 756936455 244951647 735445497 476507389 315789131 367197753 814249881 102660739 766891499 728256955 957188429 334498055 796638463 382463819 726816027 880957445 269663165 642084023 498801841 976539353 895345549 83768373 21164135 765528017 878161655 398508383 386402877 302414109 11028143 465215549 949296859 197870549 825791121 924881469 78942349 299649275 678173343 312573745 208871501 349583481 560202757 175358551 284132537 645471263 20031509 924630871 452751643 785297063 285714765 558604605 380672605 453228211 344405071 284335997 612827163 958979019 772699365 90832115 545285523 120535903 493861635 410285289 875675307 768374219 160177093 17398281 35555571 985470287 863475821 936321383 634790563 881082133 118120295 42615171 235323801 71299629 284700487 215637827 119614045 458760849 503646151 757357295 842029341 730633251 915655371 267755843 67379379 48075689 234677597 446296663 325709723 268873177 644421297 551990451 682400511 363059273 587204387 757670467 534704557 28769915 184977719 103918941 853279515 309635799 193856661 146276797 225300587 30144433 417374995 786147211 723453281 118919745 82477995 756372561 628007791 367292329 578682241 691919367 473203373 468135407 693409505 711521289 994986711 197809929 915316283 352748571 275105877 320550859 786732333 55949165 400097591 146306299 633839483 20936081 161965109 657621057 307020813 299393927 289524143 401183021 194647545 261529267 768671401 297787961 831006587 261008867 52667861 176077253 267466483 579138635 446554761 772751131 449334765 165895305 996786627 824075119 141444639 516710819 304621869 162381525 833454689 47975427 526530581 457398099 716839353 899225219 551843955 208368593 467831889 850308447 267687397 111510303 294438011 512680761 178138291 567722229 911414195 356127777 508148939 585283831 538872221 743722637 677823175 7886255 629935877 20426327 505617123 860953483 747261149 362358215 250316809 305870311 808625471 239221899 399586503 786268673 338413681 972575413 886273619 545239559 387951581 471541699 263296399 547070983 817542421 819781533 540719615 186517241 856190679 763308431 908435157 695985089 950611971 432210765 374477287 982653481 476504743 112618485 956313781 138220511 518104309 578586379 359719783 638772605 193288265 877556095 103728073 302689671 410324517 362973859 115227733 603639651 889261365 249056057 124340009 477323877 711540299 771828833 120808719 66438851 250655589 325596331 639589489 732612257 989982373 517740299 117975147 383087369 800502613 143970783 140251579 732283113 768300265 978128365 11146695 712752667 372435453 684404065 34804127 826450531 635171155 57095889 986982137 228614759 752831191 611848251 573259063 86234809 709321373 621426179 614448735 927026389 1164255 3508213 982430753 581788697 430740991 593759817 235293905 662983887 539686797 694542489 875540593 749519657 810878263 154223343 921796009 547878975 503693019 318679219 784625351 215830291 122970235 539357631 190067393 486300049 876412227 888515917 127807545 507963781 694866055 684761347 511690355 833859499 596401345 426945517 843734625 52765861 513126549 696841093 727255449 177873915 824606157 3071651 82149211 522698015 127799903 351531149 112359823 974065257 974165347 390594547 994175937 542174237 305447453 462894569 445781547 132024673 665138427 880125165 210820779 168507207 322085005 666269153 431485385 552317897 146628751 165697301 337691573 223450313 749965029 190397247 721396549 157203215 224078491 798658681 832926455 364189517 939090657 115888459 795432437 687737627 399900183 171738019 208950541 889669115 845191355 459470803 491361719 763867223 518631549 395688859 851156241 447914623 78988077 926941981 172507875 618155949 624778183 790835179 787355291 934935811 418226543 448330743 37543507 895545481 344381041 83010207 149439943 687071791 1280319 623490471 728211295 862635731 730794867 210869823 273011501 868569905 46138067 121106939 100194277 577308915 182538825 293226455 404484585 554625967 258462439 821043001 640107581 646960601 115694315 860793071 197646739 765741523 362118837 197018671 731060547 256590057 551070675 310697875 290106951 303975499 138257911 780763683 952049741 415587857 611037691 193740875 353031839 206754365 824215269 850040545 736261431 231353271 933139167 538012195 602805683 849038163 951026237 823711411 697060955 767476937 86466167 206933155 525275423 574545851 777217845 501459555 729839765 194854575 279851327 551341525 258596603 57668635 239782281 393879357 594387259 699539797 344196143 298567749 370629091 360591263 299821427 40424199 125122091 522726177 530865857 291836669 944740081 304764399 815536555 127997965 839240125 942229249 186440943 240200067 672037309 307493177 933995375 505273625 937358025 67753053 729155381 851862503 591517283 393514017 52659317 537986421 679717549 216784671 52700811 776565935 20383099 468358615 476783353 819832041 716438849 719300531 374786669 1381093 47543841 802961923 262975413 460933571 306686175 757572351 778765009 422581267 534815725 458699981 488619491 96275147 798251617 868985457 680492597 336289351 675786491 647152863 356996413 98513739 730561313 872687601 894218131 466205701 789979107 300649319 693242875 58001163 796691705 449429481 76187235 98501723 615284163 715333643 565807835 932736601 720114245 687073093 36871327 627100883 429145647 138771191 609635091 69475837 643619803 350460779 160018113 68454773 8761159 928498899 109318239 957521215 438616345 171283529 320550341 764497099 297025439 542514381 72543479 659996141 751634901 981144135 472345891 647525345 351550039 537106059 873949081 591671885 161860717 409118799 109369557 938892351 727911173 385563191 38367099 471195435 133969847 694990797 289007447 93674481 752716227 369370751 889068635 607304659 355221265 285232807 742350241 502222207 441751343 105732233 534812783 345992203 346829395 82248011 639421229 486612469 887576669 988550145 132203123 902356511 621355991 303507617 325874679 353842395 517231341 640640271 904064417 179043035 786515063 317638675 368427639 598805051 365876469 885743711 311086513 177078661 163603341 854291341 911538089 663048353 552792335 980685595 346377951 641940969 872607987 661378421 808585475 923254551 315016791 282195693 665963495 123762257 696132355 816371385 400173699 360630565 393938535 522555389 684887039 350581639 467208857 29818561 204867747 555907797 187021143 667628791 980701923 933876949 717917451 333664121 43396185 520857267 389257667 167804165 682118859 930488325 524023861 155658055 887506211 867837383 33611971 760059855 400263285 964377953 679683699 996817177 587852539 968985501 220880371 821825923 874194199 511903667 348309149 699938903 547935831 22124605 608248685 569535685 388579951 191743555 556853259 222741739 998915637 627331123 726707145 397774021 513533619 153317087 754923675 703564095 995653135 707769479 654865443 951753513 14322333 170207183 859320485 265003069 758682587 363139779 124468243 613751837 500452715 294618587 840603907 198468945 276371479 310898931 947017141 161047627 785363669 851797073 452155663 264598115 829006781 629594529 749083041 398617819 943020819 79323385 798601379 102313437 827886147 760732629 539064051 615750009 541423841 882569755 154800153 383833257 334327207 347064089 501263685 536040015 534090105 765787781 650391627 637353523 763140195 405443449 529417903 368568837 524860053 751613309 551330453 883834977 704674157 978515325 286998989 289304519 20529775 108149967 951343309 729447329 347655747 330804785 598647735 351274815 852186559 384880327 948877135 280373467 101293277 170878749 414429193 378852503 206445505 905477163 842487031 634766715 893727159 887714381 334145243 204437623 130602545 364070471 398607645 425243495 902305737 896089673 736341705 71000587 218548037 9918181 444133273 451127565 301221517 518436379 165731053 532007677 985968567 167876175 22406857 388447573 768698367 535896399 800384735 32818549 487150789 35220817 116234629 215876521 521609879 193098223 133009595 168201759 88266277 508595505 374120743 612737011 643469647 414242435 907582745 9516581 218625557 665496507 545090441 455117471 982267811 280473109 415533333 962274095 533836107 251267383 405984005 186517139 519125385 847049265 66216009 440946539 684141315 896671347 240303221 946818365 644445569 868111071 446443725 165876607 600694007 379621559 778134837 688596613 939498111 628760747 435786043 635152533 646684511 957750221 461300507 496840919 74847233 987073181 475259569 263876697 497524473 184812543 156265603 12720921 648617471 73326655 214990531 484258549 889136379 879993365 25313353 565212345 249408245 685267359 54917521 623784723 443576097 6549853 188885443 861240735 503586779 534124353 958644657 759380957 958959525 384393119 502743759 582620213 287216171 332874291 863480893 414795003 326493505 511561507 486007237 402684261 557724127 338852349 63226579 304603801 179634989 911481527 762531711 425673371 602967923 391297707 472076167 534343519 399014695 54136225 646222677 345054655 573403103 643202759 376745209 688587385 506032485 135131567 871421733 6627131 745548959 513971543 592102973 839543185 574156451 260336935 142371143 283610617 489137579 379281899 447549683 271633617 702532635 402668757 234775191 478016355 922383741 483367559 68065073 341833953 948172165 819047941 970286187 266427237 43106065 160735673 670628243 275130093 592616735 555660413 717718687 353807973 519319517 698005643 337273649 313633439 94603679 114628745 764146061 412394321 711545823 946985605 701596581 933826079 726373953 98780403 244596241 784181651 336758161 314908083 691523853 838445081 670809281 894682885 384453505 586976017 416734699 869377693 144215039 991262647 428000083 517380745 78384059 37278263 72255079 914592333 367507349 254003875 111909559 420582345 161526551 760744433 295545599 408151119 851508587 126166277 977141285 666866063 914397293 116500903 509441071 361466027 343681947 987665289 473641301 575666469 224766747 117150531 679905519 446009325 778462909 686732633 676347523 468317781 843403001 861056305 150468795 590800669 306652653 576167453 893198953 3067241 865252449 401639511 737686923 734888391 925016771 490904577 137962049 504202539 377647661 854561827 947659225 910444019 591244635 754049455 859096003 211134181 513791927 469583485 334541471 872326187 334974031 835660879 839185197 773599839 23591129 946435023 280727897 813371259 981563575 732468111 129490741 561755111 103002095 925464837 117212671 893224301 784184367 775381907 805845271 356551747 817788367 622637957 516466443 932835337 476710095 863345419 608037005 962054337 846902229 213399357 667697017 329921497 2224435 804508957 843979729 187604775 396890589 675542165 89739969 755740649 865379955 60635509 89357725 541415363 140311103 586789495 218772191 145856961 216346155 273222205 251711273 746624347 536025043 926231119 966518857 493678957 865865333 372826141 54546993 792646973 918822903 617570307 278580221 528647541 597701609 496086081 36757745 542126895 907632259 637913089 174209909 509105893 825782691 861205075 399559709 295671677 507362769 758780209 79912615 179828037 557742907 211648637 646488309 562211569 136075963 363485437 719159825 446937761 986314445 194307431 730374449 77963479 729601691 844388689 256999597 646887297 202970355 569314877 460923145 982301941 890715979 553850005 997123059 207837423 896999109 545115303 997745977 96228247 917791013 742215601 124955613 319786103 352419805 802811603 671399165 505737095 758009093 176138771 703957221 502165537 343820889 430383975 720169993 215366159 569420865 663584165 919494151 735231097 847291085 823803279 100273821 181443833 482923189 360812749 429077179 623434889 538426969 243822835 813672305 498471055 98343101 608877177 230120699 975346135 535669395 671156159 474697661 190983065 902901041 822800401 215203651 829894257 871858581 30001821 993509181 423140197 518028649 776576383 838924427 797453537 163773947 448849077 726665259 965946811 406905667 877343021 255588429 559300143 67102431 714653109 291637057 431147237 796286231 579409925 597966981 193890279 405353945 933988803 321119161 871927211 668799423 642606963 466805163 121388561 587631877 44241289 893570891 321847131 495828629 117514079 490224313 846502199 258891515 737624117 933919285 284862907 739223923 628245555 166765355 391353445 85030103 221162861 902992173 190177561 298420915 229464281 815603959 538193699 322980403 229942619 218117487 823004731 784489775 376047805 409617565 661337981 292397351 10754733 806922933 449400943 474988099 10596293 438773009 973424125 523513935 476884105 56902967 311146875 788964805 349731423 465572305 207622057 785121475 499980955 956902323 457807787 219454481 735001971 385345239 129743887 106251295 780230411 237477727 193587659 415191555 918111853 578021529 487027513 128067709 471646343 271373815 117806881 629943539 491312435 288645653 203284399 389717109 220961333 681780149 192200569 214355129 384332851 506732739 466348157 914232609 279307199 253561171 159966493 769729971 168816213 282475679 695072555 410452509 874489683 778802187 880539863 225563833 440210691 555320353 352575939 464315267 576055703 589406101 34916849 860045605 41647655 858934851 986208465 350925805 950834615 568102957 420478005 137600721 855546925 836146305 865330013 700050547 405421403 325216911 432964077 426995223 647308795 420515027 390041843 169205935 574422703 372603889 333607395 967255505 643769087 841403315 388550043 747749565 208173149 762184205 841481057 858724187 1701153 752061979 391063521 242379063 889854863 718871841 845239345 287726219 393249997 189600647 680342733 217283893 874914285 778739171 408547997 329774013 476379881 564823537 747647467 688421459 438524835 845263761 595792237 178125 981564131 347382223 455180099 230239913 551546715 423562209 284561391 555680273 146110627 131196447 917075295 156719315 750624317 520772879 653291499 661046887 157710995 260399705 415446347 781854187 617408501 447153619 404772777 380288807 287041949 469140601 139553937 544429449 825935021 359232875 250335223 591733033 60171565 344595191 960755001 534557129 495495439 297748877 681393179 248428491 244526379 678431437 717635533 78170947 681502275 545764981 967664099 685096677 236280833 240695669 60953433 65802003 267467253 991643871 921050517 281106129 261762713 689774315 44472165 109086417 651290189 478573567 779889661 366668905 932720221 767323559 627915773 204952217 349159417 328247701 977081447 769990921 79114553 821432485 962689449 126854405 235086367 360817625 693670041 660066951 586065299 756936029 612069747 254369581 701168745 604744067 655176927 303309119 572577881 120155081 10138343 478920877 787991813 160959951 23873027 945846285 883052277 362753123 710065679 132980125 19842201 488347767 914114383 706030663 274391373 540982823 281576307 1045145 183050833 180642229 312513677 620235723 271833551 122872461 610397725 790892731 224992725 839524419 219983879 616603887 793328481 398859665 333882265 559160219 825185619 401990489 19121287 379257489 313550193 603826601 566631407 727251795 74748785 410507445 333193559 868944393 274675175 250831315 855169451 175060609 473464665 314678925 789728833 658801969 766304047 554293129 157882837 760179769 321502905 615282589 872929679 676665443 510730287 620134083 441584121 322488859 777426871 427258655 214993931 330423929 753467989 809966075 822233631 959318589 470098687 475243211 262294269 14552269 343513993 441318955 59674323 259291449 167372217 883092703 689361459 897768761 941019189 340691151 382114589 388144173 611049873 326014481 700056565 193380377 545578821 693715935 717985927 384480941 125195953 67305373 684929803 282232387 486435871 457940439 510794525 93232857 164521923 700835645 905071811 139333907 492048561 860838317 528642409 937766213 518740975 371326763 250226403 671184997 405795171 952430303 960641649 371843857 917140705 284522527 15968697 410626193 423113503 145735527 67642821 650448339 991868611 467321687 712453643 801785455 95386449 963937723 923171689 802847653 535748157 853306505 853438757 24161629 798127071 640940763 366502893 769261349 304806523 16486385 553429715 207592755 197985079 661642811 61728341 450529127 276343591 134272585 398046555 223369803 716852289 167001561 425547311 622400523 265571945 644982987 231690121 213542783 834874985 904941613 242671493 839887143 835221743 844718895 893089447 123596329 854074773 544960561 999694047 725076309 589696477 15091635 905024129 921722915 124054067 277606241 733102407 585938865 273904867 949714189 47261021 608077255 225494825 126466485 245777993 264925653 667700775 529763961 432684039 815969775 352862181 198818727 643967471 281139161 644842069 634046385 57296329 936664055 267803217 676144179 471535297 279353945 486816407 753692911 544376939 886947253 446717139 490130641 11417545 701167213 893985431 769879787 880514619 718723975 388172377 496882555 263408275 783706033 659640445 209236195 703245313 285318723 913291339 218128557 455283495 637604415 241200371 176243853 453522695 60070727 817118867 313196383 872130063 735973039 698302759 839767077 799641879 848576107 809536411 983987467 870809689 735317531 397010623 181072997 653459577 37919241 593905741 268851117 133785481 660105249 367565287 39798407 894731771 161637627 549024789 897908157 500446125 611170519 662455625 200486979 664906981 77498011 663396571 810329141 95755599 91685079 938758669 685158869 33235711 274194627 810467081 771133585 11785077 627628349 338612703 745913849 211619991 623546829 842114441 428136649 113099183 528212387 835962089 411493349 842665587 130808979 733650375 691588439 60110339 163709985 642304979 811555155 878487009 429936241 946079657 393643831 858575099 600115537 956187595 861451393 347193511 327796541 178626461 727256033 70098851 974112337 784743541 828273703 132616465 768483667 285283467 348627791 589206403 912955575 111209473 170274685 72707563 383141775 504291807 306990075 82144421 954067101 218592533 127365695 915782779 179338057 454620543 177784545 264107925 995877023 354631389 437260967 431003789 531143257 188171737 902907771 426731357 442835927 444208899 813212527 200572011 268328733 509533141 888824767 580205445 565413341 277842863 171941327 281222367 294312557 163541213 733655083 265485335 976002253 723632013 261183365 852426547 756321699 994909915 956295095 105364895 969966911 474398663 791874759 664091441 486613145 63139899 919347167 455930663 238638671 812365831 970190417 584044323 60033449 594917859 55047835 637049909 359709079 270999157 164446045 380790227 173821869 354067777 967679589 78603993 606201647 806780861 177300389 206639243 675622911 579736639 925698617 248323991 492409265 106248967 682298211 975703317 457220219 403375939 470706063 954362237 710332475 922830337 804672335 631893433 211232631 357719353 169340001 781426709 999223905 661397201 702806181 43149637 265622481 126313869 119498537 583925607 893646403 241881121 813951263 990901505 451616991 654511655 496055523 603566079 967078007 360458015 249699575 457759925 24073343 568284529 358852871 769978085 102856727 572515185 90045671 343787695 947852041 892226133 802035601 677730211 335606975 79692611 719875625 442210231 218177877 476508735 630124281 757906501 854656137 140865853 771174005 639220501 463513793 870749975 137672761 19232083 335305741 691651211 142809607 782774933 202102565 183211335 527368395 662320089 296144999 52249303 239425945 351965827 213172955 220079545 748630699 131636063 141265713 841790027 992913509 827121573 662974653 385125847 135797329 662255089 714056323 423437199 200516133 798478663 445751335 779986829 377556153 914895895 142103287 747667919 766612753 667851061 588036847 691900739 955703643 499348189 338247083 692390069 238158311 984690101 945836913 922431457 383580209 264200651 970108979 951082089 112371165 867271059 876500617 402211031 286209973 846236395 169208495 635670425 633601199 28516889 727104909 355087881 957656291 503246537 336382389 304016745 334331543 981950225 608685147 984619493 460834099 328626287 472518751 203578249 765226061 457116357 729288521 911919953 916453537 675684707 651639369 694522911 609810703 973180927 576902965 186283451 690497445 67776437 132508557 284124631 704016019 548294153 613514103 88205581 534847289 882228203 349225667 792165339 67916053 690482861 555322345 390805933 934318295 884799759 751196935 842410963 395112271 803967029 219523301 522206857 245288059 32730795 669328369 656030187 546752635 202201961 136737093 930882823 303420573 144996045 315104157 242256077 844209747 630459287 289429091 30608661 623152183 19613689 445767333 836868003 178613007 334366855 645188633 125199131 952919749 178413373 861632033 860650517 619792237 12274305 413703875 721032197 224795199 902574627 445600685 941657167 792337571 360377427 102114103 112578361 360193825 297375923 247790945 865495801 686806637 677122885 86158545 288653477 7173217 894233463 910142425 591648575 857459973 290053407 975422317 181072049 865922431 896709499 111651885 74050251 353093923 661479471 169173345 879177289 747784815 268807239 809700345 822093255 102692357 306151739 419625355 998856403 56128943 137995751 176266583 7798493 552397153 431547279 616424771 895794749 285414967 800236259 248511711 15805749 36821363 292000503 651723875 857701101 555495809 781563463 865929645 258223737 28005621 888357305 611002181 584616913 263768457 266170267 303763289 79578327 516083489 414985377 760557763 734779475 749935815 624834793 693049855 784781557 50920879 236800249 373211191 389010009 801346613 287360701 395099191 402702847 549588701 893656203 324423547 213407825 623426383 267390497 229736223 858175903 232703841 706540961 912211177 999291683 250248205 95220381 99912779 699492349 15305335 170499333 608000347 819860537 341754601 391661115 269983705 763230661 668873689 825329153 731762733 867592061 807673055 316340103 174652003 574545441 842514881 826013279 509065013 151949657 751693159 282084233 275312899 797250233 399920871 881955433 280089809 375899321 992529531 921043405 276205905 117853625 193080967 709543145 526832599 617725189 198058647 910214747 321308007 361487819 791919197 469160745 808755621 792857127 255804595 800271807 197828577 920152601 653046431 742128371 908227091 805033609 611688521 784620289 857291225 962488907 722257929 189077647 327591803 693952279 254192981 642075563 985013479 592333965 210923987 835455179 193591479 710356279 670391887 950989769 877755175 680327 580419003 800488685 306404129 787502295 262626865 218289125 54298417 772616295 734708215 863999683 134373011 570505311 240744055 665410823 117463585 826798291 539053891 41110677 638424935 975611577 994529561 243184825 846458257 968276215 807440089 800239403 977996407 119433041 648482961 65991943 927133593 465944955 842301043 368038865 700355357 81600527 220544987 606159993 767938773 964704651 512847435 866904147 883703605 463849307 123420783 502941211 620777565 1473745 23627545 494959351 168572693 421300773 563556935 903142261 298789325 103049079 947426843 970137737 218962843 119730129 570388447 619254419 459324735 533999653 910715143 590211669 224501279 733186635 790923311 592074749 959808331 475881479 190844953 247877153 184789113 726999039 768992433 296305853 351512331 810163399 831355915 946794553 822547207 867132373 457731423 916549727 952656411 40004749 347807253 125438823 799214753 899760951 244967093 718824685 418776725 447959557 514776053 263245557 996496033 917245967 215087021 246539503 674245395 60012121 725546465 378755757 464855777 259402953 790610365 600896879 545886891 861593905 363913365 283759321 784382907 974925 512838883 744071673 828779773 743483065 649499467 78735939 640331273 986199555 81056151 396136085 447002655 53502875 866326973 809945653 765459237 13745627 259560149 797589455 309520045 161743105 751479331 134093433 778216683 145494073 14594581 678805167 640922047 492754067 660483899 816641879 403651505 636997641 250879313 531209919 543518449 721998461 480832571 253133725 256270933 216060599 562257667 52614155 94509147 483682153 773816543 921289363 76657197 585086507 676810279 562022685 17029273 52802175 429754209 145160705 533020951 809132751 428818487 217531133 128136901 422073707 129305211 760306741 916320107 234236303 864737065 911501621 457049207 212473431 700831589 620193269 850403329 277725649 334522235 194606033 986297803 726243821 997535197 294786191 67407927 458109315 428884517 998376283 639748953 539269973 250539545 278116809 478325221 7493901 141369507 150773465 328566845 171519035 150557909 547194353 199986021 500750169 133911787 2524123 488033295 576241865 363217227 719217613 737365905 994659793 251556221 240963173 722257131 706454439 241749813 33836713 95167429 639169121 948084045 830079749 62339947 288912385 141398219 208584783 621875159 567644529 189115865 384052421 369089703 141887361 787708617 728980747 607439395 711230443 147979033 570956589 623659067 512521295 537575019 735014819 852286341 588039993 551009161 389638217 722089535 884546327 272831335 458394979 950412627 485632325 422977567 367791265 769660751 766523139 470719479 127006741 417247083 490659451 148679259 266923327 927317637 502207421 719124185 569362435 128950819 221666241 603147825 297945007 611679097 221207405 885265221 796468727 428711001 16823941 501866015 423142393 45250117 641042623 129535219 303370043 205442405 462170289 396838685 602425001 125458311 163241179 545920031 325269401 440270113 905457323 291802277 948585671 556498515 747402095 611651971 104496987 417753575 918620513 187071155 863710687 721737289 979097249 320923737 954885961 671746193 764922937 619798463 56623097 768568703 622031133 871114843 140311217 688470137 531289377 93710533 88183199 692884623 379207691 466245569 692951387 638545273 406125187 218296635 91455965 473822357 847123735 280304967 677661071 461812717 841462597 333670689 574778941 527784235 834491499 285873191 452440603 55159979 417492181 173851883 422746823 683559017 394736817 499278875 383889989 221401871 211236121 959603607 833738757 752070891 656409873 531480925 572421595 645116661 824647295 750200989 275865859 720516555 501805367 362566311 878836003 297770675 200490481 697438199 316920137 698643105 969171789 490964273 459161835 51762983 59126485 243015713 219706595 574624647 753631739 275151033 964869753 994512809 254850329 335361043 198205017 331433753 798446701 304746869 885072281 169583123 288057123 115499847 281594039 502697585 773864013 867938849 918810263 855673023 933773281 450880441 631607685 870803241 505707459 612102645 965689913 314793095 272266429 132532193 986109647 57960791 585115517 560774319 487218123 772417733 838250397 507337913 770267933 893068187 63695009 802177157 707132183 613380947 390068463 112528829 384997753 883273995 432355545 362618421 79133799 960349835 952457115 677480165 100112751 289242947 88466003 379890933 664868997 224527175 172643083 200365 869045511 796495451 333293493 995365505 349418683 261834979 99868457 554110475 2946253 307701487 327835689 253216529 656221907 56855349 620016223 622418557 320857547 769084951 214163805 418740067 567701271 326771867 796136345 357604349 81312135 589844847 951242103 135337645 557067345 431529451 498062399 131979521 219548175 102569745 695951139 620355243 862419403 435048579 607533627 375179911 216240621 7391125 223166345 81189783 824780109 117677115 674305527 495101961 787729449 685030933 368725589 419111979 6982949 573482349 702190175 782553469 974040655 240148527 699225521 613100449 612737051 93501171 775517401 169390945 329650791 900707319 651028039 721779633 881313143 618386983 420277075 125490861 569656571 690231309 3766591 196294809 969912071 266639075 754572341 981305053 740289303 660908935 880055877 395438863 108500753 264380289 437123177 732389353 564147267 52405759 364579715 563472463 75235427 608674011 89398107 115761227 358347403 369458579 738626979 957445651 463244355 196511819 323093747 537596159 643625081 194652887 83712973 83738259 855643263 236843437 429015963 887027069 846483219 455659755 50636717 965610637 84856669 54707031 147756093 297037247 718888423 72675173 789507435 805872951 136322473 790282279 946104899 791694913 559166207 36724831 492415411 818496077 257730221 159163763 140031895 394451963 396075235 73349749 932370351 435378697 840782901 729362713 960685733 677693543 306541727 123628737 573699337 159875365 270869127 473394545 923206229 775715713 72634299 705787611 62655977 723416795 166679663 381810517 985906193 212219329 544781377 629823199 428173565 395598563 835842359 397511199 537801155 480680993 570010813 418489701 222742377 950426491 923816617 920955817 80209879 71940635 672881207 848948617 797425885 147245401 565727503 174843981 974803253 398622635 852042299 334193379 540319103 563439033 941290803 712946405 766211399 362831689 406132433 330478993 605976059 64681555 971186783 829667531 649511415 579024881 450900101 553132583 817141113 56577893 260242011 522554843 342433711 594110235 698356831 842299843 775255975 715756965 107468149 136126571 468317019 53408449 430983147 361587199 575415979 703993425 71805557 391684953 222144097 546517855 905620785 927389429 111033135 737616671 137791651 426792443 19873455 676791789 216125627 39322941 944776289 929748043 586513357 524089903 878947501 250261989 854552469 144280049 823549415 363752589 721154107 938000973 784326471 890257729 175915337 983273133 715549677 34830115 91215029 202528045 461865443 258328189 378083295 587960715 672224539 790201283 461474953 69249069 405794415 254882449 979809761 218877731 748120735 696685739 537307005 94194981 6009171 391317753 694653019 73822353 799963677 612321937 34429917 308914799 430900601 17349037 492217045 249103215 923391941 571582129 154688117 17621733 855358539 904185127 201499483 802651093 504804413 275451587 196643979 372635107 253386165 285129825 463726197 979232349 259542193 572198149 680488939 166251839 76488223 155864791 155713837 420541989 409832139 689531437 337892063 17932117 292804211 753997953 67575567 992623297 136605365 267896695 547250227 545212673 911092251 825202139 659688485 937674833 719827223 667816093 339900205 223365529 409069825 806760925 932784375 246913899 378822429 525170649 923871129 35597051 928120209 114267137 814853775 332458793 17236591 27872229 988079553 891177853 453800627 490035777 418762873 436631847 725336889 770327033 381607023 560472573 592876497 464833305 853207741 116080511 915568165 977052627 546142957 966567379 945159381 636300673 915029991 22747337 639793757 403741097 630632197 777747161 535380521 714481397 552500991 69926945 629923721 850848311 948157183 240472937 577524921 294791019 925029777 110275359 644199893 679692983 416472489 804585053 599678955 525747041 480709541 304037343 26253291 634921697 200441419 828070671 651045805 512880081 705975751 793988347 476181237 779063539 194779823 14311769 386323561 462763059 815498495 811129739 939335835 631260579 202069277 251567509 939781893 448630401 856362199 115957035 348034825 916108333 536246883 706088607 140747503 544028469 241245531 939741683 935455463 936901195 885796295 635885517 280896525 256482123 620409621 291131519 469719907 156073527 338565911 521363709 785881293 150449211 402979595 588891111 317577763 176464043 565470361 304322181 916985881 62216191 225768141 905726919 264465745 70719711 788377883 507147075 563114839 449206035 414665823 170333753 63614875 609192591 945530339 271431823 33676405 986439791 135749201 349272533 816067111 413211637 316160189 957075523 443584987 645687695 238067623 905138103 706817185 7086027 207445493 178946745 21471347 426052713 256838127 416523127 671384369 100346187 662081105 117447371 591013287 317085051 534170931 850818353 11561091 810244143 288812829 199096787 438096225 608406975 744947707 464846205 202905537 873370799 370733603 707198379 584944141 98244267 884391249 654774647 56443029 771895687 44463021 807335085 848199827 933129789 896494785 250602169 87278887 298391537 505640581 901819827 820824669 548060399 816080469 751742811 178159651 538976167 25352693 768608793 6477653 131385271 258629269 848020985 14645939 335679715 470826951 204758453 38724581 993328659 117714059 94744491 791237247 876919389 259969605 628159717 429757689 285989373 443108803 766478349 759740851 582431059 296535097 300039807 341321721 801944555 544949317 666571577 13969657 786047355 669825259 585813985 679510223 765717723 568503963 368414151 880917883 963568401 805710889 233802979 871984613 496219719 471688659 455481043 918033633 691202255 608852027 788323295 144786471 588075045 148739441 22245365 635452759 651018223 258808811 636423599 87912699 807153395 759408003 689892169 798558599 759198249 796766337 263392173 716337743 842100651 559638673 476706151 782743705 329489339 510591435 781791667 954583179 852892099 420509095 589395819 907854905 814059867 657746959 859916827 830733979 614063417 388096079 545941231 148531857 333648965 211969051 511559103 142308325 393175687 850637457 885485579 983650889 148996659 633976117 61880825 493028439 846312611 92905207 101266779 290379917 521128797 233385257 332179621 342044249 978662667 425108621 784173047 218662151 591489153 68414531 149237785 224092373 750583223 839550171 327958907 290821089 128394965 627661129 659216179 799330613 200342819 416915435 252995583 742371779 332205589 28949895 421357897 832852835 359314503 399619145 411875871 168160217 726973563 881013447 994319417 944618955 58000029 794350335 679730933 728262605 815461057 270089045 15733339 993583445 263534113 743587733 302200857 421321159 249369121 981578743 788193929 144977771 563442507 81124373 329721767 770663027 925851731 303491577 932078109 561619959 164281109 341498635 312309303 882584315 451863443 892715813 978925809 847772517 890924283 780313985 812156133 918408967 356048539 979073989 450378591 748355741 422574835 266703101 687064907 604954309 346353317 577817251 91543105 522135305 490848637 6647695 882790785 636456665 942391659 174955271 24936689 99164819 952605069 314784699 377016355 99594355 662366503 689871039 588159819 172278693 104726689 442499215 851239497 765974329 914946193 445077011 922176933 400782123 276148913 277483413 230377359 820898647 942128357 39714765 896493789 870644875 518008889 154181845 1467917 242440567 313654237 166767413 252755017 367510451 134454833 983530203 562738783 650043585 883952563 278923289 899314119 622777611 630262291 942295215 602677663 769157859 646435105 618866367 530522543 998687615 456285657 569797083 24947045 414943745 601331041 667787765 273093849 20946037 126766079 459869803 363312589 983312587 767608875 6898433 583616675 858698203 362784127 572697319 824613743 288182375 584364475 637937585 725658341 779023897 843141583 575890011 607472487 55918209 667768523 718293067 890864633 844125721 145545453 1629263 407585101 74616131 576892053 637998493 456065721 506587973 48075089 168315599 812757821 571297109 128136915 957044461 396842623 913851273 304726007 427602531 438815697 686365667 582328253 83304967 970512167 715859789 890280021 868669975 302913569 662350999 715400721 997045045 934244103 946554235 398565481 636929907 204925385 352950169 520625925 679377729 731842813 186596221 932608685 891451521 878550241 600451989 954691157 914625399 429526623 922672445 425037337 881885645 708150277 403534261 339658811 54312861 217189131 52216615 970907687 439423073 233000527 851117475 961771377 240141311 385017687 743596579 481681105 642202563 887628631 613487495 989850927 154800487 932728865 636755867 42451603 305190915 681054519 333021197 162641713 328888605 323281089 771213689 28627557 925408677 75588235 601524319 161749427 99910895 694092561 182110759 403683779 543967673 718019693 248229413 931856747 322690853 121090411 370448529 343327397 71626691 202167415 63529355 7348627 575577225 551117993 654486559 772850565 35338707 701865153 156175163 600558057 494826597 79366693 830491323 663176541 50249325 877173733 222656605 7309475 554827393 824608185 352883919 227393449 619668639 556372223 362435229 681817727 204943147 279850943 674987845 633086049 854024691 500999593 600607269 966886067 633140523 153200915 58065801 792250367 83109489 490153467 365350815 553063163 378902473 594275083 186109827 720584575 281350819 809271441 174238259 700017041 584462035 250326917 438819229 16777817 209005461 373576325 222448525 302473005 451883151 750071511 124430017 783997065 173944015 396328815 242863063 564076813 365948361 417869791 83050073 294683781 194293341 1125737 642080185 656765671 679758797 587301365 25779281 221304139 241548487 678462223 268155999 129008375 632044129 553894131 965154577 794767445 823775513 183390075 515507571 271791095 977884625 496876339 739984771 300078489 332094683 880282693 398522655 81842465 208008425 26767247 939251473 921661845 101892119 424999817 755990027 561894957 690094319 106000737 538439589 846056259 31589209 820588513 376139107 540096345 272492975 90312835 474645931 449410075 609227179 39312485 74860751 835733851 176440691 724029263 425627659 578315799 866109077 266109105 155570813 282997103 857533189 511271583 680489007 532195761 547597345 771609821 576212755 970862927 123276719 580290511 954977281 348373477 975470811 60645253 606461371 185489205 561047355 159909557 102351339 242951211 527950283 430900161 399152675 49211865 454821875 408010159 51612377 397139069 228984957 122459949 68856945 803275385 945524897 487221139 39075891 974944087 462049017 153749985 889990481 98941643 903804045 671694783 711571939 156937137 231101387 649457275 921721835 4873483 976616837 219576843 648733267 471008517 473238523 680971279 828372973 72574963 532512721 610932945 3162735 929444687 41512723 100995643 743230845 243987131 602819129 250615019 635108253 708491527 228560159 138570521 134800709 411213601 209050635 416937395 465424843 140058919 684494505 936134467 604757105 226931035 459761935 596584707 226745185 111470379 944385721 278657489 894536365 877817381 977995149 86037301 284185931 468181257 611050201 721813085 728215069 715675833 850271825 289848099 573843695 765415745 542801173 641944323 598674289 26009809 215426727 886154279 817913915 444239559 411572725 744940637 196109263 858502311 366321237 500640285 346097047 472507161 69670021 905706373 205945059 644484339 66993577 108238683 565520877 571038769 762721357 483698705 652798677 711740146 655434089 142621375 591725223 249936517 204081497 291025953 848934994 670005853 861726433 255071135 765375921 32354067 661853745 455688779 680652931 597640045 725311963 614182361 387385201 853520211 850496479 652928939 440255759 99226333 137263777 750895045 20178645 387132225 618513391 734796761 858900005 262227941 943687165 920227389 315996997 621669717 899718763 95334641 516426859 300693059 504021819 387013275 747973805 380617865 170510811 331520907 823965451 431226413 983449119 817005241 407959923 480588889 325973833 213433539 28671923 310607967 467926265 925464817 999801989 569369277 979246145 204978225 985389705 464557075 532287633 682092573 270022987 957055023 121962699 553241585 772455481 474552579 710911537 22574999 148680623 765487529 181222771 269691037 329715181 319068519 572808099 747314491 217153051 588648103 786043713 540152141 625353549 178405373 175100721 969810271 19648891 722876195 373029311 279661981 964304517 49500155 972796323 220384993 222393653 598873491 504022265 261562791 912057919 547410717 348681287 880148759 269844279 553574133 428622201 699965955 836494243 131052957 3919077 495337439 709702633 268331713 547080263 939658187 75145309 216364597 370524613 137084815 617933879 296277235 877423341 737041051 352698519 573255197 797547445 815383301 983136647 710248963 687900535 120575117 220808441 422552339 723353083 59840409 75305415 485531371 472682095 783750201 123408561 61881165 923948133 272832805 72648031 295978277 342763227 699566779 272850789 694698375 506416953 983078915 627360057 830937773 96481355 143646125 538852159 990342907 487719747 220154637 482576065 323067899 239193283 295547687 71820525 302734179 678783439 801097629 615304157 848477195 378665169 802118083 709782933 767406839 811776675 699648399 798180091 830731349 382326143 700871837 708844769 502410357 946287627 816830777 346884355 42388691 275483733 253808975 86173951 686896403 122958545 634956665 906193247 691023359 655629151 250575859 749138069 425360525 887568447 95733157 38845433 988840149 892729635 668249887 337374415 580188445 254328351 290348955 621176125 496717005 610649265 886565363 160528725 287666555 197096635 955417521 91647507 878537187 266816911 573044741 986723925 765235429 99049693 191471813 495975397 802327181 840789447 540519281 172948597 416481553 449585615 148192303 979441821 753253833 622322149 182909135 643267295 735317563 151129947 213216713 40644261 67206417 285027057 954427707 815827265 820563229 21796299 408661997 85454057 801161309 434712695 897333325 865297345 964451569 876070377 750352757 603048657 807181863 203913855 96120353 868817673 577626993 683342589 37665211 725372487 354229097 301274515 935855953 749653063 914696405 421791957 825968281 168654773 508516767 827321023 155259125 616955681 135623641 880598457 319818345 391528965 755517121 129721229 608028839 396867011 417425337 767478385 581276167 450750115 893243723 803120645 23742085 598273237 287118891 813122635 866817737 687653751 519362099 469753009 924075301 897561477 776252265 701088013 62966413 801667819 634047735 139517597 434899361 192884089 924692017 884735749 2217385 83395561 190623633 145108305 899604373 935795419 858847161 847931129 33071355 645528027 973417079 65273049 260500763 228623961 445686207 791346743 195832795 120181421 666768553 479920061 970822347 48690969 485277305 265468549 605173283 8255175 297925531 445605129 492781505 472465095 574876323 397397039 360638507 906272019 459136331 322995781 504827797 664804235 864602485 121426943 843759825 11429115 950294577 738167165 735867491 85145617 392396973 964630849 811201903 644940905 955763015 486532921 765966531 63885187 453638273 527182779 411967451 642394057 788717065 498677891 884787665 107416459 555417007 375578553 274755697 708271619 57552495 76148967 714285863 636377169 559349101 510464517 89081867 541190273 185805555 732140653 947235037 979680385 596419447 898273257 618033669 376189741 451130001 201320865 794518415 580348741 233867269 42132783 225847349 909213299 522630337 682248077 120966741 65247813 66652629 522677281 585455865 592317753 876341629 287578039 199201483 328782255 494038557 934693255 913764647 348217581 882260801 453087277 288450827 763780647 353921177 390887087 899363869 912972663 792976645 563009401 373961133 469408989 365050757 75410785 211814835 18992449 320624195 225149603 448702925 952827255 713437077 591178215 494235203 644705079 990034167 521676087 702232835 8936481 955478537 6611721 860875429 430896321 965078937 838997821 286733675 686033285 81815193 267874325 999355959 433178055 603250467 204261695 976892317 69570251 297933693 426271441 322260691 833361079 467372305 654788681 260195509 759051167 235445617 43841931 861054159 491054715 416833371 703900131 949781581 367993899 222906287 384716041 351805191 23472249 963387515 608621593 302995581 795460375 491001841 648230041 723316437 808682655 674111341 400988019 847127009 747942287 773503601 263916545 947511317 149283669 598508457 904481021 676444561 978340669 331222503 926125453 632972573 11937669 630306089 441250367 782983465 444906059 88433551 245914633 413636811 109077145 139783271 396536133 47156417 260566881 762623269 836545211 538527349 475236989 634771551 466097303 660989685 293850027 744194783 476124527 867636217 194628503 232920715 252083009 643194079 262933203 288183671 349625967 573158319 348946645 777261793 251834571 921160727 711239425 263363115 590474885 144065649 200876447 225440735 308207423 907564217 580821729 931300529 901347579 585284505 242098657 810255485 822323497 445028701 817137565 954317127 980490651 828566785 411708929 938394679 858482577 166342431 387598047 486977187 670900399 189966083 982183149 519055621 436118019 429688217 664236239 217433601 374900481 854858361 98228749 478457185 790837383 937865443 986158617 801065755 204353499 949145277 98653003 636955207 596934569 575958425 94463461 61330473 924200711 867817899 795845905 432753967 529373809 466899667 379157985 600332265 387987151 933250969 904148043 772237331 56090731 846196781 874242611 565822353 372435963 447282531 734110815 495163757 424645535 346980799 157938565 307511005 350597593 559262309 225003835 841964601 409248407 728499749 96703237 15315975 348097073 483553911 904318281 950460911 849707615 747318393 754815577 357742025 997763915 835124209 247999343 838177419 167493761 918686803 394000301 808974171 212553205 788774321 481160473 593295493 953384709 943355341 350052777 694042745 319669621 573335823 580448307 630564055 609503349 48278917 364483449 731908447 92991385 912108517 328367397 474537211 298292189 796567697 119867079 176353475 453165223 317289613 703689433 140703469 447047877 470521995 938629565 450244065 707873643 812982753 942749371 72531749 658644793 327573391 318993155 65950321 241112881 144279867 149401777 93625503 377910721 415104567 446093253 680875697 536033215 543197303 731386153 451739859 601276775 813703579 505444781 373104983 700853089 701019115 452621579 622073787 15852471 297323863 725187299 253357983 292557025 70281331 615751617 954392017 747094203 155501443 654950421 485320003 589813129 75422059 105631541 83560465 918336251 917478075 344433767 657579645 5616931 849749675 599321555 53720563 894953857 107571735 566441353 955284487 826010617 282962059 64380547 725873011 397113817 334464309 299824033 261526809 541143253 207751657 42592943 596489481 326768651 180272681 391310171 744136561 290121985 487753757 834010689 854933935 440748195 939014033 13056481 24755013 136923719 122808577 51680163 936503519 943675561 636842119 650779355 776314705 883473649 976788207 444326849 883363989 788773289 413254821 611438197 785546959 746759113 457317569 44640259 290834249 454775211 887218691 715690329 770733943 719326231 924359121 336111187 979576309 315734843 718190907 53509807 951275399 710718889 330834425 929693467 407015957 377971041 670547817 787340325 142542261 980146887 60272019 308211525 439143841 460539815 817416231 355577823 798525 880151609 288685435 843237437 498147605 471194137 103813005 772244109 551752665 644839757 277987591 213681131 735912807 943360833 717420087 701896021 203815363 235190217 865767957 398215353 442888215 804896293 878890303 591315427 230232501 546327035 942577915 748943761 364679449 697793109 659328573 908276833 988685543 156731561 14970007 493165021 485329131 178450389 255550795 428162423 99286293 855884063 805992001 670197641 574846085 90566453 982726405 635558995 99068025 514497833 980218323 713313021 133482337 836156281 622876805 5987993 3007949 129795853 955646373 972415267 265303931 988620847 448551267 912203385 809976907 486125463 875901077 735203173 391952203 315033441 696607163 19624601 342712749 711703057 318223357 727552941 299090379 540990871 861392423 851187237 831114795 663540805 15893939 444225127 664428151 366273499 775765439 468406471 318193793 545400959 700250643 294534267 842467655 587782585 506349597 78828711 798418409 769858949 365938679 178306899 846642869 645377851 714432351 226754673 646611485 290875555 479404731 377350361 799301565 208200425 824156697 108750671 845758807 595166625 750412341 542564217 950571479 765516237 92268395 109434089 234120785 920433357 114893507 96082969 202346237 871565683 993369323 505215339 363826243 910717167 425046331 130193447 611459499 892737507 651302067 838885759 801123561 412860241 239272699 546305931 792332505 608655271 530546015 812616269 608086141 3924413 682970587 912850095 512056321 933008843 540365833 958585731 527774137 301588091 636856885 901091967 588338975 434444249 736353865 924527943 965124567 319536217 376941793 304062051 252498603 19211225 168347707 242313795 929733263 715892895 335908669 379211843 989404063 645325397 271134329 342780325 66290207 3904789 674616099 860764303 35857783 340804185 410186779 925931795 700484925 294176265 986675433 899656747 87691819 763622255 714086075 805563063 303303461 964614721 910762347 236103299 721009717 607846303 936840309 702306623 721874833 366107403 722867715 841587075 462571665 488597363 344411619 767278033 748845241 552684589 632819341 274706323 350393015 439819767 425902621 607145497 364798811 946596339 700087647 337848733 494775969 923501747 25697983 281798207 195927725 247593 869572439 302868235 173744331 524378033 324336611 811693809 388028523 830808853 785074123 126157769 843022381 140857213 699112993 415662421 548905167 340451203 410292377 215640637 879487553 230580001 124855443 383785749 4020883 959279805 44176921 481610581 169228545 592976933 704450263 469954655 559212273 974918541 40996645 298445945 548045545 429226131 903081217 384785881 614816673 602657597 454413591 773139861 298564339 807915767 308074929 557037231 782313183 321513879 571789257 905846031 766729365 980688987 478932989 718862985 235567461 742119141 768355733 933477333 346685901 487805509 187372927 10069395 631106157 508922865 25293141 712154959 167063827 87295685 96988755 584502391 627666353 984105477 976399459 756144999 290845027 213194335 823502099 325474399 489632619 744133355 101892251 340738183 538543157 475885601 703963351 268285171 550309971 338990315 170249811 148129691 839030659 778729365 80843067 215351903 614717861 384180947 577644647 26435595 137990087 762481859 61834841 744875853 917834525 653686251 235760179 776307135 583854077 178257975 12313799 419135205 45814511 652794363 900677519 246605607 917895071 586885881 201664421 704868051 459322331 908183889 456817875 761165607 204419747 844345491 745942665 140700481 912562457 850959539 276161757 402481451 567406983 823944465 550384015 390613209 44748385 147953007 603558661 953186079 500697923 538098939 675632975 424590019 653260783 638750027 693346085 561652075 259296083 850050397 998137061 550495915 230212221 606876309 319717271 460492025 767218605 879371711 17609195 291480249 409010501 167801875 842198325 920892213 666948305 494325805 122193017 200305051 480522241 499183889 200402265 762168325 561201075 351655727 428807977 56785015 648993003 980430683 905828831 797772759 931353041 834156497 766267671 781098745 943490235 641294647 77390621 908043667 418015011 105784731 409166813 344351561 632232621 398767473 709826031 315506851 271149093 66160791 730340755 91377171 567178875 508211539 626070449 174599921 869460941 187110737 931550933 481236609 378542175 834179751 193590843 765968617 261253531 603573971 64151229 66753083 462109971 258754487 691510245 931749235 593502083 591968419 819426531 85006191 439801295 913311053 547107213 244182521 432736259 614830801 131301731 177274563 786294863 28415667 73868939 994089573 953293843 210666977 743274709 216235361 454915791 155629491 375363257 251433761 518414637 851828451 967629397 927429879 504674821 81360535 905164913 25134361 558860109 234893659 81005435 609589163 289976619 721004583 232622221 862959541 220651243 421069143 289681507 293491753 369421311 182200241 774946919 348580063 618207491 124157793 67850663 294484889 620437177 390880509 176193497 989367041 658897675 616061569 988139103 113800615 26281489 737068115 962830653 928264965 992637187 148112963 383890981 960823421 67126083 75970177 379754863 256508503 662141279 911985839 329822999 780025541 846127113 734477007 218092485 366188767 88458525 624725071 477278155 214394791 155455645 437041413 868603421 857691399 168351669 90907183 506067803 732859087 963001783 61716337 608739533 231904185 83236641 854822871 245876067 640968295 930894485 28860633 531365555 383196767 225345501 480700755 440098301 660604695 34359021 236840073 992064807 415107301 422608097 597613355 995092417 174022155 682946299 371684941 464868865 864915891 895919015 261611115 768167881 889049837 618751353 902158955 503464351 495050675 844437547 234779803 555296691 387762149 85271457 850185135 355351769 835147855 520026853 380941253 103800213 745717153 10600747 884304739 684815113 851744627 522024655 739766901 942663689 308912967 183105109 596269393 991526923 502523269 429874021 480798645 171168811 37960833 694194645 376424387 235225141 357689715 987711135 97301773 281144725 966666107 366551783 225564035 48429155 291902117 367080185 276427911 14597215 850116319 747407173 286805979 696580081 640566021 617854825 493188783 249788709 698859991 311680809 415851669 527661749 421295359 938441069 288375949 658093823 58605581 12263755 988383227 175778061 523651449 530315007 679842221 126828425 727773609 258549481 735406807 280407503 351891425 654145173 883300375 226971869 875647319 975109561 296698483 628734041 790699551 719717677 586310231 553161619 994721343 154247671 769430681 850313347 775900831 206783041 469778293 663221959 438409741 704957021 617660817 51530405 8042055 48436167 499389691 509645329 317601003 686653475 813945385 181881245 17113221 291522621 20834037 511867277 440944003 209214215 451530151 86606531 48077633 561830043 537083373 56848851 173893885 510160703 181449177 585467889 550169317 147319901 785493227 119427583 804647685 601095049 972954887 830442883 62862427 34000763 751625593 945182635 804843461 200860443 765507065 695558223 401975565 448613999 864001443 186551023 261616101 291533231 770528763 899628465 559227111 302097973 386270193 509017703 401227923 21980547 742534361 432237957 751048785 517917253 940705135 749943083 38013813 742731597 64316121 510403105 703724597 356925081 602515365 774618327 44477621 716490827 264393415 132796515 390040573 811449261 853483679 329556355 501548287 728232499 946090991 612613025 345265045 207919737 110157029 894592459 139451773 977947969 280032791 781157817 215360355 931761271 62646657 916917449 634465753 793110575 174097803 728617219 204316757 154620323 46620671 622311445 611597883 91336757 724866325 527945817 511575507 996870261 789450857 92914123 103998287 331265809 221609471 676663061 636076489 855720935 161923911 270390403 612958783 200049401 120605203 350554385 861882525 383627635 340630947 234640729 371340981 301792425 580520859 929922727 256468797 292118293 440049929 630810087 966336217 265280347 124613985 234048177 981122833 290651973 720485249 896005701 329677655 944512713 235273903 320391305 272007683 307276031 7875991 207380749 768488791 378299181 787431245 937397257 329399933 262769083 506415699 557920605 67214983 963755327 328553353 775222669 642361195 861711731 628130623 299268299 868291853 876605499 778777131 725521387 415383093 613343907 17160807 596202353 321058707 968608219 203409533 300636289 400794821 417697347 24651349 98263531 16425799 306493017 115630151 307966759 839810437 696302541 199737361 873704787 867191247 664601199 153545687 990111285 512082271 254102843 527448869 158645569 479073623 182583125 594568691 686152841 140145087 956779785 281167261 585076687 918853255 563423433 366263273 914387835 868094091 22919727 628399619 767547291 84800139 988419329 929264511 172874981 363730993 874520617 750286685 20097467 613782285 198811321 351526147 691967777 500279193 636955375 503918907 758979529 540508215 834563883 671456059 900386569 897005615 779298043 430940065 716795361 606258865 834245137 182505331 498218487 44303321 338067783 612181277 919833245 107386791 204112291 845224309 168112071 84702469 414479695 306134201 198042389 752260291 685853855 322009485 412425935 992552091 576813835 326611453 786551525 353665583 169464891 448214145 440733163 281967109 704348407 557444853 866848293 996712595 516624435 952759197 340792951 743536431 542955531 691236903 839383921 951037723 4153025 781524651 255195721 4987007 451215297 691908259 720465377 482505071 907612829 321688053 131006911 700372195 437202451 644351983 719772433 578015163 605810437 162402373 990210481 172872131 893736829 601867285 439212827 696796841 108329391 776994533 623378297 813336329 533279479 345968033 979999895 171225443 476880087 50400159 839022833 730347295 65482237 257935259 474868385 712556433 525312823 483583163 156883571 469208817 141249669 807881615 396464851 332193631 263056393 138123015 520272089 566903271 947189517 601261957 853667651 123605367 437589255 166006731 960564605 613457899 43600527 493735943 702865041 208595203 342106729 116999889 782941753 354241895 395170947 930337313 910468051 240588203 795999981 932599905 156488039 431331653 599025891 290103133 828529829 562007451 89158089 975250761 712664035 995967217 886620713 575350211 525399839 80213371 133697209 217842895 301611267 261792851 519392081 421333469 545848797 347521145 890400757 892551873 187953829 793375189 290231251 48122039 682784247 129689145 340237371 963459429 442328863 337594977 869070249 785752537 113017097 839589099 458806465 126401417 26330447 597403489 983394127 152995663 741295917 90675511 523979589 411275891 142442637 148416705 501231549 100058017 494933755 582158917 474022397 473744367 889266353 154260713 934457455 185209307 149372815 229374399 829347237 408425545 100014617 896134339 588740955 961257349 903003777 793777107 372411255 37072455 269013405 858980793 243034367 718437035 149030381 185491239 287280427 111842613 183860375 547277239 375106133 654778325 249618029 342680295 397115135 464241885 942920419 203451171 483574483 506040333 634474777 639857341 630476713 912878473 450027735 816714987 524719223 917159135 390079883 708314833 973884005 982046723 307432783 857424503 105958843 179356243 373034465 897952719 689580781 95957909 136486309 312235953 407141781 49908981 414777007 732227297 837797241 864696841 4852149 8599813 643608451 696058317 886472469 663827375 556217543 803485097 761670101 59937625 299833215 114828391 865605289 632543333 557701645 845443903 55864035 425528859 547111935 760285387 155896709 268643245 566208265 994575381 598007863 639386931 424268289 390658437 459667013 94365873 187581937 654587891 455656875 637648653 970322687 121498013 30114819 310773017 9228159 26009895 377074071 638452879 568760559 600891039 322368599 129343249 620271857 267773561 95939801 839026471 308504655 832165011 962281309 41855297 519179775 939043633 837032649 810412733 629027865 965729283 386129839 49082583 3594977 402946333 620869441 128614843 997471683 747815931 814865509 439791993 780942419 360285827 454386845 99375883 512530763 43284483 446997785 834169683 513283471 206066225 958688691 825806871 421851947 266446887 389688807 281111821 228136015 325341549 852328415 487598283 199787097 671195887 307657065 30999507 925878989 968573445 745985277 251156367 756157523 366644583 178151095 961415503 387224001 669561919 660627811 743365965 692765969 275371287 749176173 437090219 267000937 370136807 930231279 1501551 156689167 935040011 785312165 724365199 309921403 978453831 495327735 326406625 605989189 852247243 829271543 603768871 563333683 352126251 94111065 483270923 393602349 369617507 463583101 933103901 247014473 605992665 346913901 398727637 908934339 301869147 427523541 657910425 315917307 102402845 515813389 318006703 775330943 2035901 643859731 489009479 147150593 706611009 919232403 245373 407548763 254621717 486773719 413265 339604883 75760399 453680857 245304491 551799507 912058731 382221111 209412959 886320237 429719249 869528121 329840933 340026589 864940107 496686797 650327709 176205513 705694033 276515469 879894867 521038841 273911485 655564981 319512757 906569313 127902167 3129647 432215839 850276635 901613901 985917833 735081169 887618925 724566577 676298233 35431155 66739137 35383043 302210145 217802393 479611563 162700967 956177223 810304955 413859811 307640683 682459865 536865337 385617233 662607875 160731119 243194591 403106301 714538125 14518537 750696539 643006235 502025613 968915279 81976393 676437767 931917555 859804045 196726823 395915331 637750035 882840895 984236131 386223227 644003753 481178495 398806857 332207491 180612829 527503895 232325655 259403347 300566585 791121015 690396651 791957011 591530419 583123125 440910033 932854539 632352939 625458833 444859063 742862257 877476067 6367345 455002231 750302109 285600137 941263461 908039893 65558675 607960627 311064869 660583287 760497023 657859039 393264399 712484337 340334453 414878703 471284523 60686009 62350511 586923829 243576359 143436853 739127697 58051811 805191005 54617001 630319525 95951767 953837001 565049929 348636831 834691669 850905365 751312429 445699421 124967821 898507919 609643865 223262429 345288721 543684655 374913715 49041229 406297633 323377553 698647823 356906753 793938529 166580481 90102307 109504373 186403551 533300843 686785427 717468233 990141457 974175847 434914791 832550473 201713617 40687925 814832529 335112299 790247527 327323581 525360107 344760007 739573119 847333003 1393715 499902881 284161839 874496729 885697173 401721959 31002355 34650503 321076515 939020969 296425651 6651417 80394451 677044515 433714105 242849729 949205641 280438971 100586429 423174741 706744845 146069879 998875097 613904725 169171729 320802191 863519639 17928423 391111725 834577499 416309215 497790683 952216549 194927457 898484745 906473897 503547807 644354379 593327315 510668655 911143085 993021675 823587681 731186933 94295369 141190207 638948417 720832681 347211157 374384999 620966503 911003045 660230297 787867057 598373937 713245349 943435079 775803023 220042341 247350547 385463671 954805403 134422319 976387579 756028651 760380059 357905699 649415961 176727629 432295545 644152899 54075337 778816045 445793351 292079 63698961 51280903 836341059 867568375 76449699 792956727 866244301 363116177 942509783 702654987 146312051 495938391 559360425 706274995 243237863 105103697 829360833 113513031 486612997 576311277 720585839 638937033 731143119 983661821 925237165 94818595 973770865 412563391 949235989 458785829 956103487 957956059 520096241 36140425 879191731 893345885 630168881 14926321 870298479 686308537 116893803 452829413 82985281 112084427 292391645 338354133 6029339 80423645 271602803 58634525 428493081 562217625 963238583 454460669 625053567 474578963 608096737 216192159 283770293 244034507 750988243 760771347 847104079 635995813 646287123 163456083 64261899 343223535 595838417 407416385 518127563 265256287 879172833 321280931 675585945 435779599 769584327 434858799 39870379 898081159 714328229 610259579 884260441 271020467 177861455 22913289 193719335 921838313 228869179 249846081 508472515 860526309 235629189 824613751 538389499 884443599 19560953 695141091 898006225 893389617 741359619 338286247 477280355 479411459 589214395 374867145 245263613 304117921 641648609 163266879 248843539 623600591 181556699 924723933 721741379 464931261 560055483 515975273 274433611 347400189 835335477 582663563 908893723 889048975 120819113 81092051 706568899 256802775 902281503 225493435 585609855 255357859 152139335 29454755 846871475 911606311 91210359 117036245 161904107 374708737 563450031 236482181 488919767 863591989 123570837 540856007 269739863 90228019 654773113 415249825 388679273 456673743 926265683 853309947 694793277 270611525 856900543 437797027 70149923 220231485 66411785 468234583 273319065 599226049 570301215 166262197 449068095 144405833 753469077 202697289 584025315 435477679 918432175 131578753 383236469 816534843 277324111 671090873 373854741 592328345 937157129 277661487 964944643 986795745 92577041 277506833 766963115 930380171 746591561 399615083 8378271 29738113 76305975 772062779 217231259 800965391 9282313 286561119 873542789 851695849 398866327 437513635 979639909 210124077 210414433 32809141 15096687 701375839 155596429 718529839 678242557 16079983 581399275 603634069 138185365 761799087 599478005 73072973 304099553 123362273 516384453 754158507 325920437 958565925 962603813 177051877 434453003 125114123 242787461 499419423 260366085 582985095 374763515 384319329 58070769 65049591 928719941 928606365 165363009 59597089 81245901 307732141 728749201 821277489 198585505 461783887 1878947 368729277 259060601 634567985 663873635 98539459 254244531 781740255 942231269 612580007 484821591 60984791 62922339 203594037 867727891 345766775 33809985 466016165 771781697 290997257 661715209 213717905 946885853 865241535 773135215 120549123 825220239 420947889 113967439 141733731 447660969 848503521 216454315 561388171 394158367 57749305 138508977 382174133 274469779 612079243 465204401 398647943 66456139 535289741 350329639 927512077 446374965 966327011 773844151 772034495 403341545 607404565 95875371 246726779 280224679 756390037 354251383 706391425 561242709 588577979 359260599 432090499 803401347 812211403 642172975 340490645 947160169 86145003 447912007 222022195 913797095 104662829 362907797 992133189 897020289 341770891 685214933 934571029 806407527 11353575 91532007 196283483 257646195 924413961 452563415 905014065 255576355 412618147 680998619 455832863 661717149 856701005 319104587 167968787 95075249 202800009 9048749 985619551 96180181 333899201 363582377 731708867 514640939 612504901 746342165 882365537 616749689 228343631 118583789 932912075 133976623 511201025 590017873 513651699 295226721 718910051 969570703 349607479 455651281 883644261 51758359 579329115 963950567 547266787 280219529 88739215 508511665 415058847 367734437 782556519 753736165 833442621 462065493 765207775 983203555 626286933 548089009 731680605 329147317 474863707 230198511 388595631 645541639 603178673 180114549 930583307 409519153 433535907 263894735 33359371 541094451 218465375 981880239 215377847 47538867 434731265 1085937 762104955 1245443 569276299 559371415 749725485 682475797 426156769 309558733 518596619 982708879 465813465 578679781 461735863 255564211 740418091 722496605 607197251 627595377 543714681 181995733 651234335 347039587 131311177 629318171 973709101 574767815 104091921 709548833 130601905 977819523 57020711 159751683 54943061 164766759 284788685 558022403 943407667 544625641 612543275 936078733 486763973 590928811 134148437 506061109 620349937 588075763 638243139 358297269 423413763 401073903 164962261 38798575 105866165 656798073 477737175 733240817 843450911 422585869 669976055 609146863 370392775 474803413 521265105 251755585 147116701 231726493 199232229 209881195 163096821 655853791 92631197 537699609 195945101 513618107 260355143 268689695 999626375 141937141 203076129 731576439 502579571 100759295 806510667 738890565 949042759 408628977 972411851 353562835 880745309 388447365 133659029 7771285 707709311 95931689 476112259 385622311 73731797 806518247 43703637 444925261 88895479 576451705 194030515 51023599 867855075 900821565 172665649 134563363 461060093 442555707 306405191 88568867 8297235 867760419 682500437 421905491 350401625 257083979 541270437 912485183 563796331 285458609 386166377 108077975 672773203 155497727 187708603 363667769 257468539 253310339 270465947 206270505 385772473 415967539 765165297 959085967 914228553 522032305 160907921 168542913 385842385 604242755 573050161 376053819 505938783 511423959 72769397 618128541 169707623 46170631 721773287 155265971 209326281 751177999 778360565 612878195 32881095 498576601 19720185 165957367 633860111 216632561 969328183 453603199 861160119 781113745 891650261 922177915 239976509 713279129 211025127 758688123 257720707 378909325 168201315 872312125 310589147 861483423 310915885 345050785 918011639 22988453 209957389 995557557 456220659 887685663 275182517 899267755 612104793 408396595 830775231 821116125 429770769 758123699 704459177 549914577 317927285 953870865 57996767 163410225 177917503 97917555 676330163 823257295 715288725 484047259 1435995 108882345 197740549 126584057 594618107 197898463 552765059 735041191 80000923 122747583 115287405 16132193 373671725 185843643 920846473 19292305 884751499 912262511 660463363 289308997 512107635 866917789 894858353 657400629 627767953 391222577 222200783 108588735 321786997 768196925 523823237 851495145 765041819 276459519 234491229 931882599 644085087 826126809 451028877 181495435 929009167 355890261 792719797 928718423 494316507 472737063 424768215 807098227 817952477 255011627 618867043 245829931 126393107 621011811 437258283 374855033 3159401 446156795 753929583 386548733 67567791 912287047 717065171 617656571 619514015 39972033 639095651 113513061 791661275 532543501 72033431 552599249 116780011 494181365 968813899 654407295 311264833 370179949 117107653 552872533 159530293 664618641 371406769 492664547 905610761 208450979 927809829 785677153 193757927 690671121 472085405 11941037 689546207 387391339 760976127 198422095 759435755 784812141 660364953 517303159 300740077 900432891 21653023 699740667 802135981 837820959 623556785 426480473 875201755 949934349 973501905 138802107 337825811 484238883 857406573 147213039 51109845 842126047 287444955 362808171 440414603 556497393 430687961 324354385 436324997 211663913 932628107 931699559 889867517 669021571 440229757 594057243 947661589 933525027 204596903 813376133 139275221 289772883 893228133 862215527 829081133 671500425 716222843 113911331 811814393 372272221 465372185 623541709 531473145 675851157 836328145 300394009 928608727 725347355 140107171 53679207 428117795 910514177 126346995 892901057 812428375 52403843 701221007 246474449 406016211 841900805 988299947 766559475 938414819 308668435 896945895 318532389 644594869 416427615 151509315 502017549 807198565 640478147 172445491 757080061 433062899 831009349 305610373 380352487 285791305 756722959 694601341 300333681 303015477 208986995 982205115 984927965 691690101 628275695 469214801 66818587 591433641 563674915 657612463 379792325 99250519 16591069 662628023 821273367 246732021 121948943 590014379 995651067 616559831 19344597 130963003 298094079 641066307 242441585 335801721 611756889 84753761 487655759 331008997 234966507 508301375 93806337 671076451 716268603 681309659 99613253 191179583 411907191 316133907 707907323 695295281 316211063 301726131 683787825 324439637 704385467 80654697 816530201 25356593 854388843 148669649 169159695 455971761 356957779 962857835 894200213 201089579 634885357 928780703 579176791 858785883 670742873 174788545 185180969 974927463 500091227 680941831 765170693 828822493 81860197 671992981 489364239 958311603 656199309 161095285 88625809 779394627 614515603 766383253 713545983 695272533 496789469 714909137 25039349 823838231 577052027 10002151 192995125 946734875 491384613 847452035 988358571 189458015 155961 547952951 239039595 769373515 632411839 249807483 713258415 444528811 133879397 997517743 370705371 209606577 791336837 477612061 769094777 592229119 761215771 52967671 395684671 299331993 221870289 700322391 995575045 39843817 729779189 677454907 658314447 363787465 159986813 700595599 954976459 643141747 249680907 3863333 248589129 116020109 400154853 596815027 277081541 136227365 101842681 768618461 385334755 471255727 701651167 611513131 762702957 3941643 205074135 458109711 90618969 100936057 310523849 201180387 609472959 575303595 327653441 549222885 404324581 165646261 144678777 733757505 331958067 490047253 197693521 458338825 815769663 544949165 729708621 233806387 50774213 112961231 81218207 946410403 252030885 739126315 666684701 223226913 962533613 696848611 824384325 739079007 553799373 954887289 375206211 273031157 464691877 497025501 470599905 136205415 237043699 181807713 679919255 662467611 261395303 808656581 625831047 114405987 366404561 894888493 67802487 972590969 633061167 29542695 47187415 898112383 816176545 655712935 454142651 797211517 291307125 961905419 384243431 581424229 493867805 908944151 191993279 341080079 184844339 641678075 687115857 771485757 189581437 398858571 981932633 178620825 397427173 714803203 917504307 311647925 296597119 359476619 975835365 220578567 723745155 363735469 797966625 5170673 705234521 871973023 221105213 3111871 10123145 423710721 422768185 893032609 706735559 670695381 370843581 786890159 997433069 387356041 851985173 809895915 659363587 109922547 210792251 193523519 81808175 319266129 611757263 472844155 440052421 623905863 262037269 879284569 837242435 747897057 96960767 733900667 970047563 774389399 332661283 410629993 493620391 460886597 691094463 770351763 752281419 6449 217780669 840243029 310312787 548662789 356164525 50865135 561657857 215975387 723839425 375288203 734609857 369927469 580550621 472726329 327178535 872023265 238035079 347389171 10093037 8398149 723651567 691952795 149141495 423802637 232107241 599397623 176855119 337248345 889850361 593266365 873296425 916458921 24329281 163713923 831659489 137112817 586080917 478830283 207363579 96893569 856659561 190035197 220821535 607381527 380776671 374622829 447200291 345089499 368646077 789256787 972763393 517465943 594663025 71630289 151384541 82403459 640407315 152244461 881231617 652310713 97105251 122100125 596866787 692007363 130655175 763846327 203671835 474360009 772056145 878003963 315832175 352960869 334394805 281393687 263027399 36190863 43453011 212292505 201749049 585988529 198831411 348877819 228058111 760160663 357269765 436107677 470033533 394811765 627349791 998279627 620675391 245274089 927846017 931142579 273379319 996041209 364744401 589551985 825179519 886322705 607422303 210921219 595295965 64894215 968367137 71511895 206022201 223255831 856003769 32080699 434562027 179981033 154120045 729037415 73179497 30006919 488486957 790959745 984940121 313971303 378966413 744809997 169810311 84834921 419305937 407122303 84957157 849765071 323688923 11244593 354564493 113772871 410257471 802053987 592657093 223813607 382827569 178834749 979371767 626310189 361448595 18541011 545627573 628012541 897828585 494748187 768517565 233078947 260367463 365817 376667119 850187735 419319007 179202615 825829977 760981173 971407827 50178947 195488045 791461571 235869033 697637751 220832711 317110507 277321585 119510679 275154345 285616263 681453155 160706633 192528255 263192145 197923423 654083041 341458970 886509423 700331561 521638805 597986171 83188335 67162675 90960265 788876737 760801863 799147409 133498055 721490487 446218065 972657927 364769853 890727505 340353109 271477753 577246661 78333611 388424063 359383927 786581283 551427079 7112037 167183673 780518653 297460817 761942021 210573981 934085093 698235805 594400193 776080299 259335511 58901283 498916459 580764689 665911473 681751115 646915635 417072167 573194813 404987293 458778811 179893231 491141677 57052111 942831621 751503883 163528089 877640377 543186817 875341007 212806533 450029151 841616641 476023599 610493399 123962349 386799045 723117517 511478881 743464631 268236145 364550127 201826269 303143735 385724179 450543235 469094637 215982609 561724959 777088801 294043929 670579983 760445299 554170633 903430099 71165479 484522069 573622817 718226803 658919537 224377201 554475513 377452093 573328177 704559069 277565129 149089111 72406229 252217877 83902577 5253075 326313453 601515265 47058293 668474283 475893301 865165547 575392261 100782273 325227409 281089673 450475771 639931869 362640139 112706043 260574933 163761073 529248729 847535043 536896697 434922965 634861651 84926927 183269239 569918923 315183359 900882551 230158981 572640253 268226439 696553331 990810373 958256315 193247165 620638957 455922365 345797439 666272925 907254385 44926235 349495467 779521355 908853747 24321081 280128263 794085395 714394833 934374355 917711429 936596327 332152015 839080531 452635453 902710497 629744413 727974853 962334897 874653255 169049935 199956709 634615883 614856323 194465376 519682573 57097115 276367527 612447161 142048841 868411675 438002415 155637797 622409285 328922923 218569665 587606745 842715481 846715671 100310693 885405813 651589765 231432207 287910735 525614587 432335727 138785323 635647641 159886297 229116775 670539629 633341833 417412325 435114597 755910333 848792649 953887579 344668681 427709679 147446571 421767651 75870871 459339195 868646317 75469447 604611071 420795075 254326641 406502847 934190811 211393679 936907585 587727719 413295977 925759375 15485969 481563075 738681999 165176607 839123451 103931523 515235549 417054335 889820997 701937081 957792649 893975511 682025307 987213029 178844533 235193147 659092427 486517739 192587815 993319843 419805013 525523993 145955021 648911857 696205019 758309155 293758785 15342059 835720807 45894183 146317055 72118087 900001837 840110251 196743215 769871513 778463113 341204891 898205859 382071399 556663805 148470861 796485327 183882265 888114741 628696957 735124693 941100799 976666885 78014035 933154169 154751313 988413031 15411545 876127533 324655925 341231743 319527303 491549447 413329839 882366615 579554615 140213191 568880051 708058149 217275185 956998357 189896987 416397761 844687779 336210237 135784359 594142767 352583455 696820409 247644159 482898267 403797925 616110247 1808055 240539481 195368857 391504143 743247175 985150821 920966343 277565857 819922703 290522847 368277863 693640369 103134809 880369747 646040341 974786115 215151961 993627765 54809559 569232635 788439843 791581475 463396121 618688297 519503549 469267035 82797743 126706115 523742221 1599821 387799513 354567019 206254823 89410889 623805501 995358567 820413953 495084235 626982117 420559013 883021311 998874231 51857735 308971711 662599787 878938649 798577729 158910705 479052467 996800419 339243801 707027235 834353969 904464431 576454269 868847847 137794601 177289987 806963071 36218993 657789121 779839623 576482461 343324579 354112525 968853843 2011327 840231169 233554947 178332445 216818223 601057981 201609351 312838603 135778213 373813677 807123041 238573673 681539901 197858385 559450179 972792873 431512443 305327055 659481543 965917029 803170383 731626743 670747755 592292515 867928075 11606849 613020829 959609229 932322415 827552717 964427945 16500215 158850977 773388383 216814539 239675097 183094057 497005159 357617445 808639323 172793603 577733631 857494719 179043269 709374599 220965603 216618123 802369675 198190973 433786237 229052259 395807559 679085841 982883291 285663237 417275327 82216663 64415413 468013597 91742941 6446545 292927593 572963643 572426677 460004703 937850877 751850459 68897921 926262867 454205989 271805019 29430179 649954269 484144691 695775749 13698217 828647071 710307113 882173449 590213445 128556955 736834735 319205509 778165331 95803199 637792273 697148789 205129941 510773347 969260361 369281989 1187577 255078719 777595383 310061637 572048653 856358525 904555103 368160943 341180049 176983081 405549683 447007909 135633191 887387831 660826825 894484143 726686617 960746501 277220257 469530943 895406301 787288665 355225569 426039725 171294987 495554909 921899033 453162811 140912231 79614763 989689217 399523859 538329693 451500861 760782071 850295877 146884225 269806459 116938755 396190411 125631885 115640111 572971477 494034567 480848485 737897487 390993987 513692993 809253139 691626299 63140555 775529129 660299725 80382005 506806679 614409563 673962475 262829547 58053749 241258457 479791347 832055731 476275675 657635207 986885517 751213641 846545899 568220091 218405519 732018901 813994347 756493485 868190707 21901283 500265161 274610303 623168477 993450085 648934173 347708473 166566297 214954173 212739881 580094155 579926679 198367663 267362895 686410257 732496759 879776613 877376419 485276107 160617207 638851705 194466521 649725091 922794759 414547173 750028625 508221225 777340855 509035279 915046165 343620823 967463493 695849157 384143823 176876301 309027857 234517563 744799195 783658007 983256489 811857167 637513015 667039267 641894333 802662215 821775497 60300877 170380845 453400143 316980771 313824661 403537657 858364925 329728759 348042213 413002571 312900495 140876201 931019021 978857083 261120679 280566655 453419461 940504319 668232277 924170601 707563187 86502783 138923535 219791613 396743515 610042307 114646193 398537593 764060467 895585725 219182463 265952455 679553679 313358989 265078567 650999925 503774645 684542323 57870017 117895353 921527245 424236763 330777797 871736693 405261799 870203735 487932957 88359215 598072315 917316773 839744277 827663381 120315887 977624231 69087841 750389503 871207047 500683879 445855775 997617773 64866935 822459161 143215829 906189703 519101273 569798425 867491951 977147161 922069677 861524201 276592449 709607069 865267419 112167989 81135885 611685683 9350711 838721231 847160307 696359583 954486775 255860661 662035843 588210259 414920001 753027081 941568945 374032997 993599001 847324693 581524957 94794389 788350067 213703757 743543753 200919369 788734249 475343437 262353059 458904721 346589945 450435033 871769089 659952933 10334097 611013593 107350241 12346723 606804605 277994851 979627687 365619283 568311355 246549681 378091551 651036835 106331945 625351719 134882945 901943213 544504977 196870479 112212585 874803821 509681573 580590045 608671451 662943373 316718719 823160493 898805831 671379291 688930589 250903235 895278465 463299789 425166443 10273863 80043205 71956613 717584699 22925199 319340217 324064457 481749827 268990997 2284395 599461767 604731943 770039677 936930127 276476247 312014961 379792019 364171843 76124793 319692943 195157063 848825997 789131221 722180571 269288121 198844377 413224439 196091799 500646951 988790333 363507225 72583151 755358721 798979895 312648987 142034671 819159 537762985 220119169 507311507 585973861 720420835 811669885 724231869 131439759 745387675 654329829 142231093 91240033 302098413 488217399 888388013 548764685 653208925 530612637 631791549 142307565 189060569 54621415 481337577 153404039 670017721 337986439 953412759 245271941 488425143 4701601 774078489 894531257 282449145 96086011 357750697 898224159 420566027 529676037 432942441 923402717 204486885 111585235 435104865 34093881 507544547 721134889 901833091 989627819 882512843 756057707 909393063 488884173 144442057 747216551 567104911 242453089 179664755 758172057 323313893 243513683 709548485 142862491 282400059 541382837 863566373 692913593 227897351 741265349 241944675 591413407 51031725 695709667 854635183 927871397 601997683 668782493 554997417 510843083 95543439 626698149 715664985 691743417 764228375 733694935 958910247 60425147 826371597 548407861 764666091 43968715 294672731 293770219 855851235 640471177 227027153 309754957 502006449 410639417 195731241 797039059 597172071 271626445 791684357 113064741 708497527 823214555 43886061 44796427 678756543 168257697 3797329 784316537 512591235 561690377 600627085 524012427 211234163 415539873 824607971 982939267 956288419 773452193 364959863 802091471 906790543 806228455 768862559 716153341 635085085 146739707 413460883 173274317 991402395 376710157 578333429 443639329 443238589 940590833 167843405 484231427 768185505 279566121 730925643 125127849 379619277 859910621 593542283 121159531 694349357 640694235 231018637 125789645 875345431 777507481 509146299 472781691 271781705 37873977 185170277 1871433 365608933 723877249 188023235 45607729 912004989 451366623 606707963 736079703 264039937 891743595 815361811 898681095 176181971 248655589 809967099 167998129 224162229 430735795 112219279 153827827 561724887 121435111 101573007 141189777 128585419 860552757 875879075 549357939 862622097 610492669 11147615 310751153 635907981 388713799 904577083 684780929 829707149 344999875 80724375 98943305 757692101 391160775 8586431 885858451 324564947 991409747 796213985 218122517 409612733 420490509 164952601 229452711 16350447 510567237 819485799 840655695 102743101 514350833 251686067 442360375 51972585 538011059 874211281 193543345 679027859 31437265 913308535 608242233 239788107 329768763 95995723 428477045 16434055 322980485 529267665 555970091 99466785 387758577 934835069 265769043 558742113 858264167 879106985 579077895 896407541 935965301 868766101 622268553 872977647 447700817 896969577 248708675 51292879 322339805 205303097 839895501 131272055 783102877 456824315 259656157 368873529 765510595 764700309 726330203 609036999 142646823 676158667 947137615 220499007 904559685 494099025 67016941 340261925 355412549 889522113 767259279 666755433 800796663 832824729 14064827 987443039 72178643 879430981 759451675 949776067 306275833 504329751 989764995 494557371 964912941 255345733 651023595 499665365 597733343 298273781 139756667 168048901 954978601 679161387 764055419 684346027 589381065 743646683 250721119 131517833 920425765 548286173 906663107 702103501 872954445 460596981 790172777 672199693 250861817 101096649 760977981 925352517 760407687 841473259 724328019 227867869 15170301 411239127 699290597 837404575 283748879 684823019 335680087 229210819 415381519 92735089 1632819 914010597 322480897 797195931 291683885 844215049 954903431 532173697 669581345 668361631 102117877 754640935 637719569 739301753 864523071 320205939 670976811 500882903 556592135 701402167 100769469 710053981 41430417 819127853 929958727 583316505 739007183 989964023 585197931 738248319 188743513 777114141 482694389 413290093 839829099 450108689 486839253 68592937 549903341 801134637 422076713 39021407 522403695 915517871 200665141 120433699 599519017 250539715 869774689 966044663 737227513 913961081 220702531 711225787 383816553 168951499 83941269 471461311 814000291 54436763 324428347 441058489 950062979 401057713 513522753 433653955 836231303 854277055 726579927 289014887 811528917 498305885 232485469 652475789 716600637 971623437 647293265 975067789 843596085 751127097 76861283 653725989 424951775 230796337 286187107 795743609 949026049 112943921 791047501 922632469 681675273 724415061 729532743 300123121 563171601 724679083 832862359 922180969 478868949 813957411 902982581 176998723 187403967 837972373 921209403 181085867 841450459 282489283 103909865 203899701 586483685 355840343 222184367 170879969 814031671 575732705 666911389 704120341 564537565 392209371 676395249 311847067 172745603 371377573 109743883 154943145 481152129 200724107 93618297 825685725 728569047 20465085 121326317 538333757 412320811 274051411 675103555 317599029 881887181 139375439 303674491 177066651 963761589 424824987 862726853 746333869 810700675 9488903 497055859 503840271 69483387 323387725 304142591 359353037 73613197 589722637 709572107 108325727 825645139 108544723 954339941 239613343 645123595 128975373 496407807 833294807 905243035 758955287 66254837 342744495 401820051 59463985 998323081 37587777 495215913 303193221 33600807 371265031 892880703 610927395 473114723 34526183 432635227 461825539 774418933 750945327 201357483 857344523 303678149 377851027 448616713 235830527 581120731 332226609 36397041 263465621 805138539 476585103 123781003 542061411 301493457 364991129 653767593 313261545 918536081 269914021 673008319 740926869 974386515 85519983 1804527 811784117 259727597 825549341 11095293 12926083 116286041 309940031 653455707 775868447 968065977 329333445 198446879 111111059 246788701 804150033 826910473 602110419 303948211 447928549 511078015 439738035 436103769 996596847 377842323 181403641 473984273 274503239 778803449 672518733 549960137 410664037 740387601 178502205 67580561 13639475 877390051 593849159 205243557 403244669 760142367 26813129 115147113 101104759 863318297 125678863 855669095 400366271 594244565 22928967 419658581 639327065 682467063 31829387 796292363 401446837 250034895 612837343 245504655 531442599 408673363 99393321 108500233 743866987 455882789 77461309 459027407 299658663 560529291 241708243 715111261 806933609 884900211 845034635 235694675 846583335 348701047 146918383 101696125 482464699 786993363 530399345 657265105 667497581 140035439 82311787 181735783 282639593 43062493 879640603 75010693 551950405 505358161 936712877 61096341 633059071 289396397 564377907 117023017 794796027 932908405 159319971 237379325 501295493 269253083 913398753 312959735 328431189 838887093 139785399 612348959 649091719 416048259 658859219 481843111 710760607 230323307 166045135 317287407 241861773 643499325 804938543 545617783 817827491 668924529 644513625 128732651 738775713 425474341 701846687 970431773 970429099 409634595 591733821 631105547 405628495 420178901 667518799 964414933 781183873 714152791 381233637 787963593 397690271 846185317 449890793 744848729 180771951 18556521 700451899 717762337 744998685 422620273 908241303 23351779 182188351 361095733 588243881 53564043 780588497 34051601 907008003 721601579 160530491 224406289 141715227 264007937 474899271 445421025 468825941 908323183 364702253 74157019 328728057 504590079 697635719 770885115 687902777 997178725 411442783 266546155 560218157 597024125 282326301 154115319 755989975 236690505 802887321 486157593 17588257 116147189 340168977 29519857 281139675 383862997 455177001 23841731 187120833 932095587 542992111 342372481 580581999 162720833 928273623 574650561 528272755 743309119 228972223 84373187 353858109 465354827 717873899 987234157 719995429 865324419 432650507 295442255 283751021 500266793 658966835 353041825 807832383 644871851 753492703 751467329 46815403 28136343 471429109 398542775 415414699 97748655 328989635 261972019 951085345 561075407 433050111 238310027 590490837 135195657 575609283 854314557 693037177 183476363 346485399 991439219 599741605 957049267 785503079 843163643 595991515 590883589 36628875 309571659 878878595 914018601 438447547 726759045 824156915 607866613 594528033 78521199 31935583 503837797 693499975 108237687 947437033 814814105 115939365 405039029 958834333 988650461 896099095 315596521 99919209 390633127 786122721 863630971 745699369 217035919 884425907 787256183 51164829 642491995 955304993 701532569 214121327 614913523 5183527 716040251 582611759 690567535 503515947 647144295 263399767 100267525 882046203 712671949 672329031 837949211 743336907 291517635 768172363 223340861 426595129 311215433 302549905 222666525 234931019 958792453 427908917 630677653 998536557 825742407 921667895 913752491 92931957 399351303 223110529 741048201 443015839 999473891 605668835 160126849 598327443 811876387 707760919 346558993 460819035 592576183 624620477 627612121 984124783 979780149 379792223 879900327 610783913 459016155 439342449 208998509 652026193 186274707 710163529 598330437 958245909 696370411 64961575 542307701 772717575 165106713 628759609 80322663 592638375 941763327 542052237 337327535 996965337 401760291 526176283 809668359 83723499 676226483 157718473 250028625 191848337 280150663 671141211 442846363 462138345 290080031 494729605 275042071 176167543 129288867 35471841 736833057 863558955 364575711 347306479 420797499 567841881 659802189 99368983 352337169 280574397 426745613 809740973 642989175 823661439 156678115 292422889 855546727 733643049 330548289 469766635 31702275 590933169 75659325 180963261 781433755 303985015 625459607 534745681 38960029 35836221 287027893 289988225 362227367 530815281 223493543 874691851 432612475 608797417 601268517 336791453 457501189 143328611 545043853 27989443 150530137 244328961 165024231 838063099 539532209 552750997 987763425 492292259 243778161 406549841 8121301 849157381 349942819 674377683 965851071 250245203 272342653 478276639 44415561 137190567 832123991 453161637 421738689 363231743 707848373 867515959 521039133 138722121 925861829 432225557 796338943 553014609 185844183 885503459 23867565 517951445 835392103 583330991 981145109 680324723 194697497 11666927 963258319 712684981 610013367 703413629 617044507 537160205 600119351 340924833 224877537 497901267 390286257 943906311 785907117 473760587 838858603 545161925 232015033 185252251 25507533 84595543 488698853 837713877 181474157 338874789 205209269 707712243 375084551 56355577 82174043 760337367 173996411 856845579 942672045 443583561 432777685 458298613 851525417 917089275 129942347 668025921 408665593 569915783 995263799 989425111 744315627 871580011 696017177 925992719 164111479 651929875 352101793 922728103 629313723 947151311 307501983 281979843 886532735 758597083 491906321 494170353 988605491 661071187 114694167 817362725 22295787 316008773 987612159 812069053 851930475 966924449 960178747 432692863 437426965 766290751 217428837 422641815 772273405 199190755 73537603 546119065 364617945 358177331 248823487 731083143 704651781 280139201 962971371 681123009 98028173 344332039 625504261 697461015 508799517 222312807 907993455 272748735 544055053 294131497 376591795 707316563 243550557 300136061 641475461 866088155 812094389 22408319 808174783 833173701 185041505 147202609 374455655 205258979 292111963 317974391 350711463 407929971 301834307 3383849 700238803 163353373 721848669 488277755 17335141 389670381 959409819 404116111 463683583 262878295 412969363 379119217 273731953 635932983 298108803 718001681 313849769 296086999 606282837 318173639 174836677 204217057 142912919 47126997 447480583 406632809 846945153 268215139 160373211 891928047 567329777 624211335 243066069 138932055 710750063 617702963 616120751 62372847 122530345 214613327 977526347 860081773 300863225 916953505 657084345 462643435 984782939 699485145 649734951 18191857 55211897 212262803 371118323 691025259 985904929 22740047 661842335 200011183 125105865 111824503 870727385 3116665 449276819 523242075 492311665 562286577 535689027 310772021 461771107 650704801 281520461 323276837 500253395 843755393 751548355 785743159 349449995 3280109 544884839 429835865 338758785 353228713 669172639 684894823 722643149 246631141 765508989 622926369 764343731 199494195 959073973 673298735 776793633 681032339 356248487 77887269 966139175 955062121 615345499 953690747 662254849 979836803 667782785 805848465 183863827 341832725 483950703 793032627 361498089 870290877 204232739 146749967 872008245 700256127 41483079 393681601 445592529 402450379 2386219 70683593 112988611 258740597 281819073 223162383 773960755 292116153 549318317 754831975 152509303 258341439 193987125 835381897 816686347 216232977 578816071 796765205 222410383 346613925 379800957 13745557 590372561 301410267 556798483 783005053 457961667 642463221 872464115 684218657 473214079 444774561 777038507 968268743 103767627 725855735 347080817 604410261 638109073 742188911 19857703 844554399 159383523 534234355 450417233 644962781 492639743 308097999 702363425 296465967 238115013 344186807 825925487 687049567 783758915 891576265 555477685 485578015 283096235 338728841 668941089 106257417 145875289 211324903 236219517 567291035 217504719 70418997 773679939 454465603 530791097 592826163 413409683 122655309 70228713 488485383 877170225 246733559 38213213 696958779 945254797 231757407 501440309 4100037 621483713 943276943 309018815 775314435 667666059 528527225 771608175 135101115 235524689 76607989 504876763 150253593 816160547 710079687 863620813 389656243 495551161 523541653 93459499 811082375 477219953 203550707 692749577 142824439 256017489 87276631 241337509 114837205 909072909 325498149 287079009 695192403 418787831 63540389 46728903 157697293 495128083 538649353 815894155 699046925 165004547 623382377 773397897 649392571 427519771 573106889 917498821 682641393 357712207 327753487 930672231 418561001 322760769 223776781 782725829 705262409 801828661 641719935 430163289 297957149 236627741 444400387 54861511 956232925 43618191 724285731 189054169 6209895 301362123 554204751 812987781 445037051 622203833 36846821 532818403 649925451 367958757 697846561 364177207 119360107 302518153 174018607 933278703 640040919 893462915 695238943 284150427 645594743 245644125 808785901 922374391 703464085 319944001 259606133 964526311 442903785 863740427 876968325 434898293 901396365 139175993 95693261 947493335 450649865 909688049 188536549 200651365 918396747 48824579 671819855 26747301 261571749 839100901 884584053 635095359 43065047 948841657 807690153 34547467 913384963 426878277 658666273 847177215 903444923 944983799 776483327 68677953 96828913 320103401 234852431 778001181 229169155 67402711 475864065 728465923 717350325 15398187 819357165 306280851 501602871 715806705 102214357 769855373 574119709 449543909 184677987 182378715 827272035 691009633 81909799 771901589 214425711 749068145 987739291 762432753 911783183 489265345 941862433 995376215 743981689 246267305 89422847 979599949 992291655 683403561 71448939 441051275 448457345 387467495 86770299 321720811 986550931 68052531 865775921 576675183 16694867 105636101 313444983 182794051 721738239 258284283 573653277 262091705 309175353 252670047 275552477 838509647 967155987 929336603 885509463 571360421 141971197 286009803 879411991 889221513 751402969 3259053 772990091 813258733 553056747 289935013 256935183 856899565 515158237 565746247 752815587 343582667 151993033 507227849 12695345 643875059 995911465 483368201 514780425 326908665 747486179 787272335 970179685 933683351 830650435 735895177 857862181 757697711 565763 507102415 897870357 408749393 106888251 48498915 775092707 968932011 869741681 701079271 949395499 298499099 185803669 651209391 586321261 637441315 721528059 388989615 707574033 741539439 266574689 185111817 818816619 207710419 708773865 966900353 466292147 449264201 588961571 902350217 971059465 627958517 357704197 727651127 217919351 537830945 730281705 46867531 637275633 902602561 101679257 555540011 149795403 495758065 318424381 537960425 356483147 999758325 349749101 807856953 206986905 770598965 880568615 718473083 522011075 407545287 75395791 82794167 248922951 355907557 231294003 478078619 406037635 367129587 810014597 888513409 113273283 732946557 695506535 563799399 205891381 375220787 351887581 285038835 194244083 191090421 152540755 507130485 880651009 852825793 201194143 59924707 402788933 430907079 137846013 844164319 106903443 651654231 864880403 276859311 501523875 346102765 233526767 939887681 823947541 860812333 559213317 109391405 81633651 940766435 541291317 329270453 21777455 626118143 575934401 519655355 502746531 794492065 706187607 391011539 236107789 756562439 857563917 988092977 940084379 149657761 506375521 690802615 56086617 31205631 660918581 285738473 210565957 291636959 754288347 134098681 713956157 639908897 152105219 423999933 107317515 876766675 631648719 767288501 373843809 340153639 300095939 487842567 192666583 323640951 922281161 907748739 550807025 242352201 810956603 999264673 347568661 396771911 28077779 843589759 394806421 805016643 706055607 962837477 84245677 107760955 439041909 677248323 853752699 524047439 607435777 474295983 423442185 710898125 607269049 160507367 737737545 560633383 241874275 600211285 313488659 848691449 787872555 364808967 97496361 869815813 361142695 622388661 415254837 115650103 198091731 636074939 993439945 909051555 515564311 734961189 295221851 208527745 567071293 278111647 727878223 604544825 886531195 214633347 763390445 223572819 238292081 551506125 517006439 532940163 587964705 856458021 949024725 624294053 980958459 834004957 911498297 593344443 642382033 873345257 307977853 562216177 664171747 319287787 872986483 563210907 225321429 291270951 420410065 750897715 664533939 219743887 27395641 346986333 819193077 797911737 894924343 42103523 194500471 689257445 673683259 141997497 625936255 620181753 271068829 411760123 917431993 423810181 118042527 456120301 637303097 995871169 872593003 843236599 845631617 273047947 762730257 367751855 189730417 351457131 333462669 692062159 911769177 770994321 559625147 465734459 973240813 559016657 910814313 6685437 287956045 516441519 98547783 873390923 532567803 157479247 515961837 401086333 641027301 586937729 828444637 337476887 403790177 94917819 919298945 154266311 372419373 656578847 731443753 59820381 626958701 436036979 234054159 900993749 477953197 477515813 726725971 226578771 412587493 331234893 723789057 649082403 633057649 8347819 612612617 30911669 453870613 579580583 974093889 536132009 378864641 609913677 806088561 96148925 331996615 917627481 539999291 140224225 194579815 327243557 401262389 142566693 748668229 262738363 543373783 827680197 224880943 925217227 875623299 199502375 997048665 468858283 806393983 684250833 319443811 41015643 956558593 207159419 783942989 291953537 296968735 493883135 640502923 62248557 835048153 269430877 77770987 447527703 770452253 182428101 69531057 484246045 839210169 698917001 974986365 735830727 8726119 755380001 94960737 868241413 557556935 941271091 728227533 184687467 844722021 782486923 3204259 807132733 841309615 983453979 327220517 708868191 438504449 389569023 795460355 205557601 6130331 536114041 780506447 14232441 639272101 659753973 273512073 174289033 123900211 861907973 882241941 114437909 721653309 97180007 393767615 45757265 525182371 91987965 600094399 141481999 310453295 30924497 107339697 867057617 170676885 447752471 504140827 588909503 360112745 477528361 680861161 172484773 493436721 354154895 837785969 858397693 116627283 735227375 187388015 547185383 962562339 828528669 511677705 31995175 242736601 89329943 506762957 688989743 276542613 603315199 615259569 160365589 444198241 122660127 484388623 484265111 267903023 565836011 894220463 411779105 564946905 955741951 678512575 926593725 509907231 443813149 153357777 621361957 415413673 76337203 130727395 312426935 951344907 88695631 692875101 763978107 899003835 238430385 74281227 226194719 468259869 376761531 366192671 842402301 865813881 392235257 227909947 194000657 640926467 839932187 573387107 245615621 398940879 105115647 924536577 130642471 248687843 86669993 789150959 751320941 192124453 652790081 834015591 821113 111889255 662378525 415731471 216346257 459501669 204912311 507292149 22010531 240474301 102039731 560089741 385455687 280236281 181617885 672872629 441224637 879313291 256898597 345519795 79494635 228331467 587193513 315031603 366796643 803410173 998630573 405170507 579890009 714581319 786436507 345034617 715408045 89254075 865170181 242488479 463519465 540269653 579837351 261803535 369868599 652011251 575666789 690470777 28021107 946204255 786193739 749758463 529206043 56770633 941707403 879711011 754013781 599992143 271016831 514746837 743694577 11030509 727471021 443320679 620712295 983238543 98768317 640894617 362083797 870484357 455921287 539891343 260478723 453756427 807541249 854179799 474478945 163213631 698102353 103779685 675052547 71442475 984666819 281425303 485537709 829923263 51401929 423287601 802386881 605736921 670655231 675308131 138636115 253730357 367060007 394343361 615895065 201412991 521680939 942353735 227560815 884006983 814501155 791801181 954656609 370659847 863905351 96380877 183031195 502262817 872802041 198538957 201089653 643248861 19076551 330297341 22780399 962569323 859734883 696826207 641351345 828759017 803966377 431841889 124334855 940779091 164901019 670992089 52763627 584164245 993686373 259572229 323582973 253907327 506410329 529742729 652124801 191318731 628229365 22677105 85171817 495698969 434509531 682094645 225827657 622720245 297654997 4709809 373464677 250612943 732465367 969037867 133864353 243642367 957964797 941775437 378925709 50112199 565078921 217871153 214197601 808323665 953043431 113485137 883545595 372655021 574133163 758221203 968928995 515633365 940554895 752212037 288506951 278529961 617156215 312391195 360004865 755138805 455297133 214039349 700851597 948678503 480469925 461264915 965904661 382720667 619884155 492483753 685019751 288732177 537404275 364408647 281419513 893677107 500388405 52317611 627144685 415702865 328934039 601734141 485599495 525620389 705065363 846870983 815053241 832177999 311765581 221881089 29174299 135099227 395955473 988780805 83677673 355505847 895735375 572108701 23274379 427121215 581196197 997469681 174353 288373427 780028119 482897307 884774709 442111421 613467341 573027731 755666001 911199979 980860061 733100867 672330095 207505083 267984003 85240183 928398655 104210315 755954911 129967971 7026967 645993639 22610749 592403365 117947893 238439229 604026195 481996611 107050883 93838697 496884217 376827049 122085135 282647851 718086709 341023917 38701201 807120235 492648497 778527115 246760359 617341693 946043967 279909355 658037913 908563865 978353627 637593559 70998869 608663263 390368425 108882373 643203701 554377561 370044789 1095573 770013237 10882427 32031025 297356681 109431167 246185625 872857593 802136399 503871713 922770425 326376973 412222205 201103761 764104129 321287389 107204113 42539633 471134725 421592571 721037935 558695173 884041661 928685599 72173411 428446847 663264713 47735345 723822245 965464757 961505267 714750519 998783825 350152487 675306989 787587177 847104237 331168765 40301137 185033761 337250403 616770819 916428189 637482721 387870477 948888755 341226303 253626197 182951333 91292971 275602051 544033873 145928017 327729461 594559399 263567821 519014047 579333435 62060745 702623729 708450437 237113945 497111795 327765509 125069661 45075277 841926423 680166781 104327151 363957117 966755087 702833909 153063527 624716793 291847833 926313775 474706779 886707833 367083105 633425943 872526537 395764825 78814457 86835137 507831571 262099365 968608215 250813287 287245323 918811659 350027359 135954027 767272417 148659167 929729241 204642653 579215927 49397539 111895927 738350315 663085327 401841279 294417747 182249203 617526745 229402689 127042923 325798775 731057255 352618847 843292587 884224419 414865401 237752955 241034723 974688459 405853747 392653017 352269007 702772585 417893411 978845035 176897293 917961761 460241725 824465863 991248935 487784127 990340191 51717421 613618575 150746931 342977743 572830597 335347613 488379035 941570873 152941147 175745171 383213115 771304115 57469417 471964059 286889595 12024761 572299789 973417413 164797937 558120755 380955471 254074637 832349271 31824235 720104415 44214607 411361169 874357527 897813139 787167577 116846251 70116439 574311401 98509275 105724117 422807981 776980235 48329325 116427887 828929799 833182407 704218259 346259447 173529275 68955797 159066801 319106845 825053319 694256531 186119967 489002929 520557711 810231177 941016337 429053103 321848417 933556709 535644585 74882365 49115633 215048385 121593075 151657377 661366429 558626265 166651615 499119187 394894377 671203223 941010501 558171883 931031493 877136391 447688679 57158447 154743555 343439843 889587567 564599817 595948261 864796043 835082861 814350475 563209419 70140933 905007963 163357427 701481861 543524863 403565723 35281313 867139143 709685969 747822453 102048291 394661297 205418875 750651673 26140715 851934915 416973731 395041699 479167635 498946545 536370329 927752979 329994849 744434187 398471253 482183763 519922623 784231247 984002165 372125747 538417921 139508325 420540737 19588205 760627103 346934103 126768297 23550625 273385281 21362333 588929859 400773979 769289391 134040595 211672909 345194761 797814493 49397757 575648177 879749895 756493799 416163339 398426877 978542229 95205391 726141519 524030057 255232989 216244929 458265161 179106003 412302063 437461391 90432989 94404547 104026309 358815543 94584409 996509799 298076223 493463707 654376817 136357015 341026089 698550725 373291587 378417109 787372849 754346729 780335701 443090499 794910451 367636835 830335635 855309237 24965359 276481205 365677139 57033887 530201741 765821837 461956177 377659171 890534177 491350713 493715381 981643781 323158243 311491129 465338121 452155831 560233971 329474607 364779333 388958543 365273949 349064165 994092227 338160525 206956047 320733905 521686091 528015319 655181797 75406731 829331979 372783423 477206173 745110743 304498837 469950839 658671333 13017763 215692265 414289381 851597643 633189119 659778667 61642379 509245767 763680039 10444775 773832473 129752125 47503999 738064021 840407017 219588215 586634641 510772753 174761209 289088035 908729619 767352417 696468207 533975133 149003997 309204721 58279451 730568739 438241523 819736469 477487987 284347235 479678595 673937293 375802777 696247273 322963677 70435455 909332435 983041139 766429309 795008885 690251535 795477407 927981577 553927653 415458533 493267191 813751111 766968493 848362647 180255725 474812975 512267027 747810311 175586523 917267929 141645253 103150281 778120191 370462603 24852949 155330321 382135431 69495215 634763713 866720447 522859391 69094103 753877617 886369885 224221413 53607103 216250927 343120407 460888215 860553549 314149299 646550213 138774879 971579271 183394073 417247463 85734895 931777189 990400229 672790435 692125663 202307841 662013703 698260937 52642483 584247581 790132689 965488849 617793233 849456803 359683843 683993049 10806923 870415723 853360321 344711337 523747101 793714795 225808537 477497521 347291045 64948427 51880575 556936711 405644333 571543763 13417427 741171817 292164263 575030519 404082261 125862977 722962411 49607889 856995129 155672989 298710205 551401511 664944653 684007219 307439811 107040227 580683733 633308005 911844751 67340569 843410929 211904825 504553371 669186051 77469491 144992605 11122505 867844355 128885451 246115115 832858593 26045863 178643291 22906271 735752341 805721507 254072293 865254497 731865981 352690637 233455831 905574083 882834587 862294319 607198473 839387833 120995033 221154287 831731379 173678053 936497417 334611043 648396415 22597259 661204193 547745795 870047353 992650909 502843909 831674999 424769813 714834609 461151997 249779335 978854449 294311687 805818425 586278697 980276755 886631557 779248917 535907445 44376165 398929339 548049619 588143791 815229249 558958049 176370071 7652163 205413409 24640469 53524857 433932229 378138861 574353183 855595373 710565103 364755183 628390639 327003733 22015397 855823325 789171481 634358781 42900467 823041237 595129121 232686613 673904649 938105183 929444651 345976117 14295877 317375075 732622087 702967775 591196971 307510585 525815595 763994493 113045603 663355037 977777081 236492127 655067587 415469495 358064503 632437695 273222981 167992083 68668115 612295357 576579343 202385315 796682981 384671077 529312359 302093769 709452909 567975 326512837 793041993 802515667 56519771 510606529 972189005 781063459 45585987 855999777 434852207 537758999 784794887 956864461 675365033 627430415 193501499 796542171 53315425 644922895 873740887 886304135 320645989 373275337 839297981 223889713 477943529 108768403 462058419 961063527 769201035 836813677 375272559 695002587 494877009 602058749 344874759 393418087 920611751 224486035 913831549 737200913 831014499 801995815 71569081 248000515 356899011 981266263 973056911 960451471 492762729 637544299 619878327 356430897 878007909 95130451 551379921 260215951 845990957 138284707 228119913 15926897 982276765 35190431 8123885 320088011 402029817 325590827 944504761 852571575 140558831 839334357 958457101 805440891 792351383 464834265 565755153 896053633 350451049 409135635 544940249 972468829 817905999 384871945 440535133 252232135 240526997 263650543 541593981 797996967 231371247 732164503 868385539 554483973 235129211 184667267 303208355 835222293 97886655 179443417 625672945 530746419 85769383 164694891 993142899 913161441 900587143 268255149 231752849 337530571 471611169 685678271 964997017 934407621 57176213 123445867 344376521 270190793 744000627 573332509 865192255 216108793 115393199 27439085 965593861 904766115 977911465 829347737 421873679 871366715 41794595 982677899 756803377 46582617 874349643 675194835 499573041 788322753 141249719 315824931 203566517 476429919 331021925 438740961 276587089 426082887 344084665 75701517 983064443 930103731 98783359 849493853 406460823 294695687 116162799 275897381 359167471 308689357 910901925 290754659 527348657 361899961 139251877 436320705 800452343 665420713 345648991 616138125 654394309 213804699 938638247 512009149 585534721 662752957 701150649 981985779 175814013 967495267 331376699 696610419 309641461 956879625 102606651 796662065 889996551 216208463 206700845 987544767 771830333 901184257 573941231 221421407 123991817 407335957 280197575 506190327 553208003 926090659 936379489 487053593 965959855 269185519 180514771 928295929 123517683 331477095 117157785 572276087 371242913 140239515 542807963 294234909 811786165 831393607 837541155 912657429 927247885 472164689 333551593 167452731 109274739 572721343 889442057 66866957 147030169 47538121 339468295 901240497 893833495 88368071 552484817 675873527 22890095 119391295 715589567 880645719 693202955 480623067 223468171 664400623 481451325 839693165 453435227 698484615 251537467 109907699 823007931 636771981 819570985 272127117 383615907 609848091 332925199 278053257 612008047 229322733 894755037 900140889 206493669 938755181 993040497 669384855 801985585 862916009 127803783 628263433 279684073 27141975 300905163 40868249 865157897 925325529 904228557 887830873 424414711 197107765 868423943 783005831 514352259 316304665 63037659 360972931 174548701 260604893 863272081 781248475 941971621 157918849 898340443 500723009 953571811 669865901 561188689 653976721 117245439 366740397 6714997 246624205 649428177 594296699 533595057 24001569 386323863 271659957 80777429 854259425 282849267 786582437 107137691 598026887 154243319 573773365 982785445 198913973 501157909 496270593 801210745 653784121 65391147 97207623 400558989 551364613 278642813 165975277 636830775 559538229 548512187 185378691 224618425 175727629 450931447 246630209 487396669 982915061 728383155 304249349 99804115 348457603 305675727 79756375 653732213 927481199 471318171 791969381 397493763 947472033 926619083 524834569 401903177 109070627 456939389 3505855 560350455 591320101 840495671 605997745 656668067 845553157 146506213 202373037 882835923 64292677 122448093 89692969 40759791 677690771 748643549 592674887 539604039 571451069 750423047 364818635 961451541 129760197 382725613 22015015 753290361 499755977 867150975 533974131 635654527 560353045 379849503 313619307 260262677 514935325 433068943 969835895 883119127 299023999 564041983 410888871 824606533 483490809 983370497 293498803 660327497 888418171 141746325 582289659 351436979 167860757 997880607 882953603 86857979 917996547 952205165 208983037 348035975 965993385 344066227 942079935 50751899 144586387 218929551 712329159 667745899 82652273 170914567 77419455 981982225 465977891 870657415 798290677 875053197 644180135 148692451 322730337 294169287 729342509 525915229 37499041 362962835 379562757 874635669 858961149 75843241 492702893 781981595 111117411 666188201 665531077 389021413 87347565 27942175 632275483 140176717 170476631 995279225 349435295 402288923 501214731 675062289 443061617 463997437 687746839 33835051 160216017 664280069 830419633 9829871 232724011 153516723 900595131 329435499 723892753 584859113 355907513 271311773 189917249 580979449 301281757 93604707 351157147 434204053 408274941 659221127 290887725 545534171 14060953 653724859 105247785 865377871 386230489 384110745 901994729 532504801 326331785 874782369 436072947 433385445 770661923 695642683 402663921 249480727 501828293 200029881 210570679 712268445 788113465 397580375 361669951 108375557 439893225 28236083 231227563 770922307 161992689 553081943 832969545 19941047 849619471 907900597 622278283 211523363 923223209 912691239 911290637 969816245 325159631 91374699 141832081 764108291 939470391 208260141 719397891 930968841 191057987 97620479 288377975 602030127 736641273 445945687 95544359 549893951 826254345 631080345 763721847 637293169 676176839 605737741 770964977 936719713 524871733 452049893 278298953 71957523 984933883 632739643 838080091 935094773 987164007 875287565 9630507 962046687 818129775 897110599 392304865 354762763 88669877 324786107 221750483 733624095 569849469 914852127 66792315 481559337 779940793 343041303 458449277 785286045 526533631 775356715 215589027 927395673 793777295 17212621 301766369 689483171 123837777 896182357 762779475 388373799 238637521 210586117 867569981 598473465 954382921 107767047 134447879 59048347 622597783 543658605 519823687 773133805 648744259 231167021 466115513 927192127 222259325 675934251 941351997 502133575 578716955 330514735 789567455 622652191 897240475 133476841 765194197 765287505 136965927 329950197 68490359 150445765 414391437 803042517 737777739 525102803 486984517 359603439 25718521 559146041 263290477 872305813 179583575 353163547 660098509 498942721 890944865 401727749 548154067 971590997 906454327 746221551 356845465 447573913 996631079 175489845 529779675 499353533 181398177 813111965 571361793 447666845 707699269 108594001 962111517 165221625 970618579 702075115 804398307 777748091 386793781 848963173 750084277 914837171 197139587 949159207 81238167 26133019 55076083 196782587 228752699 539666197 251581163 327280663 83294713 299466985 786680311 401083417 136696267 843444423 545070537 583950087 251513439 615937739 930607933 666345805 976233215 694654197 150836053 269963201 781027749 230688815 235227709 699363489 104567791 707156297 131449927 476443793 110008357 198997501 880019185 596929949 150577719 489044971 967929819 131767357 528694971 609661343 811187667 218601035 242607599 974129545 221598667 919773713 113535165 746491649 600922079 379470647 111405491 268404039 952479313 450059735 656720905 313884297 865059981 576597355 559593629 547883733 303170599 186739161 713469175 379719461 552322009 804289647 460339269 655653977 937138309 546189537 482877023 443582525 880795705 15232077 400927943 831380095 566523689 908870713 734725023 250419131 747325101 385532305 479116987 94057585 416833097 986397611 609876623 373777417 154051753 491441987 340321597 92965335 200487073 167560063 945951625 981767699 37035563 722762991 344337893 183471837 380665707 139867267 371661159 304311105 762452395 52742301 418734799 885021229 614288991 580790271 55041923 580571005 816002083 899181783 788343443 904945 855546299 34874301 579709879 475456305 376503055 279495337 682721359 36851921 407715893 995601925 98056799 226809159 805425255 115831197 340562327 480691705 456790281 367543717 260498001 649508139 2772647 544065979 667226251 728277777 419300849 161096675 936789225 967651013 312491717 943320973 92430783 321942853 148762919 156042893 929736195 424542335 396896831 327686687 197637715 878382655 718562659 888446953 204856823 539757891 286058767 329300217 880983517 403604009 20639203 595933893 800869789 288723579 17747373 200566311 157731447 325406637 534681693 394525799 127451219 651077651 56335635 243297841 831213759 657498611 337601293 533848731 387528689 474528883 33487035 285724195 656971721 280502949 468763821 697489325 654048465 755804293 484063393 177964421 173386037 901222385 850285175 572239459 862142413 493268915 886866237 157997155 232107289 534714493 640766501 640957961 89624127 216174569 111253385 347047237 78342671 574351221 874083311 449901161 129431041 179963277 203740929 293049141 788012339 576712835 397172881 857796557 825821549 167776141 813040541 519495615 201041951 408274383 916257605 353055999 660848479 279933777 840841687 342656235 266960107 777418757 625841093 629728073 182885677 464056003 300114091 591588677 911239731 238575183 782459979 499197557 501281459 443322959 405418897 881315797 730892559 451359317 428518799 162888909 849868365 319202523 873104003 812381735 308068635 751036995 839960783 502640411 440741075 481694677 726119421 938192451 335690865 899315395 945278401 834883753 564254109 17290021 805499127 81574581 878346153 808262911 49845921 86370623 751187081 106987831 753562859 497819269 470170077 64370847 383861801 616071979 934602735 543967985 661846485 77905727 846276779 611742671 640415123 959440693 590026409 283603393 804139053 3043563 393310249 920092983 330487959 207519909 358894609 654076303 193267949 147193875 662539505 994953221 65942897 993350985 162438657 951914693 201253777 660147139 405875231 53011423 844692189 31372135 255836883 668998221 904923153 907313539 901233485 961084657 144473617 868599757 836036961 400174993 443915495 704921951 815854227 746144739 819327175 143984065 462049543 81728125 35096335 850277343 544480907 43275745 915145533 601116433 714869659 338698617 487109121 720966671 372900947 387254933 192998443 606471171 444781433 44432751 65173431 957375351 591422337 184860201 163829449 215276387 350413693 863448009 752593579 539350051 717753903 257645381 794663123 736730235 799235839 677902963 551215577 324709531 557438201 166737173 76587139 519731991 77065687 157158357 574186171 909971947 591102713 479105857 854418067 346785149 667754595 926623447 763582791 664092571 680714695 666218999 382462523 207919737 462298491 239536361 128211451 464730037 399985535 493806045 914480441 172790613 508114553 728376815 621927887 261445829 262169785 446025247 344456643 121635803 330101047 575851605 669782079 280665555 927822481 399837285 19505813 542882901 443794447 214846215 468717379 638842987 599131809 61162203 347752681 761847181 194670043 846955885 997821781 699650709 247099137 448264747 131129465 204549835 519262711 787448177 793096561 57892061 659501131 423575935 550019967 929432541 478267449 781665149 172931343 81918027 495162781 719951487 736254131 538352907 961476861 229301885 757130281 274521195 247235723 603280215 405240657 912644895 997737247 64441817 543211833 228858693 647811381 393271985 650672915 337334113 205347829 204035451 523882811 715999587 395474993 391741877 700082739 468866463 262301533 921249741 774658983 573082065 572973209 724292623 592197483 666376225 102623151 435777465 33809529 558661657 773757451 196369897 728905205 560068015 785718725 526412459 188627497 921139777 938461339 499111917 332073353 381525911 66453751 391702665 264538545 518314713 525072105 989484867 171454563 789169567 409791267 119008193 146043019 637798631 338679305 792852887 275125053 277028371 243611297 101017403 141159603 561200117 640310171 380522259 208609617 348746175 999848525 222565987 954704545 142856719 56017845 625592927 378067033 661241321 556111741 587965727 415820113 647675837 507366131 479381159 437221005 124115037 930771469 259749341 436482619 458405897 856546413 467029397 786992811 814557541 1572951 182190981 310883673 706751103 71179709 44800337 390000617 746833869 563815223 244114817 907028773 528142633 271539969 519352967 242058243 32862427 676248067 352389053 722217627 722557583 67773135 783618145 520642867 971286619 927051417 755391647 894595891 288526267 458933313 628585609 223669297 713906327 415643985 808419605 761801961 293382713 777613043 63714599 589138491 53245529 327594243 391976583 890893877 281789457 180947199 940100327 861613319 876456171 115639053 374093535 874642961 18752975 215182077 551891697 443917521 895611925 167095623 237238919 23587319 379647099 47980041 247108339 839104595 79087653 142390795 131080299 82887651 64731041 645604795 749578515 554885319 266310627 794816051 252620787 889483341 209763657 31427119 334261757 622594535 774769305 113331481 142809865 333925425 882087935 791780351 116949721 541372907 448963599 874263191 574855703 615223557 72507595 713082947 459553107 666295185 858104467 767841033 937887751 879286983 966770999 771722391 187372437 373539855 982554861 443968837 868637253 857157105 701520207 50855699 42563657 783686433 801120869 156906151 615681209 231747963 670818203 272038483 983718039 467150081 440110281 244449035 256806349 182711519 653151527 693932399 295725611 818561639 233889887 351485129 370643051 466891799 783195517 50589187 859168559 220716689 84248053 177368761 342139901 630178719 969626275 343051305 275291723 982262581 792231633 595501113 167601775 264670831 908908841 43175545 611887275 598775439 526480063 333739297 319152169 564407809 713674259 849132047 618896377 522704217 916718601 91132875 698096661 879336017 340528367 250760835 249242205 715210445 640310651 621274385 235975069 608484311 54050759 989124081 514804357 656786595 305616987 860845133 166753965 265455501 419463459 661523699 667930007 254838553 186750581 742984025 277848491 999971055 582259725 468606113 802193213 339827429 794582035 983519375 866765701 39798261 892218897 512717461 876436901 51701571 769830911 374786761 598353827 295508249 31661881 102398187 466691445 273393645 129525123 386679651 297623023 837653335 55887883 805155901 667869655 888569117 737740905 850127923 45191381 740096551 639625623 781382565 127483001 579322251 49630459 91146647 832718139 19282819 216188257 992699067 730569601 964756085 206095875 381379173 62448783 411993063 708092793 18364825 989844891 787455377 252380361 831917563 286277305 495775819 216146019 139498715 986163695 957826843 498921243 962087985 864340005 15101993 659569453 738761627 833552937 557967309 224638785 873277281 621871545 528996733 507518305 64224113 975183475 191143647 180309507 566774373 901152483 875119295 20046087 901262457 675828599 352529423 854202031 329677463 80903051 789514473 354003113 360338251 731681373 74376595 521869069 175295441 633703451 84853623 298370387 362430723 894044369 154616359 410863973 500977773 922099581 617934945 805610127 268323643 193808125 394673413 143517317 420469573 838351131 651993121 945305187 383259147 12157835 299556327 273922483 40054709 949760737 645755827 123267423 158849039 155489187 595480327 290486459 872248723 452485943 15432335 82509447 627049055 833312497 860191517 994823657 29331259 54039815 956149423 958288235 876923543 61698973 796330855 561720835 654701961 862323643 897557135 746257935 790206161 189740115 295038363 910427733 359991765 180239167 951068455 500056321 53717413 505740349 536063477 633338025 49360375 726040571 980344305 149355851 727022125 369680133 960581935 764813129 733569101 371280599 811619559 508113525 563793413 271523027 581481601 967414529 833288111 826132803 820128389 739202697 622926663 595766869 244921257 790973207 114185591 196125475 314946501 673978899 659556493 626492591 406453469 803807575 971403647 519494883 657247773 923350555 902734063 167145361 479070425 259669003 798915617 593032559 182003595 86753837 855224327 628101409 149181655 705611259 512957495 693065263 370079879 798194259 991190001 803148811 67695761 162462325 347980059 269596941 272357389 525002515 926082375 783358839 776858175 440637761 433969321 924314227 919028117 339060603 294244129 919714067 706920095 144646313 686845751 115711821 434633497 920470293 504504091 12371717 139441895 853711735 543466915 406382851 632048405 813700585 494789965 641291767 540152531 499166451 285064515 815347583 804738687 930726019 855758419 232198935 213633181 669175019 65086453 501418283 960277207 95246827 497271623 833747467 456450303 898832293 7811601 760814833 417178129 795108779 459339713 695163647 422215985 118160367 854333551 224253501 945657003 97032655 839513565 557320859 561889521 285035791 73051757 584060661 255110045 263447263 146124339 391570957 224586869 971530963 317431779 908066695 308055651 599520231 950474719 639992057 972449913 801159041 405132075 421251805 785214197 152758895 917532793 611810703 394025015 235795431 58335519 398470237 257671629 619968131 457009693 605515893 947727209 309742411 369387803 867044339 708364773 940570283 845950309 124874455 45504583 590326137 500590325 200270347 509955257 481844723 207012201 130154079 265706381 450885819 406631177 807983501 776013889 755133923 356779461 646687031 969070711 867492315 489529395 801955811 42653433 596925061 230099089 958278663 745555643 941509667 56803785 847597817 345685975 909622373 35842665 513899515 674944661 525380959 34474409 121914165 593203291 358086283 794265191 815216315 901789373 980795349 371792425 792968581 385485433 819393667 885932067 937945203 994239089 882909263 572654631 126000977 335428271 86449239 892722615 557805517 588558183 25140251 790949115 648640643 745272309 177573005 17093057 626350579 511019483 786829057 450570879 454482823 901580741 525510197 345580885 252904589 5854855 496335691 921281293 301643587 120872475 683649747 57540627 20460487 499648677 532528579 643892607 367063845 500221295 611664501 587432465 84434507 309532143 741767603 864699183 790758165 17721021 316939173 391186409 112538947 785093789 916352739 643234807 395674493 319192443 773644651 207822519 367354455 813432683 772071841 374618163 211428169 627811241 733680465 460473877 621974451 895508373 429903539 980733625 736572383 765344699 484249443 392757275 329919999 536246479 458682215 445139173 822852909 674712751 246388779 687954277 404060265 20821849 757928323 804659347 263727003 702457853 263547057 866574093 884144279 622778347 420580181 218864667 845302803 804006303 954844287 907262123 734623923 132287421 409150371 99078741 84459009 610618385 523416481 250707545 154616683 906860173 909657531 270053023 189017419 616426059 485561503 816871605 615998437 576299665 616310627 544501969 641048159 356052935 325729925 320481491 842768845 596945029 226149095 46740293 761860133 295507585 289948379 652804179 293592907 774943649 343276305 58492117 9920519 152314609 999061931 436901195 281982731 380856739 92977965 513118427 717593073 729087507 914583937 102262869 329512503 252845249 852696321 444914993 100517449 844840285 669039463 458255501 649958521 205766585 446228185 497751601 255795197 170194637 553025765 748641677 776198649 646348737 431937919 705963189 476872309 852040413 851188741 485943661 285889891 508689557 292096573 358653465 670924699 741606019 750492499 797863625 53849057 567790701 89635549 329027635 130083291 900077373 241846231 532428985 101634331 215598599 893844393 211371873 261548573 236309765 407264541 780185305 431314237 561091737 810661225 489753209 474591689 469641297 475162925 640465219 723776753 440217567 115255659 841823449 341985997 355818015 37388435 800564879 107457889 743201811 118231927 257055321 676182931 160818665 557528151 505346519 918595125 635995631 259252183 112845651 371428609 262462373 505968643 445160121 599169433 796834989 98922323 226814625 239057029 392144337 978525603 838878537 863636535 155186695 956335929 789151133 415670791 100109159 730427329 734708263 879934263 178740277 143105359 336514593 72239601 298269661 37141861 56503913 55908421 877271027 153185763 413682823 888997677 897259825 851313689 177239977 50114443 959785083 578213819 315539881 547827495 939487707 826431465 784476677 109744049 843454343 210446373 679811809 535292357 70682327 907576157 465760273 733335523 480434513 897812711 184750091 979210101 972322205 544900993 533535469 19564491 754413713 777084493 48093565 739627807 71306279 638834141 925450287 153790355 5932163 531017507 361588245 30873133 871207665 400959613 400495601 847135203 491309281 678421167 948007211 822655627 487818483 644494825 255135439 635912167 732584421 192309437 521003671 284843169 150840743 530777387 663079907 17086281 159267401 498152855 214327991 691705689 85539593 31382479 199030981 528542257 266189127 968754183 660882019 582946333 780771729 103931871 740431249 888422219 965222551 213563223 620089589 645513943 463020089 974121441 73800415 1046977 537695351 727646033 820860999 894483953 967668859 115862757 351137227 871030587 241303965 567787583 329630387 467258455 871637587 385330289 74910191 182238183 667701061 130424555 887810835 497555313 554951227 956274831 325610339 859118697 407135015 302110367 311424193 218094377 205809449 611810763 146961601 742214641 148564865 491911973 734476697 429374955 44040859 34899757 862126887 273264677 100890889 257333447 173563889 343985309 802844297 436718143 674608169 328613681 618279165 291012173 45532839 507546797 397252975 232645901 532737511 121684927 158540051 22402821 551976721 527335427 85220421 927857185 988383991 552112375 317184391 886468791 102884621 499828489 242921605 931638915 32322675 917500551 751031569 766655403 489251571 765439657 983615017 934509501 789997047 189440659 599498991 239036079 654622619 428560975 717558189 160211419 780835741 103613387 34028759 935998729 950994531 13865441 801332745 369247077 112897533 595755861 77363463 682589831 158077219 930197453 863888569 542729063 906290739 50045149 867872309 330655599 171890229 194345213 158971317 797501801 980265433 242025613 379859357 986424973 926656115 40833239 254970231 61866871 511740679 490834189 86591735 863959853 4962105 289132359 559468281 462307865 143018583 382557065 292907137 674363157 245854813 804864185 565290423 650173531 621599463 407402411 465006833 466495633 926343739 900522005 436187049 298351045 39784523 839383963 236979075 344598635 507529135 873354437 886113099 965524065 854271139 244263941 293354993 81353197 512679439 855546037 41655189 178108091 200881797 977052179 341711477 638343905 277189433 192767563 478675969 386962909 134748427 815225199 913343433 59025297 196221827 175178869 403251337 830618447 432835537 589405761 942684965 526775495 774559179 843425947 461430697 930213147 417054449 805261621 447411271 131813325 202110313 32715943 278325337 111075789 984735491 541367157 453058405 177489517 412797495 660696837 884806165 210619501 965173027 703801513 945021755 712558833 422571151 80562843 880680659 201248903 321284329 713820413 144876803 831620643 69435211 462048471 421565713 831339043 190692977 671985947 155092597 291404107 234064325 210288545 365481417 815159755 250364501 678500395 260931023 397276215 82462679 770635107 283781235 846966411 394503597 710019033 292453319 961945903 601165277 841108233 179799817 529285101 71611413 158002255 501471129 165100283 103773357 393911289 602645509 7357945 711490981 902212151 936909567 575100649 892309923 130910753 359607907 873994041 628150521 860309177 272975923 940666559 161014427 604216297 271122843 44638905 746277673 940679553 764540911 654473931 33488875 484632123 963895207 867070977 440480209 391014073 912523115 666890195 794051697 811636867 764057347 398746909 933495051 323038473 716229731 418796837 845009797 215369895 289186471 87316117 133733743 893421981 563636497 266210951 445917953 916280597 901362191 618269557 486670361 254776351 44500015 454400069 332369727 494693045 747855153 240558405 642462881 871251129 205828343 510628137 466208537 677372145 192776843 850005009 302730019 252736019 710221603 66613885 514259433 694926773 618453271 248557665 826292279 78752089 130410731 191609357 384023433 270354279 561996875 993004351 805818107 299625011 855569163 111261727 193163859 789549301 79897637 608273463 376827651 821496527 416359101 749355391 70516513 615552455 533642015 490869585 838347373 348591571 257183163 393613175 160665935 385684937 347517999 522295065 768433107 664472169 290510911 741546449 270758067 245544801 587476179 28654743 6872143 379175487 618126083 616720597 210129835 976502653 978833157 213159767 771747705 923523451 783402815 998277457 135783693 394562947 219837755 769844577 596725611 690621129 267294383 450998413 130256951 252964707 249824883 754535233 885428929 925074769 775911821 361641043 494507265 287597441 181359655 424395775 237065365 621810369 397252243 631654123 546423237 199189193 546058829 502380839 295371391 550530365 990834427 98211107 704942429 230656167 425799523 771264705 515509915 539921781 702257789 241514051 47513379 283313923 277783139 796826455 32675713 308835471 58595159 546360851 236250353 979055175 581960387 659522549 998508109 528969785 221198911 92228833 421745953 823076701 834862209 716272163 387607193 252635287 383287921 887836019 79255181 718842801 597113879 782406125 773158525 751110233 904308647 132979991 576010383 19643177 733063291 906035163 27886229 522898597 577265177 812499859 836571395 357620275 36955947 672646393 158540281 822375207 573697157 759621427 762139711 842564023 961971743 741866191 940927557 581370887 535153697 349509827 793954593 466421537 133174739 120032105 764649873 809959923 454907561 903050121 881697537 283493463 122344255 652366159 477188219 120931857 682653783 748321617 731516343 487925703 874402781 40447373 268607511 363555851 886267877 874293861 135977377 665007193 185968553 528000425 63821315 323894287 898791053 480048527 981622679 813874551 537144603 265462707 53976153 658030275 866501639 284414489 109116659 371521291 315559213 906061361 145080755 719879505 253213327 905696205 80813455 911564161 19080027 215791661 356467495 510553959 521937631 135980789 245862853 650373567 777477533 421210419 420004949 786636587 983661105 346163291 368919151 360830771 9119853 583553867 466454867 488944457 959736383 389497161 676863207 424940485 182609605 535424769 636814525 336332523 610295619 239107977 696817929 594548193 314788385 829113693 726546859 426428345 263648757 296474467 534122795 163740781 680601209 311477739 543532985 680937439 51853713 166123429 207919659 623696599 575003721 386351795 661283071 773088775 114138067 954046871 286499167 697422599 123399817 526075967 511038489 145014617 385129199 428946177 757085349 360501607 139222707 864156059 518938657 507374977 730016165 13082673 774122581 795263713 71574211 75689553 406080175 975540905 669896493 214562799 286669127 532380385 580255535 202842727 876160991 13839225 136731455 132736387 464160985 355692367 821155575 265009773 826612809 862466847 123349015 179807417 607674083 177656981 927228303 399543145 871622921 260964161 243676783 718924253 655557055 502164381 999996149 905381093 212645303 633374217 723968897 814651829 727077959 339207633 960356257 290949357 787282031 932816421 612138247 574047117 931336151 505181469 5667471 534207497 364596683 817957563 301716795 205136177 385340485 861407207 995668789 846898499 108562659 413686645 156668117 945466599 446294509 678955805 258135443 39405607 529529171 862058625 830118673 143487867 565209003 734818855 261227549 219704511 616707379 16116869 312040361 523154487 47055061 293122801 15577041 331291539 383281951 435695789 252337879 342645477 588519753 261886945 44706855 630041005 163134001 919970977 159856469 6039503 138363229 560641509 950746905 521055897 110164481 143261839 210545243 222141887 423531503 676631653 911822627 180290143 339156649 27405597 644694437 419582463 65963095 161387851 129579325 993916811 92352711 86708085 610535279 500680793 101786735 646836995 525292259 803041573 375470447 828370245 236526703 356649239 318903441 510197875 606622221 422140089 403033153 241849523 165306335 442650883 626028439 705696009 815166261 367253583 681815891 858420841 923689853 287524709 703142107 81248429 621002069 982148723 557662015 909702037 688295809 965560331 475150391 637013961 999737321 271152173 434412321 712695261 223094947 747684669 355317765 605542729 607702249 759771399 835763347 845373293 655140383 107947971 842098977 625413267 349810895 490503949 301002157 208998125 658682287 115353323 2318049 597106069 519274647 170673351 324247307 495124363 192391565 693852283 609864483 832188599 718312889 457064257 349582279 106160365 571666033 767613121 527432765 983369955 819146801 509561349 394462073 543096125 735783833 348719235 245080333 496929669 479395957 6785305 830173243 295982377 392998075 146523917 478566635 459268739 463549827 932786957 660644521 754226135 627064851 692905003 117287857 144570443 840005845 132860645 577454557 13857011 682675291 603934755 103308217 618037701 329096289 202722351 288638833 684513445 800368845 274356673 471586781 178037339 48452263 790454005 77680507 948104601 826549025 445866063 128113527 38581753 623840923 421443007 893580443 992098041 903695765 112166807 404484705 284100869 489708475 747623831 946116071 266446447 655395551 525388259 930553077 216173677 629512191 379452425 919515387 181521955 832633403 997381629 810157581 349581209 947426273 855470367 675876335 831638721 719714147 823837487 420409605 878751349 464265309 963891039 42151263 180775795 92062353 242889539 523603379 435665767 79279339 675478489 862676067 942255073 651592317 124385923 80981109 872046429 575859077 27256849 523861143 843283513 2144869 975430073 784907297 114962879 480787111 218095639 497900051 644694303 249463295 101202991 927991829 123026039 146549577 442139759 591819125 688487363 409947527 161106351 655491625 359311343 693457637 546212391 216051665 751093195 896427959 469607041 402762935 787088657 578220919 782161097 854867143 240771427 863283143 66689395 479741081 674608969 861663095 916244573 585183339 225381685 302216053 763928525 929581353 883638399 631035871 528814957 997810525 214108265 386589943 475163479 901835841 292125 541704235 634024197 205325491 186990251 859235081 807587423 407328315 322396173 148792403 997018287 583734791 20546085 903149797 482019243 664625137 656114875 789944017 412140657 866734967 743979391 219829829 137481863 437959357 219257101 880116895 105899227 51172759 186796517 739586403 281121983 748575355 850496369 684540729 715701489 621583239 881887489 719600375 43150489 588309377 526331599 445821081 825230403 1638107 219417853 701387327 348982497 969171629 509427859 17445685 403448021 535875507 592066177 233164017 380376803 934732629 286282915 201488907 531603253 250504869 39098041 158403401 768696933 675159895 735350637 504704147 214125 937480909 507088719 613528065 86045619 928503563 541623769 168786633 207715333 971195843 298937451 585654865 413568919 176727883 996659025 283625253 546501127 969592227 835010745 485578743 131803995 368083313 543484351 268704929 540586239 28196101 217604451 754376489 667177673 560724311 767305103 873677497 966691317 47349509 779265043 461387427 207862315 862091095 940164519 764580197 775520885 557905723 549549809 632666527 306865227 751674443 317018997 104916767 83667593 853989317 679875241 470398935 313255539 415091597 795727073 477365473 567179447 953450807 356642403 971638659 361735789 503341305 702471767 192578087 776382989 59401391 479397325 304454497 538411649 368519909 750168765 871679723 317385237 172648903 874687245 183849127 893952893 881342511 986494337 116612003 980543191 124731033 809525965 572045073 404367017 523787309 548352651 542668621 598292191 527373245 208478267 186862809 87173581 333762749 453030981 49206625 327895349 794475597 50840829 931902137 794429239 15176247 581863321 354259931 703439203 822297573 215124287 686712297 82311085 742989683 153815539 423779123 951329653 933711007 88532905 63305767 137862781 703029711 158474555 106885219 296565235 904511763 155657575 920914345 457310061 626592035 115144667 528295653 538372073 556268637 366983203 127850795 224298699 12992969 393437373 219697845 33079519 762588183 534028295 258707943 140588381 457113755 468083019 663858251 506538721 117052505 198891963 736846743 43870831 542583541 201407345 589080739 822263415 631591357 972503659 538897011 577389005 704543917 981806485 709777717 991677101 573727585 539304385 387849529 298478013 777639455 698071717 441800187 855144715 947911897 169011685 609940767 325011211 783807527 126262283 395856751 588505499 403137093 136816517 222170593 433191169 477216283 762667949 208681101 747321065 807474747 257891269 892959161 793385321 517949401 488527351 198066893 719132157 8389589 405749333 887528799 453265549 653743031 69566933 97341995 779193443 535332015 991026523 138835473 371112247 705171091 332869807 254210333 658256421 390086371 84681091 329689989 405015729 734471621 262671983 487506595 335501769 179507977 755666423 718953463 534165701 910225191 308413313 299752497 425583711 398012989 669287519 846255649 401287101 429651731 318359243 588196293 426320235 603734551 232759527 170283837 929106529 212932195 712344507 127095767 412363003 425065651 320890937 134478597 809108479 337557105 119636537 893398369 99718041 16045739 928125309 411797937 670930527 227131159 917024431 394099679 300266573 704855319 474889313 78808575 784883657 760044207 268283401 360894793 397159585 267981203 727979785 455352101 683831051 790555157 182698925 912277019 18665633 730621495 412400165 649956575 80568683 15728287 203374985 731229515 909234391 504408479 325523163 392009573 989360311 731982891 666364421 559972439 245883467 856945891 237436119 647355765 816210741 597577487 302602763 167921465 174499975 548690335 632367171 438666821 92619699 940538921 876484871 762582633 923505559 152317933 402979271 375046547 25154423 885714641 219801823 688002785 567187971 878592101 810977935 500238741 269772365 254073057 481406977 206656539 608128215 757199907 982475333 852434183 243050113 491629235 299553109 545026579 531479451 584918719 121127187 585165601 134341337 286586657 224439877 322345281 527640153 869870677 164514209 16060833 854116001 681790853 963770045 121876639 400159645 759985533 969143067 694302397 379327907 385738169 734015269 371170217 531294833 607432531 699913003 187426611 546943017 794887191 969264741 844449367 703559773 814591857 19441145 752036921 145803517 490768249 348895723 146723107 73928043 269538287 288800305 842825099 538365801 759551803 682487713 38416649 422616615 587579241 430527229 293088097 810455863 630336307 568566765 218306945 911971737 562872567 6230533 216836217 188287153 153123775 349114813 503124101 108258637 508647477 820655477 692327433 643093153 597049269 991656569 723006097 661894475 298530621 845894135 600710607 772783697 732149363 580527115 170513565 988860959 563680423 410947251 685637633 493774729 167272913 435448029 828464675 835103953 529506703 689209687 2319193 996389527 835302441 801999321 893020959 214625003 989742477 997044745 797783317 947097667 766458965 773614699 500960265 805804153 626610365 835715955 59564781 981811669 296323503 281770107 633172955 416626693 736433591 366347459 402094361 538361115 363616785 398253171 127954961 64282263 918009239 179116959 431075925 103026779 887714773 499635005 301916323 284059577 726204919 397052977 153228251 695083619 470876117 879494725 317286923 589931895 438918383 701142311 273431397 143053945 20156779 225963377 393297733 488397913 957586203 501239207 244015405 493013611 425534067 456396079 34445257 729089899 958718355 523694941 740412395 763651711 757547843 391592551 703280529 71971381 281380851 398163057 217027291 794942849 299612345 406960261 732365591 17527491 721092179 932364177 337701817 832035515 336036907 488276847 656004951 206673309 211155791 223450083 616528571 65433081 561329015 822182803 620476875 776227789 979223041 889472785 618060443 200575361 297278197 778089433 365259369 394754271 78861313 480994633 177963671 367037471 132996991 294492075 397473711 503849181 228947819 154851121 652735077 818618653 519443567 426256115 772825237 232906829 103003351 143969269 286855747 45723717 243900831 693540381 389687447 276921919 357475681 56164157 715576039 293393377 957085545 880120847 632612269 903746105 919788195 384298805 545324429 951505083 987237031 915754039 789544529 545702981 93285557 753910407 779537903 698683421 122989747 502393469 8846207 483991279 851737651 210234973 617941061 54812111 722359657 961355597 174868655 677091135 828617781 158449759 718533453 373079071 759120671 212182413 45175259 921565375 77693527 179499705 664558141 266334677 969856179 582342827 497933693 304854395 672967345 679115285 691334353 450492987 864830331 168189071 421673105 993314813 434500575 395330459 375176003 918064921 355011413 661629347 938733199 544945997 460068091 750108919 350442061 422778557 699914391 850789585 738972531 176906485 349387677 534143059 918383399 624667117 813018143 664823685 3478965 638544129 97344993 182455897 462314383 899442679 401353541 426399655 606596687 632886777 358838367 714667057 962152891 502311585 450586083 884660129 322510011 381852393 56877107 156824967 652935783 730311223 856312915 509839453 995833077 560423257 85646581 156451971 691675853 276780421 670184815 476306757 109871989 552119637 508314817 491100115 317358757 562748369 517201041 118252613 726184247 378434405 870864433 912167581 686544429 341633767 562945941 103681475 702782899 219299989 986184797 339359373 900198939 160380179 895453393 916696749 914749667 778183789 443944673 909919691 464122795 943994651 200210211 174449773 323815745 507948791 545506261 865231619 881483415 262164043 656600033 321775849 676676041 268637375 964239317 35870559 554778393 582841965 849058537 77132943 102836723 690088143 784419833 465390215 156666347 727506891 842049169 387999301 239006139 939735215 310688223 398570665 482536519 950661935 11172791 614908281 460240281 681065 936024475 771254379 678793701 861990883 894350259 711314451 387823751 451191433 789290955 897817335 218230017 331092401 146446431 286638719 900920831 605093399 121575305 655194619 734069333 445238497 328930325 287084451 399325181 150068383 559973487 958036381 215372571 129860161 995753903 721530605 249643769 135521321 120344213 730522761 402129675 390389017 68253831 146005573 216470511 93841215 74185365 568315879 10143331 907787571 941295735 347872789 927489621 703880941 516861835 482071907 9458137 372412631 103119321 39098697 182214697 278789821 919467793 134137127 626140841 363323091 607251337 230466887 950220773 961244343 683271487 821271005 134509709 526102125 346949341 857225725 668505217 317739365 370128049 344422061 400417727 502591859 323276211 40597459 365385591 302887379 673884801 586358595 50066681 961921067 296572513 687840179 101840577 591250313 387061319 514289609 234696051 359717219 772841925 253170953 861812443 221425299 368814621 958496999 794745065 792071777 834784567 21115325 403465405 939773305 604202143 113423305 809245591 824559857 785831057 537534007 619896289 854999879 866685159 588929561 212301873 924980063 982232109 50686309 237079107 386936709 698733197 742683647 502466039 892960369 688114405 196478641 994387035 95394367 730178989 34028073 780999329 70513523 59197459 140958209 12843811 214892029 626181345 5883323 668134503 341961263 441319313 326834627 104458263 858061257 263753537 504255589 557500421 241243887 35940281 417028829 965253423 342277423 734040169 474319437 94699701 99017853 363681125 328622271 469285605 551452215 695408753 567306271 806267441 657600547 665079793 622718797 319039541 871006573 289812469 355085573 69626035 774628267 229245747 838080755 422250647 144201689 726261773 642741417 848933109 684425055 81468297 272047773 179125253 598263559 432324693 60571955 784214575 698270729 247641545 167501235 504377083 176428287 878731493 378149199 451556893 217843955 513181009 178509855 140726897 918481485 779707995 90642981 457416441 783009765 22949369 566599755 53370337 598198777 659634123 454049633 799742845 429254957 581388827 785151265 359281479 234921871 560067283 491177773 563901667 837944723 963226255 476075533 309722395 877471511 784336269 552971827 423482595 808650335 822813877 347902711 92250199 466002203 902623891 469870491 388779963 260448607 388604001 79402569 805785719 568551591 132353277 220330769 878916641 408398041 74678767 204137197 162027379 84437827 178752613 50560703 460982097 376855963 80116281 364087886 964275653 55396603 967975143 939803469 362632453 215528683 481140889 416014423 70594665 361360471 43450653 697691113 564226933 194305173 518950123 288356205 490461399 172762723 909526047 339738679 178397023 221911269 246503301 802787455 872599817 710322855 879526793 851878503 258760185 518731937 242838853 930631415 863206267 833144623 832801141 845149471 256043263 895307541 547743617 172814011 752282405 655383171 629447803 72861067 209100459 145016331 54672919 307265593 605520769 720462765 748545975 818703189 760786871 859921871 103441247 876127321 510692489 559187513 989853889 370718885 931828061 213561639 731204147 924792965 231849145 370721841 387816885 628424231 284730197 733457759 371102189 219299495 792907531 32722461 494175019 434031877 21894107 709204033 158839399 985368363 308731637 868949255 214513215 55889129 164597163 905547799 396094971 7706873 46560373 177017467 682530953 668496891 706468859 15087531 901124995 101672313 175011843 583291521 945183781 898369255 11991685 694735941 912057433 600274587 192364699 107965861 850320813 657914069 278337927 608869811 275898969 213646019 932962741 564830447 696611897 663193971 294571959 406431293 935021017 703883997 445054795 567042027 649649509 619752167 677855827 958498477 252760501 511236693 400920025 565453985 700039499 146650075 676268305 693211723 485488969 519353107 644127317 143862171 665684099 924232061 40038445 783601893 627349101 86529921 578730047 501175781 982170663 202392435 374390879 75534019 831345529 133548683 569303947 319531785 951288275 893299689 858405093 319392941 629976395 303569303 59642039 431080717 435606945 186520967 86873973 710216177 319998779 959685267 561825979 409809025 596838953 934602617 715944523 159195221 360600355 861411815 28555539 107361387 703306375 703635305 287110691 156645413 141419869 349327997 610712503 313455189 359862357 868877697 876315185 323653165 563873987 98176959 686954785 605926985 833651627 526099561 407373365 814999475 518622383 271545241 938008139 838588629 422355747 558316365 471944807 222226563 545085693 680158323 42152625 308719357 475609 234275287 190104959 202174695 990831619 868529463 137247307 475374671 570679655 749078577 822962361 201994667 896491677 759999823 413669781 937713365 360697831 974850307 680411599 796411413 432618023 893360805 280338309 533711127 518198767 927699321 53543163 826951153 170495097 986001317 46613915 803819039 180000927 524932411 363212535 80251785 377841131 956723509 65169867 340397945 733071757 386505845 22855419 443347879 556374875 499358915 528672403 349714733 636612821 737573841 571927749 977463701 157885473 465970745 569773803 299620807 901970191 728055929 993611403 49163035 583076375 626766333 434609229 24186447 98337111 439791125 324120841 551561863 515538327 413544189 69185717 233189969 663075653 195634897 109989241 228459681 364271995 36055711 138364571 939678677 452490485 273949527 676951443 320340659 41309981 735648977 439011579 806138727 174725377 922129105 268133269 645403781 933986391 941263357 275661643 5420047 627677825 393557735 868433973 905544805 947703171 601087241 89884555 936490839 874120975 128825797 416085679 311486235 746326909 149436259 680614959 253475147 48857289 618821139 381308093 422956015 316999067 390851313 459388981 438356083 98799173 308516093 980299929 535034031 875026875 413285921 30436117 822365659 891366045 279137325 242295547 530317217 380593715 378566621 98490057 483150605 419697517 259459021 101174049 126644113 620228065 213392267 162973133 925747727 762654415 382444679 350297281 648951755 370379805 731143449 497074457 874154865 578785115 115348355 727930903 419110421 438149313 618183917 324392999 61329975 159767085 426324075 13750749 606998715 87129637 488325621 641689331 273876463 414560989 676607853 429127501 978677897 908330791 477065115 347007477 931587747 446148999 921918255 257843231 928435397 728148769 225549765 523625513 811471579 217386179 372813021 87499409 854517051 600410601 744307937 812707077 936455585 194132909 329408033 856392025 127975989 59254747 253384663 867592327 521579649 616190943 439962915 806977971 668030589 384642513 929459217 647869225 447105925 784303985 780734095 526457689 876815709 779749159 142317433 941166049 396074803 138500351 632475023 601613957 690847903 593744307 782716025 812328493 542014107 855039393 917402059 8530415 713858701 174124499 191523325 528828423 716810561 396113139 153930095 312624341 72062961 746866269 148105069 726570469 693166389 103553807 830969637 447142125 293041171 627502767 105139891 921388741 559851771 503907469 582045207 864141427 45122241 209594017 257726009 128625185 307431329 23247497 287673837 888135201 731159619 704968845 253673707 489986543 862110385 102324379 559804115 45684017 882041185 24969035 415844399 238917805 664290867 437002463 742078321 366805339 142868329 528801849 706970611 631316309 307880625 572576237 855080693 855376603 699503139 267465521 464823967 375907165 810276151 409985249 319073541 172065901 848040919 326724233 758576925 111538371 129365839 461768533 514793933 310525767 182230867 151894301 69936857 431690239 362257151 507043169 512945141 231168803 894068701 716115015 731496379 643719181 256787159 221250977 983515817 347739711 715036481 623086563 204229163 833307749 952000475 488972077 985224595 441138003 3138507 316247111 40003865 514144513 552427931 128655777 281697501 679685527 396879937 250388049 306421225 588186717 245718043 257861397 969916207 50582215 270738927 349547863 198104711 971844465 772073961 631969829 689730485 312361245 669701279 574581559 656051551 667666359 929709071 4201963 766693913 58397523 682023067 501593673 621883737 606739243 704667669 541305855 325045379 548688033 580989615 358592359 311076319 304716869 23608325 38124669 541988255 532419781 618633761 724938731 157341403 859772927 25883755 841890301 468179607 354905589 771705021 438590383 605262521 219676115 501390415 291832219 16734995 314630381 823646923 508660493 426220641 656348093 71907645 58276593 815908671 717094631 996395801 363158239 624478011 418516535 435263295 865012759 465377221 38301597 67416303 468665983 291435831 617077815 845118171 42717609 616251855 418629449 598864919 471949769 637426873 763361595 270110495 550857919 99847429 258435235 588210907 700188435 346237101 70026043 751066005 143932149 135468947 143395047 211507715 364750137 780667007 861235379 722363973 105576547 450253859 245728719 248816861 375729559 249716759 848486043 979196347 459255205 417884125 675459989 189927729 881978373 61174751 84800109 277968639 632305621 469196909 257823475 624587591 226583771 826079427 773642787 41233819 498546315 529569277 625471267 278487021 892920055 702331945 377744441 421106075 652164577 916325687 435804125 667991145 992648113 31879167 651287975 826431367 789538421 264798531 635218781 685422217 152198371 686955693 212360681 978754667 801313629 936842189 893556829 135549075 330685671 574666525 990808311 402641359 310148147 673774335 618754071 84270931 210121879 113180857 750525259 242085311 651096339 65738113 13275205 290898965 776115021 653012333 662116831 104941763 883314839 536730751 316872479 568722079 510887653 388534177 992412719 843955175 256078295 159095203 20303715 798389565 419675573 353615935 665959987 9458867 45975151 155852053 14328391 654280889 8953497 988589233 908341863 463564081 860083319 634163073 515856775 636377181 338132717 214442721 934671299 935753709 400323723 325539345 350844253 747089907 346292361 740151099 292007873 365536751 48715203 686827631 408692353 628308421 560876997 381330597 232125019 465628867 434958779 181539011 245412913 975888541 241953663 519629453 231083021 541996659 118354573 269211577 634717219 163448261 421786895 290364125 578554831 755959173 21471441 45186681 265981587 771651847 337416271 709686779 554387741 230798601 626181027 781330609 7424571 998448813 422884761 330032853 252153325 761707139 639116957 648194695 68478037 853782401 813706183 805965521 65487037 673114625 501345751 643386023 552526491 803584717 927347763 259890141 35013255 431944205 436723179 374881337 614730565 59146841 556809399 575107683 860073155 824712111 139224565 605326569 545277713 524369011 312210349 843443017 147316075 767411313 533400463 771001057 399478069 738571745 117175793 475207165 332482809 175268447 540427473 563132619 353806701 206425073 199580889 981120101 226142825 759469059 23583319 710278095 91397619 432475753 332884547 509175535 384730419 665983077 285807417 16853401 722690431 53954967 872164485 51445381 800261969 558476047 390817557 103277139 101881679 695745089 806265469 149508237 465030463 438602765 671055359 249612453 323816217 294013877 880891779 544420085 430838261 989974503 358644373 545924539 142704409 431941561 520524657 603460643 788985583 59134377 327481329 782251839 184666121 572979865 731412639 435454727 330930211 493111003 860668843 215130971 457140515 735605023 284837867 75196677 390263823 938383751 499812831 930121911 328774175 57288343 961527981 567436809 224892845 180918841 243755303 634774655 148427067 5541575 637897409 543429247 244249715 490516987 423327387 339923547 681345325 21172731 674413181 987243855 531688031 913657429 42649045 385049209 539641649 727112445 364793533 956023779 460418539 255589713 932873971 216505215 384104705 286287639 740290269 327430693 285531149 820612987 878033033 824115351 95215831 210072083 982181555 925917823 536872003 80322523 247431095 402295663 440698731 772649531 766315677 292455901 872201863 46189565 596749331 45340205 58077689 491599959 150094705 816002983 45997391 308384233 523499447 359699325 406450237 250035125 776205965 754678215 481252249 397590571 574268735 623020167 481848941 322649117 588637641 238844583 781541087 129224651 252293573 578873591 31738693 149482969 84094845 599053619 244336919 672045139 626326753 245652727 811739645 37190577 540849799 400618193 174124735 753533391 459794095 205143345 889482323 867826419 640132159 448200559 558870737 627428041 550112713 307635917 944850557 299566437 737086079 482069877 743583939 437836873 7021383 810386807 623620407 130204501 304853923 581144527 398182035 785180121 439431363 668152665 768995771 820329865 708509825 831441891 13257915 579742597 154449497 818224925 326302659 504828751 434388085 407956383 590085681 571998165 817437347 149986283 227009417 541015661 719058267 457757035 736136307 86562773 978369721 501323119 921156037 839273263 793684361 138070065 915907449 796394253 499040311 751504337 396167605 120022625 150723549 275816283 121677247 685930377 538900279 650572221 367621903 326250825 934222765 227427027 550955069 624930769 699023953 913122909 338704399 286679475 55064279 978154757 451035757 674600687 70776991 241510235 512519533 868726249 622235571 547207897 308252235 220811887 127145407 215528671 605228647 611788981 566323483 991335865 699875919 795139675 585902021 125449111 171858101 302937441 649180265 350353807 968534899 812860729 370237777 279999143 196810895 512119223 482551671 989026503 894268723 627351065 948253561 623213503 596540081 642004993 88615583 643000393 916966791 289160321 664095191 763955973 882610261 139916041 989746875 578550655 772772585 915319931 293038215 552762661 833562933 295291929 814824229 891534419 447013971 777876115 498344483 396822857 678459785 174625019 612477367 575588143 888138561 967228881 323131843 748471577 839001103 604825593 382247629 452124927 714826667 656338879 322425603 191218881 685242365 21166555 575643453 870567721 480377869 541561449 424331259 744584427 864300303 448735215 151604325 992088987 68206431 962161753 337968455 724046015 880004479 619084797 476187677 185353405 138380059 301383831 317118977 587927017 129172487 926768205 858511549 549378939 34231101 425775277 505870273 954424979 563334111 60164525 945066275 359598395 967433275 335023271 674856611 651759973 301385413 445447011 569144999 362745835 316588821 758266125 365271359 9983884 48150255 254100797 195815203 57074675 733314879 152321259 181200561 549652145 38981913 736448897 820204785 63751741 568174263 684150729 374868113 789631227 503074941 48036091 237665003 405359667 659014645 668955571 222208765 847762711 757609683 653678327 512921195 317645761 569283573 663618865 623807625 978773041 679253081 536630075 895147853 361360719 342633517 35113295 728108627 384499693 267123141 889386515 52506087 345846215 691791005 786965909 982691829 414596731 19289173 421069385 709161237 831214739 496971705 604988429 980606343 646784129 918956991 538273575 250681907 767744413 580904575 852913475 125494181 177461035 522751549 719516279 175093527 148136785 677386855 477370433 408951145 467492897 548343949 943739523 386290719 892610199 869493611 314494607 383575659 774155663 491224551 650901525 414414883 682457817 254695431 938710583 1727687 285976095 707920387 918436983 687318141 164238337 413732147 209995205 876778773 632951035 959750941 985873267 433376519 550527097 335942251 287484993 167795825 12938187 468455919 929410899 280408603 764361005 417596327 115103031 439231603 473609915 801726899 339119329 183064211 774252931 537336161 999101615 811043639 935087221 128906275 988390245 902570953 853831017 3011731 843004211 743014743 467657251 274927991 977583789 197522327 171619145 266987705 655055823 488173547 276249453 743636587 893518593 918581847 820166153 103371723 43057677 822423181 284424319 94257209 189581097 623166693 328176407 682605635 161415669 846929755 917869057 410462875 177123955 935773335 490351193 836731677 62923793 61551339 737556769 355689419 646147237 867557195 106351677 534147537 348603757 97919063 416234885 94453379 358851085 848035159 796217773 834485339 271204753 149194043 736400215 64378363 303974769 598170009 669011471 372905265 156095113 997069233 359848773 153183217 138929181 81311593 239388497 61767505 21353181 185534033 188550261 386192539 894770141 378605215 648853467 937767477 15179161 944259125 510139539 356459701 109809911 277350809 897939095 630728149 519296581 800447227 45486535 613105527 571117623 618642735 224041711 846777515 804937965 127943353 974681789 459883167 379940071 77407419 142597325 322440625 479060505 31604745 263219871 792650339 149928659 801995289 316456605 22664291 579034835 799237127 155609879 682943873 761093697 727149471 761754439 572886201 295255719 990909005 583323725 269173039 246050301 450912809 719402037 909049133 166092701 831229683 317809389 265498919 551164241 278949649 599843153 436396219 491957313 647803029 467325473 110308775 968195079 577591859 75554565 447739099 470705563 16655435 542975889 695576423 871478375 366221797 215014461 523188615 665234231 336411057 475442537 205135775 267921215 387055877 637639265 684902715 812845853 743297249 712629331 295195659 266057687 165963499 54968155 354904303 799712217 754353779 337398649 898625765 63054841 168241521 45041045 742442525 385770099 314356611 9901187 270181095 326606829 52073711 377584123 805704385 243593335 408234921 834586525 177268043 647160961 385341507 504441331 326633811 938565613 730908929 97100657 694989257 441756925 317259461 447811435 467836109 914878303 752647203 956982055 7150751 600196393 588577359 112032459 89466027 314747865 464001067 373100139 652118147 400316755 226866493 775481087 545076453 752967395 131688115 604170087 290380465 325986881 678871653 48836973 260015605 402280585 292944339 537723587 131447523 146779969 989430563 647802883 842363093 348475219 313340967 964274603 460577617 741960217 541833555 236404521 309277953 331987021 841914055 333244873 175777977 645137173 499694923 416237513 189024883 685518591 533255503 112175431 521628241 414947073 15442921 35557709 492153761 809522549 622585303 856223949 239430101 502066979 359861379 678799777 181132681 898299447 816493819 396208519 514628991 517500231 646150903 428378411 243912611 432754255 737149397 155257631 169969161 597777847 931504541 527737049 766627819 952491849 964444157 19164605 772763821 83551037 900421455 358960147 905165529 403024175 892434319 105256461 614223139 669386531 155701607 592872133 389692263 757901961 209915171 160386873 203346345 912865587 462937535 257914709 310352657 864743009 6890453 143745769 675286773 118855095 255506097 81918641 328596943 874194499 571424063 306342731 372856899 495202169 620584727 743720513 14151195 53183543 14201209 482524933 537677131 823791555 316329035 51865071 822100721 683156169 280592669 766456129 732737099 231680607 745149991 705770021 633920967 345989889 751164745 105148331 711364089 616013205 515805959 1805775 467655325 40433771 360092051 286834797 363755923 708991539 619551169 528107603 494082023 603129103 534844437 647704625 981504719 969068929 533719475 424467871 91486371 651118967 169253739 545871905 238060009 538052423 231557813 993465371 244049993 503062191 47810733 871372773 392255897 584607699 394499871 909381299 779013845 422238785 53802361 93305255 239916829 106036205 754830799 647325901 754889919 225835059 937990627 948099093 32694315 580583133 14325789 596734551 566055681 74800405 755384971 478787669 147346177 254359663 907075043 472619449 845809941 152239085 409046663 150918675 727272533 252942575 812026747 928576477 290370807 708640837 497967985 548529529 655980385 108391203 918514111 604457517 507519263 370284071 605465957 22998319 77915107 773551703 988434441 816981141 246815881 45934113 621022973 300228705 250221075 805117527 937730101 605547389 336252589 26022199 205787985 55527097 22911657 170268009 805033113 504561103 270963589 130959607 239393277 734354015 914429153 608400473 974635537 713240309 162160011 627176811 703512345 391199231 166553205 243249777 733254137 910346457 864681403 537696539 193527105 546013891 450402719 225929595 670674983 303823335 615103373 774144273 604809613 828674645 303752985 113227201 893518073 946410247 202413821 530223321 361141657 20161245 515271195 744848397 953846599 610742691 912818817 636818043 832782207 752865031 156840035 564065705 991894123 291508133 829611801 105744515 582840791 721307133 35481127 265620063 368197695 380434807 472006713 900962297 580872637 443638119 547458595 123083385 781841181 618183173 250016223 58825321 409556169 713170289 793440145 403726015 347505119 470902967 275370115 796045275 662382871 350749381 730313257 109504639 197410271 927958903 376807199 494974683 431690561 735516299 947048489 615246209 537343735 817817263 306839855 445891697 156385375 841470063 203309127 363077647 45554561 929932105 820505771 720387111 421046797 107990171 395289023 15470833 323436633 684135601 981094927 821439497 702500963 480276409 954923083 21631861 59602133 945669839 784319057 277296287 234328061 802371825 702790693 141898081 326165715 678275597 577653999 411318005 852834291 969254895 535657991 776603907 10154665 858393429 164126691 479355029 220012513 355066077 501674281 2393377 469252917 323042321 826268581 220032389 38750177 788387427 380833607 860828935 689642959 579428909 231809839 438189653 815827595 622653869 775958683 986043521 881696335 74657809 670731259 722316297 389599483 218154597 786629087 351619541 90226451 728888487 382516229 401961007 511905993 839845045 129718349 329770447 147931379 312536921 175835077 993222353 252764177 667016517 973543327 555923385 259179337 270797329 177831989 547174007 210636653 202930497 356904461 576294749 136949745 323387 746540753 375277611 676231157 500828753 847408723 661328645 167751489 765253567 632758673 317477241 464691523 473338019 496598955 820716923 143492117 353823495 92280047 403955307 435829621 42455773 120195535 262165513 763097543 357238525 214687719 152446343 452522783 793912873 293248249 765917305 267423283 596290573 82238449 727240669 320232801 300503093 69004769 527494933 458809263 174239517 361565447 6491377 380681169 230066471 974511045 867834535 183508761 944778139 560019877 42504403 582809225 194846635 372553819 323408505 57675209 139948399 831672515 921223175 143362085 714331369 70447583 818357845 779710361 556076291 588898267 273616795 691640255 718263439 517447947 941064323 517083873 642102083 222780649 131521305 128249583 519077571 450556185 819498961 6901375 795333013 551897189 665953417 865209809 369801263 642570177 769108871 534744011 474455527 346137417 466420341 552848127 618903041 334986561 794150253 828184223 671241377 348944145 589833705 237997969 722194399 891230287 37014481 885432151 499454639 659249077 548807279 313226529 470606323 962904615 138963321 46115529 406779255 76713391 689104909 220924875 329421035 354187907 595306417 51387473 536839911 737260539 543347027 115865129 367396845 69877147 884131397 51439051 284432231 177682961 686944581 810147667 842734757 37716013 541647227 820992397 639974369 660653547 277203315 90551013 798496571 122174831 112994335 822752885 527202239 174308869 367751649 782183673 11232349 923332893 615337853 720708057 955178733 68515157 929725213 135069223 247412017 701757809 449546587 251724695 25958353 430096731 145191473 58545033 645099873 292695845 801665029 239326215 655128921 717171723 148619429 195845821 996484891 897338739 279448645 642688003 930854637 573231075 978935427 393878487 731517189 785312275 696514917 992155363 793910905 678167003 192117335 725716343 923896395 426137921 213672751 219337351 988436067 670829423 816415017 566241459 703035029 831991735 638516205 524767555 400056729 155197591 668459141 837524773 521196047 753565359 396231273 551507443 954044803 425492429 341981299 79790313 151534947 565930979 742505453 144932337 228790283 646044173 862419327 668873881 15637947 721549197 180181571 722703639 400988571 82076879 841013425 787820877 710261439 774789733 167476147 168165825 259961119 162413581 936309141 988689569 566311067 362810791 720016139 846744773 373925885 644551233 352469555 702508717 813828601 630773005 171370899 407487361 209788451 212105319 179300119 907019277 581378049 198447313 817850131 603905997 345622521 933503479 278936903 521031643 396102751 316211629 485061081 247622657 667788907 411835117 374709331 447055791 368192317 259293915 833611947 506649851 623809759 600018369 320388161 809596837 696255813 382847507 886784215 627777043 612390723 751803757 391224219 136929365 176896415 230855057 488405539 506669859 180143615 660519789 335754605 874962139 984618999 845710863 203686109 253016709 77163517 268877239 541388607 779161807 318701685 760081607 715574731 809990419 564389545 914792651 473978653 142880845 359317959 456031603 514708025 285191719 756781033 215743901 408400271 685218287 662586131 167127627 209119729 403042717 94864939 202531755 296147873 634106061 712218115 424319501 431652671 987968971 953393751 34572525 708291803 69645443 770382021 522035695 136420073 306554253 635788759 152855005 250574151 816001833 170578943 409844141 477391931 453391935 385293973 356329847 928059761 969559387 68618973 350572929 852583167 241815479 737367293 674165555 627347553 94870579 777308423 301059109 337932671 47566931 393581047 911278349 731942307 254430025 460811947 979142865 440799877 245918443 751413485 742933373 138208065 91290807 910261359 971977537 928439131 477483737 630829001 206585725 563635649 667684123 63870333 968353201 247949771 94374901 645690613 59355271 454360115 178357131 855784835 69613271 701889567 15916189 769053021 368524439 984407579 872126369 776054439 433931245 281477407 47507883 669034601 926619173 697091975 389501817 127332755 717121201 865967641 428260981 48529411 415258157 109859073 576618923 40117621 296276313 51985621 413260503 466041493 116663845 421158289 790526805 771396083 777685667 977618843 555774763 487063305 487772171 211611329 865411083 16230713 371283397 971237689 851994189 633355467 983643737 30322845 125701101 544144369 666219131 609409781 781505939 769203651 496678407 854819759 890137999 652380483 75254527 750897821 88526041 194952283 291516559 509695231 222416913 331805403 269566985 282973303 575978619 238222717 275809771 606778903 482171657 329356513 211202775 758595409 57631569 39667859 929597591 996393219 139341457 724054019 704971039 832220273 510367925 483689865 7971211 654030411 760639303 191442279 494886173 407866275 45833855 476554439 361199681 257820923 669087295 909466809 947805067 956196659 101155597 83911479 293047477 636848795 608692505 25117729 593387939 619009511 764089143 894425155 941277023 941108021 380408299 473939531 596167965 768428299 384724567 377244117 266221881 810446165 966461775 254970465 941703223 318959209 261877831 346068569 958116799 198356997 743428705 205383181 436346279 592263243 710285667 161977527 895497449 487706829 540019899 239346551 57696425 399810939 88866433 320117337 152932145 837792183 987555445 573311819 445507831 754827075 254592765 880696105 375054739 939421007 461710891 490939571 533523659 158679917 665863859 445737363 842998663 540418205 232217845 611836759 321117405 491057731 163280889 660556925 132429063 8089389 702125167 89016165 110573163 42570895 319439277 344569173 633271439 338894599 197534899 985795969 693730091 578231195 107243303 847084035 604924695 450712247 4411993 626364635 786358617 116475695 580948543 567358193 671293465 494895429 920575099 526917913 253358511 75428761 372240723 398129931 179381137 636298299 392143543 545824871 925715301 107080609 830773051 326249401 911462391 878806437 771020579 678622575 585443897 457857679 3811153 733964003 217850949 922031117 607807065 563550041 437087841 41046577 447088495 221929207 322728951 285389435 539939189 635915217 848985753 754571981 357644273 186318559 704009477 484809337 383932945 681569025 399337499 504088369 248631725 745694209 882720745 934573075 51781189 545785745 918128801 491112099 114434559 487471179 587386271 859445201 677102251 447099567 454154853 177951985 3931329 708851749 499883935 287799487 188484705 505129471 205002271 575292513 719161935 798919801 882121187 254936677 674338045 410059697 341355277 509797823 24190337 216851121 747389159 986232527 994488985 54577771 720958181 468150869 164346799 34391225 994111907 724128389 670759889 859581273 557743587 565203951 701241015 476468471 208380817 448309905 793716159 473399333 26044609 107363539 461067505 416043609 631854763 213874815 699771899 675256055 270327991 827329997 9534775 891299911 922551661 860642393 502290593 420031611 826943363 716569639 840804065 649476781 774845649 210395301 386989129 310653403 850534235 247216555 4418509 271718897 992706125 941497971 529872911 419759297 872320763 279795875 645044309 700712705 267850719 678209353 854409101 651449173 805599645 922683353 413100879 69806917 283611135 371243825 474816731 672684099 788865787 885839511 687519255 923861671 199477161 62455991 807032467 351388851 879612749 185018533 802801799 479589265 879808085 291846883 440191443 739318355 435012433 80302161 134256891 835947759 198836733 550767423 523885615 730437961 191994429 995817571 841591881 544168489 677001501 510370775 656121799 421715007 701818317 931813411 643257295 415025959 948901035 365388085 679017265 153779299 845110843 835966303 555518307 935005273 852025895 890261089 658490759 633687899 574217793 380403295 234994019 109961379 980700549 82526437 915915879 374912339 330093847 935786987 498551463 571516273 177715523 770214093 933090789 121893107 30533755 650765137 233629833 75251887 561585753 427281569 492022433 963709799 512372387 905175639 670546147 830240965 641831491 505443693 884704175 698770521 257478219 801824073 324135951 992407197 121641721 173243065 902073007 572934131 373234861 622323955 196155111 364129187 535739637 194425489 632608183 438700253 290333571 196590747 922908869 137810365 443314481 243167613 422680929 921822275 22578437 858957325 971140995 985965913 505483049 10407049 652541131 990129615 833055217 48068501 657728893 381811039 778518741 581703997 380213641 180951465 188053373 670977017 771928969 754863929 592362673 300179363 628932539 324245119 784965477 491330693 414275333 109476049 192011699 707662919 974496247 768661877 783825379 990798083 992669639 931610771 596538203 102958131 262398807 485135931 750311343 845243325 738129965 69909863 841286045 233267439 45730167 101656311 898142727 575026045 832068367 467046583 926680823 569968261 813822065 872905813 189023393 473898381 750348231 116755565 739151457 707109761 96514269 450407295 979251129 426202039 770498605 445774579 470147413 795100395 258131927 998594077 734458377 585169987 706491039 549778741 837561807 525630031 622308087 443229787 937544395 850409983 837657077 167992987 661770823 910259637 431980121 966089955 452716473 61372979 495941515 305455375 182290873 882991015 665633431 996973789 161639691 532459689 167841079 233437435 836506525 730366257 722715337 727543 475924861 937483177 886760277 569660745 698265069 623430621 104733835 948484183 195504203 326497793 237850303 301370725 790620451 888106931 640671733 97751207 336974635 956649207 66664145 428269367 266903099 463747901 490797475 849345555 261990999 998804569 511240545 338950953 505341613 223989639 111739565 16060485 743614093 449645 987133645 731985957 332571251 951686169 500020911 775056231 846679299 704094209 226481645 860546965 943137801 956597503 456191939 92339233 878026103 350295131 692643865 385939301 381942375 758834881 686851713 94404513 309767711 608045895 480000815 734647293 468973831 692942955 12478469 281734539 256266167 515939089 106574215 76440135 173628901 234323845 159708647 594049551 796618615 142684287 794792955 508386221 401432441 532682777 573804611 506425811 509424925 117179101 17374693 102278169 329112767 669962933 889618355 154126339 314935519 346851317 131534111 721779191 166491437 772312157 34624335 143377993 995786107 8192529 445745157 700071983 622735041 16855711 610479281 469643981 713814567 609331195 108101997 713349163 168436213 372369283 883057141 838060603 570930335 889229053 500744883 837259733 897204671 325859733 539374517 230404541 147878171 437701857 920683955 327209369 67258269 526300637 59874059 297331963 427181145 958742001 63131843 38750301 455233929 234242535 686386575 807994913 684291471 638877431 149704897 908454287 381199353 798291899 317845339 249859033 538988153 42951483 126338309 220822807 634376171 701966821 706063115 912906061 690797905 368721547 244479847 398839135 426491609 866215789 393873849 124142117 361772241 96696623 375979589 327603027 284006073 642302943 430888189 846978189 812503603 928989169 215922807 366167131 459273 335227203 443143411 765420333 643176753 280784921 258829655 836208223 810579395 77455907 430897715 995684147 147896835 314609525 131847871 580181967 445767517 921141131 105296345 89565765 599247205 662265931 115598601 664328591 517024981 166544131 678303615 55206029 948226193 770745193 239429905 839729931 244137635 87409815 413522749 644727481 680597825 768362005 887880749 255888431 579706307 583510735 493446575 704207343 75035055 708202523 329210937 813732195 460639661 443872439 267276269 481216475 899326099 196602311 329632657 107771281 560523867 645994967 533730707 812804263 625216297 586441695 337639691 666121763 24737353 455386171 41362619 210551035 149954349 36437423 344830469 750546693 484635247 469311083 134064125 371267075 33700051 700570881 689475159 128756893 531411015 833901937 386865779 848735079 422856923 7169057 727228507 171498969 695211981 537875161 648992185 816453461 408164477 459597269 902824169 957271585 336412537 910458541 923187689 262125683 224722289 848789865 949743967 927879009 555224645 532822901 638980509 464823789 617652213 992903335 987382677 834015231 969402795 702135355 445512685 807598955 116559039 457139161 631328231 251990761 310454695 484571787 298511987 924972313 73602315 438661577 410822443 664741767 550772915 544607341 409349963 383034785 891128465 603706303 85715645 272867267 766045125 725432429 423709455 495348781 726954895 985953673 927671415 583948295 898487387 163236243 220949207 582959717 40527037 939357551 331638453 673872703 970634861 476575595 556732991 183532149 295504211 471947835 703079501 339787475 423127159 671978493 810819423 215068935 368776973 531496245 857081501 724203693 634816881 672227283 127619283 230452035 246932005 793032747 392468859 471982391 270988501 403355641 16133557 612495061 875603795 837014883 209879365 147344219 167852189 919901177 684642717 454994407 805106645 860197291 4462803 167914117 488590661 242351065 347777703 94835491 998229857 826615881 972689791 423671963 727456197 357970985 847971179 922798513 259820597 857647371 829391139 828246027 469265305 799519727 908836101 97158973 110179079 526848567 472693273 621494205 640456377 579990197 55906573 478501871 208177427 428620443 843437371 58549021 199109023 919854725 626656159 717481589 982208017 63328125 415276515 535705617 70618437 925781997 14569813 209299445 103667775 38794921 316055019 641598215 273410855 507560433 835181383 639297563 296278099 250325609 283806127 284347623 454471485 157725727 385499921 651446543 594064265 802604935 782446597 221331739 879374339 466311297 189827275 545232765 993886619 981026127 313572939 266129295 262629489 374271391 552386321 552923791 826229955 966505351 191310935 626705577 570402817 661956227 826296573 399284207 68541371 326838907 900088967 975990103 462834349 93517497 822772775 334207429 912772539 840079093 427578291 874959105 612564209 822964809 271040681 440989885 718025857 887842879 862965557 267751825 426874309 686721471 598315297 545042431 992585283 688718881 969124581 847028081 241348773 695289891 992437411 324807993 97814461 335539433 202621729 816825741 425982855 744413953 721814735 573104273 134784553 554393951 497595585 881602381 88691435 619465313 25427387 433593523 557795135 245017293 56011041 824800923 86506949 686117071 692149249 36590279 67617597 405880059 87301655 42218465 753145235 226552659 279043261 919419001 762439897 257117239 512180223 112107529 680202317 398182775 824897929 777811443 257235791 857336137 204504499 509091967 597909613 369190727 706164349 534302687 786926681 363964793 574744719 785186091 202192111 586440011 63956533 520863589 175427121 37362325 405278825 409888887 34559819 290223759 932343755 477841969 141898129 404349155 320370079 138976077 321478523 267541149 933425879 202952301 945214897 375330607 883280649 52396823 420595707 607329147 892353395 812708545 987179597 176537797 960499711 244489665 210734019 836537273 785004605 165266009 783425951 318813035 939910751 414491059 217633359 245662811 165035593 667739871 325348449 9209197 717023873 2788311 521018261 788659439 688223543 943425659 355945421 889067415 871105855 678036887 330137107 774664063 189343005 150835675 469853597 114978095 65136627 541494495 572299459 691616403 375712405 731588133 546989065 655126529 224330359 908620309 54607643 635287861 858997947 455265539 227526093 758413911 49032487 993002535 139368729 562051825 533059881 908293281 450473507 239195387 997276889 623446653 841421623 957641681 812445687 160274857 263136453 920453943 593538793 238648577 736744043 488267355 516382145 549626693 166506477 598615765 984721715 560181791 247136821 764355487 326485407 673887519 997586517 181349919 478522381 359054013 643923081 72308513 275904813 136680799 179713333 318494175 534744661 333073993 496366053 510946545 197768837 316223665 712248905 14418269 31184739 599073451 53586241 324411795 892260415 57524797 533645771 133139047 386475791 995670095 575779351 350030869 608803189 491674543 762699893 288398661 271672759 917524507 780279393 18850817 119616453 109428017 15167873 467199167 916319283 408233853 790944411 367302495 820028227 665511277 809692839 97150499 750702557 256379485 307179967 183694521 239020175 215582603 425372709 933238585 963135119 957975333 548896579 250023707 46467775 531779383 90235057 914562121 556962979 687312575 450582309 645798927 105706349 155368091 363045255 923440673 127288053 149372565 29562847 672098715 89927351 248074849 535073889 217503239 716158683 942958739 236824167 987221583 286350641 25509297 900610935 475310535 523012145 966407457 760215611 920625967 501679611 87551543 148331911 841042861 344629587 876742441 687380821 583095755 252593323 645486107 976600519 770226815 355343127 191372309 25791531 481280551 920686427 567875593 251626995 272028041 29803739 650318801 941155259 619422929 280669351 735125803 826443845 487775893 15756407 838140613 968881533 378556627 97189801 462054187 589313911 678828013 443694661 967963609 528957293 675043765 670643705 336820785 632348867 184037979 808327965 642662525 892587523 436026753 688686515 882707689 979761633 805361963 680663133 184418965 409419833 984928451 571098991 87369341 153031949 313535011 861088733 266897037 708304779 416752771 127236169 596254871 160377089 928779149 262389751 836614481 663572977 662647885 771840473 15852383 598759671 403785271 975187847 919707209 174180325 430514217 778910269 895034753 593517225 641020777 175635939 397419359 965031009 457433763 102940681 223384613 408801361 708713709 25363687 981640445 935059681 375182019 167311453 36753657 377007271 305407757 534151919 113732623 976072029 52203541 552642253 84651043 503502055 829661841 976411345 797512701 59297873 588206753 335590777 453102157 81170637 167166151 479117803 63591601 468116149 768757491 991600375 874288805 628560525 266607991 927300627 790439573 985419779 699534353 305673825 663389905 153870055 577044713 959266727 505488531 101748791 245981579 183591763 994269437 353796883 868584427 352537983 195913239 578442183 618970471 265919463 760292817 814881481 491056067 638961909 182483207 667807667 933162543 336636597 574912121 726059077 564118079 748642275 956420049 268558191 700871407 762596569 79086239 707186241 271329701 370168483 306613597 951863545 602735919 654925805 529279597 792639479 437972161 664996879 516627223 939744969 134012667 533315081 807766667 489837857 284620511 440791425 562254565 394514907 508202203 507363783 530737701 682426873 128313285 88601299 239502645 390901669 811819483 372275781 624891109 436018999 562695103 593003617 209765103 238271015 588589443 543040279 980843253 397549591 457474967 964927233 340939133 226686933 14160349 249735261 852289277 23000147 867496599 714273297 921885899 863125933 351222645 74391725 414664233 469503525 371983497 432412519 676395327 239195431 699931987 310533921 780985889 25606727 929653687 513514849 977735111 950734397 186116867 427141973 543953169 649358321 33065195 133694679 847208907 952099179 763963023 658296163 399642019 854997727 953188207 211601697 168115509 784826281 766617213 937335267 706388737 968917325 507751693 417689629 729898095 714992755 732990429 649030129 503189203 948710897 551763983 787974179 343193701 228354497 185048627 516782885 428126021 389739013 52432703 432164877 819203199 117746189 592535437 408465819 961735937 656065863 651647975 739927863 316539559 751641169 675406965 814387693 684988721 2981359 476712911 663953783 859787079 266949129 199933427 112202547 902361981 616263349 646343493 69622569 743275337 107131181 432572817 516854025 174190609 280512725 333812495 751728935 241348633 946071095 244003163 475419015 811950997 129273353 937038971 10604749 986696095 855961123 980640731 101557577 659851063 335112843 832420687 455968241 231040581 148969065 199160857 619428199 379067037 531913491 176970713 858533617 285599477 264862981 223455135 565769085 998189553 310268127 575092959 91274405 498095387 762922093 799947385 216197541 669947361 626081189 629228463 962649189 933300381 396545951 426326319 42554999 343193491 593162657 248297487 55634959 606184937 507170837 948066507 805743887 76677809 241718157 809371723 349001211 844720615 886200263 110149339 421920005 925285737 213615779 61564717 350830851 271669249 126425391 110948195 739181685 368400993 619957915 540975105 241085057 895042083 887027527 716684017 215352311 752268485 444916659 11756685 874960463 483786931 290345355 420945039 920731817 405015103 237404321 498179869 60370121 339685535 976391155 654780869 270193183 403911415 879279265 313417339 67975877 106311503 270407417 177800861 142244983 797249945 762129773 669417969 430027167 602163373 663384985 159944611 885839435 860282703 654867263 151673673 786714419 297198373 980195147 20388319 180534453 412115393 747278031 735396045 82438615 426443165 868721673 655347933 296514891 860903195 928130395 787462981 560055913 10444675 15121999 833456293 588764717 900042247 164163737 184482815 963065409 355008703 262461717 371512259 661316081 288605615 459784901 72325827 410100023 528060349 295697877 322758975 936987571 168049595 70640793 397470683 87115689 589507427 126958219 21222051 309360395 714553431 142368589 230284815 500924015 640085791 787669423 703008763 336668693 810101803 534170783 410375853 453990115 463643865 686539835 785207761 805870441 978777189 843635397 661549947 178278623 791455995 917320107 250030381 188416035 87602347 135489659 360414919 303576253 352886383 483054071 438653337 371538909 830329129 561188091 222067031 775724889 179410079 245287833 778069793 858747567 894190727 659459071 503340665 458320393 206345079 595962763 198537805 983362357 103749617 114108865 405275635 75044009 501072735 742151497 177123881 331788935 703955217 14928121 219465745 980034965 820087105 999914189 405051965 939334721 153984017 743025893 790952863 654479779 204477063 644347533 764845717 564064891 371043225 983815995 471428579 723576369 8008477 860258183 32653753 781909971 460609749 498111543 424267433 934668567 94173035 614143797 313744051 809082717 671678831 856654995 54827579 70578349 897095259 978975629 164740879 308397751 437524879 19122567 643563363 597782481 805153623 764366605 158955223 354561019 762968033 8820945 445202795 431400923 438690377 482287789 26476689 888913857 652068239 747533479 867943453 354546853 616303515 172192233 278133581 502710565 39085121 935082949 258904003 993412233 162879545 111809209 934269585 271403969 11254309 545774949 331900711 281528419 907994507 556290455 983371367 754403245 285424095 20870465 206990227 658714505 172983675 391616895 841331545 243754885 877196959 714539409 533252305 547587031 746195571 70893031 192360053 61311073 641083915 703457043 843772203 150762409 949891423 629946575 328685375 542857693 499461199 230059261 924058473 671083477 957973927 686568107 234140613 324997137 799066645 572944139 29544665 565609913 787600693 33026681 378145425 242944409 414529669 328237943 897515331 795700011 750488691 826499505 695375019 463883663 144351565 858023675 658279151 306295433 536031307 785206863 884208029 128428939 594588817 769146063 668906667 256895659 183239209 487043275 827432819 807274409 239374081 943156913 517722557 301836523 631258611 615138335 588177077 254685825 623681987 328753367 288074227 828860707 179906071 168459717 556820079 586936623 367884931 55398909 664502675 203548077 536684927 808491449 786112553 397817163 102537579 288587613 819207017 148864867 652531089 727101555 255255535 54336241 597045539 594549425 15105217 252821919 652388409 46613231 27323977 941516475 167242455 785627697 543344481 342749243 292170211 736516773 513229379 918365633 897016369 978862747 356692373 75902867 272658807 641395087 182295909 106400671 123885913 139386149 35088423 521062525 943977567 242987047 83274681 655221869 18902779 733056395 56697441 583405143 819790983 324595049 696090571 385004743 691818049 819842055 92972045 373912311 159481941 240326861 118057125 293307847 517559509 418478417 495110517 893228731 45612215 215575119 310062031 326507781 332401887 898144935 525962083 926021755 282080021 653597285 235627347 736771739 348983563 889926591 856890145 118094735 297146713 432633359 366711741 582235943 439789699 793493717 101254777 170230229 900403695 757657281 419986453 11173309 127185135 172580515 826584501 431665061 305922493 453722745 768750055 218669053 795287675 383169635 647691167 201974745 804241457 925647791 282747195 846831101 557281233 407388623 279790975 112872907 167057715 137065821 471322779 55890007 923445273 752532255 534361379 324718935 937968941 335083263 533671699 108093991 429001983 651551505 670379219 601602771 256841995 467591821 438298669 144882951 151387821 633531099 151185239 572897051 989439027 471180931 337200113 778088719 113906637 462149689 6612477 114365323 634796179 176628183 158835433 251311323 433068423 794180451 334766219 265170425 661831827 163556359 255669793 554408325 965562247 957053719 404653391 537669315 291723549 290497293 432187169 17752229 931877367 619655307 159509263 548832449 614102941 83631969 80300021 309687893 134291839 501972349 320108311 863312715 371519993 65748989 52327717 500299569 492038475 571160611 859369779 381929535 545671327 411422811 647232957 350253651 50438405 547296057 113822121 463304693 739769975 385993335 634285893 375472981 367568599 956038649 618322757 346511687 73222379 534006985 159275463 130481229 695225193 866020379 458743121 13035407 408259047 99152459 469838799 723690971 726782951 510259677 211827095 771831463 429401553 987801209 978965095 268683541 992373753 406644213 46661731 184786667 503329687 129087307 631596311 589378455 260369869 15878047 412806779 96076081 931296929 487635259 542610409 293205881 341918729 684840597 250498347 242900181 499331801 192542533 658101609 747974999 549948375 903477519 583026747 899560883 597412011 378613473 984889503 714151497 338395877 367099339 251621881 164914721 551474431 883764233 92320535 840399339 50914649 853781503 497528621 125241597 487463741 309455161 467094233 714735189 480245727 429293417 409802529 107564959 557177171 834753385 762053233 867170341 59591583 488455743 202592671 422042591 390390187 927594515 196082407 205305967 395328069 304134459 976803567 5872155 160167211 127474995 839306695 955706067 429698043 478291867 241439711 35242283 456341825 821985601 645194009 11967845 195344747 199511831 118884791 199534697 253767125 981773111 93831527 378474693 624709053 31031783 428078655 657881007 962987345 232131729 814801341 383217161 945345693 63170759 534229445 722980183 384751775 586787655 796964771 944977611 323365429 616703729 731584271 452299325 69754155 490551251 199166757 662542121 935543599 216592415 95746923 838737847 706723035 388833585 228815051 455677367 394563763 542916747 118586015 211680673 45384221 846390489 939664801 652952981 377623149 676502253 558229239 77816919 577631193 459517125 43623727 737627735 228338309 906246785 455860031 557931695 291154297 639521137 281509761 819636765 679538601 238083843 556343485 454115335 801443049 22953427 492765471 953281917 120435965 535524521 651655485 395284023 722045073 495159147 506058003 272258963 239971377 651635757 762143497 873059735 745040219 945378861 121198313 219517431 996145517 859860173 286152427 667468549 527484081 649584279 827078315 222288069 18333529 291924543 801073197 994799065 575606909 595098017 743318241 241642133 248859423 847785153 479766681 600807405 683801897 968006855 745408661 945819779 775412333 485576457 226835065 153936795 163252641 125217793 605178195 898765863 854625129 635259987 183070871 840812991 319942989 273404361 31943459 910774685 606842047 462832729 306851901 101705647 211691031 164642075 522374801 939669375 723171225 639651667 624460085 682714951 704996971 482871663 923748005 371319013 391588767 775423999 854894023 934223075 201771311 751097023 195261675 953625963 27211517 874184083 926911169 901145945 298092497 511433605 809923435 268602155 952365661 323745227 525373803 516589575 442561593 147872445 909008559 110944957 662782695 600740065 883373965 609252547 565954769 849578463 251103171 762285371 937016391 951691151 482292597 247948779 105228931 376811239 564630065 518356033 322096295 169848077 543993833 716077655 292741307 409935437 609204223 914744297 237097647 172324121 124040247 716154721 863676769 676304139 112048573 644488907 739600781 572047337 927238693 626375907 910063837 34384541 290445937 47351811 841768679 17998393 500408833 383989559 103126559 837326073 932062117 779297067 200744679 663943491 486855825 187112759 475944075 164869279 617586531 517556827 376848443 575100095 633590561 200252477 387768847 473515651 873756217 923315245 564725257 945623787 822350205 708227107 127084817 353623587 965613867 592284605 262061563 166900861 306331627 618087749 401729663 869810039 650886087 793439397 558976063 36863667 841555767 877602425 767347649 162159865 79549975 358293759 573302139 541601603 550100139 214596893 167182019 902815653 981955747 765009251 306229467 257939559 110726673 990422791 890545131 486593267 572244085 29228267 780746759 747653853 259634611 408278677 75660839 692489951 308651289 862897971 234784557 964883933 616319579 645483679 81756383 128896481 323756183 31429205 454082289 38372127 702438739 60051069 658690045 445176051 481791355 27905257 483797635 576619231 902315621 173216269 798800365 852081039 4727501 86301195 775180169 280054743 609023963 977168807 157437333 166528433 829812249 733418323 667677233 158589249 909681789 20834341 585735267 554428881 248819047 10299101 442126623 166111957 813423001 306748129 526520383 896641771 370739523 74433859 846827907 335167697 413417719 11137975 324619667 157846645 607474357 889283485 715449603 706631659 418986207 827049213 131936075 244099181 692891975 119482247 648741323 770965343 929771039 286954383 538122445 102776141 988056837 327222041 198251651 150038247 118559231 441140425 307382279 765810701 318960247 495678703 102792281 530447037 10692167 958404225 85345633 779273255 91219113 403122721 809753843 445649307 158673221 679786773 253114821 980521365 592974629 333080139 119800443 475877561 970531775 588560733 433040543 463101651 30386161 611583879 29691295 307031507 606621441 341330097 181823445 851182809 804500891 534672493 110776197 945492261 728492247 518739695 2474965 399228193 524991277 618255385 337894361 289584483 445668231 155856495 289761671 421639079 850788399 276121635 981608643 256101325 853125597 444022283 211310677 221276387 52005549 144759975 463441647 799774235 677558051 534253853 901355051 479859151 633577263 131528253 31067015 349113477 693697315 929062783 181953903 604859879 982172863 56264705 962791477 461144519 38023719 932378507 932594447 47996707 993857769 943565709 356411681 31684381 522213625 482653213 834617459 210797565 786004919 191660793 602347255 831081019 445447395 309149835 187132295 713989489 994437039 257244385 410239713 537604449 843118511 111293107 283754161 309312759 932258785 516010589 793728647 72438599 226088871 890342635 569248991 709532809 785647057 993715465 761904661 147253029 364728213 986186769 715956087 916159651 157435279 366303487 221215797 907518647 702803139 746671483 189774441 149279805 271101855 638261463 509376529 144480311 626728699 745014023 833322009 737501393 777573135 626601901 332105041 988189279 264738949 966246669 721504627 561161307 177614185 239297817 486497825 182368873 638336559 297343591 194381283 890050387 660625077 499952439 632385835 805665293 45785919 393050223 646686033 330547891 94218109 479244447 49615255 121490313 36604803 967995647 58459175 817699319 293231309 596538989 670247185 417458579 135216963 757588081 500585295 309002007 506172975 570584123 393259971 997756263 280730951 511048609 885001269 750556301 465011113 410731041 949660245 944184511 800232155 626972133 251498687 973234005 885438923 379559099 860056051 229555667 639770059 982439705 92318043 257691367 996924825 465074465 808063047 345705825 837545053 63852953 884716785 363220285 867750051 896586479 333460859 664038047 635453277 22817339 3983597 455878867 582459629 649132605 306699831 241630537 673535511 294576733 583321397 955953313 699166981 275087271 792903079 360114073 457393233 801929687 70604855 25853473 396963829 290659911 863904117 565817929 113202263 161508097 573330139 774495567 814416197 806968757 253013449 850863763 254272755 149444793 397974667 632039585 832391935 107963917 160120655 66406447 530932591 337543255 884122417 563094807 35409327 844334567 483188529 133624153 317318037 298754485 656036665 259486245 400338525 114870879 559038231 832656589 375672239 947862317 515903369 219042249 666565781 381575439 64283439 463071681 380763783 337854363 189680015 988301435 450184287 338477071 666668575 765844463 69991 355786837 9067827 738583351 163888199 670166011 962302737 823782293 362360855 142778167 491383009 512685941 794857813 738662891 329095601 1655145 734732517 553821341 164179839 733233455 553223445 675486075 482284073 161484457 133510297 457061725 127858299 374626529 131859343 530327235 716956451 217261835 695631997 657660629 652245437 256176001 353873741 307263583 397517257 344116939 945460313 605629659 196365743 146158735 13936475 936693609 779302851 973370529 966166139 867688397 953695547 439186943 960944963 568595321 577685819 489589707 70136745 363749507 971691981 536634959 741902093 686999211 913736415 585112063 273136945 92012119 889950541 164256375 610485571 592717719 596173781 553032057 714971865 340791587 602554917 836301299 569644785 144087897 475354569 913420533 686681327 68353345 354152767 60355771 25408415 177477513 222259429 41509799 169555001 707963275 640711173 543076681 609235801 876012611 184408529 952493903 914774531 87222107 344032355 926892183 54268583 813788193 144996793 509761573 530905623 850027147 106994367 372067873 728892051 889793083 188652103 867423457 232357569 269948279 741699079 294288351 871207083 306951725 971497891 891181247 527662791 676430069 791083939 212065357 222987507 645707791 139232377 578746233 112954741 15068771 566398847 198241889 526714361 499089021 975772659 620631881 152205973 200204183 798643713 747072923 703342277 775917711 957422523 968884969 675671665 164377839 598156823 151362543 711520995 713090531 822483449 370460049 645989331 117941569 12854569 415920603 960504925 743643277 284933465 21475583 126019077 748285931 181274913 411954263 100617145 113906475 682406149 643731817 569080017 810296517 261233259 834715869 29124103 276850391 840551589 255095179 752145537 63989801 925034989 126588265 789894859 122744107 502675045 16820383 291312605 299610353 8218901 920479859 33519123 152555071 252134639 262483549 741588531 626412151 350160331 268139255 254441577 804069549 406286699 796011267 573672779 820520087 891625593 261250669 445209813 252180881 160697223 826813767 77442413 758351271 12492299 886029519 877924577 356731013 419694951 501203045 754178919 968100995 168701927 207572631 632252057 982598049 98453435 30751767 992597119 530980999 695942139 12118209 934336647 931599745 446805929 967946391 190924419 406891401 571003055 230653637 681065395 935963967 7725277 780771485 735364537 582794727 840411373 432581789 168833447 770590835 81783681 757708647 774797551 878702711 631690785 335420613 746824303 33975095 86704189 179653803 480448363 411178647 834129969 849092149 356714643 96979495 802935869 988531877 279371513 111199775 12468107 275063399 329004317 884694109 391444779 561274895 783272421 208029545 192037143 489895255 934826907 878218609 445601585 80152099 804572917 606163279 799485503 552003965 367714833 309239167 128700663 587824283 521315189 122812715 409672943 525390805 492380941 544021793 974778793 373528495 812261167 756663511 393954189 884716501 549609881 293169007 424469231 803216923 902460013 567982765 531393799 288212859 869010749 900184069 735586039 502152985 611424761 203654537 495248069 83158849 148387843 698552059 431790695 87141475 698254621 20247233 497414835 892883997 917314679 322843885 867896427 578404915 38160803 665197619 855569207 315626893 873560993 818947315 274881707 823499585 430243797 417089077 649618239 549391243 404095757 178258089 144578899 583040715 981511805 192237477 281983027 296714381 45944003 788460071 152654093 803787911 69885157 96095705 829943293 920497041 386289487 447703049 351725825 887290545 432459989 225382063 632062727 617536529 928142777 288076649 70698205 572498435 613210267 531742335 239878203 381192707 315525515 975016415 161777863 158846391 994939647 391897123 817669381 972958181 253107409 669782407 446990185 235976069 179881289 323646197 126629709 676487345 977115157 726107387 682427889 363418537 326172487 480630991 699912573 25504221 498507359 420135251 531070981 856125151 317843263 334750219 393962623 693459815 498448185 558753833 372779983 757306461 434910719 130040707 205254591 585377735 339320495 75999129 28686845 616097245 116795085 107203731 471221539 700936185 910404937 287553085 746753973 962249629 909890423 592606993 410235673 394909045 224945683 923824429 372082851 169800277 663710787 989219163 351043721 702542901 539830933 769879045 628752111 138859325 466585085 411182663 787977951 592214197 792866521 699733727 212595527 206593041 484386799 883950387 882241537 179944941 824597357 253854291 11564241 369210635 132833765 364000247 105748573 195024215 113377621 173808509 446544695 876213989 935937061 812126443 428433627 917208303 627986463 578271733 235451559 433251031 735581051 529482989 879303909 319188781 132725717 633639893 453499335 282164895 688630065 692666709 389855845 956263179 257960701 246792123 65055171 81804915 584174865 21629949 313486791 393249795 732180135 832977085 179028547 42311439 215376741 375117631 773359089 312566289 864365145 680690805 442970995 79434157 444850935 543943669 767353425 938632623 917115421 163226879 196968445 488910343 31559441 538483067 36539599 23172051 141760637 379018997 651868939 2091607 112802683 565379495 262349271 367346171 435241607 481970543 308537413 287441237 753604739 492950229 416347727 245451295 450592191 934614537 305146839 760328765 815045361 372427745 364384165 862581947 729703987 330375901 710901867 113081033 327000589 589812259 394136513 265752263 262063725 330553987 972074281 663401267 320557477 555197811 935999757 161455549 924553589 989270549 472394173 326879797 712431617 312240687 277299827 810344343 612169941 659175215 687823441 526490377 670870505 458775343 643262815 23519441 287567001 567384555 644696463 359765863 682881195 223413709 363567033 916490851 833358153 462316769 193505951 994884491 339888653 968628707 698865131 8470985 996922353 572766509 296599341 583758383 687749211 98950603 802783967 364888827 616808985 297070185 729359201 248502925 161774689 863810143 716324351 16184947 603370445 607283885 50933737 94979167 848488293 182162169 552069943 823218987 390623637 889610387 323842539 980268509 339139891 777816947 119191277 395025567 306630781 190047031 333433105 121564613 60068885 57773609 781076495 671567047 815622157 915566643 450875785 69371725 148235479 663982577 381185543 366266399 138516047 148896161 444992505 702228017 366793407 547809319 664970427 676647839 44152271 497126423 933828493 438356139 528277913 606967463 147586711 503408321 17521047 237215413 258492397 723374451 9772975 910513609 59910279 578097023 392095535 359818513 181500231 270881735 2012107 923997285 938394611 247082069 962311841 248632647 216600129 443773789 901508919 510662617 59778245 787787835 768746105 563198447 205321221 254879345 684378557 218973181 578214761 338043565 720537535 791212581 760978497 518842301 334070693 95410987 800818373 147058593 833548799 622203777 332533019 552146555 152100797 332565053 799622215 454810519 285056833 964463135 59459389 910146661 658773325 293257869 39427031 746638211 569047055 112570009 8226261 303703475 119078943 724532215 246650847 917009635 765235061 498777607 139636361 410233635 4869755 392835281 826868555 136220079 950353661 425907715 663909253 257830379 435757871 795090935 106128257 565364321 869383343 897456811 542467955 618515911 375557505 148108997 588366959 708200437 951616277 272175253 226942331 114621681 901564735 295959313 582340221 787495395 285775675 258962139 991197513 260110881 175877295 718445881 718226069 968496165 8744105 325787417 894447879 807327381 614328991 371925011 691904035 520642871 910142315 345233257 389602141 252209155 559355477 311506685 391305997 261163025 948671497 234042467 857497463 497198247 409044381 19577295 425628609 648472623 331479439 289834787 339901695 748519739 389420225 566002915 847464231 432194951 226377605 459773761 30690333 320111353 745360525 490223891 226683563 925224087 149272053 956207833 762813311 142478233 958071367 962104249 493100083 725965401 887527275 111518339 374045257 749408601 326452667 837599407 831504429 605830211 605385457 572999515 793244715 948764911 64139571 512204879 898130303 261111379 847905807 301160699 417341259 38889879 815033209 930403189 679529367 562089219 513436879 189441403 857348181 683987723 120284631 554655607 836900959 199451979 878624701 60065143 26071155 971720581 908601879 669880883 585017917 824285349 514349537 951313415 42401615 515095997 210404995 579933695 187491871 274078475 200344263 450058439 583739153 201987823 53921253 939470265 508270957 419067129 608835191 271384529 289199203 548107991 673217413 117251255 81939985 257863527 732940157 804759997 174762611 861769131 61225777 966824151 545868917 453792719 655433441 860840871 568745191 680599079 709788465 619575409 957031811 755877933 568572975 594790695 648010219 836515715 247964239 118060639 94739111 275974391 39150959 145358425 10112041 169819005 664853971 127676411 324557769 237712685 748263211 372114901 449510089 31450187 420248971 321648927 733559635 30171203 458949743 379482295 602536311 422907049 870810557 136557605 213713967 907440695 759300291 513343129 281030749 103196113 513380663 232159207 715171273 609317251 971777075 256229779 650734115 649466749 120305983 719381441 32592391 899611421 260841799 296114241 36962807 113132007 974563745 993171337 641856343 583507587 373239563 59231675 260596093 101114823 457129641 591329693 690865825 804641711 407717127 106175901 129894629 97331803 550400285 291168979 405712209 241809175 314174279 954258943 600428245 449662297 225151049 384883337 400645453 661832121 778460755 510590333 364199545 954119421 585490935 806397079 685805827 685957389 656573237 985968433 654739323 734194177 521686131 224774997 411046235 809336591 682166137 77097651 554692099 383777181 73502339 329506209 880367039 244060215 89949481 474706975 679146173 916211599 261737331 697242835 941569561 209908095 161185485 694191629 108499155 512869901 999421197 327612613 282988245 212460643 753847663 18767769 469638127 875017683 668987803 780306897 164560089 70776539 459128475 83569757 649711673 289312283 769561573 874533585 236833683 835379041 396181593 744836721 445313117 927700127 721106745 479883553 340403435 972441327 868032309 174808689 372804483 254415255 294973279 803254935 432201037 128220417 938743863 392312693 451194713 592299969 936568481 579678095 342573471 531717519 809747179 112068889 169476613 546068051 697073097 877898469 167916879 366802709 979570009 292991861 118985777 335082249 790070303 198456815 860852293 231146635 365783051 204014373 913638667 716965405 59554161 964988555 885090027 76461931 139653645 386470723 613503545 691422281 847278085 224875793 657874987 783548337 562903785 795322727 963912167 654428357 592873641 134377051 425113969 790745043 712279717 34509739 730955965 719719759 175695523 700394435 743968421 866019537 404894161 79635629 165938663 536428573 714774977 320513827 394333745 661567519 560748915 64273283 609732367 907256299 731820105 791422677 75632383 922656699 232820501 887088583 380724831 27786227 402146569 32105395 87268473 972751389 119888065 643318165 444810879 134582767 8472391 968637207 437774987 854357569 219203333 251487623 972302491 563785751 270895311 366584027 856035741 61823901 288875237 147587765 655548509 716161319 879570411 472145241 514840215 812610097 382066671 172336315 370957293 402760283 494764901 982586733 8205545 643514993 896393773 124489649 614771193 482348905 927123081 660230253 505428087 908361563 181777959 705155123 287248293 107756683 235261213 499874359 306624431 264355431 305372903 572215129 792433313 817131135 103361389 782525219 440426359 662123919 679053817 570238143 742511891 46328445 526683203 739768841 945567549 339730255 411075429 307580543 489465255 466599485 395733223 908253255 842790123 252554911 915130807 586245937 156858759 995822075 355586343 522572725 974867175 638707451 641966583 472015857 300739675 25131633 58119499 630483629 72406557 308330587 891027889 673450073 285019215 634236633 795211293 569729033 535119353 684834105 927026925 660544641 460799501 589092077 904278759 633232163 759548515 719651983 935018039 373289731 352512191 643045605 309356913 970226645 821390277 800878041 252768407 566188795 532740109 771561341 766485513 874558075 359704843 12893455 322390935 683282947 164954147 870323183 28990839 991867371 490999195 992096427 233658179 90358323 414019497 301914101 367097603 563215235 415822179 752148393 104442915 293770791 661176267 843736009 674296443 47600409 577755339 345682305 730863427 53018871 236193331 987313189 737381925 432850699 287836861 6485551 135531053 587120191 107744011 712615489 986403021 996793391 550785189 413693993 527467751 118797849 818686715 402770395 455083967 206534627 182565483 85111405 523600383 517227805 198564657 773991721 110063809 679011327 718020215 3357813 139374207 788047975 605538129 614398183 572086303 870444253 564407223 194525241 50353647 224369039 334617483 193611853 924083365 397654871 636582293 84646451 654679131 181733553 431565445 899701017 341847961 750140103 917619191 137634653 825099851 489946215 739481963 739061121 980142791 961818887 407437131 301400883 307705033 55193033 847706599 758367299 872803449 700269681 206078071 261463469 737413985 674760817 244269089 67606677 483652473 899168737 326758635 440596293 621111837 486107261 992597189 256625715 646045457 983271597 887697547 628463863 15708035 347978369 990929149 546788693 890265867 937475761 821701571 947468347 734021795 525883805 152864881 718454457 906865585 267883081 783874943 757346059 463221505 191747431 670282573 808716181 513056717 828001869 600941863 193926115 376550573 799745017 810295867 204722085 779522727 346423317 543995557 444681659 238876715 852933615 662126181 87156515 630878221 735254911 610269795 707234317 611248777 982866531 829072755 902889673 217943623 994206435 279515469 479611605 365880657 243113709 371763089 379945937 651687453 550377243 548864201 810319499 492435083 56162729 788221799 160926707 108679389 55086465 284507845 47338025 338087617 304554801 510433827 173035373 957808207 662100463 631698345 922859307 718385407 745759389 413729643 386599157 679224507 170813631 402130527 743422857 960577231 304555911 831606123 929605063 641352941 426625739 75307603 813603261 796486199 175392267 408391883 377963421 340889649 786849647 168145773 471802563 819450311 566886595 306822327 910618289 394026061 68844161 396760597 571954193 296759939 586775751 68556505 427616187 973842319 370489951 124905787 40975271 984065531 109402035 547059547 512172023 532345533 934443999 373614659 154741753 891614771 979436449 280523493 623166751 168233251 466491487 287191833 592689669 993818553 779894569 764301475 71979373 777105547 898323381 976742953 337707333 602696087 75826533 11616317 45869467 249153343 844503103 118407259 521823663 501252437 80326643 627922401 464134371 254735881 115739349 723137305 35198401 221701373 633155815 713253941 759663869 983529011 323982545 424177229 264916083 130420507 476011745 234029157 882485287 985667463 631163405 305856099 24574273 232996023 345613047 139479577 366637335 166013519 202522851 511393859 963727395 337493853 42476227 936476541 53439241 493940565 379313197 698525525 646831507 886978837 829083745 883445051 772885941 672921571 28153159 832276361 936313997 559811179 81762411 631616125 405404505 64725443 934198791 376966979 681744519 956004967 758191097 112444139 270751403 924842303 548682441 842662255 805249 468714645 703385767 365998257 447393001 961292063 797075561 485695353 93784559 201217789 797159565 119079545 653361609 602162353 63495229 290199369 90300111 474676777 764948551 126322027 649005959 590265789 737035811 496695625 6780825 860237605 289237231 365677875 210493659 413428875 482959987 560649829 637000777 911972219 686678557 231974395 582032131 999358953 748834823 369515523 42891095 509234483 792042477 467467885 873344949 959967005 47599159 816309265 119698365 625734359 606661367 73385393 760135983 908185077 491496673 100320503 379594997 363186547 104234583 292967283 456647207 552683191 428272221 946040735 351607547 873329807 691408293 358694365 876963801 274631727 796396423 592395635 477746247 391250487 901887231 486738839 708913149 534301097 565335477 472229983 287040981 861326579 215258873 946353613 792666833 76754155 305421507 985787083 646026525 849579981 282276529 440741929 824015115 945773121 398647051 461625761 333449241 701684819 974988225 560844499 818188263 352716917 408805737 358717515 696799555 91423369 413915713 706479735 456272159 975284433 175642419 705174707 909927831 332802813 362669773 829221439 180358893 724729119 512761927 799888197 652262029 572623543 574247039 449576405 631035403 73245097 499273981 156389095 359221281 176460099 626125039 211580769 592486321 867365689 345928237 457201927 216282313 793621675 556027961 328848783 425129373 721219865 718150453 294033807 410818437 714426741 46713077 335823239 575837189 416818451 68592621 942660325 518932425 880067249 216115263 927640311 754912165 82866545 623261359 372093943 504013715 928737251 533128623 242642437 288527799 389128957 36004437 792897067 601368923 278026521 90444641 157407581 534051315 641436927 427536441 711016815 712386587 649229533 954445295 225488423 362617495 738977605 909209653 373251117 523220303 656292919 505121393 334960655 219441753 631920663 940523685 979550539 869909743 100736689 368522881 792877887 922010741 34577469 997506655 99036215 698716535 406014551 375892541 180741729 343887525 863791877 151544513 166269143 966737885 70108083 919482425 421849757 714003235 334263861 967202721 692059545 25269151 767414221 504617365 384428959 810839721 81089051 38980957 944496487 838241463 957983279 49648615 768166801 426774639 562140541 855717579 600693671 283857309 420033765 401438539 78290203 443132977 815526313 365036873 531097159 82431819 51843703 82848345 555308905 576667177 530751077 49185455 479298477 278875451 404835311 959790123 527161381 976216337 264443901 327854935 593990855 348959081 297501915 360523359 699941239 451868707 864721723 896254491 397030143 288600141 956930879 168362251 6697997 741674265 601537899 529607253 802926139 792349409 5670825 209591497 985744653 538516011 553353811 503179743 507914985 19247777 730421027 893161141 923239457 179081237 192812095 121628947 194344945 730770821 509212469 252776041 376523127 349652497 242394105 981344461 353019581 136886279 436430825 994237437 235538357 996857305 126579403 933787747 796203831 680271651 981412299 50590733 434469381 90669991 753727103 897163185 89065417 543059025 908518883 610687921 947271189 298262579 6649181 764946195 812588895 909096843 295662013 558772357 639267851 123494587 376496691 512175969 861633889 738982221 735813985 394360995 470260371 754407669 401226825 244581875 499791801 440666767 978652507 260269731 833093333 378723101 953758057 23328935 785479377 114211019 782142643 465969569 659575421 482968045 795120605 833173973 709395349 520632317 582789363 31339829 794868661 658119839 923791469 928196183 508386155 101833373 139978791 56222075 891951399 808220907 685166695 110562695 787182657 713349029 542333657 516156171 360408571 682868495 493471121 299122495 980218495 788702353 164429329 355979521 538926557 240167361 741782585 978904025 77916431 39073625 108877145 377467639 962270967 184052797 827435301 786066991 709998429 192476791 2293949 760982277 229000179 129232445 233355683 309365661 703363409 314027239 702140101 706843591 158698489 807294969 133440889 210805753 476448597 245521441 535911037 686228565 7965877 951890479 954826483 623922593 517160531 298508831 347366765 447774795 54710351 470575637 744205533 939275115 32144309 194681693 126701983 847576001 656153971 954306407 580013181 22061749 324775781 499229905 59500449 463741267 470037835 434670175 764934559 924489045 977594831 753106939 384173687 878547995 563961217 923446199 149354637 972642217 91403739 230166735 544152495 281373105 975996477 909344937 883029009 269400201 56187635 75888587 740108113 985334833 836055597 67931373 982282101 530533711 997977857 825952231 65621993 926920243 405941877 741833407 342450819 119559637 638024817 292814495 32796289 471819987 462999237 427390169 770198405 246691957 782478379 36344811 380074145 943396779 522097987 317485173 152922437 844636681 366425497 754358853 383077971 446168275 839388827 8600909 236916493 43507181 417750181 898949289 18114593 238586597 269560821 265534875 981952167 379793399 771274681 130374799 71387929 272147711 572347135 833083927 893227101 497391747 151169471 157003761 379999935 131767 709093855 959715325 372422903 280160365 267971107 593811273 570689825 17893415 685971775 71224071 813292995 202007307 375238861 286735251 641523913 937138667 517248589 468152175 993707145 237665851 421820455 753465927 392747711 834412315 254715055 123105775 677778321 999123541 897069853 822747489 853717133 898278229 423473809 302353345 757065641 977103411 324767509 71015257 994768959 348718253 834635931 723501213 187730455 124422957 309391869 170347817 790494301 780252611 580313595 283742399 333348521 432909089 33252925 542587469 902186995 462699947 150089813 259918561 228802981 585462887 361195711 272702139 924188297 309299717 890794969 688642109 738950103 504009179 586064621 940815091 916267051 515896039 274202925 919871117 550485643 66844371 51202227 82490857 973949793 662596845 557227389 133875209 220750215 139704619 120352377 166899995 908402487 398397743 369759347 501323119 609104151 998248253 586285353 895305345 522668853 247476041 645669433 287686133 202045957 473943525 463083053 634363029 934568293 4445011 873545591 215387991 387106715 381649017 746933103 811483219 174861395 505194985 577108313 441784271 23126435 503638231 436819803 145758003 691205897 252661795 497179527 641483799 192000615 876024663 388261079 319655729 243119375 435340701 279706157 540819303 545780401 808457937 120297297 94531269 291265135 674705009 604232181 459607931 615695307 232066211 393253043 142526697 786618805 313845559 46600713 20876431 654875519 889981093 377104227 806132503 548609001 887227147 145636881 683107673 441244183 492090161 727177295 793410891 855842455 211738501 662783033 534432019 607920221 261874977 716975837 701702141 420431303 498810561 416369963 494375291 530123673 41281487 789699835 782743081 292979715 379134297 348108817 277346503 227470233 699042581 184185107 481392965 939424855 33657445 175486611 38418869 76901541 704662863 860022795 584786255 556897357 466996609 370414301 921794427 997519237 706339667 400449361 890147009 10150893 512297157 995719063 93855701 285872007 581802623 881896139 450130067 741036481 596063437 235531759 448943357 443276401 455670441 63076582 351238207 320357589 43374769 52632459 522799531 443080849 143269423 68394639 851858879 639630513 622397453 695027349 477878045 509206189 437071847 449122089 495932303 163814241 206786299 198457275 802140425 632363025 31686959 616371875 520200359 617335661 62078995 411642403 647916459 702823049 235626463 565466467 99632769 764946401 319240305 967235961 645255101 214659163 728645713 103874137 511871257 152030277 981440429 293250533 872323193 794782291 607160671 202475241 241630951 173323939 443315171 694702099 125451159 941419451 438708835 64746751 605456101 695646087 25798573 764154157 209123157 239186013 520990519 545326855 493528207 402640379 396083747 639651037 511677033 44294277 32081973 185948137 233164765 350111623 883158751 866690379 160995855 540400377 222167609 18183951 422878537 797882421 215035903 628333859 979879937 227034373 318319769 684718179 729585103 472886929 588705303 894010767 343110777 134879857 321912113 964781647 762401511 528261027 959205959 282126903 155359279 700305803 40582749 605278655 804039819 785537271 843385893 240373063 681584737 844701467 23262965 927622683 515714359 177903253 189643723 828476777 291534021 364861035 378138193 226985293 79891939 131374857 310974933 110981063 905452439 596946757 908497487 966321599 976906249 260110171 577220445 212823049 400209809 383187441 879850311 213029981 292508069 618297111 244667387 313769051 284835819 417082173 185355283 56387213 422058799 484700229 604630987 467196775 225242723 442482801 565138957 427390525 119116705 621038959 924332903 9263189 48591151 465254229 493256975 221291989 338032759 481613729 340616679 187526353 341897483 562763831 479141235 524581953 137641897 265025123 940932325 6679813 30079281 687358429 9195539 839608551 195433393 283627969 96263805 905218969 625921371 178085781 921810507 669822389 68505995 461999683 617306953 548670393 70741443 253487909 453510641 50309395 313512623 445202677 923326561 524034831 231264545 425482969 702189921 177843691 978827031 160020831 995606881 393144261 804553907 442449787 317007735 328883111 450357055 94280077 676176483 346612867 184900655 421359191 699621771 401733681 611691551 19590663 326855679 305410165 88821713 660461875 103326581 303557109 31532849 547025367 362880335 284131653 533357651 980933211 24115603 376504283 205379185 706065033 658074609 575910171 142450925 915842201 87353533 272906573 743390805 782868519 512146425 843290787 952705885 371210551 969032781 936862261 154477533 612449081 127287815 624685319 986771929 752703999 997266973 571580159 773866109 941991625 630567217 58431471 832815901 541499 101650055 350471827 558613043 263512163 498917649 909831561 21095011 95547317 820636773 610298459 455864183 683117583 901675971 584816761 945577829 448454839 353022227 568250433 479630149 780624985 409186273 643402223 809200731 361287179 178669159 131858095 629907221 974697033 800568451 86864273 663943683 222619129 379516605 727708817 259343073 420793195 877782853 58334603 981599635 372486479 1011441 381529933 743766309 787685831 654752319 87912071 38191303 380974933 233057881 733716689 18715351 774498279 707631629 209563053 869371353 617240531 228207315 553715077 991928695 497993431 204027337 883853483 423011203 722213655 911055031 93199957 460209401 636707361 510663947 685007269 614398717 409145831 566440159 723079335 229439963 410792907 447368687 797800779 209199621 208078225 186150563 47534697 966042901 939492453 133297933 515996867 1256145 328179675 560375265 583402499 755637283 121031411 185104257 850205625 159163421 114029331 695240433 64313951 803444989 46632709 454512355 590518359 990551331 337843711 77141167 407571175 525456925 948487839 312738127 359055685 615060381 226726379 690380913 795517319 127500925 327621201 649018207 741353903 970021315 953909411 178587155 197351079 518068633 10198815 755490347 826873151 780181587 564665965 477107183 557197617 254915433 526933655 37270351 304791069 717006979 968923157 95268577 867170447 420730473 760308931 647126755 665285877 455640591 493673701 251303999 397849259 258670991 771552811 102865283 3523825 473684273 261451943 947559399 600845297 807382619 526140377 850018889 427558843 678586017 735217061 422530609 531638089 538369217 342390617 429403853 683076475 346822045 419285673 57773045 216976925 236571967 701481139 269026601 920874717 45917147 751495933 17097873 344362583 672303309 165657203 101564411 408570123 590987671 593223275 364361693 518384225 441313509 473925537 343042649 392408493 69065099 851635517 741794355 149890343 151472003 198557129 935799261 868141295 966232817 880392251 491275885 726761487 6778143 933160691 815740579 259513723 144987011 404058803 45673445 345832711 614708405 211345323 386474819 485629049 256386937 49618541 251140213 742239353 75765181 982314745 292882139 420171669 96946063 990232497 463788153 809862475 181770801 638792295 879720191 617868537 474091777 388389709 776475847 21217003 807461515 876748289 173456847 868318031 254951301 38506633 190070459 119510847 764778439 45804111 216483807 565456319 876630357 557118253 369162289 505043127 593387357 401101405 996479567 382076405 292228399 154955653 798365569 315106359 959089991 619387829 839590069 435264027 378935881 58529373 394036611 57276203 759393793 421261405 192633643 493655769 211135073 822846715 924488597 971573631 830299267 49713379 981097039 535900507 194723757 214792493 287508879 596305819 494277191 12559441 177494837 883742539 809722089 395069241 9957835 375307881 114629449 534811695 305765245 376650451 936830285 268371435 8680739 851919699 301484033 337689225 937853757 866875035 91994263 449166477 250771697 83099203 357621099 864957927 668923663 130071503 857421565 787535593 358982927 516858277 631356157 437379411 858077711 20789271 263020349 441353545 501533655 659673185 880534709 791597145 528340439 144284577 532345997 802712695 753353765 926798817 807157517 700610819 293868159 119755027 556276393 187429821 623854927 79579151 836564731 112853463 155941539 481743767 70083529 834424549 149497649 753262421 133766653 127970277 498762075 58240219 824819883 744219193 998862375 975957151 381316621 946290865 521609795 959941381 62550149 24740483 395545863 540737877 30790561 957874763 766221173 669387457 185855763 722014989 708505903 919766881 361236407 340443447 343482761 83912503 102675601 812976545 922579063 373332781 591478217 172410499 208888217 676649493 619814835 951125639 742927673 502480805 84051917 377870777 443680067 181188479 679847353 409937549 411460687 611587119 156130369 733931233 555486365 55743525 561684571 704179961 683823891 964745913 953079839 810140293 602267201 913043245 425220049 877007769 311000927 560869291 96175837 707296689 806043979 23295557 496292055 461440181 63167885 310060529 616472697 175297007 409899349 743816593 265460903 900117781 968567927 38215921 828764523 269525829 539886199 274897345 36894459 549436421 192787833 204541081 353358511 236026947 644927819 408716283 884184077 739531601 747947625 60548433 110429629 894651373 618546927 807676907 397936789 977046335 462323107 881461251 528703631 60326867 151755513 877530041 562138575 757905563 815652355 334929945 106012065 545606137 567673731 716008979 982340983 919487153 242715361 331086719 187426795 31765229 331020585 387880991 366374339 961135943 680381973 983790747 745691879 382973369 703666437 940515207 616908653 685414057 569614845 475432027 943532689 5705701 412439727 38895737 428600755 285647777 330756465 360517159 791891809 531983227 940195907 446346139 220167755 78521209 447384523 21190123 694834769 230666503 791721561 354999831 138357107 824931835 481688805 811685901 900826843 272982417 629904909 110731675 744418785 950913393 102963481 333735291 725201147 727715493 125151481 477290573 131027153 655792293 72579393 494397853 512655659 220859979 665998645 537244377 409168893 456491745 658132663 210457181 803221089 268420367 222786395 624523369 877003677 83197933 662917463 821808165 953185819 280421369 706382985 256631461 842465391 458720791 244283767 546513377 851276369 213987477 846938707 78359481 687883177 866908711 370152437 917328631 234638719 758888171 271727833 98731599 758525703 615546727 33021479 618502485 640272029 67084165 390074033 661160335 310522051 41437087 395560939 112229731 963414309 452290927 513836277 969923365 208516503 253820701 161510809 500677133 381371665 775859251 897838915 157146427 591673019 82661031 701281289 562494137 539862749 324928473 857051567 367492217 263426027 912722827 541406361 429927765 158385025 107022059 851885273 575028749 270090595 386361231 804138785 116939849 958587001 197097077 472650709 466460573 203457497 547149057 884339195 32708223 466268093 255612927 816694851 65331027 354723465 171737767 234019841 201278817 491574215 426913685 754930745 338338781 857217835 17146829 851106959 131068635 344128913 839619519 795873361 849128545 507746301 829756477 997570427 259843925 988159127 823341959 828226473 522955401 857492917 312628803 154973985 488957881 642346705 321966203 307488725 912056963 398755727 573494437 64407133 921915761 322925755 638903455 658843893 684357365 28742469 910492335 632019077 110519911 522333005 830637697 820303775 36337419 501871889 16921131 32145783 361728775 855443457 748402473 225925869 486883949 658930093 535279459 223416713 437370425 225436881 203980323 195601531 612247369 980608593 560373025 180056985 5263207 940650553 125131129 869979747 818645573 944362171 306539695 985018111 106017915 320288049 852353457 99689789 756243595 581482785 919246295 964874133 222846431 102146357 748698075 785928229 141785545 28413503 188191969 530397621 407207551 26477115 596686715 797150387 285971493 444561231 210223771 224564793 595372995 873178819 329744031 495877379 342902345 504597513 81899085 826911355 835091861 406888897 716264401 9045935 209259875 614222507 644125121 282872405 299239519 452409011 197808153 689340879 318265113 119758827 587317567 951890979 23774987 388637585 58119425 160909055 618296727 947098885 142054805 542437563 401423109 386222293 770210453 368893783 170656133 916271539 33333257 846011257 481110069 338456443 616513375 437492083 808580113 340644911 626575977 138708537 886422789 357151995 494383719 643805803 789418721 51940659 243687675 760445267 684882015 107838287 740210487 690704347 888641055 636933111 416938637 724467615 62774701 349550323 217578459 231906269 383794809 359282743 579615333 728306811 45533403 199351519 582654171 862623497 492448533 929654829 888381007 400737727 47880273 6962831 644052801 788410491 630551455 721089683 343845015 411431365 836273401 103220729 480310939 886893003 778079807 572574371 833570307 461630311 88013373 142579099 477832429 259652373 239189409 948613655 879827935 544190463 513387015 805409903 100586693 214885619 893598447 215148839 532208117 816143207 403744451 427211243 94384941 28514429 126653395 293689999 263413391 414881785 18990425 557586445 170222509 135689549 812663413 60245897 610140791 461359247 60337971 851647311 123809871 462578047 131903361 522846159 173357303 792635013 133211195 106560169 338139039 271631277 594282017 861591451 108316121 243266993 882436829 649717653 278519973 833093361 221608445 476843431 649513831 758987889 825115647 446276109 6499565 915822819 987842371 942357803 847713899 989907355 17680655 536581773 588094591 518826909 582502551 262382051 29859887 11204237 295984629 558964749 105540071 561546683 905844521 989633033 429251195 453674271 990827803 8825863 589950509 68234839 823685279 160322647 820742557 734624683 924045677 629406327 581082843 754795273 583573797 897144327 455233629 100158731 747586641 255016403 950398461 688457197 543165285 490896081 69195779 596946073 904566197 547838747 219932189 207050651 120741511 450139891 68219485 213853743 111510017 974421443 615501379 613375279 216469559 630483235 972216753 918656551 867605537 268044233 41223161 133928003 186761375 903994525 590925517 323732827 846759803 811325863 205185867 854538991 169859175 414411547 98690807 436604199 189353469 490230867 855708353 651864015 775368379 784562389 801994749 859211105 416232463 785767243 379472231 205958651 94994757 560004745 604791333 575458917 608614555 80363145 680558789 359379727 227076655 135149421 686720059 587259663 276264715 740893315 106295013 908926757 643957793 828124477 355839881 30010039 910793035 417510455 280813653 791731925 571577927 164214835 38762971 194662197 893813697 435152157 58097689 659658553 74315851 10920201 180221303 644123879 293950299 754804529 958333887 543394285 131953749 759682809 500676905 96403621 272216449 748394731 95024975 690577163 650069265 370985915 367171131 767468489 494726175 507527493 305611093 560400685 276758953 951741323 903416951 807416877 320815515 271600571 724133595 134165355 148643271 797033253 580504615 298762795 964221667 706677317 359836009 384941407 347791251 856286653 913337365 991816349 939259231 662827869 405966601 784399653 519114681 389532435 626002825 235144413 794707705 48813565 928804933 833156439 548599649 703660383 423154257 850080455 669395483 55936417 528622123 577579277 257156151 13617497 491909813 314763953 37070769 42090561 666899007 444425187 658865765 768022589 396239231 91567993 131130145 93055065 333739663 598504945 237964437 942071239 513684983 292378229 387019865 609990881 457581477 872096723 435376625 636314667 463916011 761377667 11703235 612694355 807341705 574968995 44747809 323631145 315322787 627857147 524478021 44305323 899680965 101181433 316100433 772860665 949861863 909851061 415926603 326479967 538893925 401051633 129111593 504617043 510051333 705797391 601464001 16023663 303275505 268833059 847005141 193362035 645737411 430080737 164841743 615823695 223408245 930582699 637834239 384636947 270989165 34234245 868889887 528419069 652557177 429283873 87505617 449593965 43696591 516903381 46160989 323240433 574968585 110058913 854282995 763307323 591003695 26561837 528938671 8145703 11132845 119515077 547621265 389982903 368677465 695812963 514810499 491884053 632365681 16850341 982983765 505031065 808417431 88263891 190650049 844462267 329359069 596120285 697596775 88942365 972057013 218174553 553126611 45151629 685799163 230837125 449951091 651726077 408837881 946077515 972665507 738631049 565458263 118163513 638682531 377358707 49631279 501813639 13405341 912288295 714418427 644030483 547410337 963396409 888865185 48758627 531179945 106440547 30925167 956344491 363215765 157995911 215377945 375972285 147218737 328156595 99368125 113105435 583116843 10764315 573223649 852667373 322325279 170399253 89765745 402082049 597977229 692601131 416732609 99268045 470353885 870342147 211310739 43448945 32404579 551139699 918012167 811953591 62133335 833567605 546318767 940971019 499296217 593826859 586030459 666513029 822669301 52488421 527750861 328613861 128554393 98386705 238583399 875748241 637838497 163845965 343846007 374942873 494252235 250133597 836544403 735780021 681882821 742333481 25864121 905851715 205494557 415502023 68497741 316040781 870309707 858732913 631130653 301957501 11550899 505041803 638709853 152852783 726854559 256480159 260896171 401591135 480946237 160888419 825263627 454552247 844075945 284388271 241034989 121932165 227179745 929383305 348139045 770211009 871709139 642969881 461869295 171836681 795871307 949883829 609721585 351518115 683553543 470178265 61074233 30538115 170943141 785968165 357096253 581101627 977594031 774919269 484577751 772401421 734112919 537734287 909412431 301850593 742336695 789879227 425734481 981551173 899878733 499885359 932162035 294875247 449593223 507556181 721638579 852060735 495255665 307243199 54411891 840081471 737895433 49718059 588826501 212828827 89255981 530770553 663658651 533807659 89697703 793049015 136178641 370098541 152816425 287042581 941138353 481269133 885371467 399876595 522207779 424166741 960352913 418970065 82394497 197039167 173044833 638464347 46481797 60805481 592114191 140677731 365796437 692288155 772811473 415373287 158178687 277773125 570700747 335213319 657086199 636680571 702774021 915189265 442563099 656535809 123031665 619149175 95223985 392100411 222209767 629858005 621722085 141444409 894586667 923798509 616549709 571121329 285815523 186213291 544758245 739780869 694128033 266565921 322316565 485351227 807986143 327924365 958518695 411668481 669713919 460379729 630686419 981335727 549509961 99564535 703558451 477318215 142269167 211441971 710886863 978286699 929768713 752409313 330386709 273474159 655418777 800698371 147532247 252634695 429207433 255747269 960563797 496758675 871890347 776937851 590118195 374142621 159659957 905847711 932442751 487312209 812813131 215774931 91670701 71695431 451951861 185191911 712335257 486738877 860224803 902247369 900246413 419771039 856722737 912406679 56225331 252056951 408978017 248241299 722165153 477420415 228907735 767455019 34477907 18726805 521193131 288651247 794304815 697572161 25472721 100855195 459336323 378224561 34044971 773582611 408651013 737251519 219257477 718255201 878426575 249128425 208920463 606762425 239369321 533399891 509993441 546472057 479130047 194761937 20796413 805359647 816106279 417715417 20403021 114218841 30004063 27127177 666392865 109989117 930078603 167988647 172973491 760004865 569524791 277659047 307723555 910268299 389846619 169844891 655139965 389501925 267281491 952114501 234245809 649964933 517441763 664344333 753803671 538206467 65117243 599357183 174033649 194222885 250086125 760045781 323109223 822363605 824956665 444863471 304178061 896888613 658164421 78656593 184039131 275971665 142473753 222820781 496442547 951616189 173714737 115326041 836446555 397212405 274055077 930086997 965776649 241466795 74988925 476867143 988086995 168565945 437752869 187096191 124063163 559003685 395706739 382886901 834258857 178579737 398737571 511207239 985332849 191327463 72676701 105067453 500997323 326809101 160103595 134591557 330100567 612861227 522734083 792842873 638234529 287749647 642073669 577527703 577041687 161249963 656713907 106066307 978321941 491015195 623048189 959012305 898036955 108684193 120918325 742637239 777388689 689914791 603148507 525802513 69013579 397240005 137248723 679347819 203740161 336074931 252677739 270332913 904683923 76280659 246730583 255207293 554082765 339616691 987769013 639266699 88409437 772002053 816881929 807049539 672077789 440684453 399796803 617089399 669532369 145826837 555626679 392497563 441859745 321719297 339018273 925295311 265348507 597301565 592717479 222724317 546365693 882980547 792448983 464568623 24042981 680695733 98645927 116263393 320583773 949639267 659475313 767973553 473128025 835632443 553126141 128653317 640758957 570499547 703251321 880878573 996393503 329441285 569864823 218701601 123404885 987764389 407468277 209332735 467598563 550820047 235359323 301785999 921073215 81176253 42420085 721605761 576045261 586872531 33057143 793762345 817221079 660297371 190948093 511027595 183355531 16126411 842611985 191715915 265277699 251604283 28800029 570906039 157101379 682666991 435733749 887979979 565120049 467613205 766992857 835197987 477638815 180020733 881814381 147497733 746743369 232034595 297304511 247109219 774935757 59083563 174247747 198453973 551930549 105716447 660604889 820694679 414980723 454701877 565053379 172558481 706242911 517057093 363200687 571576661 897209533 696859221 197120179 205533207 715130035 46481613 475103051 62469047 355751251 367867715 897719391 833438141 223725465 951263859 292609337 969307481 97298531 980765501 486918033 701576289 230478203 727462319 215572097 319395413 424545427 864723449 708377489 792140635 92645443 213164411 908831663 848304451 298409229 249780659 752865837 210557061 557444187 863763281 933356491 749124927 696876927 22232869 654925229 935518265 501702831 981859629 307319393 369609697 85112847 253572489 981364955 117408081 211895463 981741959 830715257 549559621 593107817 966153881 662642433 368387879 580650541 763611481 325575071 768029189 992270005 927833229 455443431 946406293 803344811 531802143 900416475 798189369 600469407 268719651 747705819 679206135 523083787 750984657 620294583 57151101 661654097 366373521 244374437 271856163 938038969 195016427 852886847 960496617 353300341 817576851 535043213 555744373 361175965 820352099 512307451 776809497 718655539 845720929 2206305 74639305 359491873 95440311 348104695 120768549 377900599 939960505 360484711 459427445 281245231 553821921 685256635 588246953 263274923 363152083 235573867 222116695 708713009 451514457 789195347 426722495 763561783 585398631 564684473 189279687 549978387 578510105 133206087 690213375 942617095 758686385 907534871 25121183 307634493 809571483 463297187 753969797 570515909 789528939 214683857 376767289 957384601 570496219 505845999 37925353 527094937 879308495 507675057 197051247 30776209 367504977 541490999 326095943 164947761 863820437 247441411 80593819 105740559 936750583 276610051 991859255 990693553 59917563 682409357 920717719 297400447 118889801 232842333 973682389 156596425 334950071 257024667 478972861 534601929 538671167 541248465 632599483 461945759 513599749 503270391 426096359 345062231 880281939 435994217 27132161 476077535 82176415 88495339 104170609 178424851 80654209 250686635 33428291 818435251 696964797 105598785 307057201 352163689 987101249 647301543 972304795 161473989 504891677 833560387 446898309 684354623 331166605 171630305 11838367 635617085 741812213 94762937 73795 474015235 651535329 265861737 647451503 258771911 247021827 70982641 825464009 278644893 955512373 83511491 832761761 406139019 875686525 825349555 618069999 343174265 53529091 435610365 462043985 204030773 518326045 901634377 934536207 765616765 488737607 292228257 438035991 905610223 950051361 971540859 559394819 918344215 987116153 412080567 810453519 213070179 909279553 56591767 312753445 886341423 759323283 869505737 364251601 206684857 777483445 857758051 174223183 175365167 775543569 417674979 143534713 206230429 529595705 911338797 617713371 247041537 586809323 900526991 52156833 678686777 447830535 38314939 677640355 966008335 400075675 154506963 815956321 373648181 396846809 872498267 66841601 608103493 164302621 87521599 635335765 391527871 333772265 72742099 808615633 650459403 924704745 380625879 186509205 18296187 314768367 798439793 880922985 405396299 729979385 38924329 670326973 569319577 821047849 414203131 635005607 847278703 149603785 94371903 105184229 225783231 489167949 425413309 784708065 98268259 770715727 667994273 559910827 498605081 272832151 697551489 166824181 895910797 477020427 999373403 949700899 431628113 141760959 596476049 168519227 261457115 197150705 923641589 599388139 869236623 616349955 22100407 684388493 746082229 415091071 146520185 49693213 658638207 652853787 75954493 518165317 775163399 247935149 392367987 563271761 597874251 394722111 35948269 260696125 284363319 549280503 554967787 404274595 871145885 223485739 476998417 190068687 616206643 486804565 574964845 796239789 876259741 151488793 362705011 426819285 772181603 505454913 497623553 60520071 494304503 35054275 653278301 46760617 771445681 339043511 8449587 134062797 88963795 647366241 191637657 568125223 183166343 352579631 304384011 818466199 837585119 788044465 955502961 701811365 616714449 701811107 558065429 841286785 905581377 262950121 449450925 5246465 52972279 380889485 702086489 794085795 139474595 578222789 910791323 126810257 331543523 851260649 461128545 132743577 887799859 662680703 423810051 529604659 56715775 765900591 748765241 585053053 944515479 433345745 859367981 964183871 582339637 864062555 693694315 778094311 436608763 814698739 261072359 588420237 229319665 865204453 449227007 221293555 835199751 785417891 999049847 484362107 132897049 650270663 466884991 589686585 732850407 341253143 266461611 466008545 493479963 328800893 282492919 644784085 325372997 595314187 742895049 948408857 420868063 242044157 266307567 338120031 452965707 695316921 323710365 797887229 452727249 606879175 228916083 845482483 757791905 702512857 642185843 153720809 80528343 371363791 953617675 435759147 973737331 58857385 300026897 224000691 818709599 808970899 541883329 362939167 151958891 214044383 278249155 658450871 586382417 91483147 617269025 887935595 754142899 786791353 696172371 341617105 703429911 888248499 759221045 889017383 538828787 705473005 9708811 182974551 839164061 724412801 458295429 320621807 275495509 991697845 479807413 636436263 90450249 140693491 135598107 775015389 53522311 402967503 708776347 976629399 851237897 455362563 332774787 845878409 610048943 733580659 762034055 147536261 297043525 580531753 220891335 744451341 727032185 92700761 665748163 969507657 210827751 263141727 693314669 152278023 497563151 513069245 621055769 496495549 724302681 732967199 612514179 179750539 973909273 871871321 937445075 65140539 148215175 45275493 645136275 488567865 956056259 479361383 4903611 691643037 822718937 152201385 886846629 867654439 698137527 911476897 128431129 654878013 672987705 890172391 236724549 936460783 828307231 797886271 535484603 117501685 230000401 622211733 359953019 318532013 569557155 957930493 855408873 499993119 970707275 337912497 572502993 567627259 957173871 605829141 848725355 778715543 600702547 341363381 436228435 189812465 584964395 289983297 619054991 674575539 598255633 859501977 77496203 124262699 275923971 728824763 955654939 677955921 173045487 565257943 224749953 707210691 667741345 439478333 716996189 555925959 13915095 740839017 60710591 17671249 191042863 701625855 693366299 890627827 798234163 917979339 991828305 373306607 547375191 634645693 343067043 399046189 632866287 57378549 654323135 44469817 799064385 802462899 813077691 451743055 471981939 633132129 200600851 933888841 815200151 125958295 557764015 967667891 766953897 917053707 810579675 759809463 114467719 219660195 988128585 698584883 300185595 633757547 206068507 340316575 766497719 710871957 287438547 825042985 863036501 16829051 624174177 68309915 210812755 534978723 21896729 740975983 542913309 356498359 937314231 351710403 544461829 162214281 762294625 135289183 22381377 399107863 961496739 811899571 505846773 626114435 573734775 859780819 52142121 794230037 388808501 240377219 29233103 91679301 983125413 526412071 288960959 809557677 967371251 943257551 408728253 656614415 556032949 928457265 455183471 778597207 881637863 748437679 814902887 607279001 349694447 957764175 549644575 335779597 787932829 191466943 500549881 476797979 296685857 960787543 832512317 399675979 811471389 738509591 955687197 209193809 382895251 514149799 476551857 987283977 409341683 278356821 676838397 179610997 654983183 321032727 603451367 698329537 382470695 36229005 427930945 879369537 673058271 913918465 94239173 205609327 104626499 347419487 704623893 528764911 543166155 763442239 95165881 97138059 786648659 993053407 673169441 371236663 161270305 660518955 983232939 546831119 605261793 386620589 859328403 321537879 649679783 319544735 447281157 514974583 734047989 983592927 286048529 996025605 453683627 70722805 510310833 704279227 991453977 340477967 959922887 724514685 739809523 948165895 361604121 171602773 721829465 794055003 792339805 782697593 483013325 186429743 30767401 201076289 227946301 90040407 639671807 553026609 626556671 332713801 230531401 132623607 651167441 894002723 161749079 887437667 980978645 161227691 670323555 556677489 77757085 465923155 36585103 403913029 591130651 670500147 144938209 606470699 458440363 299740423 333379407 303573395 726073623 314514231 928039343 971362845 298335113 474269397 63782339 671730823 588159125 969067413 452472373 791960257 402752571 657537753 704408981 16524507 47260383 83375781 848058203 304861715 440170063 345422507 750989037 949742537 218427583 924486465 98925713 556217481 954673101 776001127 619909751 411327241 947574143 109333187 576062907 591005475 279407937 182376101 692615005 740718809 192525033 109602565 146096453 936417621 565476789 211352193 538795847 833853935 237153607 419015265 128724507 450622749 745354927 896577939 705544801 46937991 818441571 949459889 594260901 847055603 337088575 293703159 757708629 836297561 755613319 809876047 100758989 127828435 616666345 867915847 762566989 989476771 344948349 769214999 669809917 654981429 717135293 878752155 43889649 435996955 492374927 21315935 549712929 973200659 86338111 837830543 275870061 101840639 440395909 761246981 248437921 668628457 631646333 986692157 635308651 795192069 857479853 717969503 258548327 495237293 466284801 971939901 326915603 516079977 470055375 790309707 605803997 605586655 432515795 721210537 748751889 520004835 540949555 214095391 223270893 271778419 836922749 517303069 574752399 137795249 324968615 330888633 909981187 813462503 134995723 419490227 55025207 406576265 661207153 952893297 477068293 197386803 328983557 452690179 161034801 56528553 109593437 102245153 821106785 228962515 256055671 857243177 403920425 225532359 602700727 280706339 156680191 943520191 449748713 97130175 616181833 826314525 904614981 796150865 498070603 662122353 636911207 225240285 534372153 774624361 503213651 557934597 400583979 588968163 702864505 925359389 389213733 545326051 26688429 348666395 797107981 915163025 855606315 545063579 75667127 684387395 148078745 111704809 63396569 704089459 777122565 131903729 188934935 402877125 338359779 909607757 828878329 420537605 711130385 43136569 424152049 974341411 58824917 635830429 943642713 110895423 687157979 790688011 940643951 657631639 64843065 374132919 969008735 302652315 998102893 60380289 348172859 575218395 693141337 493667313 794249977 889063955 599717455 353213495 802461565 377517607 703152127 869325609 964675471 715293475 556962699 448942663 721922273 164553017 931777653 407120311 455658507 59574211 153577901 943570761 248540559 777778759 829191301 789961589 417210073 556652397 931399613 938719833 697070389 754404365 119078521 999105725 588775647 52992029 900088645 99236623 829829113 380096453 770904347 19117673 308641675 630000203 849935955 787868039 220211335 704794919 94867891 231996883 301236421 912966387 799297899 23395931 573574663 663169649 336388623 555483349 434833655 279251341 569047451 634191011 362007077 97290841 436179575 51113417 817950987 988439571 310033005 728376827 612390155 650969627 26890163 726542731 924733037 151727871 596342761 698033275 469728099 77270385 766890769 320970609 438722309 888976205 440048793 922581695 185362517 811696277 519009879 651452761 701478205 487026805 336421769 321616351 911220109 552083007 355529683 807254937 821561343 688684657 372054081 658989431 794646325 359588781 628778059 814686991 593327799 859687869 739865805 374500257 145723893 392716949 975918347 906463507 509121355 53369169 213725109 726266101 683772665 454359859 821212639 899300735 718185513 651047079 780628485 346188431 881777643 678582849 921309453 663516333 603622457 95629755 408837445 872511495 98416373 359393017 233997153 630307703 981351141 266226437 217969023 29472633 83504319 554610453 304571941 822693687 94073369 166481281 280535359 719512445 80111733 465311949 914017571 686996423 121902139 354807461 248812943 653812527 585513407 584590557 940898981 546134913 990320697 411071599 935346167 583172649 425378507 89431167 158840695 815152447 54646651 860106585 110255745 127087235 555300415 34391917 995032797 20169821 244962795 451600473 969369017 220319961 532396869 973647329 753489575 348995761 552486389 783460589 647809191 270889027 300925835 453478547 971777821 727086233 304347263 215514895 916386007 213568093 625213239 230724801 688199945 864621291 351767799 305909045 400511569 16571201 822525173 33546273 503282101 580629253 2103621 711923293 107045281 224078215 510894573 731712239 524089067 169614015 894867413 821944321 922378703 746706507 15847883 169056229 867346163 85787763 142011789 970474519 789723749 650404133 695787193 296353853 599543963 357353211 325821403 765712157 479662959 634338353 305965409 841851311 932836651 174292913 422518439 8558093 373788023 206451719 517442795 799199863 95755371 784949871 875804763 205561949 5891973 510594499 460565251 366801233 435099817 244273039 949047777 605481483 643199267 233008895 190319571 506852723 997197995 926966251 246470307 742654353 775265373 356179411 236567045 107022999 190973887 796405469 139174541 448756709 193170363 600902875 281115841 170893563 678934955 114842689 388275207 186956421 687544393 266114863 341892019 765263191 763418299 500170349 547329019 81875305 318296975 458307179 890008835 451711203 105683385 308762175 194088915 348387085 575036313 392959655 205566301 984743771 691827697 281729805 640047483 441801833 679649519 708255871 843310059 48571641 293715241 525913269 647153499 606237431 192136347 788406029 765266007 418252407 338006957 369816975 430502493 909281971 797253161 818700777 489597129 423037709 680992839 392807029 617977835 338556949 916665763 120039215 615204847 487873657 243253313 761801921 575185391 848215063 244088209 914784631 857962733 172276977 279009637 53618765 791997139 527829555 128629501 596772317 507988339 58294065 611819005 121448307 860438403 508448869 387080563 777290747 300123047 190652019 98278611 650575117 135587175 870777127 348971771 22854121 719379509 854624369 448311601 620504181 877878889 36461423 664806433 254088771 955035719 540563813 617086177 773514119 175281909 543808187 150380013 243434017 102668677 405169159 167924779 570483865 132737009 849465091 274494443 456014623 656088091 632222099 469666781 157903495 746943179 768180419 267040291 817228629 814035123 731726275 892858175 450876589 690898795 130686195 542472479 142813535 480925813 260286673 430702105 85684451 293911611 366445837 352036843 195224663 670273293 401802103 970633913 250852737 925350437 273750795 132053007 622031829 315710629 598735087 222463973 821565797 55100053 819123561 868312983 886362099 418519525 607992561 517788907 998639591 766951281 609152287 189160205 682203471 960477179 458766777 586917777 93806305 166944551 903477161 370853751 332336383 112024203 194076673 138500133 880667309 320955553 51824383 403723365 263156381 418863045 767917827 690301805 201269285 331710789 190483355 338871259 208334405 915205711 40900729 625521845 532083363 397040895 880702071 487280233 645994129 849442133 444230299 905908169 471714819 998630459 180257551 753461523 901432473 534507137 892506151 566344943 973740187 867252705 685885275 18588519 106937337 309441533 534696019 296341235 678989127 264148827 47048151 631780207 584872137 709758577 388404955 893742367 243857763 807913109 522218363 254092723 921783717 215526665 785793529 232969021 61498055 414544373 555733441 317502269 882725285 420482413 265500773 318323095 214879691 188035177 37314723 577884569 764050535 20860361 517814109 727439095 638578509 715567449 133520029 949846223 68410367 233508039 226549911 609956007 882071205 941561519 967790759 293445483 265715979 341108113 744148559 289715313 848518061 735646423 605436989 147500149 443532453 154296271 240715583 897120415 161785023 746127031 539767637 338067833 458261607 708557229 751018657 387599865 944864949 768495037 576788079 697804927 860359273 971161045 110521903 126312397 710114537 316075473 84826751 499077139 627247429 544098673 644122145 512878563 962658101 714859357 403733763 796827453 385807895 202967593 396473141 280293507 240402419 552981325 295660019 649136519 420214905 746510377 897104545 99699323 905114623 916048135 726478281 82570493 889683587 295355929 151930913 875125011 879212207 59444345 82251137 97387559 993321169 880079143 592797167 328508435 770835425 268508171 630988435 494457873 330337917 99866361 425722051 227744199 296189931 99436711 970460921 976861763 426364191 420066233 999794139 132033275 736965547 306484153 665540399 214279369 578614481 612753429 722622189 50878709 698895481 193408295 917911085 500343851 641718831 565147443 951487541 679233411 848122415 156545375 493948783 196302197 571325011 528158911 794391149 537979627 850683173 598897993 207979755 380273199 274101973 890789089 169339087 188364281 89700409 502373455 173427487 520645221 534820817 807839301 867152147 928248311 287064261 448229469 246826757 937227935 536005089 264974357 217778551 958924975 893402783 941174233 571701779 250228711 733914141 734752763 148108465 648160363 631671843 477013937 16064073 254604745 49555487 979666975 673936893 833372661 112390187 567258445 385538587 624718927 613594629 691514157 230770965 693849239 213136403 593857175 986489991 669406207 368884325 160926287 863265331 348925979 66256305 158479867 338929925 690532841 418781273 320280877 489074703 135619787 919256419 22797921 760658319 249858961 463785341 175375859 843478501 125090161 955853311 103223601 146262689 829771527 930596841 314115915 829511537 453606743 665741539 968150617 208762675 490409679 277719609 47201375 236681449 134428741 366020071 67057219 570788543 162392567 524909447 835928279 442076937 432391305 857878885 120552405 161637185 821833225 278475115 281567455 232380169 679374571 990542389 118521469 518678321 198011661 627569153 152800033 449727655 614389939 978378677 634200099 872106889 970829709 337118691 676237509 344397849 640026543 786678719 388488497 453084099 342867605 280141865 492963191 425336859 494546469 490842793 280928913 178410459 571912623 64245869 589052257 23774695 390947043 507686223 565586351 987854411 614239969 10721995 385398059 98495799 160741167 486460683 159834225 265141257 970448571 484448221 98095105 169642053 544853719 306061241 317180741 982013587 859329601 782103739 420026253 221148617 596288033 204011439 771754771 602603491 258137857 656471809 833736697 60675841 339973081 567162315 906161479 589723247 525029125 38048457 886765549 169944483 118737739 49959267 777953735 307717429 990701781 442686123 214973077 234851307 940766781 2454613 290082049 932750253 808990077 85994945 250919323 348571795 841394427 347249913 79359453 66291667 974442629 131740585 965653287 843116755 252777551 60502569 771942341 854946335 433531895 778286711 395074021 658547305 151521155 604050751 52446883 14677387 537065567 975548107 229045503 531027339 574294625 270984213 538252003 316422547 347718341 748524475 172786717 217091317 245635891 911332101 719714155 885078063 671202997 225392353 648630637 16694241 676898499 256266985 89512361 547922905 47488567 987724889 596762515 355578377 610968155 81550619 418462597 639036299 133756375 661484221 268392895 649823141 576981955 353305463 102724459 61264065 9499293 895502117 575394199 915401075 258494793 548285011 960080449 954510707 775553557 406508845 929907527 59057833 463777717 525286539 609318773 571491869 433610310 119934191 650442617 741830915 467970129 651135355 740759279 961895863 143498173 988249859 436823893 493864635 197858021 371989755 200183577 840494011 873135491 913741443 806736521 207170187 304736191 876506979 10089181 723053093 842716963 837185291 129667385 711214507 281577381 334378897 812462503 712852843 16730789 20065461 316151829 172909529 130895333 421631197 303207263 198518413 922927251 494440473 795644995 46086475 931795013 110613281 107159149 691089663 704848377 540627027 364049263 349065405 138309395 24769207 971460033 759776447 693952095 615338237 318732739 232864105 999341845 941465209 538202815 241869381 603409361 697473583 937525735 492663561 723556247 409988545 355087189 558487693 373886679 778822275 494822663 272860629 102233699 617876587 905641961 272820493 513957499 945881877 328841933 885559945 473409477 124115661 381906281 108156869 389345353 626410879 339767137 163316321 41033347 351896515 99855165 474995497 100910155 460205529 79645551 539053843 689776617 294659753 633287505 968901175 717117193 758471359 177756193 92515035 711143873 427884887 286825995 977539175 144711053 790121291 708540193 959249009 985552981 613868581 204018265 20699061 745698147 875671829 136113815 76382483 886298223 350446065 256971171 753518231 682397843 513780793 241850159 488225911 447047513 745437203 887514579 867739659 92640681 8603983 29324819 737616601 711100637 995561573 266597717 526865803 622857133 746811763 669674219 425345779 466296643 201720641 357117711 504653071 158687787 396272701 810386915 841736191 68664153 769172353 816617071 19534609 144053035 39327177 337690021 348326327 71547495 325686911 382289245 745065099 917360441 271112881 760319321 564708947 824231479 445372949 111907907 512632569 657096029 471333901 721627307 439507599 992131857 720511133 819733005 897857107 852282145 577296247 514005957 801920935 971892675 738444531 105110049 261499155 159758993 462748941 975698257 333701967 73541011 470248045 741844077 537487925 941937207 713944421 607287415 275002823 15249999 556625129 523565913 862900529 554497819 393188761 30277347 843466695 270235709 449294525 398562255 402403843 389363911 638885701 57445055 799614599 841114155 385959111 734102843 461102369 511687495 68570243 568443059 472308165 209815391 191847007 473208195 618594185 888561955 332068331 106970091 446603191 930463653 173538655 712354581 915099317 863547237 704374425 308284433 156009241 556968265 430158367 740570329 460413085 720187803 667719205 358688591 187705635 540016401 578283901 967766073 889075131 351898057 433909419 975162445 815101843 781849161 65909457 140716833 173211913 459630205 332497091 425759287 153214623 50233019 958223863 362791415 450890243 940986049 901195145 851221685 383734533 152479409 66802501 215543721 888795809 576400411 948421271 142971381 535983099 977182965 668076439 500035999 243986781 172601499 270393349 171512477 345948477 915554001 726979145 577559493 369832755 124370631 298146927 942214615 466242307 158105615 674225969 81032321 107956123 131452841 844053229 79287633 444075019 903115513 213286061 635613889 866049679 166671565 893595931 790136625 440255371 379675737 565240211 544286189 723878539 360332859 186856723 50095651 691458879 931745657 156028737 3049967 611361415 807832191 903356781 119141199 444398945 983793697 816870799 535489329 965635069 774516897 338422085 450807395 738059435 489930911 743367893 876602525 363496681 881363499 696699955 558920581 540576855 194828731 887295985 846796703 627579331 94799657 602671699 419821407 949555743 65190077 523679291 392955423 721362309 57452069 55773757 345541407 495987771 1920371 756104591 146093703 28125611 387330597 294054157 223865451 529918311 376423971 327716931 79912897 305922605 889633465 34005085 19457901 977540829 144797595 38337843 27710265 757726085 241704935 251012165 340016851 189315159 653079841 430196665 184575701 531684527 541010489 752577377 157267907 577617423 284992643 591010737 675030275 628125985 880771259 717257417 721745385 111907005 795437063 913761649 252786859 520446683 841090293 593954329 188962669 754294173 439890041 448008151 367317817 649403473 724038385 361543529 226466557 370798697 138503459 87361081 640159891 490824321 805258557 142799189 191679935 47003483 391638481 437254773 475809063 50744549 89781469 449762039 834240349 503598381 624590025 122073827 311415261 747417971 355330399 253341671 156153349 651097369 420924631 53606493 322983967 593224873 873166539 612028993 515135581 924460759 794629445 997767741 752055767 651339647 633167789 564654237 405283727 721865381 171378141 745006173 335284081 238750577 480916751 669591063 92060489 495850809 136958697 558399255 609779667 670625399 163785847 543403593 254323121 156185551 484238131 197051205 55997547 406592267 821212149 784349515 301791603 769509407 868880899 148746817 373804833 135732777 680815629 264072633 768953785 932798055 230745383 966322661 249394785 423397191 633596879 521473195 377251371 932235613 43439847 617981581 721553169 137302117 56640191 26068925 357927157 41678399 813535245 656871695 112415903 494166519 882270443 653732615 652014785 385606851 429749217 219221193 316324083 306746619 357404893 666127141 368081591 450501413 127923249 102030227 798767223 302115049 287190941 298026289 9651843 339927069 265405253 638812101 92459029 577312701 267810485 662408899 273798735 573726441 764050405 427678269 785109305 890261999 642289713 964459509 662935749 459441471 448591199 246069331 628744139 93429369 870089369 422289765 905877261 131599197 952457081 268804065 663245877 717536981 330862841 117484585 658269907 823039993 66557567 444744001 920700257 364750079 990709465 277490651 528255039 928752719 835756861 349001549 166394041 929452399 213758021 400434327 333053951 617778199 496699641 50016095 305613865 978549025 833745861 669808887 612485945 73052047 935093631 796819283 405434903 966859149 512006245 928912915 193644439 585065837 683991833 170017151 737015665 326613677 161242541 728757127 959270727 655770861 807131283 965215423 812575647 788521723 784738215 530765163 381729007 822746057 367946035 470841967 587939469 617231731 38289119 671913051 350274491 929251387 400170181 307200613 918952609 621570957 276346975 896472943 773065043 178048765 952344467 371218687 237795017 363841349 856965551 59343939 533709797 517755207 617984615 106174741 391654509 247448339 100738265 40655601 642656279 655659223 405836939 684819969 87367031 813213169 396206697 66024977 782382867 137847779 35916231 788584861 549735507 723224409 46111591 406762687 331070087 738473255 263579753 693026883 14878183 812019015 298227549 900555413 637000345 887681501 2783033 376236749 111647649 329884723 845927513 315122091 931559923 631851453 695003009 248892565 200813417 987733783 210317535 293082779 867875267 233832197 374399753 966257013 473764777 895737711 208985597 672115841 164222895 94847595 622292511 659597255 417909069 759026483 56296253 981019895 833126883 149705515 934174603 474576487 467710395 6901983 897823399 151366165 828645641 855398655 228587157 558813867 504008929 346822505 611825349 927094391 429193801 87414817 894897419 855942769 59729703 931916367 16342691 607161141 134174031 683904331 883892531 319218191 383550839 357545355 997261257 891029483 373338179 212695477 507594715 944530531 238417213 75465621 603066435 672104115 977447379 893761819 591139401 923452613 393311839 767169895 327633561 24005669 888668965 847204791 591557193 154920205 936104779 703912059 685794775 484574045 839359461 969720387 840033317 938055577 190273257 694362829 768557445 382587379 874799163 135581689 791845545 583403329 185568931 171942101 813961133 828831235 897406163 840449683 414328091 52173151 722384997 187582861 99085019 779979815 327379159 78672969 536810311 506601935 553883287 480383601 835128857 749258615 599917041 158072791 109108599 862066919 975143969 620511609 261387503 361818509 243264073 406792823 895695989 622964611 559067761 252559647 457711975 344390279 543039115 541600227 900166539 219516671 192725873 781406303 777114637 893203193 287938529 258102357 810897539 230296881 574228871 816754865 394712041 875056643 179268083 434451591 519041959 623823991 357835681 650699791 799884423 20310843 246287087 711198129 927802305 538157991 716271399 784658677 468410351 204185275 464206201 570039695 818457113 132521503 351319555 789943899 214319277 729871647 724902593 738981467 214136957 224816055 880438431 293604283 425618377 558868865 818122861 560923855 948694325 51460807 361457637 984483089 292884685 346045305 139421865 469866021 714732809 727154733 578666305 357932757 837751237 123294499 67918367 849879061 27892551 895334209 748847259 843735553 768050491 84898585 580372471 657258205 484773303 989920733 985794653 985694225 158563383 487873139 386328541 784534323 630200481 847051869 33550193 325241597 991937091 676852939 859492859 336758867 629221075 852757399 8975171 477664063 388239211 34671677 519169273 728214519 152925587 768076007 589651385 866506195 742367799 521745251 390612485 526831703 954006189 450362409 625187649 939150897 253109683 802118485 318345923 380829745 71716973 486452147 165958851 872113235 124556647 489742767 809575779 179570363 416644505 228992611 219628459 301606581 402676575 175432331 888264331 484894129 277826941 488179599 159304159 257512527 451827235 770377857 812565351 457230157 793965539 785411349 574270925 933954715 326232765 943970987 583102881 505019977 149763349 863952717 38458461 47704979 650108089 385512615 312591201 803603935 648476127 304107281 889549561 77383091 408532513 347871369 866645331 501859783 31495047 750857659 94633355 903058421 872542589 106261745 901744801 846744125 319026649 443928869 460116095 428425167 131073495 979115253 809616117 825880571 19919647 637450153 7847099 940142911 5764283 147437103 904879223 994987579 444209185 947745313 449996717 387962557 394353201 62988987 722299859 930807479 371004973 113461735 900781885 70518597 128089797 460882739 447718449 999006633 587498763 235105493 688822743 932734031 807993215 834977455 758175551 774041545 59424517 418734919 571257441 761423317 560778219 64528587 904272163 284603475 74552037 253630995 946163785 218155601 767974929 623764383 344310919 696485123 968916979 680808087 670462839 929335487 78190715 429839815 792845977 40297485 262748669 681296043 129643605 112171159 400201781 344216157 936484607 188827697 320492873 70459047 634676173 600112085 102119111 633499385 658480101 559261863 497458341 875834729 800252235 160927985 321649725 497639863 109662707 400574247 583747415 712175689 723648695 825869541 705201441 352353071 575702101 892849133 442072877 908687649 860599931 222147885 66536057 973663869 67831989 374627763 561517677 557774411 786250625 927897535 120038357 58879289 945344829 418577843 248757733 501844129 711348531 623714075 219497273 429033343 588252821 548271527 809140955 807075709 255411069 593513525 83622707 59921385 372958185 982155719 299675419 122764475 591397061 841448587 286438605 514104719 779534563 298505425 578645231 21129393 286410233 672864277 351832463 796196877 242313643 373067259 796191521 20123707 942153347 305865039 352494981 813947771 859814639 390680321 944785147 200712885 603821129 807341871 676209975 506601077 550371795 162077213 116497481 237766133 721463737 535305011 913067951 360874005 321506311 727908873 69158225 272068697 439701945 37582677 940879481 133437427 934773681 503522301 713579231 701499577 267060663 512528909 176186781 119769643 745599357 79089589 434046011 371870831 790222747 295182421 923544487 837350741 815177365 919917 892181811 230410069 441405905 231034791 818468767 155434125 731931297 714830299 163121167 314372037 315551551 901107711 986427153 311221099 846735309 527439929 663952793 36219545 298050899 333850581 128050693 902265355 588703427 432050245 875587867 96126763 927838197 191308325 288858885 7146759 147528875 496545335 123617885 11596629 282451855 390597221 686359839 44885879 309686067 386714823 104768941 210755441 970355981 376746131 203072983 476049653 478405249 419233585 331476433 858098267 684054485 598762793 121419579 794226079 447473983 96566575 610752023 715086697 477618133 408345887 320051155 339846665 443268761 673100027 679003207 288725625 856042357 554050543 576851115 482325331 537765945 879849293 855567529 842005985 865745823 723536787 395237195 522086675 387126857 557114723 518172681 940217983 346466751 903555719 205095359 912328549 720067953 745438963 995498931 758446507 702036411 660840387 222067343 458841313 953964767 165344313 415832941 168041277 312897537 925185729 859936967 857256609 124553783 468921327 35924867 15042451 205156729 436712829 320612847 741905475 156480425 230600015 192446655 747284869 709524879 995934319 925602323 926233053 930804699 559029777 598809709 824249965 558189097 114907793 870713787 304185353 770897913 725891187 33872979 337523239 915675573 193381727 210479601 557158371 570520493 442281259 397471421 662241545 458771225 796431057 227016257 757760261 584416543 2526069 187797109 863511023 43389379 554078049 169683125 495570311 698513147 213498123 753026245 692355635 711397789 916494859 944848339 553767941 594711659 999680039 964284279 597816241 5746445 858916935 51183787 415014807 626471703 810272641 715682005 749428415 89954561 749126161 557943489 535085017 33183019 931246167 331793831 14330939 226328801 760843231 864314917 838595813 436406097 880197727 961360699 131505021 390032023 147429551 108011355 380120915 308890803 600949205 242796889 807125087 316415629 75912697 117313905 123707967 170897657 920171891 370610251 384824633 972629933 767776697 186034673 711779649 449639503 245068913 561766617 294213353 837404003 541089895 558883043 559041141 273112925 884299405 871238737 514120391 736875415 972854525 434077905 542864499 591517009 46490621 957755513 138533549 568796339 425986807 499879111 603095639 560653265 816830845 89767327 946071799 865542561 969480781 550671439 342348731 293068551 705160263 98084489 858765435 768909773 456458617 377368943 405800631 514557857 467967509 310020229 413377685 736250653 471635319 166772919 474240487 304978629 716017953 753279321 649210657 966140415 4330943 660466987 521970275 975612959 734986787 61551443 302771317 390330715 319510091 801063001 197061575 876064729 728324185 376962873 831970159 399512221 835130775 767455307 147984427 341708955 464045433 228216407 579868005 484045227 89305243 653917577 760535083 940794769 132221887 938657399 765800501 710144755 960155345 504554783 88140001 149290083 70040549 624786915 8898103 166252381 678357557 793138325 946282469 681322815 301562659 503028069 737968197 374509139 64620349 926044149 406907731 514703051 361730871 715009607 246096825 683682751 830337257 460657611 830484419 749002803 780432983 491064915 962082413 773680141 192901805 826609439 949439569 144645407 72211263 333064659 957381307 307662883 463171207 793327997 19439255 834194363 32553769 55594897 19318141 730765679 529614575 595676397 99102893 980216497 462287 772764375 832898061 219534809 322999009 111790075 935366445 921772843 143417705 273412463 587261509 718709197 425383381 722048943 262209333 294701777 726936245 436060579 53998721 49260081 406478789 485732245 529031257 278770639 186841321 308022331 729100695 57801331 958992685 991380917 998948537 564426959 863665089 21897861 966497509 160599163 477155075 543641753 526757099 923752697 236618103 219056713 421886531 287020723 77741255 994065741 964982281 759319545 307433157 171059663 159393289 922100229 599335533 564085595 749658545 571013625 317084387 645013989 386941717 20740573 360653939 437425867 613722615 771416483 605706639 634171857 583829183 262496291 433404881 798194215 36552059 595229215 493204735 469196641 766462689 580011329 480402435 65144443 4856657 582415641 876047855 66530523 364952533 350491681 596849409 782339407 753706777 103040697 208981401 571978507 812708981 601852973 218793285 212827311 221687017 276063149 212200375 800454461 338575899 214281553 618899913 325219107 145381725 452347163 302328961 605785911 856664227 210115573 230404617 242292661 331897741 791359151 387587253 642476869 443419235 429108481 532744189 963604465 417933589 128577169 412878217 503231537 233819703 114909669 380527649 279366113 800480269 862262125 789057721 901120837 316621179 289297541 205075821 494408717 133253905 510985325 292190847 901633611 784128517 177201487 101855067 710786431 866075449 415026491 109326739 144278413 215149107 525909289 6738917 490924995 89279521 925750783 758538547 700828117 456700125 135186817 771690887 96083169 267046883 485550949 323889941 994015853 293234013 50253377 517182777 789057381 527020823 46129813 146689397 712984863 839366029 322499535 953026165 598443607 51474649 40576829 754469133 622981685 839940549 882394391 306677559 728411971 234728641 851783043 727083799 40789113 363957477 774144389 433203191 728122929 60467435 701849107 702243661 707344179 238525505 362828033 890032561 859924909 71082481 855941653 131624423 735646769 53502389 655114741 436744157 178477247 631313131 383165237 144398755 639902139 512017307 956202317 634558581 279695601 583462261 918861725 664151991 604245657 918020815 289742447 547515379 750719567 975722407 119947767 29698527 245264921 853031591 719923017 245347667 273588579 704465949 681592683 530520147 543412225 91071745 466418243 799030797 475501875 385033711 172330405 759118289 436405919 860312115 830334535 322639387 890539343 37041849 675875535 684532623 654548153 756841755 90872513 624721401 549072829 356657813 440384913 249200459 591431069 675154705 192888217 180717215 490991367 782813211 211898135 338645819 680267025 522398701 603219767 757310855 337606711 522495591 262553355 300086811 617423713 277685773 797111433 388190893 215886555 463874833 325132181 104358691 445669207 56830025 958696697 979119241 879433463 88529973 706977635 433920529 255149117 715275259 698535021 47389719 585667865 144951405 961419675 531020571 159649759 534397183 875620179 398469837 251469899 239071953 817006055 602520319 992507523 447740331 175337107 396776105 864067091 658486523 335620211 213186803 649429237 380725979 509346199 216934949 742963329 710518025 146514409 682098867 854857855 953057769 100105289 574936631 339784219 143848335 525495155 316242551 868195563 265329841 479927059 110401117 546099179 531957165 471449787 666422013 579031681 574622089 496240353 71231633 663400317 344206585 906527721 530219899 217239055 809008975 555965723 829487945 575032025 530011021 601394601 560533935 82433757 964649819 923513771 53599107 793657993 743308805 719551267 683779023 172562613 365863813 753307899 578592441 6988699 545269115 86830083 870494357 523702751 391315499 811158007 972064481 735640467 564481927 122237043 974402367 214378281 357503525 241799685 942124665 66624639 733882437 666681629 762317701 589168603 504341197 727677203 597087867 621083369 71700047 343614761 968444831 984525757 459472381 411698569 655295581 589341143 305903293 911049795 581053513 35232541 447573009 293566545 426120733 281986265 475567913 838846613 440329917 71602369 180202975 432362711 850144309 508519413 291894703 374026953 675967157 339939319 66372803 431779587 243589531 511032245 585812713 811256327 487183467 527471237 698352791 310481725 949060045 643247397 167163887 854333947 566898839 454703799 189624247 661244533 749602499 359165389 554959453 553855181 188265077 191350105 504507643 588203535 164860153 428926391 830864973 690586921 355583425 256051633 136096187 876633591 641569639 470676847 473955927 544087609 493409969 583484811 893328341 932792473 193459079 356661247 326472085 750418855 209325055 71638833 986896289 936197853 695255893 943842031 158748069 604220315 251341033 887813997 667117049 485800493 818604873 158472777 785103515 320438465 750445861 563384713 450170933 969951347 308672605 767786649 182569239 390709827 655011057 735301967 417454131 522872859 115021323 79995113 759515695 671080907 905828611 721035017 652801613 76817421 284636239 517669055 596610941 569624961 94937239 83526017 677479257 402749361 494327715 8687147 512826141 523183121 663120743 372857345 687915699 807514359 467267837 484148145 577071017 802177699 296123819 87613523 615204405 921178179 653101019 200248417 606289977 327143653 549479969 39624895 141846075 168958081 286309429 203110847 609602153 176187645 183551487 800198675 763164571 867897629 138306695 967764953 954299473 107282325 52245249 809539479 222024115 889859583 855007689 737247033 650464909 129205723 48092513 308058387 100193369 990305169 428020085 84776679 605690935 225112949 524689881 434700501 297600491 456111295 317477253 138500205 696426215 481583247 250311073 783008165 124347201 594360559 29656693 716021207 830481081 278787537 576670839 562992331 181704629 384154639 469108029 844710829 852006981 988664423 20719249 156609555 922115873 278028935 941624665 884004603 571047079 245040635 884970155 10761161 732690399 551572289 573463233 363464009 620468087 279196855 773466623 345148595 99239625 192266151 953504239 623267491 510272721 852821315 891334725 65468957 739104057 338758565 366630365 754211729 697283407 862398155 140796859 777851347 622221577 214272931 982162439 768656159 776510985 209350393 19087639 175586843 307407509 719897227 387605093 873405653 6314139 22034935 166337429 869485505 367803571 711906759 411200883 895932093 947950877 602751085 600230639 522847759 806683841 255746369 291270697 880071523 246620715 539923847 155540831 72471759 394230421 445420901 218954241 310351825 651624159 21397229 688119711 648226379 896107661 907075865 212025077 96103309 654862545 846939851 974520041 391900493 898151297 933480907 542213505 861872807 812516891 482833355 171453685 183211295 621004491 676371301 940059293 262917029 453953883 429813015 310659583 866022795 127756355 687498829 785015237 517881233 796807079 880580183 413210305 376607451 158395975 452255089 626751727 885589493 203109017 109523895 155324533 696779225 659738031 974396983 654912155 899351263 214244941 316924897 182744787 859185613 451264983 32874637 141807549 693720787 838043483 482983935 723800601 251174021 539096725 984284381 431535059 939402463 628835041 475128761 422247165 412970057 165706821 489700365 170747093 848118925 527860851 378257723 914006715 357735905 438095809 225301899 348530493 870701541 983775281 759917357 594148621 662936731 93596261 503308093 375092231 245245297 698789039 681827517 152998957 818850365 244782087 729194897 181914283 268448317 436379405 185165201 215361749 673582869 271017733 477637489 901799203 757276625 224415457 468960723 224563773 793937385 11430967 148417091 74079723 91355705 788526661 228695089 723310625 260037125 807671541 754889717 884324859 688657405 877937111 676063697 229418171 108052277 623005469 192756973 4763855 165953065 755236011 475561053 265459909 682509247 986713863 672516633 455620189 980249157 602334305 238819331 653916025 189085295 483877261 576318179 646173475 664096347 791728911 681575273 50829969 186597007 752872969 828952369 609926683 280156919 988332367 969368507 785607237 388651497 267111509 385713521 898207931 436879651 223796285 950143651 640074065 513318087 483400397 558438027 967602435 940247143 391305075 660041289 776023279 430248435 30939719 396679145 653311335 657190093 900502793 39784281 313048281 760230071 913738783 71081333 421889765 9772257 982706075 336197373 58115401 38908637 476124209 624769945 114541301 719691691 389429313 501418717 784121593 119771823 958285523 797758785 921921425 665406135 339787927 906447653 743894817 886139639 612687075 581691861 811810101 751064077 703290551 818041983 277276541 8207615 557218233 289673535 522394841 639273529 172931897 150004757 908182599 989618833 268044589 717162985 522930167 896189507 500688183 538620815 340939833 930736629 634436509 953979583 891297419 41213877 590378063 844104985 732944525 615308281 201563617 464870183 482766605 113053339 56585879 463810395 597475067 229849061 316899667 325098767 249106039 819300735 759650473 197195139 611276225 353801089 52372941 196794591 333625923 940650345 427283873 706282295 25422741 159782171 287943593 891580801 398148717 947220451 395943705 479781027 295742387 124216185 704689603 109119585 928347503 185669881 186283305 710367343 126075349 452233191 490597233 597236071 995420735 157402931 389007467 736869831 628552243 397513777 393009295 306956029 832454747 436343709 22025213 870037077 134406539 737854621 377956217 178334733 34292669 281394623 617618293 711899203 981338899 296144887 719230213 512125953 798626011 871999397 461189869 374322233 491262087 723228555 915470993 746050243 596786355 475871703 126720257 566062435 638638625 839931679 967324149 687465663 152345789 428571487 558424779 358846827 609951387 437869311 383701899 685211869 549282549 476773321 829915619 998027385 384505135 990490613 277839403 626737287 827175891 953068831 634192485 19339065 608865173 869703499 125795635 817264551 198497873 379336681 72055529 937893077 375373833 896464075 973220475 308304041 831851499 150291249 112839819 477474549 452085575 412381375 783892063 798548085 785101465 44337283 420707045 204361157 702679683 466977265 702557621 895964789 648407765 123500007 499165199 853068271 229515645 87030187 95525849 264800915 293439385 22080489 919705251 274865309 311902317 216080823 956536997 615018809 942514273 982722961 15015871 410947959 736898059 379668573 225922165 201058129 779562277 691645545 882231031 276225193 113933717 771056235 910064159 892537927 872215137 858106495 308993131 351705821 720785089 819036969 757928705 65924611 500390669 687684695 898589361 771583803 349557195 56985183 947862769 363831023 709764259 23078655 567990499 126010223 244415851 423498843 143413837 662774263 583509791 364380159 494092445 827234211 277565663 155106787 817232877 833704577 452968695 689793891 402353657 887564929 952991709 88077381 9358635 203390587 419774251 603659189 281279377 635608369 18700449 542739783 21467617 685699661 450140975 646266875 828249211 134878047 704767461 807424311 973616745 842260705 155112705 704518085 4136535 976725813 58866915 231514331 103764381 231949217 922943257 474171671 703080763 520566619 783091541 722670463 687156951 659733113 363760243 892876927 881722305 318382845 539394421 546253039 659300337 892189137 571243141 360058119 927614215 289125829 524589051 513339249 109700935 937734291 883604815 53599287 949584545 832242139 710029347 479461841 339343791 928312361 80999237 417056283 7408815 689963499 229694887 620405081 832861831 731593341 651317605 187245883 166649287 999223071 283451585 589179347 552165797 841145339 649655591 747615905 720845571 581720353 985873451 958132617 944314727 859180427 768000135 100156377 621443583 434529305 546709277 763771717 836651173 524962965 376639995 520190187 2743509 762696371 166065493 194613329 631831225 342808841 318118017 199204451 852715549 25353753 462429961 994378359 993849211 288195915 530315155 94591305 839057139 40321011 70017781 851933185 783600457 917750345 716663081 822379817 211798255 242144365 457659985 470795703 627888891 507121513 729473469 340272139 994209837 805571121 967579867 745728743 775868909 127306905 741199433 356481657 576830279 734546535 81976011 193255257 619915765 356980291 65787465 38193025 528350037 969505979 498778841 193160021 570177903 729404237 248793525 984917159 869486067 876384599 432439873 472586153 597077301 416197413 362498823 30636025 73166137 685273317 493049533 500019613 961768611 564450225 120799035 573662719 164571587 616758925 69124231 231933177 794922383 928926559 383451593 856519109 691178153 427094523 426653271 147855881 135810135 822968089 13917357 143915731 789262215 552554841 998742379 457718169 117931987 590885445 490787933 913499445 515027063 399466319 653177 909531887 565476699 851934929 673863127 174385011 979941905 105758985 35607741 706804695 980315853 171608357 396705941 18210969 405294449 892388913 442669041 374349981 797857409 94547499 950751375 73293871 734779951 869198577 651575375 976801287 156033361 131195213 174972991 451114561 718819431 336474097 322065807 291920225 350631575 39010933 873633439 214561623 694226611 431002205 305741807 360195189 649201709 912571407 231821099 519986811 685831211 883202013 831611941 264455053 719509615 796411139 989575643 286528313 439292009 987193503 431296365 844716915 15157811 600383675 551660841 847255449 681207689 105935689 447891329 879993713 471451349 560729889 637131793 996637223 66015781 719905541 871654043 926423377 647329841 173715615 708132363 277514733 804176215 96542081 997932915 564603741 505002141 149298209 600075537 286956145 688439479 118258403 442282823 514855007 750096631 806102799 735122335 868625859 238548575 391435223 990114765 371168673 631389847 921936211 73340589 569668199 237619947 939215237 367828289 227908331 216317269 207358807 666363829 211661675 771655029 483907481 766138461 689348235 193197455 822707719 224353971 307707993 469668757 526304829 769617499 102299465 445682205 275148489 778346527 656341817 491827559 436481051 838950131 416318573 36935257 279716747 87665395 154087573 398487427 326893147 438525537 141765 614956061 710044341 626564779 172061561 543928069 550752425 83095905 12884375 370432963 47649587 283040575 62453613 407846279 764659503 479239465 455566001 525940263 303968363 125500713 328306301 627484961 771493527 705745779 721772121 245616799 489255499 584482661 303135027 880662639 543479817 332388477 938706013 743533831 418413371 758820713 319837845 397993609 504084273 159642879 621855491 724798395 946303525 859588405 685405233 552811787 656327735 275194417 223202071 343765393 292705395 441317181 138379793 731329551 637406665 837959119 336318435 251470823 324419599 170131071 827178173 339835437 705078539 668764691 795381043 541857941 403465573 990419061 892390721 147747967 162064812 483541943 655965517 599175157 214503773 266191637 230778661 793904801 183527895 367230963 283137789 921226975 65065825 33427165 372215923 90845357 212212273 333103749 382303629 260744881 65346907 284931269 114810807 983354173 864330725 872642979 711710919 478008643 936678839 486041673 170029049 227527527 978977953 531710985 500974325 814873839 190188381 758208353 574520005 78671563 286847627 660745969 120822497 150267537 504861623 984246407 682401315 339604863 337060431 234550805 354686421 757162879 108009135 875163831 556730527 11597343 971984663 150971823 138254233 643864469 523060399 485570407 753251649 749775299 266367627 129091191 352594555 885136175 889597091 10587287 292818837 78675975 483643607 92573097 177235267 580323107 573379569 732090043 407294371 387787011 431266981 893677823 121494843 459623631 351729287 66821841 237738485 413945683 69547805 119515315 746922027 471926281 866682573 583322193 965670807 548531729 469289963 445300607 434475105 418431279 312829359 289670455 295362067 926725845 38986553 942670493 777792163 299334425 556946579 251259899 345469297 996856763 967129519 787272133 441914943 7526689 418880359 278667671 980677691 740653403 410523771 314879283 10690811 635910433 238484115 817139077 119243133 457021649 915008323 923235745 975175973 633569139 499355905 513529281 50647743 902884789 683477041 218111049 390865795 314314481 754686491 745863875 943774733 501862435 576854515 309946085 807079265 256233717 603098573 601637255 197213679 619535029 391855023 45538221 455477897 543401817 645775999 286273413 205516143 320131715 980791567 271825247 335773511 580115065 86635803 942286519 111672345 861049129 403363905 285344561 714586209 709870379 995445515 827777943 442679287 5288639 487322091 119097567 910841123 463725261 699117625 436441377 542795665 19242465 867079481 952063139 499289431 137030965 92476177 432397517 573937137 352450473 282800595 928213813 795802951 965039809 122494075 355056791 122211491 806505903 819709925 915537875 778354109 718121545 706375649 992319735 623251375 18013197 685139993 828796467 275429891 647552293 828352301 860919527 907255201 832229217 347133337 658078353 75884515 99691315 349713097 585186273 720741249 482132671 412732941 310838183 812531109 94736075 455920033 835784673 759485147 942570439 77926307 323889839 656965655 718440647 477174557 414496607 453835703 684173455 764486399 827188067 476078721 837770371 152128295 947066709 340014753 430601137 591905617 170821115 522124973 953077205 435093545 785059647 288722081 377552457 37218367 508794677 495362275 468459801 349374733 357238037 392750401 84225521 376681461 757591623 532961777 729487657 122643775 105879379 985888909 442324161 309422363 635629293 736553757 386576737 906373799 550503151 600494863 159589717 182829791 742093663 913316405 283102103 643628463 547798377 134517709 821293767 955037927 616255579 355629439 82210345 916903745 76327605 64243287 490863791 467571037 795463961 143167433 424013807 645830855 740089169 322117811 400046887 12869359 788469585 561721945 232407617 2144813 855572021 62234475 360707787 544704707 478818111 238881019 29468925 665137115 767739611 510375817 427041461 225758341 493251997 940668411 863390843 389643963 229636927 640064665 465821311 873377373 33558949 476515359 784814485 296687671 599675865 369835173 606130751 617842935 503723791 694943923 266814885 94693433 5140899 215096373 328627861 865974141 583927833 228217217 410364037 967998765 642060825 179641429 323333783 667142553 558357369 535407315 451031185 472595963 107280179 649529483 459367393 40051571 185614443 703840627 339453599 230588429 63842155 62157031 233262219 48480695 721633961 20001963 158371851 431027021 206395325 428682223 982399281 73233295 56413291 957526085 162938545 715599397 584251297 98965677 80448747 193779363 178568815 134203531 923909351 110574465 731173649 765664941 970736981 842408735 19940331 435512903 222381963 965002953 151281801 859186679 940584073 800505261 943160989 857142979 372749301 529112039 579673345 323757845 440612639 10943351 543236283 613293511 258007037 498658629 769343987 715788053 595114033 455199269 805778689 61980065 969751553 644023247 414928219 955209083 808126813 176301539 18794151 639180569 873954009 785842923 130533297 58702933 828314295 940584795 330923883 37963127 974645727 216465543 445366255 436252205 926713055 353560501 779053443 391690377 318272749 903101195 924757393 536953353 226501355 443864221 552550315 9327253 481686109 374895459 44105871 469477753 261862517 116627517 474935581 310481001 722606859 447269109 612701539 780599427 378189211 389229373 868265875 379194699 526121037 759475631 922355977 300359601 281787121 447487689 6976839 361470729 464693759 152892921 697783545 208048143 19586455 932326027 280387825 281850345 200773757 895425213 58228013 194433317 325230883 396798125 521903567 977706679 239715485 686491493 741470241 443617021 138722223 78045143 688264599 196894909 232314813 640783325 603892941 709385763 548414423 54497589 540927109 231704517 146898869 966235275 76415659 24778145 434090677 392752753 666917713 472520219 539645151 839902301 737057205 430669055 127081953 508619187 490893113 734379141 804653587 584039099 775454823 233038407 285707639 664671655 594661877 774207567 947346607 479495057 578149307 290255877 667223567 140344695 482867645 815773507 465896587 858863941 965944103 906863427 187014341 123437771 710249293 356069803 194905089 175167173 254908073 464285575 262002481 990727633 49486303 253396561 130550253 48434041 479172281 385500897 968829297 318247215 377936173 360932477 539067301 478952267 852812371 595654613 817609753 159921167 338497391 949734397 224411397 422359205 228957423 572540275 628752455 589554717 80579427 908145433 812876393 74127987 687643783 785292095 993959829 268149635 808926271 559285403 597543079 986316315 633978773 455733575 689282589 694668523 170188223 252309963 487906589 104697227 183718165 616156693 24799863 355350399 502163485 575488119 403586465 814226219 574362241 933684913 759472061 606906087 381419027 339521255 631242897 152915943 824740303 320720037 515060107 3114829 313992409 523828707 638483653 525908261 329623421 655597053 608106491 154096991 168266285 722312889 879835543 995647699 792905859 105575745 92629925 702492739 12372037 99334447 980111073 167872857 746240093 806023037 763121573 814345637 822659549 837739921 174919421 706266017 266661121 392702009 700850069 171723183 629186095 96584875 203858117 650544407 966591727 16266625 524903309 432832265 109506803 868335043 855470995 50002849 757059867 868923869 217522727 828212447 260871783 325398181 853039937 32713645 51003651 589563993 303093377 579129051 681869633 418445211 484616747 795816483 659037343 759665789 979210799 85146917 989955775 950259057 255946535 429048429 585935979 328369747 824307025 933121129 515153559 884020589 292388755 135460469 91327837 860576871 453960317 646234065 542956803 263413083 312345413 74245287 249779955 504592835 810086605 817024263 896021185 688110981 88096923 823252459 108842279 655753709 132974045 828161075 27019017 493076149 503103597 610099115 501604465 487050997 964184519 774970369 425533331 67871285 564877331 956977105 352895947 902500193 247121187 604021659 427012763 493301709 664125291 893202631 202171055 944266811 742505741 866648745 954826971 416975819 525211853 219703161 707781913 492479245 481239837 499378519 378423693 252942583 246743827 343125839 350986625 88321509 244360047 295950927 535021163 853829275 8105367 958017587 122821859 770363719 887189661 440377529 649494957 302571647 650953269 146862735 830939829 430434881 927663039 382769731 60425743 750114033 588518723 128226637 89174773 477805149 172511345 578365201 174192331 210393785 753758621 291193817 98143773 725922211 914877131 270829523 874763675 508347679 504031391 714984987 846718757 404060829 615977321 112634287 440172729 89171953 244905503 947859581 375906183 434426455 202116451 649945681 932116191 658627957 551844987 35080169 501225789 816469081 542869077 569028067 157864773 931471479 552730763 354912201 911397571 668126383 251121753 302918925 659321257 693668419 487304103 929735689 822169873 442165217 746482183 431623931 487635521 972219551 259830701 843895569 296255393 285556475 691381883 53710679 345094089 784955351 878208757 509444555 394032239 931046789 813145933 714418251 242557817 212207799 168215129 192372129 879124979 792739209 406012569 517039743 828686095 734626437 663726899 115695741 45437735 982333331 482074359 769836831 295550657 482291469 223942493 859830475 57129351 139882669 340929923 885621715 75891533 361366681 8192307 206483315 532021515 881310815 84350423 868189897 219429865 1507315 814968203 733059551 668313645 796595379 423633931 94588583 215498831 869503589 841426881 528885753 639070185 497475125 296377531 478245015 109005501 501763513 101430705 133604909 909305271 140882413 286276353 313999431 361548267 554828857 909081521 567015777 353773459 904980839 374379123 604405725 197136145 93832879 983372959 940927235 417213427 298377387 10085681 619699205 236809707 179070051 302518739 583789819 291556821 575068229 850983377 923186151 378331827 778245923 484740901 251790259 978285747 284543293 363777903 201025841 53271587 406590775 952730355 809413143 730744963 278161181 136209827 255927305 998756725 943633767 315662869 735360397 894335427 377725425 240717449 316949785 911552097 577115905 655362021 625599491 40773483 461539907 686869689 601575311 356722981 562423245 88114749 762882529 253085431 93772059 141185359 840276241 917714039 438256659 444499319 111639571 348180575 834115587 822171109 234215881 760032659 688531105 197372015 963356671 974125597 731395335 356853907 781363301 351346227 768731325 631353467 343957395 76389677 25752239 439475701 821063179 694838415 681298483 997996407 293819191 13971207 402144775 767089443 905484391 949414245 278947663 452918207 590210517 526214565 596521111 243354553 808287649 858989035 711574231 124964905 845036247 263268739 98776683 115416015 261303911 449247709 981403159 751289875 67971113 664018329 130427403 453917697 872487391 967005557 95579865 126521685 314557489 303616865 206946945 742038889 568013747 461192045 71305063 754715207 93256669 727311063 526313817 813309855 743314449 152307455 846420621 898384327 771977877 726992497 628045981 676024511 357463967 469080035 763626897 672931117 348662853 474293039 695048917 577948513 901063049 757230167 496582207 414610003 141886803 273502853 685245195 239541921 65683319 658686225 811216097 418333075 21588653 910061169 474629835 228031513 552909205 105019213 929316415 729246153 432154555 95450987 166117405 417038817 962859661 685981379 174270375 992930379 53025895 510030447 119739277 715682965 629604745 993478577 980218081 641292021 996580635 104300277 905334819 524358477 900692017 930819789 322663479 507598883 169075395 425600247 360804713 859397029 504377521 707190613 323076211 231542443 252431045 709061873 59849581 38681013 125736883 724452607 713740509 287998443 17889551 893574619 986297523 954420249 287843935 96065543 333249859 289038777 465476107 184451887 413432393 175860203 576263265 771138341 465783787 54217331 43265183 640765159 925244343 713551555 881278947 384583063 481114019 99569905 289403447 868537727 226963209 154903741 967591311 408899347 772782001 306698381 773074111 635178479 452838089 373553777 166944909 489680343 871199715 185270561 519462047 558113203 495006717 226150139 337189513 431026329 584159871 583696647 230308545 625403587 116532277 467620339 369505195 894250131 428008529 939852057 282919569 455164825 900008309 844856181 895536801 463543683 510304421 827728049 285634037 971118895 274515531 156330523 159845009 993133985 260309313 424038313 365422939 704831233 731345345 671745789 465398053 272199077 591136881 864558173 919549355 335339783 164875103 716416439 392144011 744679115 366948607 619455395 20248655 53650877 704194353 649679457 770722665 599187661 406734901 435624153 642961713 907907099 998093247 805813655 943981803 11698149 548256735 696883157 544680125 709087643 121067539 932273267 460687033 955626701 797054019 77536501 81666011 209305655 819466681 346915981 740816641 761775805 899976235 427523857 763515893 822801003 403482809 871800831 532892777 575875955 779981541 376032129 648174837 664957743 173700511 885740391 980787739 85633317 724906553 839716387 583978309 747403775 537274739 193444313 915062725 377935503 108265073 14018383 835368913 32219345 391807425 239333109 263367565 870869739 513689687 752319967 368612865 565913123 197450385 329482449 975575069 601196017 428277045 582694701 790655935 907262703 588565101 170207239 231112355 402214879 773227731 229956373 783277429 89177773 837013089 675605427 626310853 318599019 921534847 762874861 410408461 82886999 622167031 948881263 876028591 250508241 289117695 564221073 221226227 535176551 745779511 769707347 321551627 739741387 526081441 913548381 843565071 517672409 757168299 91066875 824217345 886881427 620795435 731423527 39695819 332505125 510343519 774870145 188798013 747240931 173316587 732043597 557687057 206389317 564122843 955844221 658161385 143700467 990294951 942130087 685360459 668998837 288265003 911051273 470491053 461154943 647752365 344643469 703599205 499957357 988046039 678505409 720746421 933406657 758667971 247245533 162859207 307374311 280322795 302429375 119093419 509990003 954863157 623684079 211542875 830115871 360644335 650723483 208209591 244920271 992282061 287111581 650389387 316838541 537637103 355237745 540041861 882660751 34349271 559953729 898126657 499804973 962547571 259723739 93397311 313053163 195901209 439694005 959166185 860483445 459499909 697098993 338316431 86012319 481051359 416596051 30642027 339537763 878234289 931997263 634774685 799673317 348652787 247704823 837986353 948087665 940273407 352499213 867318293 115262583 674543263 313115127 796735269 890762901 660931323 728239815 62194209 589307791 895543725 305065265 456758963 526114381 612274607 893728661 73587305 806561253 77281895 319399163 39174081 63228563 853027489 30712339 444375835 799580343 791816597 64340019 380189117 174265309 207158239 102109273 169167067 845813179 343350405 97688623 935485071 462167337 502706675 172041989 90222809 503378221 751126783 314745549 951512225 304924145 120501733 574913323 343387323 129141703 245945164 355823717 866132703 636586539 966010689 619499115 862138029 664966339 129230903 285543377 386652337 931230293 816841231 307748569 71210329 865207257 183485195 539025003 401413119 876875113 310119129 366174997 362176999 539558725 641832847 355855373 620981049 382133469 586414763 409416245 709266435 306676675 283307025 596288273 721261379 718382767 147902221 288588243 980761559 258836617 513971031 879144531 482661257 179913049 575635467 347256845 210872843 458531153 561212079 435429161 35043831 389318097 741953071 365629303 320799181 893748825 438224351 557765487 19619061 646883221 966189183 386108209 929022145 253731417 108865843 71915393 640359277 955581085 144003209 250785487 340645143 768648841 980760439 181690421 724959433 266272101 178702935 778909809 275906421 162214053 522056689 156937449 24001781 221894885 724321905 521584301 692601095 463947495 489453165 930242421 533945431 70885527 515486179 680601759 360719223 442863625 118459701 650270769 21035485 687835767 601818677 770173919 205384941 502143301 97367315 209722875 391046895 675365629 745264497 661801609 86328853 247919187 823513937 149887019 408020857 133282083 675362851 95385909 446419993 301139823 317452729 418035355 856674785 446813285 362320211 848485119 484201123 382757715 85926037 955404197 692045589 523334329 171616397 578765695 117796827 356924217 78518959 17132581 915208829 669705887 763524569 690332881 823980653 127756507 530577233 655380337 412234755 466101003 76732355 460684175 967995265 662168691 244852805 771343205 462972433 138740091 450477395 823623889 985422533 944841401 165951957 333079645 163735443 782972903 887509013 610715699 461963871 737145065 380058825 327011119 477743601 363905227 919342097 305485263 623945465 5992637 121636463 50822969 409565971 385616671 496456145 369722941 938958785 305740399 777634959 171022417 114710377 978423389 165722721 970689687 879058525 838407353 945476977 645173973 51090903 566717567 887186251 602742393 538665209 183645397 971641827 839915933 989193161 213287425 651290775 200210941 834232893 628051579 550424875 902251011 874964267 753560539 472848591 406761915 402957653 589598183 954649367 487143905 34223717 216701833 258130175 352821967 281300459 51708883 167258093 411763601 883990113 407774979 482347695 916945107 300380201 951098745 979093113 34428397 212266123 85521091 378232299 238787551 397203639 859922067 252500999 312781391 41396937 770869699 765433659 781923469 102024385 164542809 870975581 685167761 871971721 850932095 175716265 985114105 203740145 194526857 959016391 165331727 236792243 207286255 889598145 111098813 422817391 96416601 600377615 197020831 964213937 734167951 425278093 984183283 779640041 887274885 699488639 746868383 389794925 181121879 18943893 155516209 643003011 180059975 135005921 594868965 638934867 744204993 279343843 242980503 5591277 47719257 918865791 24008655 54096459 651388871 427409923 161260987 524061261 506012915 266478115 71984181 29646015 637107429 529760509 996463801 693708623 456220113 494162455 827983215 285729433 440831763 446282333 333353001 306362141 313091119 233912613 884471131 182870083 733749197 377313067 752891687 866999135 19379905 604781975 254886993 485982377 853336841 522403571 803108171 512724545 36660423 466986551 589683499 332779827 80220487 549048765 639442609 816148077 640383481 33141837 372865859 650465227 684889979 890536469 318258163 80066317 168593039 319456167 661753461 942963931 361170211 867962627 513305641 442219465 262347079 470288013 979816727 534343501 482239543 253110801 23902959 8052429 660246871 590407623 929563653 9036941 68116785 705310539 740951645 291086017 163891323 75306659 730050203 438856323 535883021 306982715 547118351 29084881 200742125 63971047 418945711 553504665 628028227 783742183 355136541 532998311 350282597 821228257 94558879 320168633 103570383 275802079 333302563 410564205 35784993 251081047 775074627 589343565 893199143 973640745 267824187 129539787 616788951 161357205 43074035 796667201 21330505 358682703 383468541 230734575 604012483 366608231 861018765 232771837 889995951 997078363 630645125 730587773 655502751 652925203 746509673 297834347 669769295 439664857 496685163 78136229 43145893 499499365 859045217 460703733 81654695 168042195 495646923 818912525 517703309 553131431 258504655 941621383 139871153 826185169 751670589 712147425 632395157 648625061 691798669 613004679 190320613 131892447 36658397 920419787 985006195 779910053 45633525 124371427 839663165 701468035 203973445 888936691 556026467 119104115 179444451 970046723 839889715 847186381 95933581 495310341 361442591 555523417 60423853 830204113 731185603 661389379 881670993 766439979 152713441 819950113 702579505 247670713 382052709 448891887 111540393 23537933 399383649 278077203 169511109 571258529 448867347 443379293 175637041 977317079 936518877 415375101 490528327 725132023 920067657 592313749 986189827 352968243 840439819 212666663 848327437 317108899 491411711 630455841 622604983 690111051 302492199 503057755 939064053 237464081 225286575 530791695 899630953 600687303 656926187 677679585 506313303 765477415 190182485 514159075 339222961 666761171 275382927 243266439 411921933 798700115 617314665 822616235 533691307 94965271 51133393 189661077 701736305 474352253 702362085 987730417 157428207 399935169 602194407 642807251 8122461 913543439 537740611 992874683 26987929 954722679 763174797 794460303 858378027 181759731 842636671 217365657 495166531 135248485 8357885 866823823 640480949 869709203 835327763 831778193 307019781 45289523 556629745 241572641 977269335 918538971 898364149 885446189 816964475 998290957 266289827 27678219 94989799 973011763 880694435 470711673 316736957 594880413 26051531 772904857 854544323 930956677 203166743 175692541 276063335 608525581 538148775 206540951 687584961 397359931 584024007 135166659 51770257 726082821 724751341 944529995 663118911 911831105 423408305 49772887 12683223 332815025 423058137 739941505 752392725 413438717 241376845 591931331 903977555 787528633 344199461 186732931 566807195 424448093 934833815 786478479 550383261 566315083 907090441 189495323 140087983 940075977 973733383 15853765 370671825 272204557 856976707 462085011 6249897 87228205 750300055 460766193 925105031 480389931 635652873 637730741 34351459 639101679 398328515 11254813 172594651 623311437 642940439 693173451 569825847 544133117 879331203 876049615 550448487 592686239 601128359 624915871 819727615 262364095 304907857 141167127 558589507 208546507 118548339 459191163 108234519 611913759 546402343 117908089 751128331 525831163 142992819 444236841 347683925 945391495 533261953 343101701 659282135 743868375 21909797 573647857 638031637 203172579 3728729 587270463 159543107 865799819 783178495 995397537 824155187 633593755 349750053 659482933 764125799 502732993 338687741 837550721 891988743 721503129 142530787 99995505 335195359 227869601 460391769 660045913 685223785 281265479 727204363 867899643 29518277 522570455 561915597 255490423 236289975 186367375 195348633 901331293 957663409 457507981 434870929 122473635 454023369 93638109 813711107 445874851 992441277 183654765 408008291 578177829 26332153 580891159 389588041 900414293 378342279 865003167 139856505 613169865 516488481 598973099 832679903 563219071 883060517 710786511 802185615 626335195 256172187 694950529 555310531 16704937 88286257 871300901 662212319 328731937 676132161 361789189 176927853 450191583 989345479 944939855 721117219 719879655 503747181 923054109 438108377 797677225 535782785 816238963 151683475 761248761 211929593 424589367 948764287 881498131 888701815 735223613 825624555 612188573 177005121 332458043 786354521 660938917 826889285 712808149 696624231 451074975 480782875 782711699 535660001 212065897 383935491 622782183 701445309 308498761 73533155 897846827 541552403 451020267 638008653 371680925 324182313 720493157 894436981 435811433 513187431 539818037 200788283 398420385 568242275 955221309 541820713 890880315 405933017 218327757 753230699 318123547 409713577 784690331 403050967 25362953 123152863 487390147 689291249 147100343 946487985 277752777 661671901 238361789 590592375 559263645 408434027 915256989 285081015 477508241 280567059 735131073 257981467 257576805 673541363 205326203 114406261 670098749 97317331 168714241 250638275 694904485 143900195 145021303 275147045 936642709 319444215 169651941 951004393 6459243 269144851 773219645 432060545 358425575 4051929 633383511 133665415 877636667 363921501 97170421 982589889 260342523 893910613 656589505 682410009 456773667 677365021 890837835 625443233 330367003 572308161 174092557 194875799 902465197 113585389 338903401 693276509 698428943 193346553 324906151 932012923 138722785 957749221 542512377 535796907 486764069 933779289 512920951 619572417 496699465 272104097 884959523 434887109 369485347 37988535 828067303 397593313 320257265 153499707 689139091 973541737 168057431 686015089 963036897 550737879 264779617 304983627 606383731 152196301 690462087 869550941 234162639 508606489 850998181 964169963 930170475 243530159 256289535 866433241 828602013 692529319 949546053 782551223 885692071 801953349 788593291 186476221 768931251 348153077 222649933 750904009 540662993 143683915 768012913 186839395 795272699 448914177 612638533 724556985 690857233 154353657 973416829 996559781 656413407 737413955 781050167 914269859 239568405 520479245 644994297 637260509 491518027 961435829 878815919 674095393 726637315 985314237 935034543 608411365 153281701 519588563 656041143 57765195 341230469 624414151 256983273 10398743 780562651 198514069 738779863 838609595 413902791 486059873 184119409 325812047 529817685 947820405 137677081 65650063 930348661 990072391 27848849 555277283 302361341 565174127 636190217 746320475 448875699 670636209 69657875 567386033 35810623 359104251 521093807 842934847 929979441 10728285 958787649 638872335 824526337 555272723 614164631 901335761 384061205 53722497 177019109 931344603 181877937 326094643 624547273 48023083 470164491 54736601 242648649 671617131 326892343 132909907 688193745 115977449 107003963 675297183 972021815 275479453 435623423 11430381 816516279 565837349 804921169 526509709 784367351 168659657 24576495 185927421 171861253 320257399 326561143 994575581 189316951 239659209 24459893 382912251 218543047 347514107 334040407 732614729 84001951 573310711 289482105 789582561 834864519 888552267 754804761 352846089 904834199 215967021 522933093 640234539 326409037 256041855 165983593 675620313 685990797 769141701 336453411 693289681 773718691 252745009 591139697 783159283 761722439 850481561 785056797 359739213 44508053 408897661 406885595 320087825 579171857 562142725 526463551 925173915 569128619 254611453 360388303 570559341 830914231 784829151 892232689 615740467 120478961 394072265 498012921 263892927 856274047 762390149 811380253 700682255 213283823 633692285 313062273 619560771 265445941 794699213 968600621 155509417 773651889 500725555 611065619 379122613 170527525 597287445 299221005 810333949 10159295 533158787 656294617 91924809 389682453 602297141 68676645 593892997 482745379 751815303 841887869 891441343 663866449 769504645 200219997 68930871 604590441 101649373 721760295 128841039 151680419 795312099 851617573 131023249 777582747 293019033 680704643 967752881 882932309 633833895 980750177 916420235 486922817 425874523 913929915 96818467 460923441 157374635 631510141 375251873 920348517 414923065 191626873 954451803 173045633 111783753 151466853 448106187 4250003 5409229 510959077 917981845 468317967 477168731 702679937 807554179 708706515 357520435 349065643 819346569 145218597 337350461 854128315 49642949 50309041 910728965 330263795 422395765 333195405 687342533 930445693 234553863 12689717 328872795 342499179 157693967 896521359 645525583 16360627 787089225 768432873 880911569 955395897 64429973 290538745 316380087 856127429 342522367 411125467 143400321 700736775 612251069 97393939 152162645 831769245 793733927 94953871 577562115 256632835 353515715 7270565 623097601 289545637 426780729 89740307 623868273 559266771 375607135 968229885 345193241 486182343 223963441 886636015 837768551 463829667 445860559 327018465 649985653 4821615 275415687 343143727 345841663 711837467 418420425 714614687 134296687 975495555 751658293 45213789 860347345 993377897 534019979 505250045 18540769 933593969 690565301 383680639 892426745 444496433 24993227 584601161 998397477 325953313 215640835 719490853 665267217 435436707 585447109 511072841 457548565 510975999 384289943 279058003 64628785 591041637 283710001 180669513 929379083 41949681 539054189 743779479 913616627 868017315 436582477 691636245 274313697 700573029 332143613 833738491 31025011 354629895 757396943 616657395 66572785 545313091 278510913 891452167 291197771 920387003 352526323 824123567 717622295 410587381 631760051 419239111 330625171 358060391 707517043 774844307 538415529 14716519 535425871 277468355 833561063 991607607 654815113 765329513 639489669 168992767 408186509 79047173 599026785 801878227 718206959 133507963 170852099 718253227 737240169 796284441 464852889 939645031 709339357 581331347 270686203 763429843 692775259 822562567 705441195 588705437 492435473 883542011 764769995 30561121 9250909 507430747 195805999 315828383 701842369 128902269 366463819 322165697 872129257 444591133 142696769 688297493 653001385 881893219 324531669 515858905 828172027 704883929 227906425 572449067 791635971 82105205 496186691 918695703 109718283 538465687 597916659 599256715 330575751 617787393 787136751 889575779 607963667 146226913 545871689 949151583 203878259 550096079 47837877 82588967 704550799 342891459 909966483 787248975 126597757 522243623 387932395 518335821 104338295 967378887 757080939 927536775 882599393 634525911 375542893 423910721 927747143 367215861 842700271 663081391 109361497 306327589 19597463 123010283 181450997 704123863 907709621 944566261 558095647 934341599 414584639 357045941 240610561 170460537 6629591 298049279 636311021 976556107 528935619 761927561 190283871 119713635 794975217 831722231 215939835 730399799 28482553 311663315 374438797 921439649 37820445 806911627 794322949 289993449 254326847 712526969 966524291 688801979 842122227 4724961 814666565 592047661 934142317 351955177 210936763 129828797 12578959 67995557 911456629 532785743 860726237 125814027 499502129 249667631 232409481 518472959 739824079 366155797 806173801 416459849 12762973 730179101 93138685 973236635 892787213 948382411 319805035 188157071 655674425 401908751 967349635 931905699 918540903 673358395 844800445 367187523 537255489 465536783 84662327 5423041 669882777 366566063 991819449 618706515 515929453 500567209 588341939 198995229 479777501 537586417 447621691 442420775 878992951 135614693 667336463 331199843 672309229 71216715 15302553 889288617 303145883 67350095 647475175 491051965 768343299 286586503 576937647 583857989 725217553 154494449 275558483 604229075 505282777 854708719 250725849 283378147 882282131 648187217 174348783 190115281 110694055 52150605 852225519 52065003 458822813 289555069 437083349 266034273 999163433 675918315 618462281 838451787 286125095 469063167 660980637 659664557 437063577 859780497 826571461 335372909 879060651 314929887 675796835 644366429 792583089 633518733 640018363 334403127 592059941 934075049 853825983 543491485 571910059 335251367 828235269 632394519 864442125 121575269 923888333 419712279 619152191 330765351 149396733 636543221 917353565 237201309 312154917 332060659 335507627 221768667 15759997 624974395 594879889 586099293 661218275 437969373 827427493 486278409 390609631 783401939 218588321 302914861 955184801 286200063 240311913 958115455 342539005 362590505 208668167 632867353 332114295 103384065 376036785 849837443 608909875 794878499 707927743 379227563 345795841 898877967 208816821 342778339 27501655 330510127 405556289 755381481 678269015 39328467 769841715 99951077 41461191 427037493 565289095 745333089 812020501 338270327 740342113 377793621 810852185 880681887 134846477 114775837 788020051 444706723 591761915 927708797 613495915 840411737 208870347 604376229 682930093 851917699 481913403 94905385 704413395 318824907 782481211 150038277 848187197 750451649 795768027 42155935 269246191 299303647 146007127 326154693 237003675 534237317 102931221 495166379 487323031 483796223 659175323 3344111 235901667 292575867 536171169 513819031 580221477 667989013 336307713 423592719 42941357 241019085 654922171 194578221 605606003 159124619 721190143 722576173 233777429 993276195 448669981 888773303 375111387 901768013 35351187 256961237 970783413 510550955 732510209 571800831 374782519 31049667 490610997 288882191 236943013 702217481 914798113 357675343 594933219 44470231 900617185 555335527 308388735 522036333 29442487 471621487 963629493 691735029 284819983 923987429 464685665 471441789 930884987 480204717 854017545 718237955 346895289 323249429 306509025 835582565 16059049 320651473 774017979 496623727 123589465 179480831 268509977 842044879 120435965 112975907 276565537 313808417 262104043 755268653 910026149 923334883 464059051 190772081 42446105 509144195 817954025 178976171 950834079 915972943 518493811 710328067 534700795 990636159 376980553 627376899 458280095 608710967 670945677 742463905 761982113 631295873 659262601 429238845 248502975 288605515 981250993 461583513 454315877 78028143 512460961 372693987 290149533 581204145 270207259 813035953 773801247 74644663 940195853 747149057 261549391 815898389 268763781 940651317 324982319 125212739 180558019 677070623 77214319 630380193 143092009 434621425 726003561 654446969 476104003 723379273 606580249 501396989 341077185 630726955 103367721 743523909 325377153 799417095 686518503 859039317 237044103 466947247 435770953 422408979 259570683 251581027 797264881 862322003 156620339 511757001 713593379 439182027 874658729 637854185 87202515 961134367 455256577 361271359 258973843 638968535 481411591 96854947 290878373 600181861 77777067 93971549 420080879 402996003 763196427 115670553 26857219 981423183 178738283 526156013 559380245 758499861 317897523 657497685 447046661 262064263 863430651 444891705 845984605 656425627 696604537 520084963 562840135 969045813 995064979 58504971 500751007 660650013 383898453 297489099 426157539 708136197 4110831 588864173 839054905 922245 466176449 270506905 723939185 453611297 298878539 725736169 534848003 839483967 523223607 911189 623046669 229934897 310602845 853994503 345838167 845161521 995054259 452469643 715812689 423219553 545287007 296029909 899553807 732969417 2434989 277770819 340723027 390514267 555597583 249944731 548510853 664723183 456134177 167026185 97645235 476580679 536806309 478563619 220844435 502914061 603790725 669801445 537202311 641024465 520672217 411065013 430040981 211008015 79106519 129423713 160917099 637975587 86930151 423055391 559390561 997419099 960755601 964161161 135966839 677222631 422911625 954228903 527555669 71191263 29231531 411615207 191136583 934474053 712990969 338424859 830021191 628964867 723351455 189991553 684918771 387409641 540764911 81778881 520201621 686964913 239471975 4133863 463142935 656731645 404388265 488231783 150309141 728824405 556009343 281583645 622023629 789807913 236731101 835046227 870531621 927399125 119429343 831216051 743683501 71745433 154647751 689071185 398450845 916174495 102954241 125502381 981063379 294666999 171129377 815026861 310309079 696351387 267963873 346053017 544399063 68347757 637250597 246885677 550174125 923684403 150967799 253229953 679091669 516856739 91680395 967060253 743827577 537198931 368129597 781486573 916460135 98890437 613042065 38621255 289443093 146466401 455946799 209103335 836595109 352936059 532761581 128787189 964284379 671371851 808282565 344471803 550282025 107894003 403082459 320123377 101717415 377793145 806354299 500505907 111748369 970222291 303481365 111540869 62166991 303218901 80576583 703232791 254210033 549904709 595646421 115668091 204717103 50381771 451867559 428561329 752826089 552092663 313568467 507090973 624718115 587982915 384100245 214215309 946153359 145157391 113012813 103537205 814123907 263417253 540497031 958997939 749061629 599447865 648472569 689707533 674377383 120405983 554934139 742106029 611111119 600578461 346709523 904246637 139221613 241601883 249977835 57775497 145879327 501789161 93746517 218216099 834593069 242212607 112596429 430881995 754809477 54769729 731763959 914258551 701422529 935782457 222867871 975266177 611329309 857615189 4156087 97735217 129169283 700278513 318859353 745226805 115453825 21914699 508138187 382327711 899126861 362353041 172261239 934945773 764980937 989117137 876368367 230171911 949618297 916694787 360753905 676872249 212367503 964149515 363486557 730958135 4272865 822675123 942189377 651022111 99681519 337510313 327507151 493315957 872068833 516126855 837631843 278896937 332614787 680418257 199482495 273249677 848424015 286401773 770538191 80629603 624484451 65065263 981607717 110233547 273403273 507245261 968375679 724688725 934519851 124960747 673139199 150754037 627772261 979644307 601725423 523831049 441218037 136747699 865254595 296559191 299519809 552394533 720601367 466442507 558459993 52209837 49719213 77673403 968649971 668499953 744724592 499567717 92550769 535904643 514061175 918451053 480955097 67653855 27010553 915659935 463966171 690293603 261440857 38833715 512985547 119421273 507308583 599753155 770156715 203044083 383474961 57893721 608128291 884115273 990012917 736565853 566227841 641974621 906335445 982907561 542222011 273909531 483276509 146428791 742719347 877577295 790555489 359355501 949672173 868208565 269901531 260499095 227559963 565034991 495965167 796011375 873794707 437368965 130449511 611930061 673274261 940701929 425187385 661607159 426648841 944813427 68421245 589773213 358199419 748360807 639041143 874662611 523699237 147021035 600622229 586929943 103938021 866012177 486894951 714632011 388049475 888035283 532111529 599227839 251559279 955865619 67200063 937821993 280992831 20840857 219134261 715463075 778761521 75289879 783081659 799632821 866186607 904983589 676614449 348852045 601044935 871765061 196540693 677529789 303570353 524787681 926836247 145575877 21615691 615030601 813496839 323550855 352566621 826307511 621065185 782188181 719871061 628683341 558432457 220486113 348363085 755083539 729639691 876779977 903649281 579813369 915894041 827401233 762319065 422359005 748725901 342276585 389544423 209483643 670567725 806039269 718538719 173162621 835963363 486326273 916246307 383518841 555459521 928718499 967658679 734404067 986669829 739587993 797755725 69623069 982494223 94361625 394656829 311367027 727335533 676967101 793293953 398689813 569991121 958341773 584592839 468733211 33684245 316035061 311032665 435286663 774772543 356283339 577314097 288482625 385435769 868788813 267091181 103852061 406091543 812720669 614673621 673405651 101338769 573022029 303663321 643064069 491464847 826895949 621078415 243919673 887346137 150365439 596641077 146735589 217721187 887412647 410172597 120279647 100703561 269347311 528807069 523294185 846379469 484671985 557305893 657048747 604345947 961208103 568304171 330659513 235050629 36306807 777485367 161245451 988519689 263153709 410308471 552579715 653095113 414344963 484940227 339922151 868682703 778935057 337238173 580969451 187592271 176634847 520913959 704060457 6123429 993021529 337978421 216901153 336237395 671858643 213670203 527271229 852784135 795047183 963244379 447786701 226940559 714851117 444902745 587959049 496038635 472913085 174913959 669332503 600701245 178055349 224835419 31878907 641061071 52453233 17596725 988950185 721796887 309775797 868418203 659761403 242546861 796717999 646893725 214517169 200341589 610089973 614793459 295032691 780498941 137784965 211764477 347700437 786699189 355953091 106025663 880980815 332335289 525426045 304437737 559301185 560873069 825039335 333709013 860316661 682177371 990435999 930536833 22443677 700224569 6468009 392707219 444841299 716329695 257301109 605289561 317916951 188926801 538546903 320326095 397808593 65286845 288716811 3948945 277474645 155425395 986155447 11948775 803789401 780885743 886637801 433644735 517771137 290803925 425083669 658014897 437813847 62279153 663172379 374572029 663644745 993572917 108186685 13948043 236598705 53444283 915977001 713926121 855088851 549525705 898372853 389342285 3043029 933235911 942270495 206687639 639937739 470648141 578035593 960235089 958966955 415863313 532219269 468218023 893035097 678301435 938629317 65719153 87668381 671567121 33333093 184287023 951277609 739018123 70112239 912851207 508596375 759850691 867864651 372287433 52756325 175356729 199822547 756388589 17986303 704308381 580653889 197614993 407617463 899785409 28067771 57950589 527923395 205538461 921596367 737188385 49468231 158029145 375874929 608721811 931444043 67657533 217569791 125148049 155925697 524619965 208971583 473306245 660425347 786795379 525410909 460658301 618007375 679284005 827920623 509003823 329728721 427063485 809613809 312641021 135658137 30912847 82383563 5694189 953381155 590690581 154861127 153163693 35016909 750821489 516576157 800995735 386932961 778299121 109090663 103306151 254847631 252801609 865288365 791738245 495600629 638730063 731618781 5316227 269596943 959183117 297700297 565379221 25033417 600209321 532050609 808989021 514696179 864630135 46161209 669600031 519431239 155966965 336665453 164688333 421644135 492863173 674146757 658378749 592577499 843324081 276508701 734251503 658965013 567001263 998912187 648982153 821199213 632211671 424046411 781696603 989964069 145371501 509978595 291415709 650571111 127900125 171072511 563123757 944473155 917393851 877204869 648903315 603751603 397645249 121222083 798980863 883327385 301160147 49694319 749528901 320285373 695249149 248654499 259155689 246599631 642849391 764346855 680989199 186078059 222854279 414172455 810878599 226922001 385007305 838776249 728267463 283009835 524543453 726118491 73840369 176202249 561071769 17076273 674098633 997340901 176846583 89136071 569991619 997340129 354517275 305089045 223666161 447165957 279110737 452588407 862241557 940718145 986609163 393715377 159668887 649218161 81347299 164099571 80242051 66109525 127282591 245500367 718880659 368021143 625188903 343700549 668786727 215793607 488139409 925752761 864743747 408021343 447246873 211952633 215628953 510713023 570032159 425593659 702746751 437191731 738133809 689445657 212324085 533561321 615330815 493690267 414879905 358274301 533999209 655410733 180658643 401667695 551983727 894808741 225915267 441794601 804160317 384689727 689546831 388336633 441098789 678662817 590135679 588252829 107192227 275415771 533514243 752538293 492666973 834665053 919340399 46143431 309395995 940781065 675626247 542286665 885418193 146604321 585146031 610492815 738171801 86306901 219068405 180106463 91793337 422786231 929839381 429198433 373907867 616006343 909045739 417294627 314923987 145505641 955185405 790434083 706321945 928812777 217624189 271332415 452055125 116766207 427697475 40380227 970332559 174026441 298398667 54685917 453750011 689748935 216503613 157650601 580203765 299384555 733181547 39173671 999781375 629011593 913501897 855812543 533392837 606631005 422284663 553139141 820202523 976263821 921416255 824188783 420313593 985603239 406610061 954766819 832012423 349426337 832798841 323900709 927347725 613127637 30011329 895477033 804634881 745069579 67444431 108191945 573334265 98834033 155712947 111530179 484504511 986980505 133697311 714935493 258345529 598720385 66758519 921017435 463838589 126823569 523478465 651484675 856922053 733085845 516540077 250052635 726900085 838990527 370642833 335651309 166803479 148112305 437100395 469896363 802992479 428730479 147067365 933919343 826154539 920463715 827612749 237603127 417315193 14710631 342847129 410257391 938113399 685472437 95045227 918746985 241433209 600615411 380012039 362579291 589645817 13994287 853370719 91751785 873373083 602423005 466907403 46694429 808063531 779570909 684413255 762171875 269510299 180739951 347064571 328715803 827826949 206137927 4033721 664707073 924840877 936682355 102297525 455048129 596418561 891350135 951061711 604534125 639075729 859755315 289213329 903693819 883312921 644617977 423713573 761185359 833412991 209736057 498344295 128558641 634281161 118602709 388773333 447588179 393119535 833809807 542250645 918762061 719035401 214506391 36267895 462243 289099997 134009663 125229299 951425211 538481749 48335175 604890407 45879527 227195203 937586899 120524507 382571105 710115237 277364849 706087549 798294347 818509723 971094293 631613735 989570733 672626803 16303901 732479893 991263097 489033629 685227343 953188657 270114695 285425081 65829845 687475977 254816409 339023751 794330441 546027219 830387545 781775091 339556773 110002161 626843737 957938191 101994321 919681641 22445839 582760985 88242199 543913449 585662685 22437489 415605293 913403593 33584143 916995493 680761651 825867017 61824213 329883751 203851051 424463183 486218823 970005139 573797763 917496301 21534055 868204075 75428881 555763671 292806687 691982939 343364115 345135533 615985727 233237623 75511085 870932153 522716801 411728121 490563691 585379301 194987911 73647747 337718597 608820429 905418969 878108387 141736087 868905135 378013671 652472843 11604391 968413553 969339661 65771287 577789727 324216483 739251339 781156171 101926425 862600317 97662347 595749135 846315279 233756893 705949981 411298551 129786599 972703819 170810683 479122113 842631151 497896693 128997831 269516367 869850843 354773429 642023815 258018475 688228811 105819911 402537265 270765323 911045953 414308373 757752923 407534023 966612779 110376877 653932167 627670883 260571615 745136965 424262175 225605517 968590105 156327423 109849457 332046867 174027521 618108319 541504443 583365111 158428961 276298647 156758045 289946199 396230001 265156607 273754269 575527295 985476939 68034195 950673201 261179363 648717433 11092923 933463215 527151905 321412131 726786951 502039001 549007095 29112291 523089071 559379543 292667989 407245491 628030355 720026045 237580363 501776377 471567671 869998723 76318485 169019009 776983117 869694217 119190295 153077635 104433707 209630875 253768669 40078747 945764815 522257511 876393751 169897423 746064099 262780553 751525285 766451851 466452661 179527935 404304005 346900645 622687037 900178615 201812455 149437529 21687321 95979647 55370779 499413583 849247633 452992015 345734815 960932497 808852371 1392909 609711379 518492565 474160825 527080957 257675845 328150843 602006335 649970515 41289509 642271685 249229327 34305129 710655443 554786017 258423221 395780735 764975247 764339877 55153517 901674429 852441797 948885647 506695185 12993079 877636103 261268611 266071853 978339555 301609745 948073933 704845805 867906725 896298185 278770213 726249001 225529159 67086135 749290663 744057697 653438071 894967951 423251161 879659965 226173647 775175723 487885735 812689161 344725203 233040785 668884069 201930175 358055913 457328491 546801619 640274941 498262885 496714381 157416725 495580811 476898173 622412529 641780409 392678361 545962581 177183417 956562869 50070781 979544311 507014963 526662755 18846391 376495185 727771089 491582347 692227693 177999933 422818095 591688537 204033839 756782207 491873295 739996259 604691635 191365053 682031709 668647591 506478683 962546313 854309933 280971399 557137453 705524831 58556089 619712981 669899735 172561565 900976485 822014657 203728307 399342477 399298747 909676781 94076861 169358177 313304431 853969499 203383455 795510577 978443101 86108795 56095399 379841025 748046983 53405983 670119115 634291127 991297051 195976071 918461357 234166821 436161897 96334167 215977617 464685061 726829293 307966365 990209641 726059513 84376395 177507277 911809227 906563465 234975309 334396101 340476663 688265767 576097255 407838667 585964757 653639211 328194357 750437771 274961393 553976281 921901947 280882971 79975045 716351063 970468129 961343223 177548399 830479031 59940541 773782535 539262007 34791155 568748043 329899669 520371213 791297261 620846827 918678359 148312775 281322349 44072553 156341869 906919651 838487333 22154171 138851929 787800459 300578221 721905977 314969865 194954125 638196359 727529321 841809109 184340065 716043805 863805939 593198453 304746277 372700863 92171949 258948371 288560033 260601767 61965459 926382395 158847811 763684343 970117829 531731425 864017955 550923703 747414417 679234147 151387651 641128665 907059047 492265605 774719813 870354485 314300391 532941687 160707581 367901837 183910095 843517133 413812959 230940043 132121871 827542403 608777805 177952959 575671737 508877055 813664587 658835107 828366085 768030223 797573771 755034519 873913689 412207591 716864355 506787046 329795649 880883495 985453779 476864451 267624303 600570577 619031171 439333443 89138111 404339539 132994495 352161897 65801779 202736515 652546689 516244765 602119927 345904029 100474471 2815795 425381469 139390025 5771705 315786851 545546211 553194897 94444647 76047439 946925865 712552429 171996423 212334463 657318141 210497849 745435607 213953635 488897105 155294137 353553857 526090327 841494337 609702173 572414803 728533659 624872463 444339575 878519237 335853913 386780711 403322439 739350005 776074399 276517149 511400817 501944681 369744747 746827691 858476611 55662421 890859677 62928563 442741873 381887371 508752891 784007747 512869657 916817805 431770939 365934735 783496129 320419203 289133297 29606125 519682389 673433915 423229859 677836519 306042667 128629547 82771129 542410531 599159295 16698739 142205315 831036023 980262649 916691677 100526137 651397853 790053539 104699349 692613889 233187449 424528373 144790899 414427871 857754261 667789129 736045175 98705609 40824997 751752039 353827399 56013459 179264837 861171325 817804787 982794755 612011833 686008093 767179571 926638015 747666025 535206727 863519079 942836827 34510059 849529695 68405395 593887055 603346937 813993265 418496615 656398331 696101623 234173173 46074685 122111657 585709169 554282567 714875155 484156301 275344151 801803565 468385933 81743803 613033671 448462099 880021503 367854137 300498821 534981069 943263327 286976749 202849913 114056859 493934155 163388843 272849657 2018595 299544331 649065257 364325761 284952687 183209869 923783693 424710833 408864245 796611433 404382171 673807957 889208467 151792607 687574023 606123107 252556687 523347159 329193705 857652725 95520663 10353631 403077317 837490251 47025597 487460141 900267201 910033365 300876415 352279201 361193457 690769699 292873925 793450693 343773259 969561075 57456345 761701829 768980915 853586469 564530547 224369273 954599155 758585543 931173551 635274081 972572857 569103625 828819729 281848227 634560671 831523659 179330697 721266703 458222631 115687437 641152363 159228445 161522109 948040443 27661169 926396139 923671469 785640935 200830663 215106113 280391475 212432847 317095155 150245263 479337841 859668947 854431729 62032105 499789423 928038977 819572505 627505171 992586783 4447627 811503155 722322801 969245531 281353549 683831915 437247763 164446945 300400457 960134997 624939439 783424093 496498795 846556659 706771367 107475809 379155397 380947877 937571329 403133027 750886805 188792125 194217323 584761799 827808829 740171755 498398525 623083733 913765191 189013073 246042745 275610813 799512679 915446641 938960065 705627549 332390521 630710201 473659241 119452017 566632575 44057601 983668837 887503653 980043941 837125251 886238549 763085705 669444927 226380259 611326595 844447319 470269383 179023923 927310811 316100401 70908385 875417061 577025013 846475935 581697623 537594583 808368401 171459859 136521757 611688271 234083349 659019237 871727951 52807929 478110609 614957143 901905455 888939497 706066621 171870355 960702507 865551775 671942263 358887081 830957779 671508993 43023431 758135187 721407715 173063769 854393181 35521587 386868543 938400349 648208781 782872145 803669489 682552109 2527835 185879453 411508013 865473611 237642219 973502131 681562193 786777765 245393419 755810837 555907803 659446673 899826487 4516135 113390459 903214029 605101451 422230847 600159489 400887419 163727309 100362389 12169577 700346413 711059057 765422411 98791127 367670229 705253513 728331369 448594069 835961295 163211479 87472863 435557401 976156901 89969347 502531721 690829307 47590719 811165017 502012711 274474241 327969655 260606035 829042531 628665109 95743367 520147217 173648845 494582857 706598869 697674135 21695967 745987033 528558127 119165335 197580537 779744553 241909449 336895847 534829415 634854597 352956225 890735879 450919767 23253855 856943005 530259229 655609317 438075089 228102473 117140473 711622673 764296993 627012635 283269267 577651141 217462137 272627537 677704585 329775825 275899179 975600269 851227683 166637037 54121653 529212127 744398673 303403455 644904631 718323645 466724007 523073995 348808447 17429507 227708265 766915975 361740671 914839797 271244665 979844425 574376275 365107521 74650219 660900177 349907901 8845823 455940725 180537549 13403945 276593575 422118773 266009803 941784617 124076835 48800753 855661891 914127483 284676287 570983963 210525211 257006591 449941807 892526283 984367127 350376387 496789137 668759677 761221099 961916665 768817003 315746393 975613233 24599037 88648617 748351281 917620073 88927569 208030111 781897337 995719419 428680865 881150735 695263569 111120443 577968577 79647769 196684163 286226015 919738795 909446733 311423609 755816077 375865731 454271393 245630031 653228745 780383635 672847727 366448323 677554951 955194959 852247935 43026491 787462177 943800147 828635901 321256135 412869845 77996129 189906303 330348319 827024593 496551013 840688131 602802081 736952737 619460211 383539693 585012053 395118019 342093509 110655497 659230443 692478869 615627711 243163023 711357367 999263841 394874091 853445403 161193661 986509657 475852799 949073841 514174881 851060375 963725779 373404609 998271409 970577433 698802539 554338847 470891241 858613453 225890549 8975111 668560101 566486911 834264257 659854623 722211819 506918379 40326219 477536373 319614957 589859251 384667447 978901373 369190787 891705697 423735887 552568341 946847977 596143459 167785609 456708227 717243655 314743059 981393917 47095411 559923311 133161907 252740337 453191675 984100437 569300335 283230925 658619033 181753753 591893587 103126823 383436847 179729859 89674075 238368443 92703245 633119747 632601961 350919785 984896489 661944367 478204997 774889535 783312095 131784135 615119777 946796141 242775667 737066225 923572759 587587667 187758997 28787581 559393829 827884911 495402903 155277795 107267383 820639345 109047097 191040577 770402973 483704361 516072351 542198623 59569299 199320213 372386645 243555755 39867701 974725589 221461843 474719807 801171345 223413047 909415415 272939991 697981079 177736237 597366785 895837661 553587231 212163409 353975203 270529375 119406061 133719401 343886193 854915091 796445861 674500703 48089447 379304283 676596447 720062023 382809579 34903869 59369999 262572633 674699469 904518503 114886553 500832253 347276349 796884529 177006019 174651323 986425309 687536539 742010563 74932295 280809391 123891275 264566703 34024827 474232609 230066835 664342921 337985887 418760713 953019239 500066875 873710873 926752165 981503335 186598805 587015165 301246361 904218075 733855827 736325257 262503153 66871219 685263121 273093983 474447653 189117573 841682269 233280585 121825041 826800017 502753447 1956667 53807609 992712381 795117895 46865233 253617805 894474649 860161407 530509773 456863201 549317725 926085239 919799067 832458353 247264999 578711875 230921679 336108323 93269439 474682331 153741731 351864901 612958483 90152481 97373819 840109707 936793533 719842525 877814113 759846931 9422393 867875519 390572425 737263459 423477681 234614627 758259023 661845095 429731569 946117193 631466295 124599669 938354549 1893339 374686953 305049675 337645657 878956649 962365499 248222987 404229475 528881453 938283559 704022343 336522757 290953031 724062673 411742959 745099349 109542595 187560323 208531813 493671955 254538639 530135987 542345835 989429159 899108487 645268473 890716465 501237021 151587947 364686363 736238409 237710639 869982947 770796801 368808371 482213437 103299459 886159297 781793235 32389451 782887619 38917781 233649271 466922763 810280707 822004193 768767187 903581393 384184207 280019761 706396037 608868769 724478357 107489847 518401939 176071455 162050353 924950477 802987369 610628763 862499427 435283193 297028061 494692365 821580307 937600995 216791339 309974803 69611797 336414947 159891449 228891637 660155681 174222191 270320725 856476321 762208727 71149357 447539381 2350513 444937665 215587049 878075635 402366817 139132753 675790741 15581015 104774299 230784993 109379403 588215183 828490219 67387569 813607505 312756141 385079949 603844585 923780625 605603121 770235739 11685277 16027677 792074239 616659937 636714179 898746675 318296419 207317835 950022721 346476595 312577813 453354865 162352091 584690987 692539441 588147667 705873733 675883085 420181563 449181847 229444377 874682613 693105699 479743375 296640981 662476965 691274557 727756079 161583333 312611849 809090117 722963351 744017307 599565299 763851361 80314767 767881775 47188577 397551647 468736391 96530625 490959221 283273843 200559765 419950683 63921273 667448765 122387321 862888431 322105057 799269567 111500697 40832341 397030217 575890343 956809221 945933393 692546675 521932043 255756915 265025417 43821131 871520999 318801477 880823697 695008485 620502947 282173825 983900127 780553081 902976777 181524949 322644439 638416239 283000145 49300891 135499713 462323023 686665239 274679503 104695759 566422479 205759327 38605851 973227289 183393991 137116313 793977805 586367651 487553595 109654423 518990555 503708243 640367959 993321881 550268389 713388539 256494959 835460163 675683893 665739351 888735997 915282083 808153783 458143235 976203941 96602669 654862083 965953677 178994737 437819327 232841305 399722853 663660439 122074271 67034783 350982373 814589935 306205049 792105319 497903435 530074749 322336099 916497637 960677827 428315055 592337113 90039545 979847517 935036949 927985345 317895211 422211603 720079723 431098729 895125163 208718279 600761749 810914695 624644943 135917377 286772125 707048245 103608469 141463859 13007545 785428733 811396007 270819125 497639233 759678151 722082643 760468169 377915835 613757163 638333713 348855897 664195025 581997863 305550335 799777333 561793365 570576287 723225061 977313177 191382339 773299679 354945073 838524833 668393663 139553759 715854587 874118235 961474581 126326523 767838213 269582775 477988279 551922937 947780017 154151053 119460159 846365957 879798803 15455647 78846579 133866163 298927583 995002007 596986941 240663299 94266231 87253253 608128431 523764571 389383647 621625699 866309381 140787845 686604745 505046035 709968549 515747767 746636939 152377435 346555927 19861903 381648165 730553713 865216271 592726291 801443647 900504939 976972903 760000687 478960165 508635211 187321125 919515961 97996753 144786683 523180403 579280111 118205921 934667851 850878371 87307893 555621533 295828469 130209075 759381975 267828213 943770009 452089285 456295821 164665983 91068867 910048291 660907379 210530937 517423329 882502977 945748429 1122509 342202959 183617337 282430539 646245385 540113741 989068369 855003391 133331301 778934789 519139829 642764649 392177599 83028103 350042035 32863085 122770589 49012171 53390923 92067417 467987251 961834679 254422687 283492833 628668755 139169039 339338937 557461283 809918591 791800969 791454925 584498597 838644447 897340347 437734455 883910227 106698305 237884709 118910073 935107715 454142747 794781749 586546751 676705009 464962445 478730809 555126365 793968837 690776673 152317291 38383821 679232649 67765763 162756075 526828467 491215667 505597323 697861827 961378905 790419747 162683321 810916583 933541429 636688155 800612339 472809515 358556127 999897417 674188617 310288981 3496987 862879301 601031539 296634381 833993429 117206535 429666767 912565729 353365025 752431865 397400167 928149327 884172091 217252583 501967589 390984117 640019329 584339461 763690405 63479647 754064261 226974193 196577443 204491899 943387637 156616367 86798473 181429795 795432113 469106095 49509285 23533915 449888183 282552005 551769327 935220745 214485047 101381933 743041797 826888193 234190721 365044877 447154477 142215163 139992593 272195571 249942107 795281047 320714379 396622037 849584673 699169631 736318651 161262605 371850689 497758149 143174803 862292195 905605923 250109475 774842669 591269891 442504659 869801143 407974351 458672259 198888973 545738925 114973409 353530081 588661675 856093463 109382907 941378561 818339129 245816299 283162579 65833007 799994083 474234637 422481231 190442531 628690817 925663047 383514747 807052281 440936849 939097927 767096457 484816949 671888447 638446759 738210259 84602055 787145813 172976875 461415647 640678913 246377805 411991673 524125527 776079267 983679045 460832675 677610255 321270225 554869509 415059365 771265279 731079193 318207229 329641373 213322831 792691311 625943105 458401685 502937415 907377713 332544661 104403327 778761819 781778725 419016285 949904435 748347173 103507575 923467177 456035443 106809707 388319165 179560751 12889065 772487703 98657269 992259921 488688167 473536573 59668609 300353301 753985443 709608983 85950513 190738217 451697345 971788295 295606331 45741285 115144905 969779611 68442425 315384651 293564141 179117701 21315125 529391101 885604677 989364129 917645207 215794767 167624659 565203953 718082615 858407477 573131649 670128035 415694931 724772687 572167967 551163141 876938895 780952551 842374761 925388183 259906809 96680425 122124539 859356411 452985349 968398317 450737507 706272251 607252881 408929841 324971025 808788875 117250017 896114593 329347677 881852359 277327525 211912903 688472969 484266739 749191665 978821341 933230015 976553079 787294529 207434945 805985551 955937769 872946299 70099963 352841331 222064643 369281773 828755897 459684045 333664681 891391053 115785173 688887781 254648549 228421045 688735181 281466221 805743085 743142061 313966021 370252797 391759897 523736611 623156113 9773079 985133805 998891369 645745575 1659173 688980759 585801021 134468645 654535799 566878055 837543111 461225425 364541511 345074649 371695249 884698399 453428405 281215121 825163155 804644641 765762765 486026459 260775465 408875161 7485821 874936359 377043223 970683117 495343777 448072469 624711821 21852463 86389753 197647971 828369695 664858899 979829295 311299585 578151113 786835963 502645203 897405439 314021873 61197291 812449887 248260507 872263781 290070677 48406323 442653749 887684185 922231375 700183195 4666971 682739051 801681689 141558983 159056061 58821537 425748889 597126861 760283963 33680999 451401247 929208755 28807637 929966995 755592611 707560801 582533045 781038689 994389699 329839015 318295091 769784441 623884999 310549311 715789765 667363557 708166813 208153801 182725395 997021981 891676127 479325137 256646115 380028411 416202187 774005701 615732781 349328585 145087045 412322561 874213643 686284335 416290017 526303683 533200319 401307461 503288789 848891193 817214133 173249673 843726589 462048881 938963071 740248287 934492389 289570149 221533915 511677077 283917753 330898421 536501163 437592671 874809427 527443691 613538809 591372891 835709743 342981369 199820025 320043789 570227061 139579321 623713031 470328421 309290487 103990955 743828645 571158711 790363177 644602935 640762239 972055999 191995691 916267697 731887463 918175141 981770439 334799697 819460443 862026227 253349991 742316855 571393149 705602207 49062439 101056109 30974231 325882121 655184837 718190309 519004061 695123699 677987751 189741945 73778603 910873483 722937309 631018729 354967813 998248039 130177311 879884509 322945171 135555205 583859659 412579559 839023979 849235271 533382889 7146883 982810567 274404735 817617193 560968463 789220363 979686495 430351327 409977557 974426049 267919493 219913743 66804231 618068637 976613621 964402013 603495103 410675579 199995935 426607383 546926843 668708703 543268565 648084793 357573033 953447537 766481239 454653791 467530133 911360263 392237641 816713167 515701885 626158747 6218681 731370619 281431039 312254161 55843869 350048251 521098405 74755189 666025295 982022283 341215969 194313335 109266839 343050515 360552971 539137271 262702241 717162533 397903207 751145523 56158851 94728949 683820827 962114459 256931001 358883939 187123513 233337023 301102379 706140151 269440701 162736219 185248035 318383329 890131587 453102931 957017 77795575 348639835 895219123 986505703 781694393 382066671 599964077 175489879 647505741 588194783 669990043 507406225 606024067 903793831 196924419 663242223 917467347 471977907 945944719 293272873 962503003 400243795 460417297 927337577 561738723 855296195 607830917 521228347 788785881 958850847 40575505 536954771 97519447 389225077 957916155 363051727 90114073 854341557 258548923 978821301 873453705 790001335 996918507 529979249 171940789 545757503 775949645 622325145 543029587 609739251 491833293 727262505 490441925 10573157 778771581 712520839 719054351 413006095 785854107 673995137 465573093 738578515 2503559 580742221 161397657 162251641 29313999 860463749 71650861 3596465 868266021 759965233 876070215 844395287 25542757 175764159 916769593 312701357 568833681 846945281 470030071 691098199 950224853 523711797 450413345 201428717 86938501 390332419 385043199 284459043 52913689 37368183 832479617 803788443 766032953 262598917 425167933 393304545 688426925 253882761 480001139 262441317 676766825 699817037 16182793 903765375 928721801 632602619 336389263 5399665 422571087 515323303 650154557 714647397 799589161 60983761 981026545 307087211 688204965 108135263 719906611 564511869 893745283 634853017 457100593 339100795 816345253 633927739 2539461 56513585 540041749 321753693 846015851 422857293 5985801 245632391 75792717 501460587 877756121 753171365 228279351 419221003 636759305 753391885 942536613 74453399 459238469 838189435 323419313 857953631 73364577 479265047 662503207 283030685 116728407 34305387 281901171 189722737 154188619 706741359 530767533 776999655 795832713 246004607 375967125 195365869 495910273 225075807 63905171 393674847 225621713 109732927 693587635 114664701 517801277 462780593 954098607 870267759 84069293 86332085 730068709 610666825 721551671 545829295 630469471 986721539 388440087 744076397 688042439 869712637 72745133 421733411 713901945 961835651 474649733 685976943 769361779 691995331 129853781 100974421 544242011 354904537 978877941 893468741 382331521 188784581 146466667 134625043 822653149 946603375 48654817 504742909 777641997 384160171 622677417 280226725 989793369 387589169 407582783 986971675 73826735 762163873 959837001 155069909 20029097 446514053 894142349 447077549 26829699 93903697 388734979 994988267 438946599 579641689 461494981 350056507 746749985 748364515 542230037 357864629 538724781 222259221 970057565 83107793 254719141 630612739 559744565 517820281 890502293 758873253 143064403 997867769 478332073 278099419 490884511 509603845 382414009 92325487 874060577 954498491 647876677 735442963 24179213 783583135 86049139 47565153 545402301 511184545 956892693 1029335 820696503 22916115 649085599 733296611 212122789 687272631 854583089 919571409 80512859 207172013 447913619 649784543 396903377 255051141 692552501 546286891 571817519 399550771 558979629 932382655 764473789 52649237 999468601 50179981 455931375 212079089 174838979 535369325 394769249 797947891 612239065 16743459 977113301 909537201 206788147 217748309 979706423 911396137 623638063 100961943 708398491 165859519 709990101 994005343 569865787 550650943 102065619 551932177 184345467 443688417 351968131 541815285 300496357 628619583 243536865 336160829 772141101 858955875 313698711 403183873 708603951 132302005 558758641 779757893 553276909 510560783 296957163 741616879 51926677 283815851 503569439 297805265 616778613 28212015 375185369 683720359 185206541 740497319 16318725 856620559 754884607 558626445 807751995 103340947 849539607 903017657 53250491 412721315 199078213 491260785 122482795 186061213 632852647 321425765 91048669 372224701 363805057 710136745 823790917 253457711 126789179 328308921 570654083 998700547 769362795 681439613 292494367 887225141 417197771 253858367 703215945 586379937 753681471 801235383 936938967 594578197 707116243 41382399 354627143 954597697 950787511 539282847 232392643 648869053 802041163 620179077 227661593 741720843 40414221 816574211 619375041 857551509 294116269 952839897 446252761 102993837 342325755 404401705 268789801 404811145 142427123 855348869 278212895 763532107 982399675 734732767 72964051 906957055 4554905 654129557 91006983 258078357 586099717 798761323 159322141 928548581 434256025 32350865 3620905 178323633 779279893 612372123 389464799 533293475 889653609 157995653 86891169 421201227 175328165 393227189 308550259 43613731 498452231 202868985 427367175 342070413 51501039 977651079 355085747 252065231 172623339 171742713 832996215 996343071 731756717 949861719 121738233 260282003 241118481 895092237 807238795 342456877 735570967 314758897 271528225 944073431 149993967 394719809 317381979 270948193 377418475 478854303 570939777 146453893 144206979 220535837 188866435 662140643 850714207 272562987 872732151 927732743 622059335 392921003 144038683 825946463 230314543 547707361 395507161 277644359 373022515 962018679 901590207 858570751 279404181 98165895 441878277 48211121 884689345 267609739 225903497 435659885 433378379 894897513 119017425 5850157 650837227 865730157 585700625 123555025 773356681 784652113 320566555 579772965 444302637 86953773 92717937 320788439 997948683 349435783 590042171 221139075 828665215 283229519 321139013 355925673 881784333 112893913 593262859 528784305 151375709 27331043 990582695 403774703 480012357 673725583 878942181 321445019 741906111 523116141 13074993 430277845 960507117 637743219 975902115 34344617 554543647 826291453 434559739 119443205 917172675 717808335 305628575 765906885 371046007 831030295 882843295 902603943 819788029 276946795 511870899 152392281 488580931 507123401 184195641 605832551 595374937 53352085 847449657 573965647 441095803 331496605 316411747 746307439 522314765 366866709 728568845 598856723 741030553 637121947 786571317 588882281 923601621 226664499 747334277 540910733 146104985 681563725 473533259 563925629 784105963 919009213 833320319 791931175 81368051 764958143 479008191 951049303 233841159 927740409 30856017 555840203 6901411 736613753 268253993 527083809 742120551 743499187 180070617 537604835 777991967 340535687 548721571 431845251 936060097 923826231 532965231 259143515 500193381 177127025 252048841 936763561 271802705 74623819 913125101 252662427 802223599 897414467 645077685 509734461 784693969 257944891 483828653 91959181 787759027 138578821 901451775 686533737 260377211 814162643 685502601 720363931 956424751 95535425 877522883 130642389 708011527 948602713 797494491 62969007 987689053 239470339 393997467 530215341 114293171 132181657 750502013 835833653 398676405 556194773 501240223 405704089 105723445 296119517 237226953 590492693 715660849 815574335 150872171 749940167 906981577 719639791 220386713 579505337 254256203 318085451 919047959 164660957 643186985 842896408 970891593 667267339 637696255 202501765 555988543 859726853 402797455 739234853 828711599 25816437 93107141 707773941 464183035 169973485 665723571 26785117 597195305 255944931 524034199 601409831 105244903 649198523 734564307 344596107 544331405 867043517 630910449 765854243 282067995 734340379 179709605 69291767 322743097 853631725 93328587 104497525 229639477 193527861 3379557 188164719 598673413 261947869 680876191 341834277 801043273 313482935 605648589 198031163 494232395 797865081 109689193 326856125 977597429 794345671 471770133 561923619 516209125 401757735 125168033 795913801 259906387 777721103 125129979 642735733 267639085 61855957 917572673 892595795 895160829 332206267 882191797 181789177 810712829 287018219 759231685 242965219 458652939 649777015 90217727 835972855 909701039 383579477 540702499 629755779 20225047 633482087 47066131 406020155 307792413 317644665 727616475 529935423 273450813 704695611 179481259 867659537 654609313 77825349 411996641 2442655 267795735 172261913 143283457 249156927 608311831 559023393 836600499 764488367 353526975 699911597 542028237 203650323 277349845 948887543 970022987 126109943 731347403 540531743 910354509 457838419 480935353 11110193 523698975 132977283 436794971 454495773 531524151 169729355 898665753 13094075 473384493 94493659 728915717 995162317 341794759 2560709 96964563 498461947 241809133 483552777 683476197 13007833 659297207 617097227 128856127 180032735 100735323 618203801 250672019 765028719 859279679 444180967 180121399 548202959 442648047 137461141 715827499 139565621 652049437 434953125 540486165 680352183 313915811 443514757 441679941 563591509 492526727 351486729 440940723 451745533 520810483 74376051 436628477 720902269 643062073 973973603 894249835 574001295 641398487 886641387 169810411 741992915 698603885 25902203 497967895 821801429 509875401 470675445 943990315 772549123 978726621 188231835 329754897 577790137 554021571 883991837 955087703 937175607 661533121 619809933 170931509 636884389 698730561 872961387 493046407 279929367 364665559 447004827 779778009 339152773 930977597 20213353 273754967 370441679 926696277 307712397 610534363 158917567 938806317 541643299 195113441 780270089 910363895 253928113 763758225 901814849 305314831 501243171 769754301 461165037 976815607 832046031 611312601 877939571 605179995 839829617 454322949 636594471 521540879 466981679 77810185 628475457 123934989 776778135 133149269 773382113 585940855 384133023 642383359 559224337 661667485 717854881 54357703 220351171 462517997 706346597 440085267 620017873 753965061 685282841 697942259 792155387 730284455 928188239 557804319 240946409 36884671 685432069 834690037 437548591 55093857 943756451 991363197 198857539 255353543 731135221 774349671 297037449 159220821 630267693 748549127 751588683 760858773 230140909 63352161 376534199 299143485 226916409 787142935 27398887 600354597 31928443 331695741 625560031 204684625 849889165 822226313 557484165 242665455 733466537 100609495 514061227 406791503 228154741 278756787 982105357 46088429 988732159 863755529 190386249 389313133 47687355 383638643 401585641 259176089 831399561 343075373 65677407 411065447 726833833 215899423 986265347 276689391 767566029 995818969 880111897 290175862 836637961 784515477 441426119 585625191 914622683 241820973 505960479 836628053 915993637 476153387 429665309 638278141 312449593 477286847 592338335 685741631 45719751 592908223 719689327 135092519 441147633 363467179 578989119 6036203 913352761 718731689 314637223 443895011 260393359 391092617 258404649 28610197 951246405 164664259 971290159 149870763 891107611 11890293 642579467 828069367 176644405 880863847 287612147 29594743 636238113 691767303 34417419 306035275 177199059 40005231 196344155 77717185 963028393 901947483 693438675 428567371 992880487 982892341 245179729 529801859 783834941 579152907 341016209 719743279 876469695 305378451 17638207 111013689 420405481 717403183 387784683 207336115 550138147 675358435 764514319 8825051 862290999 270048865 338446093 648102163 248480347 248955649 613308717 555416037 581674799 739838143 592789151 647720965 857328821 470837827 22716033 246242125 169377883 337384927 24420303 878589891 308825079 913889415 776570997 482710161 220368071 770050267 702403139 278100747 913864815 580960291 327510515 210181547 353592827 217130831 305122853 426349843 126604515 141387253 227956325 540644625 458475011 301194581 105304611 478552985 286766241 769916757 734948791 226651075 189160295 781050757 797104483 477202643 688935279 444027933 486104657 747483957 499905843 745180923 916434321 910644605 659618201 190964389 405882653 351382373 752180463 477334863 494215381 592270543 249102313 599091659 551410053 995546827 227618471 191334045 978495963 330226823 986913195 146028265 999463795 384383073 648111331 269840765 927084493 775497947 80727717 609965525 827998035 25382307 648109229 715742475 253574229 186036361 672345379 834326251 941873165 413604489 321948561 731783393 463908251 448184007 801173487 431513861 177004811 931537805 123902359 163504919 155992139 525985617 599874643 642025855 303045687 709093803 378449739 470193225 647644047 132768351 614342169 456751663 218113533 121776731 872506295 666672527 82479375 736573615 513216907 469476723 902338371 831361943 335756897 43122309 300599033 902572919 854589297 107020321 826895223 651768795 808389975 808045381 270431729 893372019 752798489 670539671 659442817 286406175 139904291 636007 476516647 5439967 26679883 263919533 574895307 596602845 728515789 651981575 222257729 839190639 862668625 37641917 339047233 625144593 439324129 14863037 16139627 598888803 616286963 681224607 998523211 859799091 755652199 157189029 702188367 11897971 288528511 123543473 780864209 82242109 164983017 335325271 859892501 401859031 760523195 926672589 809800257 934790827 208708723 949710319 123204713 716736075 101486837 285242697 399891077 127004021 197116045 174895623 89682805 174787337 966174451 189605377 944948483 75904789 59224899 58786999 922519265 174165963 684276995 474658383 962928041 924211847 909450525 858214555 470512089 279838923 328228075 668457999 418032351 382296387 761892647 786971339 902046727 619330241 962958071 770413975 110784399 55952707 347785449 414116067 886011797 779024105 265533427 273333189 378555683 911794945 678145135 658483963 770436395 484683007 782721317 610321903 166667655 486015865 977536577 657252271 145134069 919219001 449120345 553820659 677287201 897498149 250705771 165294105 91523485 796917841 16312793 433232425 297383647 692779259 48448885 893596625 23542859 309601669 786370159 182911339 352856105 799344249 595234409 660735731 688288427 329576075 498999653 458761491 753736939 846718359 502399187 129321495 999747047 981648801 615032965 281429755 549135755 437345233 52041659 616680025 38382505 172685181 126068249 890558845 542957303 464929055 381410989 830013779 667012633 474172763 337823979 203932531 234667671 894407675 881640369 384969501 936254435 684514037 194194501 884428343 529252437 68096353 150899027 533078099 517667887 981675651 915278321 182313381 147128987 740048585 146310811 468251661 211882667 100479683 298223161 690829331 395415125 21903405 568315157 332290535 551692669 775128299 57381861 321182301 146612457 535305735 192882889 415578617 728509775 818519223 840595523 654733791 986480197 912694099 72908865 553839327 85982031 846972513 973974299 808915057 188952275 479561097 265179785 38499251 779532579 783930019 187802293 965623403 201661305 200966821 45714219 248514573 798846711 480509621 436189151 974895275 250833315 48110367 989164079 808713223 279901043 736569427 365944287 476075657 88468285 519700977 730118687 587949119 292749763 350261689 565021315 50820063 733890223 608964757 131463175 291794379 259382161 200797085 25504273 304515847 875319523 140822791 290243951 503024197 518716679 519605563 130465109 643518171 759450437 372948927 816281187 909206473 879734477 997001291 797608859 630075061 55353787 24477113 141818731 636391665 392918543 408333067 597630121 10360433 85097651 134124141 216998289 994585301 973131383 920996401 685054667 966453349 271931669 687512533 163553889 623639313 955592237 474952953 256173771 800036205 308656203 770761323 537099749 560377789 387680223 312893213 387795443 297925861 843496511 135015211 922812581 29348213 575403185 314784983 273918989 735389349 187527005 127461261 524269995 820027217 368809555 264157921 101259619 98394373 646033549 640645517 689279107 185426671 442735339 106144883 342032063 295553251 580194617 709039011 924890421 430440547 360900389 219725643 659194219 19774871 363052363 560433865 223688781 640385099 960805931 777832863 931961649 538977531 449746221 753780857 932094675 764499905 375355301 105597995 444925531 261235049 526797259 335267503 925528147 281578591 614614463 961891881 763998643 395184059 64433293 9660899 352181973 850516541 897641251 817469265 757374593 716572491 748886365 157173007 835011301 529670133 447268089 395296737 414267027 604770803 822178981 520266671 56810891 281476771 132348655 653939855 972066353 481517581 203458383 531365307 112756305 485697505 604075817 754087063 234876963 72143477 61782215 542712751 123775811 375139783 153338455 144784307 877257655 170541185 137067253 888407681 867268843 820397809 977550239 330546205 213326003 876420111 348675139 364684209 550648911 848672889 647089837 397790863 150621541 507108725 854017435 864954675 626706687 573071863 574264747 391983169 933292691 22550417 646723175 985345925 108359423 334960517 768118593 846680815 526020489 426965435 735710355 839463327 28021983 39506879 55271581 876978899 845229075 591523789 334241927 244914427 960796067 241732031 545419619 553750695 866389111 427754527 667916077 545665429 815634137 872825117 733802435 533114277 612470145 101109647 828009455 176946661 359843979 820252149 278350435 904556423 549779067 133954935 930197175 28373733 700754753 305642209 494358127 906781829 528795439 454593453 38206961 297684497 217911301 380659961 75598737 10075995 151728617 583958157 645126277 750589793 204530787 327841751 60626929 688888131 855739247 424519409 284624349 105178447 197319781 365282713 896972347 375271927 17440525 145191989 716769251 740096215 550746771 210717907 291120537 722845617 418485387 827208239 180599555 117452145 516278775 366402725 539441075 238980907 411695159 851897149 730876963 370069271 370626589 369686181 438912181 156334493 349230809 496503861 353024177 873061445 939985677 116828909 614394185 341109443 903598011 78727797 676080277 967055347 523471697 964464665 35939479 417147607 82571943 161302997 945075769 963338139 801084405 522212163 649018957 937802899 781840869 827686575 953393289 652827449 178628227 225562627 398859409 51394865 826734147 194616283 525988077 55029061 754782979 923475061 708577293 27900009 776563465 391285431 376663885 404708025 112706559 448949555 266824175 265286265 277786111 962138909 576565273 132639505 350321283 415161173 65362909 851812375 154278771 989666659 366703669 999958597 565841433 726069365 84910081 662786687 569575979 301437029 598641933 652844239 880956105 482151599 876062473 177097579 119398773 704734589 779639437 939401643 959140637 263707293 237823515 892944659 544980247 190578311 302855965 483198545 669119009 714627415 315862755 325000245 965750621 613305817 781326247 921597115 157349213 720612473 17512841 584709127 944425235 393735249 976275861 463706469 439409883 246326813 541979835 811968069 586794879 242258245 869363411 57904455 356480807 18256091 694700447 861457193 926533741 592706195 483011527 229031899 504577355 423803853 113934303 973144429 305031207 963614355 386501471 261172507 371708623 223810193 220117417 911039051 753428855 591812639 112941827 23230339 825088957 753652539 182109091 320452987 89881511 885467281 172614303 972512781 939551393 276925547 253478649 12016953 549965953 146406851 20361881 953218095 418633861 971391287 614183251 85741631 868814927 708716559 520042463 970084327 246124271 344638777 180124381 766939079 938948059 520080463 996127705 875911085 979740143 975234701 980577345 432241035 649066095 317106141 206362225 189362301 543225353 403030477 344822953 874385861 596626389 890541717 567272977 271859151 53294667 39068689 224364989 756453677 379769429 144165069 149862309 994194333 931122239 448787189 486247849 123114239 306370237 907547489 598292629 957407329 500755949 921676947 923848471 238366967 891034197 491245485 394968777 277696791 648277473 603114881 193683759 390154057 223957733 908120969 121019057 338373945 514244387 674274015 658703773 288051893 393566395 755368781 5688113 76852925 6242109 869657155 570432139 39096947 368663197 14814679 808995765 784553505 104969275 422617545 557836963 102005819 899463129 686496895 613472809 724727901 81534629 490953225 323485965 688100937 25591861 388690207 327968501 16053997 972952455 69472799 720613749 200233815 336108543 863135761 510704899 916526023 825855081 312077221 614574595 406088351 527454205 57706543 198855615 268796267 988781399 653207219 51771237 187553243 415548795 733071571 650423055 905861325 381275865 932611555 225124033 13549893 392917061 941114329 748956513 693893483 94584827 543271505 958003139 826487189 230107297 825124759 840079773 699574077 762553413 201439127 912502931 49538055 578934107 383868649 999880493 4735679 760148929 292698061 846853597 778472533 316930493 788484395 601420795 919355623 365715195 837632399 291417291 748988601 705813905 763530805 715128947 728505141 647910141 939746807 971777797 231528429 702183713 79403103 976122749 937304477 205280589 117537949 805936825 945315625 566211383 994040455 119825027 874453661 560715771 593541533 676709005 809387561 345774877 994878981 735105391 977776941 182965131 468388239 687062443 14698793 512227997 889856179 770171563 179497159 722328845 680974223 24718273 676499167 131561985 689686251 626105635 328362855 911174661 592937781 367927029 207811205 811886097 380889991 863085631 766321541 516319361 426385565 858431987 863355353 111357979 132102113 962899433 41700381 605021451 578067041 561486819 410091283 781283303 67165651 878092427 921776805 939764395 514045337 798325361 79024875 654157757 137611191 795054863 607835933 24786669 139759071 957990343 319044765 132267627 190991977 854678753 228417529 428856281 641746257 34637455 512926691 87509305 527200575 776409577 209926711 227469817 689899653 299627505 243434231 822532591 672587287 196838033 161894223 591239257 215908501 791701913 226239633 23835867 556439367 946704323 748292923 689358977 26068765 644339121 256584687 131158211 461677485 201327849 617600631 477185661 403328055 899561185 38133447 253330163 27182753 539427823 106149883 278089941 119428219 335882325 543435605 227534135 781713915 622951229 188482369 6659733 268970755 690308535 665998419 15400917 185567257 434695613 957744197 764432197 171887469 242271535 590989563 42281881 432755155 513970393 893633407 40662255 150793167 506057067 447862021 401287117 639155331 801021053 615974377 223615007 677974723 33100177 239882415 929807419 193951237 158134543 39231231 884198879 655429477 42356043 539962543 374458669 130899119 163974525 892733113 90322871 886415695 843967685 54805569 403894637 675794269 491847983 867671955 98428337 244618393 100151465 116500255 799905861 371417451 291058703 775800963 746154585 947081183 67152929 103807875 407619455 752214191 801596041 962117383 689320119 535886905 247621847 573340709 993223013 573211015 941538179 885252889 524530263 195194691 715287283 881367619 579751617 893795529 462645355 666776367 502176065 474497303 355737889 767034259 668796125 374041043 202288937 110054471 584050177 214299725 145370249 428574289 712927107 227569789 347766313 352625627 612371359 819510785 245892823 381304631 328569595 987677983 47453265 525852641 554789285 565282251 829465653 302381437 515944979 250544279 687295247 670864087 335388191 987732935 802078541 26354913 194171409 500679741 474189387 747253173 956640151 704218253 3021639 981203353 722365123 489190379 949032047 102274039 690097941 725157177 365076431 994437731 357922417 510131709 426822245 12296597 117331491 954015589 862440207 123833461 350474723 721939273 888954263 39597833 10131149 656934697 798176687 950087561 532318309 949592875 778569713 950043471 444279195 457010977 400149213 31146973 109836227 419122559 491337179 399380959 861765529 621778533 817723967 886752807 788199491 647993499 839573055 998666931 767971919 273864849 115523583 950312869 371044017 703743837 560820359 468231751 231293385 817378749 358293193 105455629 384037465 164104475 799522463 140891027 254322319 177750149 737223111 254303131 516158721 581796787 211143405 365913105 411247531 508206083 252668067 504153353 810742005 505826685 404363871 816606141 292149417 778958799 720725381 835349391 383270655 263498579 902161501 623233807 164793747 466886149 87154969 467011819 761004137 793314447 1767123 821092609 80056049 874484541 124276873 919680339 680437501 860398347 136421415 837164301 863479757 455542931 147879295 298476419 870955781 977750305 327144263 97236271 906139571 54482849 53943843 247187637 498889035 607567275 796520859 491079135 474122411 751011455 958157089 221103779 327887641 74925571 529774349 96910873 868013377 9162695 385540001 164315015 358427191 842841091 425213447 821747029 723908733 503037079 423593809 277042201 812217587 72407559 612878709 726053773 135567849 409229957 782393943 420876693 705806357 184193765 700431039 761420093 125798289 92392875 784278877 940003253 530575591 553708027 655535567 568460125 755583487 865463973 167737233 699342515 848905521 41160481 477899535 707286887 368921147 214066317 626061977 707084617 126997313 554608815 86681449 619729749 577318351 56030971 384478369 30583471 473422813 530487171 687009353 715837859 507250375 899224585 648598097 886815395 985607763 305545461 288710037 116163401 578891693 859390037 615108821 326273883 328127081 537809631 194419643 653249475 3437959 952837877 160736727 506519955 849479789 880435611 58225571 909963017 628303845 585645955 57397633 675124357 385065253 524334595 378973881 52091285 31317707 452360219 345968251 978725355 920824285 205782897 403306211 110212705 841422535 475942231 559050225 92296189 346070623 663319489 457441423 75920105 60825315 266529359 813784973 595551609 827775223 749392713 85568165 49005349 207323303 245723295 829968249 339395989 801434219 91568357 991000719 84405137 915480607 841856095 680978013 363042317 524748295 391268849 868403257 835162405 489485265 241062955 931922789 854751003 473316757 143038531 488998409 11104603 291268813 164113691 126868537 820133751 715957087 69638201 665785581 894098477 473556121 325200075 388005125 978435679 854013999 529293995 479998541 633109015 775197503 249077077 751734899 810712457 214277455 471463667 135154707 530683409 722943307 148831569 466174893 849512753 885898889 634087659 73335465 979048343 809745861 649130459 49435739 111656465 44427813 719243501 337448699 903377567 679199801 112686733 296480937 539548003 429094129 722538963 521188465 749470119 363972271 418947452 268025665 390891745 38293557 540365047 217253109 17114025 100292017 921728843 419689293 414248131 231214011 804935219 233234161 207319069 279028811 866843405 541573237 791236039 206818763 182698465 207339343 301648637 875913735 651768927 58117349 396622115 329885491 275661021 67206011 533029571 785864429 902892889 234002245 6051475 743509305 155294845 818125149 24537195 508169095 279051927 133311683 535706191 123382699 898227359 464908639 165226349 152589537 828044081 67516675 91263765 775615183 341410201 710375531 502588355 839759491 850022595 622092853 443673627 851714419 381309001 343494635 416243689 325934713 954094439 954805505 915920671 945756381 10174471 939607499 548083927 678623051 926931381 377145999 644393047 412312793 324095147 993102451 287148041 640344069 937035977 458824841 184310911 510144435 799558803 529204941 458290549 387780143 212340283 302816029 226663121 882648625 632144023 147972675 574767513 863712725 955437607 473104625 851363077 539620255 105344017 722593473 658491247 926302079 576348967 218732337 31081817 473851335 22027485 624270509 887776365 550880311 274359379 737502599 621211779 25026803 45497681 827460341 299611793 480684425 159941445 521842203 7799231 430489581 466797129 534890241 107542101 91732349 18292763 864043929 240958663 917929983 828777759 172313275 86363823 967334047 474000233 177422635 841557459 532187891 130380719 74865807 743851805 246926839 883416143 257572985 65620385 523665683 797810255 9684835 5405081 609954065 126449763 604017071 797941095 932506408 183435229 517649061 569707673 190209013 320973247 248779127 861475555 180435583 787253169 821236797 274091291 105744687 938831615 533637371 864028235 209441501 254860709 452732567 99787417 38351303 885375805 60895203 763106905 340168849 36817425 832844953 433617161 33082697 325245457 9911899 331410507 461853795 797909459 810786225 933657833 75701181 123606423 784800011 297660377 5609883 438337091 563695047 888694579 971884461 384308841 383825185 803155771 427722759 433618747 504052549 99659613 346737189 955945375 596620867 227512621 651750381 378985751 588371733 650984805 567735981 483678931 1186973 786857705 948702235 763860141 991061153 820341189 165278545 920697377 266388695 631874089 908414935 508476761 296807381 733037939 771224217 524454435 329658909 96705319 799052527 685018871 287545113 94444013 769657233 208841201 448800793 996594843 450985 419971549 140483927 703809835 557630401 262735143 174638325 432461251 535511761 101112553 522975225 968909737 475440437 794650079 913097561 182280277 440828849 688250737 919909099 561174111 789573237 496419505 411252849 210664077 856149013 437026131 791427733 141170887 223274637 333021367 85080039 801637155 726254659 259659495 822567903 295343325 199388421 962008463 986855907 188900181 588166919 399317767 428452921 221873945 715896295 616532813 564042001 673961691 239616939 669633293 341242247 378533493 884121535 26470033 97970331 785503725 294377977 430812371 853762613 501193325 618526613 856096881 632506409 421623111 196235323 122717363 642432303 780731639 523480309 277129863 977620967 860588579 971684667 381401991 669974493 942298771 879002599 922369263 206056063 607094331 700188737 419129513 387004969 65349685 327308023 950573635 721197339 491107271 811788059 281811955 363326589 740440411 742516013 791932827 329751907 472019845 171396113 964975041 207926725 72471549 834671125 915250835 535923587 171977899 371111405 301322473 343914345 848328343 723407799 992161603 224337445 97564405 381094903 347594441 281372499 818441249 968250525 744024135 505201265 124829853 570094077 643649849 449317869 806456853 964820947 684139193 9460243 860936797 954475591 45777553 885769249 92736109 13536995 133437489 992579893 37955437 538879389 975709103 562342747 382180261 743428565 37718219 233101953 284306315 476926797 243830763 534458241 776762551 568019763 139669791 661254431 53347565 875931421 868613407 618961153 559809817 720871433 882770505 802640059 677325391 164727129 702182821 174619843 433570505 194020831 803383777 955095935 860468971 483149005 629962327 235060787 243058751 442699457 149122051 928213523 62353017 737432767 271451279 180088119 769584247 589280567 97729353 654714275 571927863 561386235 132416553 872786493 188891367 744928843 669157067 991026649 685414363 708868555 71057787 502931501 165943695 656121225 220053029 402410205 436174243 394590715 504766305 782696049 528078051 283348219 264412527 223350107 358506565 66947281 103434039 726139125 303020513 791888169 104333125 933383293 878086139 824030745 82621139 848259615 753375745 864999197 32160961 880181229 105342851 543811101 123598483 425167069 460780349 74069091 126339963 888977363 376576533 888954279 547305807 8228503 133508113 749650179 317011343 206300379 543813993 353128961 621623905 602308919 159353717 942963593 50960789 842650671 607712699 130223347 205647779 204420905 389913829 666966269 951788201 842884983 796059077 677735115 459728751 688123219 469427801 429217515 731707491 438553311 215748289 230324305 259138719 421996323 815244875 908226395 372335839 282929425 849943145 198057167 587882637 868207745 422725557 492055769 964136117 502708021 411601653 293139981 514361107 579621335 792325651 157837421 845832451 821336823 775631137 4234329 919617163 485274129 310451549 467326369 707609949 119180417 315851303 304329339 939070929 100284053 532816397 99909249 958106595 964769405 982616001 966003131 885323323 953701713 909755679 421922199 334094121 786068499 571143721 686723559 424562087 162055853 249476107 210843625 925789775 511252719 596065305 642041669 348836971 815669139 926001357 232400135 474602731 207220027 130622665 631402147 740136805 510772079 916905947 700898037 189797655 503503775 327989237 466324807 920100333 406168615 492593715 83359299 3256689 363488583 521515481 482496253 273867227 429353513 105266511 28615157 221386509 64133597 491828009 739047439 931485069 128140893 74631973 441744793 757574027 611707275 687893797 831394633 320414171 143053869 814315571 425647417 590575361 745722617 452495749 288673777 150079519 329229701 780822387 365670237 626567177 941809491 161860737 824345043 187037749 969508043 927290461 276744975 555667391 541612097 75238613 902403385 412721779 368666349 37926123 922164187 946044349 9144817 422810045 145432301 252830645 793239891 6773655 896103371 367378971 50942729 233909997 36660793 138940245 183345127 276690781 971686759 290605941 339117747 316102309 547701991 445115695 918856469 494382517 849463225 231760611 66062493 35762077 304152385 675023769 165420485 735944857 885600845 875694593 836703981 31251213 768861713 286114161 924227423 624231045 315493163 200733417 613667919 128868017 564533919 294840847 690963409 703304305 857597149 721753139 624057835 883455171 420607161 670440269 564863877 507006935 691663983 396943097 6474605 883603453 749468839 847132035 36692833 619744947 132123499 380585177 37154047 632663449 778032435 941381007 569477843 4373885 487677913 490703849 162376011 554329935 369624997 313497801 949540803 771768111 229570115 55934659 999960441 269999453 642968523 636862731 163154075 715511621 654070709 579662467 609657141 490219641 240555499 53261489 664544837 609972661 678393785 574240451 304235177 234502623 459344595 655594641 964421165 145083647 220695127 467282843 192975487 124973897 567818185 135884295 606050873 930605591 202615833 67873189 973393887 407526127 622094489 603618543 759327447 88783995 857883147 221421055 714556021 202815375 499251087 31530399 54524655 498862629 299303861 741405247 234640489 803800671 275194737 698728181 170060779 985178507 127078177 304677503 465947751 784261403 298934155 863752263 938990519 830402987 886700763 250596187 959894425 846459901 477091751 326499699 27967163 13920253 256481773 507258861 813724073 912412095 418222609 220932817 577002977 267883645 357400543 690544589 525187265 532426139 666353551 365424955 924298387 777307555 555843259 953298711 458836873 523311945 809765229 636877833 824668859 214820457 56771853 872617571 423278891 804830981 245551477 131404569 353892035 282886731 112779231 577063117 27961685 350338443 423904753 102257349 718947735 401133889 83313335 24652271 583066157 956852241 346636713 22941155 576188063 296389573 242178469 914510817 926656607 320048721 510884331 476280783 258517445 833578705 467829549 51420477 357858069 880371337 570828927 194870371 290336117 345528801 918537821 933935393 318416887 255715183 137687471 485129723 385582229 301515503 606135999 312643361 726025009 976383553 684054085 932792173 565472403 214632561 283732571 550738269 332404589 460058293 238311305 704090135 369580887 106286437 434573757 516290667 439799763 720434439 734885705 288010703 509421387 592705859 524033005 805244261 20147215 752398831 778019275 67077363 8885593 923816967 84111477 781391337 840819787 380864171 887026653 318896219 217905901 948996137 815292257 811126283 336941359 532975857 731550405 705423201 474522093 544021155 918405945 44550251 761513961 891985151 127423569 796725727 392892103 690640623 487637257 724836381 435046431 315509131 874934471 170688559 782973541 793760009 373149785 978526401 860909051 258768847 424699637 578197803 55197741 65449833 416224565 151783021 880929321 396619145 35074593 488956461 131276811 120582923 796425765 964068797 389181397 374662897 188348439 657559311 702414955 746562407 581172277 420758985 454897315 607527103 508237601 534998573 111248949 747761271 979769069 111646763 419766979 296840239 703677961 370786909 740965587 899251893 539007575 712444161 73614043 751257851 265573403 898033917 342801969 498255645 696261375 867895009 529179671 769421661 487927069 185989603 766273205 598754599 404953071 837662437 893976095 608741391 742745435 631420269 563533 33319631 949533869 362541737 266200351 525942857 477176223 808546931 157469537 117101195 51352905 983656007 74693057 14256585 374413617 910915663 819838171 208028507 577489991 59528279 166064943 549346501 118480351 281646297 564519463 53613235 471024311 746124789 833707281 989053945 49353201 23976559 160680491 190370449 986927645 966967993 356078485 1526943 883617841 36679659 45167189 155421549 677674119 97031871 864718175 744601199 133920233 34768035 326250637 472204353 936482431 444406945 926499231 202016167 582620385 867624051 414338877 68127881 165892365 923835255 652769275 490598141 507067751 525562805 266768721 838361661 106682301 627401437 170008735 750439853 544248387 761003333 59246639 7571929 911223445 841010411 355922483 136715121 510859965 541760121 210264517 658231891 496277541 337930813 780496869 127493763 68339363 346984237 521619579 334628137 16643443 554923499 494378843 508652443 844134459 170089405 98029371 229770325 434850825 553649553 715575487 890694135 982561361 200379137 124758385 658230861 564014067 288874825 560637631 415746893 31774257 474964051 711529219 961496081 432515001 395226027 473310849 192880089 205579169 81232267 251999839 22185749 793493607 271325139 54150065 204898389 444250861 57207559 512754285 177883991 975853957 546878297 131564151 96798203 271794913 685424543 588664471 20349775 460811037 568364633 395722111 522418821 427597507 76371117 581844681 45044727 272417723 269424493 847627251 918627371 670932575 724189707 780079977 305008843 755705961 493984173 888597885 588777897 831784959 63242261 975929701 297893315 466892463 326772915 163530309 851191865 443194477 746507169 742789157 13698905 557012631 257373339 678909175 736385429 977014515 489405963 449465237 176746121 911616685 922255359 74494141 63218679 835758939 454325039 186625563 751018187 271772665 19851257 933636927 18841111 561384431 638603619 213720229 666200601 364914183 559212577 627318441 280478515 25942903 817012101 894527641 926949103 184299231 403957393 3763109 109797633 154091329 797965549 945407463 576441925 183521037 491432421 585651549 751354813 547741973 356827507 494631155 460376981 888475545 417313079 801034617 596527649 363657533 907697013 20357801 842479323 457892365 231632927 403150373 44996967 622354561 9799115 612286069 558595215 299294837 122991289 125891595 475738439 28872239 271553487 562172479 735099307 974671707 442464669 505417811 75471357 542784015 874970971 2744945 594772395 410222535 651467239 598521513 715716165 973292137 795946697 394106357 705839239 75963715 590322481 500241719 554992981 741266441 670726901 253570103 259350713 326063067 254312851 235916965 307802855 465781307 280802101 612235037 400100157 55321111 843983785 92501023 216125753 504961733 545013605 959468821 896771979 586394371 399098507 626033999 347164419 184358389 698552289 5500679 470860701 930777639 527835605 311212639 642045309 20406417 963190655 692792927 761534445 347529103 449896865 330625527 168725091 374476261 793891229 849657091 154715511 403894723 420138631 81507139 543957999 166883771 25445907 51464033 376998837 32787405 95182241 805960173 107465435 339777629 669889851 169392225 50429597 595994425 807724683 357017117 702934623 910041237 324004845 118723949 933142189 807270417 433985375 851702399 231308345 749469101 622569863 282733679 705006301 288855261 888300215 265456701 789166751 602855279 101250529 153066451 205276841 838507175 537071019 997668607 315416653 587582501 892198231 794668671 973242889 606956795 533293525 409686259 92671613 17974425 247123647 279928801 656322423 329149921 78210897 487147199 185319145 678733333 127682933 80029665 697293807 821235173 659517625 637222797 232073675 566344291 905069907 287922411 427931881 746846223 10563877 400290057 578608091 556280269 391649973 829629925 357666399 81893353 281951281 667523933 358744149 29415707 608743537 405734973 841770187 662240639 101918197 822946611 581560563 754226075 517645285 702712795 606158121 697850715 845723405 609296821 184136175 214299925 490312423 467994921 25868529 32425093 34798227 955849867 470739459 885610961 570302421 636836113 996171807 732099207 124736543 770283487 202104425 824795293 163587975 890975999 156572459 69305197 287992781 320459359 385940697 281452735 460226903 98026203 650437391 364857281 580250165 541190961 600627599 405454853 542838559 472317709 746350405 71047305 689276531 301933057 538549573 969075381 421724985 910926469 452711369 291219797 740470303 562172665 263074101 779572635 566623871 34962599 898784019 660697641 512794965 31353537 762850073 498069507 161993803 853597025 855070239 98726291 815927983 43556997 577600297 172471731 224314487 638687001 798325861 929404573 585941829 155503087 378923043 376239351 622758751 674415293 254721503 477229775 174070451 845820711 282401597 119159449 720490457 926297013 856940295 822006837 691740945 784099545 393008691 565302243 622480195 60409325 272606425 850113365 246698747 407060015 795859775 512538783 451857267 603251659 414848205 692685119 389011339 534927059 255955225 145145111 87793863 652890685 771464415 129143161 271279193 369454317 286069503 981619733 809266199 835043499 121368455 301811725 779998079 117940521 272793767 815787747 942587581 437873919 476202943 576119687 633270683 779967665 969726029 598306635 634709137 729453989 237752065 544797423 925982657 94705453 686653099 862602135 491682801 42739587 26092361 102714833 158579601 946628297 877132027 392653457 633847221 914660871 237161231 535658037 867809057 20155951 854342903 134857089 677285689 876226841 313829709 634930853 215251211 971825287 58686167 898096181 341972563 989212451 61180799 886870573 986752621 276082047 79975769 649312501 674274655 926397713 203087773 445427287 726124763 165003579 109873075 196629129 145270583 794243145 363175971 864593707 390295155 599709803 276035489 58633791 335043895 770707129 458505223 354299699 467955151 283357237 718281053 39147485 677420853 992960201 145734857 755240827 576216073 553169989 752801695 459194801 842753935 787902819 472377949 460898187 427341497 457876165 631900581 641703041 100667165 182810611 505461569 281261423 243868665 605481053 278424869 544294299 650079031 184903263 841927789 549702063 203888231 741295673 850408027 104684229 70750139 347170581 632386907 773020503 32184599 432044035 745825793 163925579 997263105 111026429 594416647 15534575 732620713 169680869 449850705 563023607 378439139 338033537 107411177 125664131 95452211 668758151 548311555 909385235 462613435 545907341 36892411 891862171 759821647 36735765 443184725 817737067 432469603 567791239 365224377 196295745 847718937 838459191 722922237 282529605 121190967 223552093 74798363 631291905 590271019 279832347 539674423 84455021 672489485 793152887 630877083 892747747 219605917 861520743 964287677 844330541 531968321 524125633 421561909 984716915 427887883 70613829 894068169 370903119 961103791 347391393 916387425 314924729 159949197 506807395 475504915 45720347 807752621 764626949 721138201 405125697 98354879 917458151 512038359 164532575 146049561 215568469 669980633 257778963 376593083 649723773 338825169 745513059 12781643 772734587 508544153 412366779 972267545 521161037 367350583 478501873 10647067 397180641 531441107 801234241 372337139 506766853 852016325 136653395 231244775 10520689 495187331 29447985 774609895 944534475 613363123 78265937 137959047 992167063 837738529 343082387 509689355 150854985 786449855 172223801 442832725 26524475 111288487 17997553 901504249 751245229 437852959 894798033 19508267 264926919 358283409 218384471 912856525 682235037 702479503 273786215 513303395 210309669 782277079 81593165 692577313 832482883 352060233 269493185 777329625 49633985 232698611 95356895 625373709 397868365 223582983 781728557 778181347 137828993 813868257 271405717 903851051 603895521 280602115 367628657 35064413 96522195 727267609 159957627 457353113 949019819 837225717 332458201 152426147 743817119 940935573 255157017 346595821 414012115 818370331 57742385 627447435 188496721 296327377 942277243 18194753 616942599 927747627 170056383 506634611 159418575 905055685 534982441 901439537 689583469 850231905 297331279 72871731 345446535 769974763 898140719 436440535 234216111 104001143 408343851 42542117 95433569 833541437 29401877 851194827 309598203 701351845 117909533 730703137 333702855 916894775 227049957 240452649 28896759 478489001 501554799 189354885 899836579 260295123 324559659 13183369 774694863 83598009 79348203 63335209 992600929 575819143 664906735 119042311 421071147 882402193 526842075 421053545 562827751 736916817 400151997 964869181 119517751 477051755 655312393 274469915 600190883 8463785 747523229 278863683 530101661 483512321 789869759 280865691 283803261 254689675 784502043 850306739 775349895 440155531 733028551 319373507 175318241 454982255 177567807 900254635 340813469 385153223 248262251 87475695 559492021 469828175 750156181 609159615 710510091 897937131 819091059 913544181 931557991 585536421 460102949 896030991 344152443 412036531 574815277 529954355 919602399 265035117 756633465 860074545 217290261 821037913 685311329 742523519 469573511 922061601 870867357 824192575 578587525 569519767 338049623 543398199 635877193 297554103 747801883 573627605 547628533 390173861 565725149 978643763 34850705 910002349 998661627 351854605 948926479 51572033 685721401 152503757 79545927 13960187 507500743 199204991 278788347 642129569 368514105 82384607 97766357 131074077 734957195 671782727 751831141 679945601 890490659 917663939 811176741 917793545 49659087 63287295 1990773 11250459 291467459 307442771 82497441 517583167 519159711 328911551 260951001 559420201 445860965 589120745 766916917 949330867 877753219 439463457 183369655 842635747 223049167 231326815 529731143 908193763 373645701 573987651 88139193 181441541 208046413 339539217 881897413 653556679 989199153 125182393 910701069 670400203 66762665 201785301 25263897 413870043 238755473 914188195 104193881 129446379 728371245 279952905 86298665 480824085 56720941 241004951 69765321 348019615 298224803 394444163 892364129 174704885 974042383 539789999 204972037 427864741 56725333 562281121 517421997 690357615 216961219 244907143 195249979 474314805 118937869 800453179 652685941 489745153 637152081 760681785 570400529 64667655 19975445 442517929 810074019 789598371 403956549 396618077 944443057 868576855 832845623 303809737 549545379 434106831 915576743 507833871 904777673 708011999 575542717 5808115 376660315 700258945 162087427 493897959 912842367 646842329 36495217 886636545 78981689 411020593 280130657 773546497 40429949 114413567 695937435 416254031 889459749 532172507 422996301 994698743 724516337 922181257 65121801 238685875 232480649 432175861 589899727 426954209 506358145 723754035 631309571 983139721 952327505 168555391 761092977 464604507 512933465 226639417 10443089 360117675 371443427 630706925 179678271 19523197 564792611 354994255 224488513 649457269 632028717 372585533 903476419 775918051 437309191 962471605 355889561 430811581 249609111 973682407 67142147 766085285 679155633 775946787 328302503 569223137 570990603 125384933 779583375 369579615 719850825 496350673 680975665 423793593 726587637 958077619 204442987 152763179 743393917 87556989 301076867 13705885 730376251 835131209 354048551 215742881 905652339 71984989 456787561 833328235 894455883 884064289 858576583 683393757 955726039 572177965 181945385 248601467 174082061 135536951 580188377 674151543 368101841 309359397 537585039 377321639 339906283 453445891 124425319 534253195 376319501 831458819 474022885 641941833 341113553 977223295 95407097 918493105 824818357 991814909 53818613 805352251 410280487 925560103 622039705 171310855 735618419 143318225 999380747 267495641 39548373 758928627 207170515 438647841 536280175 838654133 233933037 782553849 279518025 456383583 29233073 659764509 415881301 238073445 208240615 13936887 203025005 871228513 313265339 372024469 298961999 503207961 205119425 403670703 814020007 147859575 604019707 310018467 536638981 261403279 363800777 227245687 883438053 349380763 980515069 459661791 591481253 164788989 911760839 268345645 308605071 399157571 51311049 387731811 135034835 625896735 420514821 280642089 456626575 828102509 798556905 541855947 740311487 555750703 615162189 594871107 122147151 636418195 66680681 184410417 471173391 243480551 555069927 456593625 868986041 587396779 431682771 719842861 713073135 916296321 223187105 94892483 217331513 667129907 137021743 945086427 748925705 914554551 153358019 233049435 662019767 139545125 745227527 895212755 532138373 371455681 783313941 696780155 415972765 381626871 77637991 910394929 135587087 823858523 131697381 728641661 650962133 326252967 591301081 164286863 589424081 983289279 744108537 99243837 426247115 759882157 357684325 498923269 606169715 729641895 30721695 406620945 828445285 768941317 428059029 435345199 589298723 823345485 695903389 943419349 953912081 885533991 828528755 686535973 904553093 646416745 394079807 339674085 184685239 607145485 359970445 156351619 418016201 51195191 68800591 118934551 817761987 923544627 812322791 151170915 318106261 288529009 961092121 185717705 172701979 488518801 578345231 404997213 222160405 596778321 815112035 163552467 600425517 615811745 105100047 155105931 265781747 83515537 5637753 478427535 407620833 493230175 47240047 163668873 374102103 454176107 141977637 137568981 217808033 641532995 378009145 787769201 450522093 630842775 784233905 944180227 545828183 465734983 525121017 402065629 205738463 640334675 663474407 426094321 538495343 686906085 644055993 861667043 521401303 832859989 604914193 293749753 940828623 36567833 744539391 277224739 640944637 226494169 263015417 720502775 151998437 195462237 601448411 427052467 212713213 788695959 613309417 266361921 245747609 951205287 269226705 301214511 724075519 835737037 921223083 730708659 474395479 247725685 385000175 304587439 411010737 904228401 88948103 62025129 100172293 912093887 622794687 355638735 148720953 968869889 108249163 527077881 273062161 227298561 691568457 826680487 110044737 774921971 441571135 596303617 722348643 217915955 303962649 261967827 470390519 589441859 159644715 904855 773171301 82338767 986063671 729372781 815185665 177172393 683640157 369312537 507388929 501168079 214982189 343286797 454131851 818507107 566490011 448056159 686737059 90278063 509633799 801895631 912298045 313112615 216008243 111966403 548911155 136447847 521334861 578021195 219670339 44292147 839896299 666181919 195217179 584584051 446748939 322787485 998591815 887301693 418158609 225431245 251041861 441191115 333805257 905986141 347638387 875259777 458824299 789129383 372291867 570726889 661251475 493803687 77272431 597781943 712511813 694093319 498087305 305221575 20659185 126413333 709785447 507190557 25272939 694289095 397519861 993891297 662721775 180143039 523486213 242111081 123889699 496495939 998033741 664852527 673934869 248674625 257615729 201782999 377142585 645461585 367714043 498414893 788096365 136860339 76745305 662540321 229582071 687737679 723323621 894194131 164550019 66207409 834142177 252811905 161878311 691889171 853117817 776057755 419556705 829031509 880920505 780735665 869679635 989763835 4816285 90452607 571793037 610390327 554203655 689891305 521430661 677258975 658423999 29071611 49781527 7464817 582965111 111019495 314637767 283315479 44837063 687387655 160340867 718816161 382980403 972364513 769804195 690672513 271004193 179643167 645917409 765460187 657301219 318502803 391938659 966622837 608842675 202883129 535490741 633608895 592484019 670845239 268051151 574690509 502280939 404483027 804560653 340302179 483074893 573650309 375495733 308259813 381434289 125768935 642742899 836416865 615077849 915952827 441946717 65138579 426095215 357311213 999362031 271046101 562720773 535645583 48402319 575126579 689006609 722861023 264933645 828209753 317942775 240864061 881392281 770193055 261057533 75339319 420810707 768342789 464507481 621469567 419617987 16013363 956034593 558886129 506549969 50235509 250332247 412754063 709029845 118639813 10286821 402817925 98435341 374279107 258867611 61672743 97605147 75546803 537034035 166820845 913287185 459332743 372024911 643341439 636820065 68198101 423834231 851196069 79476713 448292571 423524123 981538387 644503021 110004355 126391447 968948389 980703005 792161115 740741421 960041181 514764429 962886555 749858817 282208105 567628473 20542241 188174377 76132567 605327495 892081781 279645597 178385639 195685957 894739911 183864383 461803387 474200231 833779691 707834071 532803485 104960971 941671267 195214869 418848387 694564919 162624855 2806165 481897605 269075415 730979477 52102871 916316199 502987521 602659987 318908997 369472789 681661811 73426035 909434927 842212131 831635791 57441787 857514957 956591947 980311079 19341977 796553797 854155441 271480811 933030501 572335517 962651553 515396093 959436063 965049797 504285323 314789407 437361965 258648473 831165709 834532737 304123041 997371353 141991147 983339957 435377711 855659565 997806349 508973499 633604663 289703465 995964555 56876279 875580353 919874117 436730267 658309175 4675965 159831777 474505891 578667183 694526145 110399305 327686957 287256829 562747021 309528747 65381615 996590119 167958151 155122979 189320897 230750361 74338815 375971505 476500905 45448999 306567915 84999229 787043281 246240275 641247981 888113307 690931083 611989501 626602059 792308609 662217811 644491509 163623157 976553621 268108751 230054769 104885631 541693019 617798341 843255627 888277035 425738055 264042029 430507211 922275297 934811827 11764257 116913055 101770031 968505311 354883299 697562585 338159947 547353843 264555997 561048825 774556439 587080195 318522023 521622241 788414999 589508613 331202551 246809315 786164093 924850655 492603061 158657201 934154529 74091861 571807465 47594345 257711743 943929371 899327687 883590799 740749759 476426955 608053673 677341971 869470385 995751907 632579861 199765065 236130253 129168591 721136053 297318125 131738931 638358241 161232989 984558629 662072743 177038927 59982085 727748735 430388121 63522111 122204117 498957551 149511203 597460661 953072661 963219925 496006659 454437285 762692409 989862387 60064927 846246375 545408989 988132727 506629895 332408127 710610115 642802935 216434419 21531219 792728023 909236335 450122177 923341749 742124333 429022791 853749111 751395041 70312959 203932233 722984393 467272501 462777265 990033069 80701193 344297211 646110413 747660047 928182587 432962661 680444423 591103347 590396673 84533899 420993339 365367113 964486319 568073329 483889259 319577187 582900537 912004093 576633029 504445953 117740865 438425345 70984599 340797895 109188107 361581623 252759393 505668803 901535881 357605441 981157573 369992809 425803347 895050919 874071951 270460823 837400741 97102555 821668271 13584275 620799847 856391479 55423043 412064009 357042729 20032505 573081743 146075405 306360611 983298637 243368699 588630049 11620403 55749443 211955741 348654885 98177507 501219029 63110575 38278761 746677853 832689893 881059733 168079523 123203197 707098683 583687899 98513389 293939393 559704457 179990705 800399569 916654671 318632039 142419319 188647223 550056951 892769879 534128555 104279415 837878063 963514819 711793917 378944847 112239385 277920507 688477501 533952227 305351035 976922427 505276263 82722751 163555779 825297311 516307105 849597403 899979275 799489077 342170417 74327699 440312335 756811501 819125135 520891821 943712825 39991967 846358357 275846741 669577877 893624333 410675267 157515807 350116319 616221409 942168905 808928267 978174065 600741547 173542263 615480703 495862103 863159269 799633163 993802053 622577981 272859375 903476837 276627091 283694459 354220821 973442323 169691655 134351121 41208199 426052807 758170791 445856677 727298653 99097181 297992415 231780487 559234457 203034325 548758405 922355119 470120997 640518751 692189399 493115581 665947345 712644941 348554105 539021301 101268311 405084441 273603959 941830983 257399639 303834981 985508169 669301581 900543325 964520703 435733705 991189573 780753367 158552281 980915265 109336853 918499361 688042255 66368345 632188493 163767675 50598883 995264043 298603811 749321743 571894465 715266609 260061305 944509421 955770685 260624721 580509141 861369869 786822159 477128409 149948005 62886741 139134495 166073469 361060867 314250121 651629429 176269147 895565867 359865951 606320709 261531897 631049989 926974573 214325227 699353667 133916771 625024051 550174699 522582671 693565625 483829023 176132845 433498265 326356521 80403583 768434631 149790087 606578551 802734733 287756403 287858665 624362773 137422185 903162643 327221423 812402201 493385245 418362103 757157435 277015875 908638109 727106957 117830991 412902393 582768573 718353779 459378201 838374733 399727683 720248171 114447665 203063027 186758103 347535203 653745295 410954315 340706055 854421355 259712669 618392925 645689681 489224895 974158631 86732761 779692051 125740739 690115681 144185363 798615449 997511681 468999145 319676431 547454993 470070063 929573827 88354929 589980821 399991333 511199583 132663177 733418537 367519977 884548753 956802637 978650803 523957411 639369877 317920607 544157703 377987753 158953233 414374405 512439517 208951671 471756051 871973165 910122453 664210861 961324049 875968113 346335353 13908759 228039397 308893965 721105467 912869803 21507799 528323305 956459893 384813185 88471187 749768599 14898277 771887839 346482991 670393163 353291831 555979567 932262185 192932839 967752701 634804227 577240421 403565551 589350829 573433623 731685935 622068629 579587371 559869009 576275007 704588719 130239809 44004537 759439281 829864637 496741533 752470401 469778185 507540965 81834713 32095497 443051575 987889143 594081145 733293009 95009165 347993707 820544739 774907781 589719755 28050527 665167209 515376631 263715861 860420509 446685767 507304997 763609849 405364111 89139353 257149231 622139755 674738257 446983791 897499491 345493705 374565279 347218355 823057715 113547993 989744611 37465413 721272379 110988487 699213611 697135585 645680189 976582697 284448303 204863283 892957221 795591675 468097355 137126605 795160837 710499237 357340043 259807013 872001307 92213233 550194587 48600735 601649353 811928599 749322453 772846211 381340057 390616753 662135861 248096259 907417407 465076425 994994533 301648695 471461527 462926023 318215089 716778017 274483875 620866947 87621395 805759403 279474575 707293499 704408875 314196645 218932655 524665491 589196349 792036043 358276733 402509721 265506875 945523641 97591707 487826113 847479227 152887805 766354393 419956713 963161853 72890887 574539301 446840661 775518951 83870511 587216029 378028725 193330697 705298615 151162755 940880413 719696283 445917385 642975301 466741001 21779579 161760629 939758193 2066783 185807409 884330933 904153289 914010733 272644589 36849771 387329577 113806825 495393669 977311583 222524067 554003181 80519287 557520451 140738661 834309377 400385773 757512623 77979853 266831633 203064501 174336549 80438623 805213301 223036997 435842317 457996483 76603877 523504575 521217981 214386639 805708427 224925161 76280937 976415359 757556977 797758769 785315635 429242099 940320271 356608687 948504871 347997303 916029505 35520803 399082291 367442561 783069259 882257909 163904307 862760873 802403933 237410353 718685927 643284661 876824843 76035987 167607033 564906381 72589393 496332149 454639097 402029129 901434517 628619233 508862305 590543903 38838693 491915911 970145425 913975925 595435445 381509053 340655061 702889431 287807075 388298115 876512091 262642935 89604021 64563839 526509631 372468143 365314839 175818497 26953601 896083973 715526239 32567809 159953675 567518499 429822153 276210717 126015149 228597851 118812157 792869533 643961633 990225963 824475397 134298225 937561863 135941427 891118425 155637551 893601769 327132993 77743571 270748693 900271419 407781447 190863803 336062221 742928723 51945823 145698751 236950949 654220913 22473679 407670001 549252115 834922435 813727745 873264081 43507769 105861719 686956169 692702019 835094173 856482341 756779809 628539285 164221805 16990483 749091755 844643195 411929985 854306789 525562677 545443603 631603033 766448975 771252977 362666721 187512861 71901419 622773051 843405525 47026329 122192441 643526293 749973315 248867911 149875105 111924395 966088679 789060167 974070647 501227857 485492457 593756253 925797107 432312193 695108563 399399931 493172533 326882397 652688027 758083383 260570695 286349365 739720865 976797649 202548251 622212471 303177639 307067951 131847563 675676097 976160987 530420833 303767893 389140693 285372883 595001119 966183719 623026591 809965453 78379719 451557005 246080307 940860779 556204641 435934725 455299531 966271551 492646043 324868077 27672011 913703739 869103823 241937807 704221373 282967293 233715705 621145117 996390487 866130057 917909955 641210289 493136753 806900815 257298299 602756681 477583631 628440865 840839447 619763923 136702815 770683199 867960377 696712219 670328497 553041229 187893031 887093215 505347201 224862041 808917967 173321149 337563763 213032921 843773129 393791039 480238929 312177831 323741269 579640791 289325585 717494795 572031323 115384797 953341131 649805745 894019687 815679893 837651397 623869359 922853043 650740005 10718823 881960833 931720991 342422175 178081863 831749391 718628143 347998461 169410593 731963811 980549653 211341089 23241941 715292405 297780647 227999955 65730159 278382623 305785187 141486021 831521061 329024171 798521715 415142033 990037073 731358081 631226277 304572341 187767667 138303993 76077169 113655965 750546235 670486737 922571765 67018393 182474361 612669229 775174905 254993381 624317227 229827995 276588525 145742493 24556401 636787983 49802213 106824143 629370521 181132775 678591909 134976619 63812117 801852137 226960015 949139017 868271743 184840257 434178999 658714413 18327197 682627 779894483 937126333 728789081 307557809 493345599 850329227 644050885 780130859 86164231 855288593 665738783 711045057 835678167 920985265 470623945 721292457 936233991 124714931 683486797 38320253 683046295 185752647 118547807 905227589 427621167 725798793 614122969 540489839 269884187 855383675 810611649 593998797 606526549 133743873 301387329 925524637 107080061 841104627 358219949 598685831 42395607 27139845 319297919 887879831 606016597 404739033 457933657 861316161 775669389 550812923 21010443 896492641 496913853 876177883 59110275 624729153 492248015 729664721 850245343 201478795 419810385 702553631 579829089 64113235 100538747 70239469 779215221 799556633 26281259 67434577 20309935 336368833 304103401 650796093 548078537 513101465 580364259 982182041 769974693 212021335 512357875 861380139 440310355 636310549 704966293 116489123 148672769 453170267 264122611 353219741 974317069 853615381 123992027 551303321 183520761 634006681 540853443 947637249 845896307 803905187 424817357 772366117 133969739 875558235 201591229 809503551 867632509 312723531 843568903 298805103 114496045 875757419 74002621 133208513 754448805 209158679 556099233 505133091 110807131 290752531 322878233 811517297 586645991 160356495 555983415 375765099 244539917 790615837 643398319 570970809 235940795 863916221 297616609 144522735 239256577 126242515 201792981 513279621 109842203 460476973 257690171 927013083 650327405 3037695 203682665 373412925 42684035 242533095 670566493 369416153 677527055 152948713 169381569 784883147 888536811 884186485 186789861 797070867 379005469 459268191 104973755 739060121 984741837 741905635 901285863 42698545 316342353 956567977 998257839 205428371 589585189 425309883 861463041 148092767 449697257 319180943 226385015 274703391 543121771 879524613 658961485 165892423 929461405 271613535 513043565 964326443 198500761 449962059 638079333 363370001 609799333 612633825 712953963 113643807 727660843 748606873 213692001 748453225 956361917 987819101 297398475 678234087 538097177 84884089 203483867 818884473 971714079 743807393 921865321 796462569 302232797 80819955 499839215 80821993 386517637 523581427 939069595 613788435 380748915 617949073 238033207 332416229 215468073 312605471 729486141 612168653 176320083 140956509 876798669 959179031 93844419 622607729 280264875 872050433 369052791 201286117 351809351 63371689 313801871 38335407 113436091 28471833 798144345 415983405 36955333 621591363 345042505 622155557 851094987 103503103 101966837 445182403 143030749 354738449 172071719 179432349 272326323 683974687 891018181 281883825 522805675 221008573 789471715 750362465 888348875 405916769 534931647 76256639 528754119 760300655 288053691 825267005 777048817 810265391 739900769 225639991 8312909 187045587 938359397 833141367 39906429 466220659 330335907 550562661 915475413 442122003 452202015 34697947 428791113 783537817 967017985 897391123 540129147 702848727 760664991 607699123 93438383 139538569 198377331 707214279 948420311 743364173 471709729 25689287 600843401 367672749 361142643 372705937 293004293 145176601 537193823 339292261 688454963 236079599 930958077 995762933 333942687 252764523 8564113 161345877 596542339 207350713 435173257 9159681 107854525 916724201 674711925 711981025 495845847 766281207 922519313 411471679 163172091 121002431 561908801 318751443 797756677 201532943 609231887 343081655 619683443 839746967 147973553 125049203 638965867 229001199 306469759 967303413 820375997 961228441 641841151 824028047 656552927 476787199 338080985 188617473 391095795 435459187 749881317 811180397 803370431 810203947 150412313 261544549 990656177 113835849 28151451 968143323 901293283 933344985 357590455 597979949 764318737 954526667 921707997 370225183 546807461 789501687 251901613 452600801 502406315 641238303 672739303 420676615 25568479 836333037 312702581 321726349 878834587 360849137 558031727 598405593 578382315 170852005 735689995 541548985 729496187 36703083 856028593 883557475 137942691 224995465 947651303 395333745 948903267 408099637 955441253 576991467 228941409 540073349 763111173 278768701 749001965 876198267 513378761 563547965 88508159 224259585 935876317 952540713 704921653 559861735 416618131 521944483 799012569 173630183 641924713 350329277 217093333 355126945 110193663 255248103 346467013 243582369 459323939 131848451 496587495 821767253 780930503 620661333 18748959 239906841 15159559 648849031 492223233 223329837 285999141 499267507 719118531 970924731 365065357 455934803 287527491 356979667 529063379 229544269 874710281 899461743 193995953 59980525 435185219 286525807 117395465 295805933 157511113 421474463 982697963 962564965 343981341 743079853 292628613 749259483 101543521 443894069 909534517 370757439 475436393 801326519 175317373 220887013 784677033 241889435 445874185 724949387 962567747 836678965 550608813 468833107 836530939 418043837 517127779 857486285 717389635 29636179 659436111 946132463 192175665 561046017 789092539 514700819 915319941 342698427 228562715 632180483 651251109 390589269 750028299 125041895 992046243 768316565 169862735 516140631 446725427 324027939 152726479 229927249 440272053 966038157 84524193 630128697 125509937 857184081 426393599 291844829 255347285 851992013 628646733 475622255 945153659 724629069 882932503 758497681 272014753 658127103 111254541 781873991 648290925 941384445 24056847 91843069 725770031 67411275 780098331 542907273 483778781 149097423 205863009 948106535 877913625 371434077 859868465 488078973 461489193 476387757 849803271 869933721 746457083 151528543 867132295 708431087 390356263 720074749 662429053 966321759 870214895 62503929 112438233 521162795 150935861 649577645 776038843 119236865 178720653 302682711 551685217 175714807 263333931 11001893 471968315 51854731 639764209 475326755 49955801 65045151 99682915 894975311 913627385 20614021 77762739 93944967 304615291 555606253 833923255 439934869 851395181 398504185 39970543 156394795 489637121 274147885 756467329 227105505 178719633 381208179 130853949 9256507 694112931 258853413 904910235 786863007 810126817 508649725 186941881 575454047 944534813 531523361 941750879 565459127 547478869 889777695 196971773 543528133 255947689 127762923 531899305 846579603 260229735 360970211 499660321 196533011 577411073 526613965 184072399 727203357 996928531 464653013 19850177 115324275 914538079 965817489 291221935 186979007 414322641 979309053 199229685 353405331 363770749 329849985 163265695 754627173 940538779 506296551 144030041 431155097 921705619 648928357 352212093 632840823 848513005 459925915 848092423 418766897 194694493 422445963 930930847 888508127 170065855 808319141 749136535 704529539 84691477 552862651 791914723 24984583 399960715 636116749 863825701 291578941 738364789 155076415 321773473 193776347 264129613 588232797 652780617 115383171 313025207 271857375 660821427 415350465 473940349 449492129 389581343 105822981 517664659 907803625 540563059 946816935 974248725 17879139 138296639 87228393 113880647 926668323 883986363 316292085 723363473 875158187 966148293 442078171 861299081 768025051 356049893 790435991 660636137 65513731 93047371 789616389 193276053 458294231 346448331 946841843 676519831 627983735 844194793 210977809 484954405 876534117 826876105 91894519 464092823 897818255 240574523 961777703 149479281 446983755 676340405 330992907 19576417 440845655 71906905 943084787 602192439 295851223 244931565 779044889 954028271 26847575 391981023 592798365 203854509 834339279 216205639 997951371 526921917 424333979 692237029 336330195 42309263 183566463 39732257 208703819 208842435 95232427 994241543 28415931 17888791 317434033 329249363 389799877 484475515 688136593 854128735 20963839 25696255 587719343 943307317 273893857 489038815 176120793 425372037 488134349 912536449 112443715 887772325 820804361 251008875 764247693 655537557 884917451 64544853 240440759 303240955 192620841 819392537 291384373 988442407 658258211 293360311 606311893 479492369 808494759 357972319 60772315 38120791 742858627 158302563 751586279 25886529 697313393 503036219 324946699 909757887 763648529 524067213 847360183 556812901 711129583 528301093 328787917 413723255 758815097 364869877 509296015 229669337 232398091 745909017 224553645 127499803 597555429 641314771 676547641 630579571 682707503 39330191 239904435 426885059 169425917 404100831 101937407 168823183 354591815 543973761 749646697 804899083 429425389 984866647 295760041 960567049 339290297 735679851 906704091 613064203 113238111 74223345 538590853 356496185 713188723 807863363 253381523 264205663 718029691 367758313 928103003 197063159 313844445 781251977 702786713 345636897 109556205 972935927 137648755 155347873 550626275 623229233 455727991 972677609 788695007 894576473 833533851 492956943 265084395 736372153 486087225 371863249 283598841 919957701 385676057 702195611 561887459 657789977 179650921 612841335 49858409 639972727 677170363 473533215 853162291 690717133 182938125 260167409 551506901 667066409 966065863 138358773 296508357 372344523 815037365 582585561 456022375 871087637 845534729 608368375 887948803 523443091 535282789 122370379 439304909 566899445 494621645 183090047 289972697 741587225 670038699 247788769 920986925 836748035 969981913 620801895 185963439 237175003 977550225 227387059 106973233 588607735 375494777 123283723 45348463 235916497 107749535 629918301 87173639 243054605 62425719 409200961 61175683 10018679 815260639 805522934 540943189 344374271 856692509 327027557 765750485 54848451 630553565 941679133 883433287 121011463 528286261 195595091 749513937 62349621 78037923 276579303 624215941 254915551 915492873 582609763 327446111 810331073 110431929 849857265 688991805 302218175 830362467 56561773 592887529 961101285 811158313 220566869 144708115 839439461 739319693 532341199 651311705 442700441 367078783 44830635 189476407 658392583 787328593 613079393 764039449 107606359 318665923 498967823 551679055 667892577 931083257 679310205 499052053 84855835 669933697 77769499 126866569 527727531 468041551 189109501 179940533 694301533 711582401 830819815 798889865 851092643 867664283 451914043 93435619 182290457 160767501 855204877 979170431 759585921 830164139 300865043 850573065 505097157 264852849 278339753 248618769 768909309 593956551 620164571 115441681 759285857 269474935 381436245 146286955 219289683 857844919 774826863 419268455 142433889 714509607 955398697 408111157 696068413 90323913 290415147 518160115 27440323 348132363 16363969 787546269 939247861 113214403 468818917 914263327 402628351 981858351 691262263 231229513 246901299 353663219 269050107 940886741 898114319 871895835 202319395 601025891 650076213 149688863 978206787 470651263 782319471 63827675 212231839 480959641 501697201 283386005 638481179 904707337 190035735 216127991 977805127 709263121 729634275 173397019 513464667 510937563 507117953 26753915 308326709 754407543 235536517 861248765 871163229 899612895 646193321 728879855 988233729 721726707 360335313 774284293 521506299 689006975 880263431 154279007 900818887 822949681 651519871 436475517 832329871 29283237 321415573 992749651 233249569 858495579 556615629 743546417 859210995 229966269 580738511 302350293 734183207 403790363 358421361 551226215 755801985 37569711 572255149 981068913 562684275 747240601 188556199 417233131 674562325 137417189 58106795 340817967 886321699 804355713 579477545 785766407 255246597 17401161 547988159 891858843 410075595 812870397 616579377 18464901 540495663 31587655 630661223 751807421 926416779 210215349 898710903 973151405 220255721 204915397 617781917 258178593 340560633 11218645 489765945 650574669 594957329 188405553 30109655 133045455 499956271 614757127 544251181 930155437 247081213 70049395 269738771 594300499 708564937 33302389 491235471 698928023 814942859 309197557 955969483 772370357 269164257 333024711 243217177 352507221 303115539 953634723 616496117 880211073 104527119 54929961 472205315 39436719 485653871 358425059 949969935 872898751 784947311 218447685 443652363 403577843 958279929 635188131 626999571 751883001 721975707 946954819 662655079 731065831 314353547 196547915 101181559 959068219 340332459 51007183 303303893 436898265 408728959 812970951 794888249 506659341 191478329 812382483 215555467 471970447 877920687 957338237 504432337 898959995 786784609 150713271 629014083 102717783 117789559 763015515 610493755 898761741 153299389 18500071 191340859 679093239 798568109 590872777 208675567 100584911 384117349 319173453 596243755 722184891 239291311 517543345 603244007 297668937 161362677 823444499 701215051 174735983 478317907 104011645 963833503 766766215 298733959 752526561 790996823 128684121 87159543 607076889 464840719 96124433 306608819 572757731 98710921 983210565 636068979 780661227 223496625 708712179 99310483 57058755 148481179 950989949 379249183 569327585 903747969 302919861 790831045 180969385 887766469 525005259 70796505 235978083 374239735 340815201 191257437 816194369 471480517 494006137 267469817 21777501 990519821 62607747 824903419 795427253 725481937 583618385 638296409 466658101 607645501 418260515 533046709 26072749 316667301 69472669 958918995 689944281 3355523 543222477 21345573 321801303 232658811 286068007 914454209 224447153 656193881 325524873 818874215 63186265 440776461 274958649 676202751 92730535 866922421 608987363 561396501 395170525 65951381 848805789 689994211 579781925 833208853 886526435 857947463 599282831 250731211 542953629 328381385 901158679 880173169 930319893 665392537 732540569 336520427 747372289 454602637 314233827 901407045 577159553 260089891 325489573 409589423 809076247 411410565 902975863 145347977 260000433 254983041 925806301 985675345 298981285 631727247 725128763 526914231 739723441 373435085 18703337 283761291 776980985 778339331 154025755 168128713 927255307 725492639 553767667 673949847 31245787 381873083 208642941 947848251 235887047 302141459 334974633 145907245 366885011 848647953 563771727 730836997 907181423 104166081 768967217 433121161 563599853 884201949 116494585 661648803 115723535 267813061 402187575 56426341 508270645 668379775 565158245 842505997 627842607 876242873 495803877 420710139 453844017 432774603 579131391 475478717 845785307 632724917 446482659 217089029 27954989 398600477 331864749 374723501 742221211 620268371 213160285 190040251 596199669 857453647 32429533 44802393 579474809 505988527 132384509 517879771 628925391 606098875 751523447 813863353 948841473 435638883 99147243 52852379 569774727 138150461 221607909 815437641 277791549 283007367 115654355 957011639 56158311 469921067 460061713 948247297 248453045 502970295 379184351 694143593 251989817 366059107 20120423 36456027 784121971 782584845 986260409 116458089 856660295 753107517 977220303 4320081 47190787 638008865 574030729 673466357 595423579 985599889 83727283 32838751 289900397 421339663 721433851 67452611 483147967 427815869 292524029 523710077 214664765 634226799 938214201 897041167 951029053 579169433 629842967 359186727 909193851 389463133 700912107 554438547 828381983 757122687 800700141 72255059 193383859 703864689 580264765 223714185 682536751 685566537 972848103 476521087 949669357 526021063 755574233 136007339 342023349 568931153 997847791 849045157 328569781 832062969 587101415 6464305 46705535 194363249 83136623 886784061 720626195 198960927 431813653 257135577 431763925 857902853 28736849 467504961 609930385 774185683 3530631 326325721 978795647 304521443 304041729 471981099 446588731 176886579 223912941 387215085 475867339 588533353 773699431 767623671 836906139 214505173 898125933 757283149 869742207 408767853 141936877 751415837 448253367 182838483 732594867 287326647 886775273 346896461 846015613 486562455 42232863 917892297 719272681 389065571 637177295 201439199 344644993 901249505 630304215 120505041 805751223 68808713 657820029 954298241 369013221 524118259 621275503 43754883 100695625 140791269 415476415 882029835 710472721 254974281 5499371 582299129 222395977 355194289 568661979 265237207 56538863 407340249 97492185 949525457 708529121 418989735 302544797 941947839 177402345 925949473 245989955 970500897 77385657 846114943 18789199 384654109 29191913 994164251 547592881 401656451 924185341 57437047 17851067 738449611 914394203 586377277 929247021 369696019 272185173 71402053 529667115 893518627 815200039 943271557 938213699 13717099 49007855 583292453 279788649 52810497 840464567 305963885 912762621 672541859 637110897 467589329 179574463 73715131 687804661 78826987 303929571 261054551 50024199 895477889 278940919 319956781 418246733 251433853 297030143 107015839 615760985 379152371 641699163 387411891 198801829 81600541 88417757 83182359 162584723 95865437 294915253 777294373 192002155 495169601 388293253 916337625 492670047 275820925 658376783 28031963 343828615 776369383 876492417 873826173 371512549 103258505 39417331 56577203 360880739 529823113 867860189 479888159 594991059 26295613 167141353 970079493 607130347 994862621 616776995 127099479 467729231 885711313 609848575 209591723 941750151 527176481 646637403 178511681 275748355 985771779 962871421 621137407 70465055 495378831 887910415 351719541 518211869 309597961 20638763 309786587 490044193 95992029 720133195 742103823 520417347 805468319 843393111 838040473 185117559 928263945 555624345 273464489 325391263 426263295 754279879 619035155 803057287 501813389 103683071 805875035 746915295 406664163 857899465 490992805 823534655 746595423 228094989 572018113 545140777 893055365 943971363 936578853 914910471 267026429 220387015 433393395 697461801 609224349 621498145 470188529 571603401 113287007 951535549 989521549 360927239 93149289 300931981 656821215 947433967 472992513 853761779 668433575 243327089 369075871 454528179 335893069 291512677 716361179 6562039 701139933 267019917 695264123 683248217 737817361 295785105 491881319 644370643 322614601 295625733 437851573 302343883 766866057 973810273 275130785 885434895 186878083 330420999 511143563 525993683 197857677 392822845 701986561 846894773 171246503 581683769 546243509 572371387 450049399 922070033 808705153 84763473 909269325 318369479 859557739 694739277 573961249 223957571 619452829 512452333 704302225 875139161 987198057 954715091 458298341 945343937 4583499 203490575 818913037 684856603 273794537 556172823 388706205 331617267 147278091 215782343 918596825 715926967 60583333 836449635 849106597 273439427 958470353 270655897 444726927 696862039 182440405 858073985 346111699 510824091 418821915 752421779 833261389 216996259 883672375 170666681 392523395 970149479 585149921 576384319 775896745 764276935 141520641 168948697 109490321 747002765 677785503 799850661 765900989 130715501 768399599 648758825 518290003 179887099 271927629 710326865 447130149 512770749 774468923 397617009 697772967 50107419 115799141 575743819 231393273 949020771 241943711 26197503 914587365 801208019 488441059 319697693 963879895 720456841 89963091 338527385 761515751 831353743 842884925 4936147 384463315 529249241 762738709 546339981 175171845 903896123 933737075 70513141 752403085 783606651 400560155 292237217 957622045 163331903 45723129 108552847 992395547 686550811 134038305 683423779 885114247 364179845 18419661 515559209 658967831 943383265 846731873 176799449 398678815 23803513 63660647 376421327 891269789 317122939 148616083 92394767 9223995 972025857 243802307 541249801 906894407 264019983 120671989 268098705 263385527 456018059 536805975 118163427 195267373 56519239 691785021 372341157 618422509 116302079 605832483 10774501 896858859 645278289 831304617 508534039 905838521 546132679 534594459 299250969 725279129 28940499 479592943 125014065 704906609 664858061 795366589 620373515 600598483 638452473 691600969 547079869 929737715 911873149 805178369 245162435 733554353 150562411 99569013 184917765 770314647 519765439 875458913 618039245 575834063 653730135 842402987 543863763 911191861 622333693 795642713 951007283 6969159 243322467 317869987 946541681 929936427 445803553 652572385 983616891 873192881 271472825 366444185 570204329 225376849 276542869 596875637 119784117 946999337 177311751 855558215 104170693 808888833 910093381 858315533 358090597 746879559 706505843 317578727 721951629 541642773 643597721 201884707 742491033 395314215 228553383 452718387 454811215 319211495 379633019 838319537 769555419 415592035 923198929 644972131 305868499 903954769 794188885 324242227 692530995 839764499 516600215 872910899 358954849 701371055 620943633 679852705 135488301 98390227 506779173 958212573 883919559 467732183 469219611 457323125 719138767 65617595 818425381 872764187 199955021 343018791 130130011 381931947 300845993 727783015 386041535 936635943 934108603 563824501 622253883 37530043 892281793 323992303 821870495 144155067 583819613 32100895 541837989 272602785 223900065 763036655 466285295 812243727 267145727 689133051 799805443 13117139 91982165 57894785 917180247 221528031 717485799 621458535 261130049 964909391 858805093 707814973 401083907 438357095 903543777 932823355 385157319 199439247 406141661 296435007 172910237 780018525 734493497 332637905 392706943 203307401 912643909 515033119 780749645 817828347 517637557 97212419 398611667 732163005 341704359 165214969 345226945 200863231 674596513 761638443 992814253 672120607 42783631 771358311 947137565 47931807 235703751 571808547 181120377 180373805 137479943 842851713 420506897 755148695 585503601 469994821 80662047 545233887 448466071 146738145 171804611 225606435 305277033 253613933 6485513 206874031 226829385 99202469 526965471 277779959 412349945 52037361 411482913 805373849 608009897 742305633 984165263 562395219 593135083 552317357 945716691 559652117 485336767 934698549 746235773 436573935 26486921 963806205 526198533 786642973 695908375 754526135 955505873 553663747 743246493 559592121 849752613 444849453 96886457 81904641 121371189 34543691 993449841 100516665 427693851 74801469 283231537 268804527 283182295 990328065 282117325 93825371 265890385 112168391 813623943 32427995 310500957 866905567 41290495 386612087 970878643 202661575 927568453 616718877 651694323 188429855 186155727 377495655 148991913 746462901 474583671 580139665 52719427 578138489 894173573 249398661 767002907 22566027 826704295 975068113 430889077 503186987 673595119 32298667 788695929 148767173 720255709 203407605 29581877 866783467 992232275 430629427 869811623 263306843 132528547 517733783 682498221 539710197 250565503 298630391 734489873 498097863 915492357 834986963 932949125 980743683 800858809 141175379 805472675 364875267 7752843 589084739 647522027 132337741 972685519 675597853 221210565 984385419 295467073 345279999 14566275 168334993 450345479 79077555 101695585 676633945 501104303 499485859 514390141 412625925 98495277 903766251 694833377 113000931 421514721 59540041 89374847 27847269 82803085 804861987 940352305 685048359 729924191 903396233 33732789 645070315 899932397 703183921 110175671 428170141 771771187 863690109 79923913 781842769 259719065 260758899 93619041 494261313 968607721 851673027 2975971 852883921 102108251 194919105 775105431 632597643 970955915 896981615 357064623 678923555 918362749 472990069 838664261 804769653 272870815 881719329 906958423 741188485 694022601 479789417 162483665 709887611 871768629 353912303 929380485 804729261 596700297 862603511 686427433 746578325 901940691 754724211 197289057 437376215 976588679 200089337 491895733 927668029 699670147 228472009 889293463 624514235 908557837 15648971 395693407 549457517 426667217 691139211 658436175 875685271 799952867 967174723 174562449 572026017 607847877 581076433 907625271 67509793 695585111 814516157 281500215 768190931 185090793 571696183 934976373 260155287 391487281 800046101 654126009 621124217 825247817 799930325 287684019 459470255 942848699 128380577 892308223 116505489 12978287 677950791 991044895 167896741 831694781 366524223 793053817 654471827 702297187 780968359 943938399 110595889 457704069 552037447 247850251 862368123 132908463 97993869 294654111 911496849 858339289 450557587 816710691 626061505 304504415 621982741 981506439 868244091 602745607 316991355 317088167 663794527 569259259 240184023 482858819 705658157 222085077 180832989 344781829 537523407 143871119 149737455 43576189 772121437 174987409 789654289 176467493 817519885 588653221 665598197 82639967 56822341 569193473 688600819 890873203 772062353 539521859 216804357 932690577 469406627 66749297 834162649 510707157 495939671 149209335 303888825 229029183 110669743 515102891 57373087 304857529 268159959 997766859 294440233 575186451 112293665 261680635 455903903 829151239 279069963 296037959 82137073 554668853 454925621 134487079 198379957 780688425 60598893 884506997 254288937 620123475 748767653 654665851 505481783 108121611 682041081 959657185 234824301 403212689 674834091 694298305 999823363 69407763 810995239 527137173 863453143 297901471 815324929 726625091 994241393 970737967 499142643 478255897 936070655 403068835 994275295 742149323 802916697 580320967 361864915 691370359 373762305 295432265 45485315 933504675 935412505 755256517 954494919 728086331 215327605 979018939 886458019 266848917 300226697 513170835 602897987 857223533 888562295 320028321 860724603 156258025 79110659 869591581 337534021 79244697 463459743 268481575 724179141 565864045 431539809 60824523 322490437 237813191 407961353 790425079 565639737 710135401 903059709 209087111 615067453 259954817 674522445 552648507 564464661 22254759 431432625 391323835 888228521 518984915 541905801 557295515 155076367 114590575 698666201 551059793 759227009 123680327 994743633 116015427 929363043 792505743 173853003 630271413 129538369 812070117 915537093 949730523 816684491 107947085 519050851 764320207 213785567 818271031 787817593 804018063 215889281 822933879 529825277 807587337 970960345 414842441 80048525 490585865 735137853 686903635 56738417 884886349 189075753 176386979 601588119 68427635 232550717 111742639 133632663 647595269 378167879 671122257 762646705 459326839 122351159 469126865 780081613 75077917 204613677 138293211 526288761 159730237 439451495 486434181 317004779 235226109 689734741 650631245 150807811 773926255 908212103 762234135 639605067 330073231 776111803 903288367 163724015 341198651 769346001 233991245 375229127 361632317 27550679 685248397 966993235 838989895 196918783 332790387 466362297 449911539 276656291 999024879 453537993 483156927 374316617 596229971 622566395 107783447 470799515 590836063 7575661 132925773 836073835 814179639 166158311 453446551 879008695 13185641 765397977 45588249 517108895 888613609 747338329 30031835 367950449 966625813 272505125 342237647 690244511 864817587 356626087 164003789 707336133 687143663 888667373 577740953 482719909 731621727 385347757 786742233 532816171 291640831 306662985 63143711 354766441 144220727 523896007 542851301 882046109 183584977 620618453 265302413 44709417 791988485 407287245 924574815 296326295 714838893 427542187 485373069 519786395 418117907 866140439 605326895 543853585 889071199 501293667 907205449 507322107 649434153 898697347 754244289 89541765 356981423 849178903 586935145 58971907 332913301 730251881 555983611 138841583 696964073 873646693 487760665 958895341 366423327 467948963 438033995 723603655 953046549 473026659 61020417 349356657 670779663 838712203 35186841 46743047 483626941 934563755 119943759 737088971 723911219 817746939 849224271 524509995 418909677 809528665 862327977 860598199 582627025 239488333 174664279 928132651 4736045 770389255 172168763 392836459 379500471 579267675 996101659 538741121 394579081 801616077 106472365 849729185 138133547 367580801 54955911 942747689 344607113 171211077 928009771 892344215 670147067 116357013 412814595 195698075 935519289 179932045 611143519 435900165 188938605 602415091 732582777 129035729 443969057 940369723 449258867 396140067 309275981 526972023 317892691 448042309 80576845 143335529 873811727 634772653 459757797 857670777 97256829 316717811 265105989 914324403 310933343 300270813 870389249 107326929 42998623 856354389 642958357 646095411 927056395 601185133 24962791 281876189 289771745 266319201 831476293 418378113 250058049 539999637 327413859 673394805 680698227 189619861 934163167 765455801 183335847 816406291 250191807 174322675 581158649 563761385 817334383 16669043 466125929 741687325 339716293 764216625 17526239 42687449 68932093 721080779 163756847 790059887 709359551 486312585 890850577 573752157 638802709 496176219 976389669 259008579 201867127 664640213 671007223 900264431 300441535 898317115 690151925 997085267 320551221 616941937 245467259 274229899 348356231 669536005 942168009 904947161 4139207 265214003 42541831 104829097 797933685 683355351 762324297 192914829 813154421 263647095 839570055 532557891 349206293 704095813 648955553 785921195 111305993 445387801 976817251 341959123 18300527 246743919 259576955 67003117 783538635 567286127 143365765 942734933 860995341 60134123 139098111 585540749 92294793 414372695 254271319 72640833 135377403 458488787 349384921 538795077 698133387 82675241 225528771 852534931 40584899 462673861 27953971 242181967 867486105 492729535 731603253 588435651 732340075 523435221 842981303 236628323 508267521 612856945 172411795 884147403 698035331 594815907 231704973 556085437 475924617 703111453 775730507 107018277 839247121 689757507 46853217 998663191 821304701 529822491 59787077 90963661 822910623 684311381 440587357 114419371 419914665 640828743 294577901 249563451 234923833 280953839 920353321 400978483 665464403 506724087 224058921 202936427 752738663 282858925 709867761 386875623 31442247 725426695 421051239 737486293 727877171 427922343 87721567 305920389 955894991 168933073 803708815 964226931 971927337 744595831 341871771 536007491 927588279 127975473 605823499 441441727 304775251 226083643 402369105 765991389 410363717 628680061 42378951 139434933 234387001 911489929 681787563 9473933 780342085 655482515 891213353 421957325 980447205 121379707 695535443 219477771 934227969 179900363 740796703 295441667 935431395 45683373 453681265 480023957 763215427 247401469 545323793 299111631 802883387 151234873 88020145 680991457 190801237 616339079 910178281 968650539 488048505 619811255 144080187 72969003 690070783 316022593 926712849 684023185 953871013 667802947 171738557 835309869 897959311 515816581 706491509 919026685 607674443 334421877 363833949 872992801 897378253 715797293 248931965 344663271 799422067 209637481 947509703 514570689 136647939 556931731 202208787 596928331 791131561 901755577 16534819 358710853 204300537 403788433 96241057 344875679 864118005 802308477 763984925 157979755 243687421 742560643 582637073 864555745 965629921 448614993 55000799 808043369 120900823 736318015 608107727 283483787 630491769 834696013 881491987 167367931 210009807 776297505 829037507 730121877 581092165 122772749 869586657 258311003 116103091 408188165 817685335 7399033 111696209 101782697 244889845 543860033 731595721 497559363 494584437 342665777 302457383 93412285 455590009 408255979 347670495 732863923 974862471 370239033 833119181 437298787 52170261 319738639 845058875 163234227 819496313 280110985 424057043 680678195 450481397 836439273 195864489 448624923 596037555 359505819 905734205 10297161 408553155 781252147 109601651 616811077 565979167 572184171 825492377 479119421 86147495 179638823 379626341 756874251 146471 525696113 513535729 193505323 64651855 701400189 497135301 586701767 316209591 714079911 871629517 143287725 841901537 88903539 753809759 180227923 286641461 431045769 48618551 583113179 909632519 845143999 774544253 665949449 367149967 850390031 118668987 616107599 892889839 93506717 769389033 509930947 931741229 842523059 422882403 292626213 765351231 591273415 193087469 70428381 948048633 90133617 708797877 369214711 787173409 266656119 920229715 53296685 500919903 912204737 316941761 156258527 3000643 555213413 775385189 226048017 188415301 143032733 109636619 453067381 901904587 463115215 272825325 70239583 302016281 391462017 673176227 387147731 84694885 816880491 468463923 660231029 505084867 787402597 582670349 215238549 376450617 163999605 418000901 188906027 780131247 3360707 709544791 906762965 986928883 821991591 983877803 34819547 790083523 576709015 904858635 703725867 423584701 921485369 973774829 585620831 523182445 259823961 165840945 16780979 36481857 874247145 631304985 608897553 649694357 41215491 999098963 617937925 236353703 10552301 711144951 507570123 823352741 224001297 748899197 562286141 48185755 25581313 8277199 371836647 673634183 745345659 53202745 240284917 67805255 669826655 646236271 860173375 467482021 483304123 534857101 79474757 949565781 265950657 378760221 634258735 663813611 652115661 681167113 159466697 633131501 200532833 686970277 874207629 728401601 139950121 306146481 622703001 752534971 489891319 623444307 861081013 603647249 923291337 723940373 605589073 435513063 636468929 129491437 348876931 13353029 677423913 896754489 447384331 565744157 581858165 656839871 552412495 189282889 832570433 545612459 10256479 742753927 956654671 415654291 578744305 949570949 244586891 573755253 560250215 99829199 62311945 75307699 5907143 79054561 922569985 199295263 754251711 988410909 73860571 628801259 999439529 632531917 810565407 394859955 236926849 215088159 609103747 561455489 796118257 64592941 766244575 73364925 574358343 115937017 646332727 425332289 640746361 610853485 305247159 712816709 329434665 146175579 599112627 221757301 979541147 692037497 747051429 971102423 474444737 405796971 259233329 871496677 922426161 777436857 422335265 586538877 114100779 21398485 309160043 47540959 599679125 404765719 682780455 693022397 794009089 554120641 176217753 195332139 108028579 433551357 634306863 21521317 117063259 876147677 63636857 793691667 932860849 43720535 427729203 416238527 159150805 56234063 318784065 958445409 890205341 120582541 717173679 770184467 925517703 236316097 100772013 376613213 265164477 30161033 538813849 103186989 272203021 720336737 610901751 355947989 303160815 977197237 156296817 926242325 155537537 298281173 700163033 699830543 464320139 49729275 767269419 811940437 377696123 66953289 9680011 88989145 916699497 769006791 554647365 350483705 471914007 677986917 345622731 210970489 548249575 174568447 671525559 787608201 247645933 149867095 85084367 682118589 460726237 418308369 658786301 727896593 358404377 715300803 646718803 326926059 555940261 236710631 896890639 59437337 359566899 930203353 196552593 32470993 878073881 754082535 411391079 725215149 381429335 532477503 611066179 767792053 705405077 433420541 490820351 2768981 309386783 822834977 572021409 248011875 225999599 982339989 958026323 742771229 965831843 140190505 714826855 141048869 74247555 349502359 367713371 720357517 632219519 506376833 630490065 643177413 911379757 917219437 411451795 654414767 792740043 693910993 398039701 423705229 817359171 174523907 112677617 107134479 250029347 536726597 107227887 576471625 30995875 171668671 281500661 102224053 100594081 655911301 662781847 723577151 426979491 695854991 70390931 853952301 96956893 601120701 805470667 823271481 55444257 259857883 519664457 161349505 816146929 586083735 409822017 390767749 138785909 814997389 850372879 228163639 321209467 287063101 6155829 841803755 60453497 937223441 882798431 397853791 441898639 751018327 149240161 457723061 983569287 903344461 467164213 8313725 406416333 315263249 58817023 316132781 799256697 746942895 989861385 485592479 799730763 200989717 273920457 88713245 861071529 589616159 278982103 588545359 366091939 960496525 528088823 57499597 373585905 576856839 85515029 916604821 213412337 802008353 860653637 326525707 411277485 224930131 858293187 618294267 139861967 53078269 438792431 468333213 214264243 788585577 279850069 133739661 728062549 581787081 28974761 492208593 229681247 471024183 184870345 517885397 634656287 764570803 123058611 650810989 234941069 356205349 306064791 823419611 315355719 516503393 748395205 49494207 646447253 676694045 866283449 750577961 542536293 773683197 451342103 77203853 840521039 434288779 99833003 360042187 89456787 360878901 245546599 283179045 290975257 437634645 213218149 964836937 577543535 861803567 296697067 629385293 128586443 608017897 108745057 144171695 664467469 574379159 357150047 739895377 210435007 672123951 552574619 318718341 628649997 969177237 231075579 398070011 250137551 62829201 625633675 569948885 715760517 163313877 635652989 536715671 716114517 442044155 884674861 211426603 221150479 839498369 127400219 997059563 529159979 663665619 78805751 274030481 633384903 654858051 59028627 471663171 500552875 10109447 999408359 116532623 652260679 793409859 506153755 893289321 143424943 717188351 498027383 249080623 876790183 924946733 331449455 236151463 389983123 580404389 83216797 834414333 248912259 24139307 510232263 959659463 493939245 770475877 226088663 685896193 221902323 945970149 932728545 556747027 605555675 788510247 568996639 307637703 68670099 881337991 29593587 952051027 53049715 894738003 937438443 868103767 651928445 233461435 175963577 306656725 324585043 970458071 914906937 768194621 269717321 150386091 174533229 720732769 966587475 504722717 320614787 289021569 858215185 638951167 470977737 373230913 328110541 923960075 325721535 465756845 967026291 190358755 675822599 345953085 529669019 951811855 800510571 379663565 535817091 230440961 140708833 39049635 175663895 660588305 583842945 19122539 217989857 254240129 266473103 828053561 57686043 27611003 63014775 499310479 277604771 131304719 414507213 699033933 739961601 45233975 112421707 904587459 342370147 517167829 818643925 430282149 304352419 464511921 56667765 84981011 266446399 829760891 467562337 597609103 381157979 888681167 410585073 564496135 661268683 694865453 599868331 188388817 319241733 160504063 621961015 166785963 584004647 270803093 462506859 54648759 122171895 480357161 155473985 697906823 304066537 668704477 420878301 459772685 306398479 22257335 284876171 920790951 74122283 290046893 185794747 961517337 812500133 20413845 429706253 240726419 530789257 147170865 697003071 24138151 952916625 319446059 566602049 666977109 679456029 905350163 307555619 744268545 242777393 82807651 668636963 850658937 342712959 829266811 170969761 469312497 155368797 308418215 369238059 714916105 738513867 454156565 213896817 130173889 146281583 428177889 257589587 971044747 969908121 850814475 386246353 89057851 198127169 929039739 889375253 705757455 816192773 710891525 812494967 527250345 926127405 148097121 110444653 228682011 866408361 93320497 63146143 199837397 209030669 636204027 195823829 683200441 346214813 779904051 565959937 179117321 435098683 399241267 79842883 111939957 633531259 656125499 299015131 954512911 588475795 70420341 61958197 704192855 305381985 199544559 159838179 592964657 641187947 338502311 697671843 829211369 387208675 231516283 92946007 479480375 434443169 227593015 138270729 415723063 340878369 471088009 524917997 493690735 278259339 35759885 558260063 462719947 456972721 672011073 813304801 954953633 429340935 121429651 617002527 240628909 158699949 457130321 94033899 999937301 520111469 191705779 429518915 970929255 378857393 142158301 928644681 940358297 146137749 456646873 375562823 214950661 6280663 907118485 828726961 823725427 192559581 22234347 369006371 991888143 486303415 351041951 230965089 43901297 554752285 57789271 423118419 397262225 66432877 2447783 483953423 569358553 985704111 504681735 116583887 543379475 270434195 569019863 405823735 686269559 127601517 413750625 526485521 829779617 91327297 435394775 522144977 818817943 794153139 454106193 231322131 526130627 475140369 448008659 333140699 828915711 544658519 321345603 799303505 111849605 152644641 982185589 125850059 317312507 782045877 401258015 830175683 29198447 768377861 302414565 500408541 72745557 459836073 6447439 168362981 953356683 861075677 148620239 35345355 420776535 909893001 717919167 102807215 806304869 495962431 835647069 654301391 729192395 364310835 449968085 146653083 692098055 609489477 314619449 122077347 286796027 820103677 686763135 103355555 32815097 87243659 566512523 710533247 465126577 22780101 641170213 561003587 789302341 19102507 329492223 282730529 591705143 45749475 847472561 698643315 787449719 488697789 571648447 631517119 230450519 297107505 520665743 295997871 811535511 523795037 301501811 397499925 419252315 690719497 47255717 241319661 91799345 190385827 29379143 912086621 834844173 131948613 148107105 614666667 869218637 572631723 197890789 853362255 265371061 201678143 946602667 48742115 313947509 100110607 545678965 935727657 371255073 6980561 204613869 965770253 661149877 430921959 621128867 877254305 997612697 387593815 271616787 519427875 784333463 134306767 483752345 539619571 51079397 942214055 151396483 635096223 846983459 853430751 583639553 499640025 285284179 799192349 292277035 125421437 560239331 860599731 586440963 922629261 87395753 261245077 701676403 53289781 915133667 811734627 431636043 392136905 77638709 720857701 661661765 597253057 414918315 938438027 613947395 850718405 926274493 164011371 82596109 731679133 268056647 942746949 454661331 307530301 404266383 456179967 668772273 420754369 865655359 958195241 727865831 952781163 480063345 621197051 456782495 421354409 972901279 418389843 684639465 707509001 490772399 821910457 85526719 363784011 117944815 97308251 16171523 740261457 777151251 506283027 572853627 541390629 882293563 91106141 371593181 836669693 335235303 552612195 602435775 545006641 725013515 232475377 696114595 982310213 830616311 408096643 741623025 178362853 586183529 146996277 838667005 867988965 374894473 204165837 555599103 791666239 694030561 60459709 880188441 241013783 739582825 953379867 565791825 417919417 475628667 505112743 422994845 716609941 150563297 77662921 42664147 202000713 662613699 226961037 376728243 144226969 105865915 989725869 355076843 467031149 678929089 296238473 8880905 178155485 939178559 260977189 842599815 974324511 305651201 38964531 573341381 368897177 871344955 237244935 549123597 725346773 290455691 976356261 341313683 251213449 79802103 515104689 719294573 20761997 4690667 757904251 331754395 608490471 385033533 628880123 322398987 621885377 576384041 760610767 785062795 204339053 2649173 674071615 294873299 898863207 320389585 789965369 615678599 395513941 386534669 374636631 537644337 997145597 597876203 228907221 118405951 693436503 442624173 79405213 512933901 117804925 483160833 972707899 144267993 354356657 234255613 40173291 53914065 201112157 453204511 226663815 171341059 706236185 779236939 420956571 22203239 522352795 589589197 836269651 455008737 622001611 566401885 110073735 905944635 79229105 59952919 885986487 680422947 138047873 545963393 341688329 500813363 420184981 706463621 367943503 149743855 848448627 794890877 806488317 687478717 841552581 832783651 788354355 880518641 351265119 358209693 176441529 532220865 847228985 459422073 239727103 278107473 381309307 586715309 662166555 220772267 319963245 658684051 290791371 525307837 508976259 604018675 546283643 748346209 368490073 143247609 422642485 506966619 487492785 76684859 68337073 97431889 490622839 97741751 753427281 756168405 653092543 847728079 317919259 497242723 805659587 370116691 430959549 249177945 252243943 596412793 247015057 551862273 273023925 711455965 691310739 846023821 251071457 399173251 436757613 676444181 688234567 245523931 972152429 820949403 177860329 154530999 689026441 422951691 204068597 626502231 136135777 87161905 235872697 405160031 946060863 961299913 74621367 408758749 584723471 752211061 811349387 95737925 975170409 697526717 317675783 18163317 49987981 788111635 586811929 549686195 920151137 670193359 354060255 2086059 341871991 583857973 687925149 856637555 663845635 960401259 864153531 104598919 485598949 488919171 15908047 511416525 312212901 153402999 690906771 85375637 575282035 774051113 678246635 95343503 602216741 792845665 350466275 675704285 691941177 73361361 418061229 661130241 596537049 397968913 49593763 57763305 562326227 377588131 626507593 805520363 404498591 772138737 399529549 150883269 218853723 168848459 163389567 589962651 657097935 398097643 297354461 726956283 465359465 840357363 306676871 833078233 299203137 427690347 255761353 639066001 240268313 926870339 193798425 914657773 300628051 270367833 664342545 611515927 62710019 805208425 866647665 989565347 260108509 225149983 94597929 530302867 709534787 436694539 493165385 162774343 410140729 466211751 667477775 675651471 441312113 180523859 880098523 595327391 632183617 643003995 369368635 301723671 858101929 621149167 771823329 787284983 772039505 397460007 391688617 234077107 745258117 722776325 571363221 594026011 721197119 654972785 714750671 239263085 217773597 719581247 840446383 739596881 477398119 187162919 668159405 610491089 220742413 79731659 141894251 181627749 900608165 858679985 596247223 17562089 622331245 114856527 685389187 771825313 628051023 179388411 725340907 904978749 289811417 790841591 861444401 100143055 989778243 80298859 621686721 516560855 902675819 424298347 807413295 150758201 129348567 549308399 289861427 785635651 658057659 765470681 542252469 635629993 469688553 461902575 595732925 113315721 285063395 543565543 865089919 145375337 422846417 702924373 519052375 41076021 736781185 87089087 708657097 879033155 262902889 357416589 595267197 632272719 510860969 401573391 800272201 420477057 361124619 300202109 255606823 72808291 2340859 199783421 526641465 962772717 747813009 192404883 380728783 509019001 898630029 519848499 787113815 51111887 479570005 943977911 551031407 743568413 932420601 857912287 641813979 99776245 715830833 497685331 227229571 486497879 487468635 275663527 37071229 457289383 989410431 201825619 321436931 570447793 842446925 226109111 335003001 548820909 138085403 822075165 868693865 690395191 615325159 55196855 423201673 844662101 860075611 580243615 664999345 307117681 893643205 948174293 686054375 831898469 912105245 408012865 968101203 547989355 256758017 502461879 392836427 596856875 572482743 955319533 588032075 713305263 255532339 691139719 449007347 77610093 736454663 132274703 774294799 968330307 974648949 489204467 368699541 376857975 328650341 426032525 655176349 45640375 789002083 957708833 322325101 605771541 107298731 321921493 826424943 454135055 262586135 17889213 649635125 65209741 76842035 928657359 987950715 3339481 142015787 330454511 970018343 40850347 383557335 719086309 240847681 163826207 211639733 30660963 665987323 181325497 19264753 737211139 915933109 822514025 887417685 727433539 739084271 863670913 301474907 957003407 77022549 418668481 858255649 634650425 99465145 49112397 47650671 332661367 608413209 472139443 763972277 322417005 298669973 403698663 221254407 273131043 328929403 16330313 754113065 648458379 947594557 265833369 60646527 591806335 536771959 795029257 158330393 816425405 743580395 949554221 610099117 667588849 621570181 441785347 267427229 532732587 626499415 598610413 766769903 296364391 28797855 506097851 979790417 24066435 791229375 467388835 806851355 106418761 582429505 396245825 910933069 342437097 732959193 219429017 453525903 796042113 373207139 256132633 398172207 529766925 111197665 232281753 208046115 783308665 523905151 28503633 315186443 113541269 187345553 999895019 959792945 764627739 314699665 242556275 292935297 521114797 650055969 873453917 69424531 19086803 675055121 227880839 689825957 631139583 840903503 545520183 854490275 586406281 361666297 238173463 703989783 692095155 477421393 493409857 730636859 488151719 894258629 558448431 135897069 152635765 974630883 477779913 767300277 612666903 103254637 884609881 56479681 68252015 548951103 284361621 470468331 957918021 605481323 588366747 36422065 88116553 784921631 637343473 395990071 726719511 748264377 803875973 126585937 259357231 468150205 992284585 256810101 322946299 822577363 33450779 107000001 203748811 659266001 685170179 620598779 503618265 406166195 506079981 191367317 318568519 475415449 491403467 843617191 341346589 945841103 541116415 759635949 485892683 368537291 542199629 117367503 36358061 466082597 542519519 46501215 661205763 450068899 630551375 140425553 393142519 721023533 118607511 696684551 690031641 220166875 979523357 652281221 563760611 209648867 847799471 302340477 880464821 4060075 503270273 586306117 890932699 835918271 767437617 381731293 961371267 547896273 676599749 505577195 679242441 113545147 147459241 787104191 580573101 521142659 601158067 332972881 339485977 550757459 697960479 956608575 438853853 9661821 679996821 943754193 219880881 103610751 511562527 255497973 610338875 278681849 213749813 786041157 654756863 450670521 105642931 665686015 383083635 107577265 389543133 196462343 704110571 959909371 155440225 108064753 939340973 743357917 641468247 576738547 326767073 143349185 977933879 239676905 434398359 261751867 834427371 153943391 603360967 561910021 76984511 443078529 788669015 339014145 151652199 773923625 518320139 475903037 435722241 333589715 565682839 355365611 399265555 955666855 219914645 46272103 871806089 991401079 34640517 60026675 389690551 705539255 657768911 595379963 612747103 763289479 710074311 557307283 317697697 548675761 119070627 43980277 573849613 322742175 622696585 717724995 205747095 590457965 479222909 486300621 708971167 572033241 616104819 215042049 276063975 501653833 168415813 59392381 1359261 653472205 57216945 609867779 102284375 467874589 607135589 532614271 445101075 537115031 231892205 402855941 66020917 686624323 59449543 981626063 842104713 601013201 632504145 871721793 368663879 439659925 616332245 998985445 819725835 643826835 537039237 51936625 567508185 272371823 608922235 933141437 603695649 651599479 197603509 265259213 707890359 720093863 456548639 604017359 224538327 666016923 222030475 196223507 57815335 492104857 262003887 423268373 571278773 452874387 532750127 47622265 679974645 995196193 915231381 222450697 546387653 363263615 806299471 649113019 53194603 70529429 981402295 871181223 721052307 155494133 410632719 624857619 955002451 825658323 341533057 263559271 626527271 708093199 551692063 75569209 597078007 879530545 583570399 229848133 590835981 767587433 589508261 370158443 617268513 212992909 249437497 601524151 195087183 225469725 28495181 767462239 730139931 962816319 130013049 790520765 678317427 93929923 198023233 922752081 745183663 981750049 633434379 608020427 222106761 386429815 503975209 332480763 314460455 814158221 860311765 389459423 132878869 374312401 873791025 563042455 443274827 647651165 853025349 204438129 828144677 321859309 23883779 114974431 524914793 870950891 306778435 314068603 758192451 626240869 267449799 530565131 772143945 7511313 447574585 165708153 886834807 589527633 446015275 813555417 899871539 220078889 958977555 252416867 248143691 898950989 375255123 273591935 447194357 806788367 142176823 466975924 347925451 771983473 500243951 277734073 470957013 661933593 496729235 910803045 830814337 130212953 806535973 786153407 625997729 639640101 304514447 506191345 287177845 481070621 594868129 353695823 543744671 158455689 417212437 645818707 219333937 103357785 336178061 893899167 887782301 405963555 559593361 463824643 847930049 678149159 863329169 277001069 252886497 222349899 359203817 72980987 59043757 611204383 564927193 217310703 508544311 61194459 768989579 478246325 404825857 121300829 906910479 105388513 732018155 876219693 207381343 520804909 260651589 577377401 18362973 66563707 767374531 862836763 435209423 18485211 472478595 724199567 706746731 110341499 398881547 254275327 932927431 613314489 360268615 282097207 64131429 749520663 280285837 158024115 851737775 268820803 129760923 76342925 653578229 874358285 113418131 705909905 484444271 894163569 107987207 970489131 864158531 835473811 915675879 102865011 449778293 574835645 940757653 424481321 283761147 910693733 597810131 661115061 649615531 282371107 99641809 952216611 880549703 499393467 486357025 316934957 216394103 242077467 114184643 658752561 723844815 827898707 836171803 981814329 909589959 807125663 748577271 893839343 282677439 541403491 931605131 152877743 954739971 551062315 377265781 470453111 386150337 715570089 603283131 535428589 478357269 977146807 411179465 945045345 167740669 201451611 410455667 541415371 782275687 38409149 668085499 309657289 306638881 938980403 588247041 919608995 299581923 107303225 212151701 821386567 413688659 53247087 219768877 838318927 359604469 105781923 662016419 958564599 785882941 987099335 395904575 652335913 56710533 498284277 193497519 439828593 796971277 814784883 34494981 210636811 952365053 323104171 549901505 545843920 754018409 287528751 718932421 886212175 920266055 686769341 251502179 843078065 141906811 822397237 978733645 23996623 509059279 776395941 14836897 330699561 836463857 831344959 772775651 888495845 248163451 267240031 589690883 298910165 910494705 67327879 260352853 695623789 724689081 324665699 584576917 414202061 455508007 243322565 470996457 386102717 585145969 593608619 200794335 922720685 230898619 775329333 20241259 323375539 239058703 352779185 813763565 717771917 500646235 96231827 617311525 694423973 302468217 63301745 901729607 917931529 972610093 691613461 968052963 567483761 711194397 435508581 635332087 417723195 688335323 756108661 625924843 840655727 328829923 220908163 137616777 284506555 349422739 988040177 17803273 949462137 857598005 615050313 789476359 81126309 945751803 644204095 956050311 714428393 171743229 453319599 852192247 443919761 10516543 72716957 411357999 652881305 808934823 257985585 768240233 801238171 555033095 199850433 699928395 628687843 586946585 167910855 393605347 710935133 871473279 566581991 13492389 122485665 578173121 611300587 804530031 559146735 287846993 968671177 563220103 989567533 861839239 447383193 828274329 995500781 498441383 730156191 324152505 314570595 547671767 645275721 424067433 655160175 361232681 162398759 532828041 820603801 567093143 389842421 852059497 917288465 245520387 504382871 39212991 983160749 99970869 990436887 566308005 905130731 18357215 385325227 895805605 956637941 709277593 857137579 753657255 21692569 876892133 816979869 3612163 154043727 893616429 700096041 37216631 983076405 872953281 859474215 384646695 461188369 541455579 396827533 631523231 860716375 815642013 780926593 610554839 287804185 804219919 301886031 306837547 675117083 401442339 669675369 35877985 580604095 840182961 382613865 851036067 741151513 756471931 474250773 660607883 653926877 824213803 42773589 154227987 696149869 176763473 645052737 282247585 666503885 216518759 946337039 892882947 403034799 137424845 668302375 420366191 402937961 912265167 630049295 47401599 36661499 385104285 440284799 149318715 793777675 640028495 272156753 995469071 360260331 468144871 166215303 951217105 80698767 793234765 189896525 501952191 457427351 745150807 405146869 77649533 861493067 994673335 160763645 833597719 442954395 990128405 893149445 383378181 20607005 191400183 421563867 215089185 5753359 421565645 442591857 476351157 99802971 361424371 6102243 977349225 754621071 347504553 406575475 185535319 586241251 967797273 655454605 588418809 729580851 838416209 576785605 182755125 990468363 56490063 259033045 193185625 497538457 304496115 101100449 36316953 362977457 465767427 490658867 431064467 215540181 629661749 884832703 847503949 712111917 512522525 908503457 544217139 85158021 562550081 575139163 821798043 540824153 409035273 975777177 449547841 777996483 277469893 14238511 289903179 563682447 39304621 36930583 987131721 772054057 793205479 255834741 995606059 826239145 28729719 397187475 184356691 242735311 560992339 631484133 290303363 606251521 256584527 252036873 394372329 40306511 180696113 641079485 413982749 853688945 961431967 352406511 630844695 338576581 797524013 476187827 265377857 486990931 872458067 525522499 64826727 564573387 969057393 319542275 815745725 717011587 755755473 380567679 880451553 168121721 56802215 637715047 740168919 20202583 179438343 886565787 188560143 873344363 924246263 581570073 674777181 129177005 394324829 407675665 794293757 820898747 370771981 333171667 310152597 180725467 103943101 792944347 551788595 545820161 105038611 698404045 468103501 645849279 537878419 928846709 767252925 240722519 771886257 874356419 69221579 375926961 470900423 106050519 855119651 291754841 718883859 655815153 16128475 813469323 699178945 346101115 557573489 904602657 609170147 32780555 173086409 636540071 475322223 213845085 119278127 211085383 282637129 562079569 279746651 891858911 110159675 572823797 610998121 730878439 651530739 82039931 476604893 270204813 988706059 237947965 889106343 386991515 803333 230737601 839395097 902372747 592955725 11572145 584205299 394861179 979550511 178889439 872363609 719166003 780181735 650227529 133059545 591227427 653516183 582648335 939789927 209282655 700280649 613008255 413998945 772162219 236385257 25780235 206643853 955990379 622813271 978314063 618276119 553079983 390843215 16732429 636591765 689157421 965129341 216562225 282063363 627734855 543277939 377680847 878564041 220245507 897317031 898636319 704870321 956759567 245582973 779879817 140867059 830251715 614758461 146951061 308702761 474778399 487091993 149697527 342318941 542357195 379534121 831460235 284062199 925864213 653929583 904517971 992218319 750740979 539836373 350976379 581099555 525713157 792310827 483808343 984958615 51632789 671162155 325365601 954773561 986229901 264713847 734392381 403484029 480477577 37281943 255357365 858455617 69089223 552562685 991268029 607777993 447502383 982947329 806032241 935770309 142827341 914941925 539539477 41230409 776866395 702831571 952721937 414594769 853325879 640142811 458470139 581845059 689979497 102868727 661334925 146093549 680304159 123219465 480237739 618961797 44242739 645053145 855574111 318214181 127468321 122165015 455219935 617064789 207940115 261528417 194204035 440140289 300857303 505452083 488432591 464843135 553273573 646005495 33020017 116057229 440503129 236775169 526081593 777240655 868704767 491057801 206143267 481350481 481943875 859948977 568316755 304055947 388172351 906679681 443611157 347499609 447504303 924639465 299199193 655542655 209903867 949632453 246668351 249899053 367492405 429987285 4459269 116320501 894543889 301906883 308326171 460282327 262217457 809915423 711774353 719419705 564313561 294173795 865191587 599059683 930166907 37087727 630238903 902540049 807191853 881398031 664093011 190656347 815587311 579842033 337137455 635162057 461150567 473026481 543890469 999356871 717458405 695137103 883321909 124345643 547705953 518386357 477440143 30124849 298205561 569440691 566915205 619077505 234886773 70278915 872256143 85243173 768175171 93096773 480014677 889194901 810022013 822477315 612088477 249100715 29930591 648431793 4483679 980438191 811994067 599741861 420701621 543207759 984105575 12925215 728155617 314840221 909946963 115748429 732711759 937871641 335099763 690188861 617114257 571424167 669944915 710308583 17643365 452596885 259352351 758917169 989451693 424217751 469620399 919203039 174991475 632481227 620742533 454374821 942398699 230892725 484862659 948096029 435194223 845586757 607108925 781341127 757140615 159453647 496277607 648317195 434278361 340869647 574865249 434567741 868710713 788343853 508223475 846058133 529544101 663165363 264378253 260279091 348628031 354432151 285229637 110276129 143318353 360025655 207998427 942712145 891711823 597419099 16934581 265756061 396187605 775736363 322928867 897053123 817210021 757190975 278191389 131976049 274470061 295453333 696366529 634902579 687934717 30624143 246317527 845442183 323276753 354542847 647604751 302752459 662890379 389579799 899469757 325353033 232014267 223238003 319253989 882002995 188511759 97419293 290139177 96541347 400082277 916610687 612208093 806467991 351330497 757913965 148316919 878035965 222294603 371101479 255584019 59179169 83222105 299269713 186723453 499766593 802188389 935644921 453586209 466862971 21407763 382815637 178532247 508440025 41507375 34559999 276748833 144208589 678304169 776418943 853731745 62499759 230114463 722405569 691563177 588691395 81710421 377994971 450109555 738407215 605614901 252192841 65980377 881340933 117071313 569343219 256338533 417890111 827612645 220849699 144749383 341111231 184547925 136098193 485181013 308662605 800617261 852819031 16457999 716103067 968468639 965833727 812702107 99556675 842439685 477793137 528940489 96078531 509775589 736896005 183068689 900303751 256591335 766128249 528189073 195887839 200408547 460190705 587851793 714734343 337776335 215120123 526639359 376243227 714808531 862679179 323542133 234439977 16072501 611828991 756162351 958069025 816633709 276513565 711932567 78241243 923280917 92700945 437392827 587965211 7317487 3602799 611995217 871979911 753527525 943353401 962179003 339317681 929573135 589343183 533175805 855562003 158976421 261877249 384491721 602178831 891377161 40695557 802249847 494884845 74713801 412115573 651468547 27699165 421410455 213234777 154359061 820302331 849229647 883802653 599916799 108327239 876277491 390303129 221811637 246421419 867924143 83757573 196378071 366448375 793760725 691971339 685916333 24799719 977312483 364717495 42714919 367803159 240852091 836495227 693201627 312758805 444669543 963622713 526256905 385625681 448903835 728052789 363667351 270205475 641521715 957993755 521636885 343682509 239825009 121076991 918879419 246890615 24470465 349391457 677441383 298669365 913479863 277285925 288919199 888088575 593955085 314197657 127104663 720132279 33937063 587327603 472588321 597166117 536993935 547825613 258453953 811181817 606982137 948386095 705699995 850398927 426782019 244279429 46935933 808830759 103379691 45635621 863189475 102527595 838476447 879954891 92864231 492697323 984216627 495820703 912064597 102699489 171376289 593461547 265031577 404426861 735708941 646785127 657159883 134766747 766137283 245303983 918420395 619908185 849532211 257926087 117710497 193506435 720912635 778721501 130439097 624302553 226375903 766792585 760057773 152816643 776821703 55015109 957980379 637543061 146558665 476145655 11331661 630354439 347912737 364319723 320985773 992073401 601728559 265508827 618959191 103689207 143111295 182278239 669343049 705089775 569902279 173576829 190466089 618448317 850673631 613696677 475092295 842804321 649702605 403945899 583861915 211136963 323598779 879741899 781195203 803580087 720751867 452472237 958531335 866815221 772319241 199032155 282658901 251599389 37930123 397465931 360891973 755262137 673722183 9467229 40302873 278032187 407142197 789115859 660766643 810181885 318024303 634651227 640908967 385448255 980545845 502403341 489797419 682166825 993887991 746682209 39073819 220478415 576380743 190857537 546144003 294242087 109877981 949783545 28296463 246428439 176531105 979557693 679148567 215362915 14113433 812986921 78838683 118706623 109833981 520466503 668629441 8386757 260867879 647990401 695098971 909930227 899627673 286495787 124536285 594934709 336369151 72779781 781765735 603783773 435771437 308729141 320438465 861179683 965929243 560919109 243793243 395246119 596898033 99760683 770955083 220376179 267901175 357873989 916588879 535946489 809637025 758466649 563119313 836061073 977061003 310537619 701641951 836250623 124586871 336581001 181257521 999508713 187568465 169603641 818088229 826172131 214433325 288011269 157724867 955490147 324021573 816677567 187033017 60273613 872217595 84815001 67382881 464175209 501011679 907718959 706721975 859451753 897169055 737657995 948650853 997688293 104985881 794420757 777581751 314308321 178427471 563759015 809721769 209155651 977856365 242231417 701777621 1782237 446204359 336382517 202471303 712923755 567083991 2796519 478454443 628721801 689264705 450219779 368656857 616729029 430362833 387736681 704197713 38121871 965939063 835341657 820430841 829435457 469021521 116320901 816695907 39626265 622259619 658804993 560278979 918632515 711196373 418258761 636400121 416905167 450735997 241621061 386317197 241336503 665178965 186940479 793975471 798566109 373098049 27085293 38828595 941331209 166772557 534899055 850371741 922952173 625850793 631399751 820755729 345007905 119410613 137108837 884440159 11837479 314266607 773423643 994013183 126658409 553791495 435146025 990047503 387133239 309409229 810746545 207408981 608686285 250014269 58050117 473564741 962499399 890223741 540339671 290827761 970306227 215176915 490384581 694475803 415250177 269391799 878626003 35803947 718682889 206969537 675073329 800025391 269070221 92562359 280718707 896997597 232230455 982539139 381791893 433456791 425158295 514300215 524295165 537736545 318534951 439944977 927485049 27384301 362039369 2389361 139621181 111775121 865279299 288953829 271172841 238544717 199648587 694991903 970487423 760527559 979225719 164547833 688439405 783533905 957970633 892565881 537787785 722620639 158053163 564709833 66192913 100992785 929214573 522867773 567521447 952352303 176302153 664088141 598499165 373459497 551934559 437566369 693949091 946048915 972027707 205587201 539350619 256911537 502457163 731619681 544804039 984795239 291965931 149697245 238853527 86198085 747513435 732357559 394020061 871231107 767428805 966584155 444593177 280425725 672338745 777820507 523837231 618048063 503557807 840150645 577378669 571892597 525032973 737345419 633265287 531106937 500437783 114068647 57756061 853698759 683970435 293294589 197657135 451744905 825670119 966696169 354214703 570352011 7478467 177741549 983817201 896242761 427878277 361342647 369970483 815273181 666782075 880977685 463253015 131168275 638512351 425727495 963118381 304779351 505413073 24765871 494389611 813761729 698529627 932294487 208000299 540954129 497263217 734323317 748418871 858616237 912875751 682175393 150053303 415912613 985152643 99531167 76110147 2812593 116494829 389501021 922657241 912069423 237179827 422104043 790697949 86599719 738118483 326769541 407275291 999399753 513443883 692930191 631781323 971897067 623679623 820614035 863089545 506931467 51399829 481696071 35000923 739134035 116834159 22598019 824029613 942577937 681307673 717382733 68037459 213894205 824783993 306477773 906654863 914496115 753295971 934624857 640859905 166869247 386128015 140801387 145237433 748326095 470452637 73417385 783695403 931840887 87686935 100707289 438141751 871970361 238048367 983270131 817020447 744793853 661204479 961533711 167177105 267219279 587597829 436646771 741514915 747173739 343442861 691744905 192305107 139890475 852935689 855240931 277276163 279092505 158084881 352824893 35643269 753188197 93397157 463547517 342752521 1991909 844973967 450735273 355068593 558762009 526871169 567349753 862735105 953261095 748281107 229843143 177574371 82664929 393831625 614691221 627815345 824397499 577709065 558118925 791375909 204146645 776675109 126817799 548663653 965533431 490591577 838859385 451832575 223693199 465951171 986714763 320997607 916862391 489451117 102615685 869121147 379522861 541882185 62144731 371615617 253323351 618673455 319042855 943377189 599515459 773571297 813843249 536954621 386957997 722004489 900356061 168719365 837135601 527509049 289668165 5361061 399847703 593102823 474923169 539411623 372161485 858748791 317153107 613557313 164306027 313104945 375823337 444080915 314200561 614590791 85616663 519547935 411042823 658650833 482895539 184187861 490971641 352614097 731631303 808679687 832918979 765429297 102691449 491201525 477853951 37761985 405015583 639194947 398739959 577514301 646598961 820268285 941644955 366747201 242908503 270097307 437500801 662017371 758061401 162714873 346363113 422736635 653774381 113727325 116945849 909051513 752825323 855689331 96746627 814278935 331984599 152503887 205931641 5943039 531736157 784479347 940100737 188917825 134226449 125564095 516736029 92445657 579617453 489301123 451747453 99485347 338152213 640988019 172172155 575033453 126637909 388514991 94230675 462980327 422318493 827211193 920507887 305182377 295346507 790430591 157898589 256864821 403686371 450352983 740340053 474518261 419471885 824317439 737378803 127386681 553819807 96887961 867695107 430853691 469483411 407411639 406168561 412281115 708147471 627673675 899159767 340738021 860150361 745886899 206373233 429315975 204558569 773360051 827226407 625032157 191257431 382026619 750495499 740016295 694585961 686091421 721372369 553875599 897226759 495209753 350556633 14974501 565198919 123481427 861968941 254693603 182960741 889639193 278201721 530656297 460605377 108123295 470104085 484698691 739287785 143753093 451009535 825579873 980736143 871170507 23997923 205513881 422167693 727274723 659471371 593092849 329346793 607463073 948905841 547242577 761178317 857665603 679299251 435028105 328834443 385905515 435854105 672406099 486227361 17840427 329300881 706218575 259619247 60670195 704361397 575952393 148006275 94391717 731765441 973848815 947749647 588422275 285158559 456511837 337268077 219976253 622940381 959409043 982822371 505874405 268045745 819858617 973634267 390226939 431472381 172143587 883103977 948415843 407924551 394732297 726159301 127212649 582528189 119484427 30229335 184395205 269127735 458269619 516063911 389351827 658453557 527532725 609817833 728239705 170303967 242373797 652795513 620750339 777468417 355888393 617491417 857246951 653838359 698233415 339044533 35666113 545334587 837344435 139171041 668422071 421048119 150850949 1246039 300967767 113563515 964345821 689213753 25978775 868974109 241648069 98967765 595148753 592957661 679843119 406088863 621468109 206158881 738858741 888676911 134110903 490196473 306794455 918043465 54486055 351098141 760507773 76697305 790691093 258366955 171447163 861688307 542238955 287555947 283497543 728395473 297047155 192858187 773008965 229592535 450341093 87693797 476337341 740195983 169370845 747569463 375274209 771177645 953286497 957867493 43587275 646392079 797080283 585079107 874145915 187594931 266479141 537892167 175903449 535894983 676828025 448124813 155620023 831495327 113214845 780628577 408235473 297104567 570352703 135565743 110596549 454431151 267050547 333816335 313038621 432111699 599649079 343577537 120056395 364759961 307522449 541362605 361714343 664790937 195289837 854433375 21200245 493951639 969607009 58314513 393986267 286282241 926086251 202398371 368088299 924850535 857533933 249712793 14600353 297614213 732156729 396381221 308026585 759733057 869669887 805971741 978540899 708170913 457386337 818057985 162623977 940190173 990252257 810373111 918878475 921987149 862756719 587676111 661388101 264213367 459941469 833798913 657072643 997828101 33181291 931106219 373978261 30869705 143115453 492360853 418832183 770152385 131254241 587290669 347646981 675436301 172814027 247372173 504766989 652178427 276404697 713103217 44633663 604221437 383970767 932057923 305655411 877069741 917531357 149150225 93212269 101424081 681230231 114412433 976928467 187365971 2690041 694209317 940429879 717679941 644654699 270231249 993230867 786802149 892144311 813769799 447258569 992981395 194256659 649966559 833508257 823190749 617837855 902813589 280988619 458439797 96016605 715606033 530325347 283673655 81534907 48594853 660204907 639498789 509023631 985684293 557684679 888580459 118625175 754683281 327912015 368003933 273283447 640082385 867603895 910740085 867971131 32070901 394091681 364434773 247172443 440075923 659062425 322011595 877363123 890466283 530030351 915336651 977991815 952887011 952023131 812517995 156538503 120069387 524476607 459289845 139355335 284262041 93110629 32783823 373584835 627147119 125395805 489475471 450905697 277853715 863035553 295736303 339167983 253754037 209282321 808221393 944359457 41842729 847517561 617566021 791172631 389220083 245211271 420195961 13864785 501791797 487499223 143374539 494117315 479719107 245333225 945639101 350893501 315622931 389599783 673573373 36482301 148467521 801992161 137659483 359545259 33830425 548285777 268022483 904020817 315164679 111834519 390475913 632728039 425617187 323691711 214493639 654508743 546094381 35431607 139842817 863047099 214692491 320098907 958507477 809392619 338935631 564875371 440552961 463355121 804106797 172037263 909340789 343792581 18680709 829560923 237530689 467853265 954225759 126244935 294124449 788335073 172343147 484708019 401163001 385472809 326731263 470215915 597014485 124996167 14079771 664399901 491723749 386632769 530377317 367732837 843609609 354512259 916933421 836872131 130380607 533379811 284915051 88499487 469793207 746707613 232573117 57491789 465648065 187508567 115630953 170645509 302407899 507928353 248386403 245833447 963125925 484763243 626066237 310947453 438255085 61238039 36299067 372693307 24574883 629779303 976494655 464299125 822974951 439819017 787492573 920814449 311693561 729034771 647090761 706266709 336851013 161304067 986366821 985056565 780741469 480178365 119040439 310672137 303223039 5340557 159511149 365857969 939734027 826993707 751708511 4681719 753222287 628646835 556394509 537580685 806796989 618194347 67886749 653809933 289673711 258755837 931353313 621951989 327552939 136711427 256157517 343566003 461949083 896011383 873078785 902981267 428515731 577183359 741419973 929396691 998773389 913424297 23251721 70454417 384263083 24647403 74580195 395216343 248834619 107027103 425318417 283405975 875969967 771670413 470383613 444116139 110458531 388833249 560188853 504006097 830376409 267297841 14731505 239427765 315519293 102737017 588248847 988941801 220952803 993511201 742155799 357869795 482826245 482947059 361379767 775044871 196258311 160121639 252855369 525264029 226498931 165112409 799156169 513200087 528699133 439361933 449907425 241739215 705682561 144091699 742984157 540976515 821872131 449997341 837986233 243836127 395183787 904404619 164462863 419009971 220541391 996197153 123871019 722411707 420315113 295410925 222207737 119291029 181937565 770100067 777333777 839716043 892090549 748601185 8154035 367546575 380265253 694146605 614150597 952396537 994537483 930576499 166744023 188402059 24359589 691326793 371363873 566356911 265756001 183842091 987730051 220902517 828546771 962125567 278412161 621071833 750062775 441051925 311579469 110925751 860297453 586440221 115786939 105720541 869552769 426108985 94360143 347459067 224204457 308093931 963665197 548388009 224574397 555385633 34006565 286451819 720633411 168351281 997847727 537703333 276541923 613678297 661991911 798505135 752776307 373967677 636642713 258355389 330801391 460617963 974468403 421453041 83325047 252960215 228205769 637921623 448499545 35844957 106668061 231514079 659917317 774010183 783284119 860153697 988357147 312784575 295106885 950078623 726381915 186211161 115482077 98041667 222289071 115618839 635635137 551912669 443537199 677539417 457703925 73481191 375422737 423952111 507075371 748125379 922557115 445378317 449937081 147122359 800454073 991512913 733973919 730536185 375251901 625582273 21935491 841161631 552539555 474361291 833126327 31031467 98383469 623155009 594761263 929458439 29474375 176891233 205818507 994013059 989986691 870686419 536047891 264972761 457974687 302924193 77823927 181058985 508324923 37328963 369682187 77341055 575026725 710842005 348048211 315239881 803351631 745471195 35208051 919273955 761814229 783968453 376468987 292432141 8396281 116137573 845266977 352206193 28276007 382710587 544775367 580522783 789298675 127433003 430889843 406865681 724627735 849056643 229603155 605262375 57018741 822287351 821087297 435160621 785654043 688278949 985268153 877827281 743888445 195824659 865749477 44376239 172170291 677631021 285795985 125972039 259435137 338033993 22660153 168847617 807567315 273570339 23827703 336052273 190842109 817133539 5422487 76965391 756066297 784461587 420823683 635710651 371682539 18235561 29214937 842361665 68013853 985896197 921297233 442138255 921381891 708365033 743585113 487198337 892464697 380473477 615457787 557782741 52094595 42532459 148657905 180561977 497164489 63602331 781421465 3828537 376230177 911362937 252228091 249770835 272873669 263376081 609000903 902769637 755686681 138442971 785016147 49835323 443134633 156341043 222551197 144935299 464839717 82861023 917286991 788414937 595937643 704511561 700358327 858066235 950055039 559494219 33602253 139743127 935244425 680749343 634062637 752213689 562419937 220326509 167243043 595119967 70225917 861254463 78359451 643482151 396718211 688051979 999741999 568987803 467356735 432132271 760181787 875525677 787538721 358415729 217557321 666807607 207253577 46163455 196299077 733747191 565065461 612662635 169253449 867403675 956617621 335382067 48392757 553385775 73681081 351408447 111764877 813873841 545532959 684365017 386167427 210275839 669430695 595554233 129812973 822902243 855623775 189454843 561472587 747564815 906997113 480411171 363852995 268202267 468687183 334671905 909089831 589527947 903276135 572776519 791176683 405843141 143168107 539383381 289233711 2561819 703476525 223979631 297439675 583736265 289344427 182025763 91812093 370563053 788794629 596952421 333215503 822932369 729972617 57003413 964528047 767917223 732695465 963202163 839505729 824121351 178822401 409554737 823729625 930536051 540739923 756759907 248765485 355972503 341084555 114956807 310322843 804245247 295025339 808913023 808731689 334242087 574714145 764795291 128262539 885976689 83508511 458128529 200770067 146020389 783670335 230921213 579804867 339473269 328809525 937000163 279686979 760015993 940732893 178134961 492438751 354019123 290319417 600382271 582247827 110435469 20548469 773519301 887294713 221434713 46831077 84470253 837513563 597504333 87923971 577544643 524232873 141582349 28401267 559075771 324718457 761033759 330521343 672247219 254656011 729052665 79301531 660824049 794870085 645604593 277164131 972790303 16525241 340969547 844493211 927322199 769192601 279536683 164754091 495411219 574693579 512782505 628952361 693589307 555792849 807303353 438936527 354756889 147433691 884782397 138791297 617597795 461145539 198002689 328299081 683064631 533531141 487605 621040733 148155419 739621835 840587249 460941589 480412413 311787235 577431607 385023477 861505327 571763141 844797169 208368043 978008943 808829069 821994863 12188423 221232869 508195847 831828459 230769157 897125405 23582367 565317765 202959049 781247497 45226863 394657865 798067359 432673035 394449715 463212583 20945143 289137639 296386899 277165559 411119727 488633543 101542625 997410683 204673995 586686533 315918737 306484571 296563445 634608219 295942339 824985643 333065215 950204783 599173249 946611043 548858405 315830607 749154935 695119973 385614029 183207471 116541693 854504823 135935101 324628909 178280977 514081999 227621357 720252367 633256541 545061251 681283829 804122625 862344241 442830485 886611355 118969881 915524737 575959021 672708873 985297235 255767021 437282143 771222673 842024791 602088381 280787875 674595505 377470767 863736031 425421657 491380745 92355667 113605869 702469645 535390311 493679005 294203683 577365805 969221053 472301143 517879147 953321237 634984231 779778857 676304211 649202693 56903143 275498797 612390161 171405093 249826409 183397083 437906567 684462473 827478847 708835613 645979195 903626025 989894183 460902975 81663579 907846629 507569921 489346805 178236863 735406727 328293595 30320989 552138983 106235331 912507111 621936125 86251771 285723949 317433729 664181441 27066055 731740235 132765483 527429117 661727687 993573251 796435857 376208753 396408597 176352553 428400775 634469187 447135867 342201461 292711175 60954877 950927209 235158663 607342133 339307669 211296245 55628649 695535195 679581547 774468575 141045007 963863021 440085313 956187021 242523725 558639239 646415173 442133775 722684905 156401643 579642125 351476509 910488969 478774023 593317271 56912917 340214465 147129065 439814727 654270207 195481095 433141201 14625769 839553673 885817279 303501857 883495349 96601613 82250035 558799205 206282311 600023175 562989969 578989389 90797731 445333921 977711347 464272567 757178169 498839209 529863517 762282661 152302299 127066519 410564533 615485253 276044747 310025735 403537613 956010215 510937769 700153925 750530145 376765703 454027653 573417021 598449167 70834505 736023251 25141895 25936481 302383735 602412145 407337315 921747913 779490183 944474789 185088441 297624479 891478161 703612187 436545045 489078567 261383131 530444265 300091825 951086727 419910861 125703307 696846701 726643153 886725375 585022697 766848717 60886529 621714727 146178125 359359235 428314101 940979243 324375151 552057829 837870967 883998231 721753195 945681137 899131961 336039707 582226885 939712083 690501331 37385367 979518315 183700437 616125383 818457099 6880437 226414575 478773887 177782817 663174237 876700869 445937741 75496369 539327881 118825239 370848615 241814705 613760197 606769499 967689713 163042631 453436169 429451429 115656435 365551295 448976561 611141043 816158045 174833291 130193027 858378735 613694733 996256583 440752299 428311141 770205631 386530739 410699711 131442897 329921567 276061631 748435899 239475855 598297277 841079677 635395333 715367333 1930003 692627493 753313131 939308485 73612419 869886751 99719971 11054407 593127765 316521715 64020935 65601063 416384955 599030869 445891935 135512333 193613517 797228833 615510361 255130697 851717517 513276761 640553351 848930515 439422949 180559913 427578665 943087435 451896741 151200995 739159521 905554677 89571207 396331013 378108097 816417475 579668011 668214833 774442299 419787851 104381213 692434225 49324589 943977163 924639693 897052409 450416347 532193839 254388883 161532069 889860085 997984769 669195697 715698551 333858957 127735417 920340049 647662043 154971941 999146873 131037571 80488549 816441501 532072839 618450241 167818959 396147525 755037907 523288939 555256573 305697745 498063409 205253837 259318777 517468767 692231717 980100629 344101111 505816437 707773905 216111327 561318995 405835519 625677833 646582955 408246929 618232147 759596609 437730275 90037593 748732975 25116059 258514135 975296129 320876469 461389789 360151745 778493187 802270071 620620917 546008257 667634691 803518309 517075835 507367139 91359691 5471969 585257135 913168661 47567569 196523437 419818103 873099827 85337261 471139065 163163877 437998333 335631141 502292567 284795053 222383901 598215969 232954567 25350703 678969889 33378743 830113197 253399667 818099335 361275169 57107415 341140009 132807343 389969861 402886265 967435943 828050911 247526697 463129137 355782381 229321035 131434757 437372933 724939425 553348365 688791601 154737761 250409747 878142757 640753587 427025433 301924921 285869691 27014579 513888623 79990709 131389923 107739273 694063875 517755341 854575381 97028011 757727461 254452849 300692913 972079807 576480651 898448949 664204867 205959313 708655823 790140765 138154297 671173139 395733753 411952331 257771501 447993183 334701495 210739987 524764579 797964475 215508763 563418985 257415809 636286865 621076133 266708655 472013467 587915635 890136631 203572843 315078889 308918559 628501283 884691403 908572747 8485749 557115675 678621351 815552651 142582915 695425341 488843903 563907931 737440379 6584077 660085113 697021269 301627577 158231931 101106021 399957241 693046975 184970715 972895931 306381743 218288953 44880617 850043803 179894985 712421625 733862859 129607881 598105731 896667645 170658063 201020087 17107707 325858919 524844969 373215867 616256827 796646785 108318201 961905875 736884789 411429567 68484287 333203241 102007747 874250429 395899439 100118155 32181155 253973053 306512089 163941041 819470977 218133803 307230395 112772345 226103535 738357147 201434685 468005227 926680675 442962629 622138665 560070069 956340801 970233873 975173047 457443889 135169745 575496199 729875331 719029467 423007813 458554717 156668049 956821595 581290423 298895851 793218127 948179203 38780453 150062005 728467093 724637127 233711995 20826087 448895133 156264265 959223179 307188693 301682189 439281359 579487499 87899129 459182067 636859719 978122911 918485751 927247811 53315145 564104143 704533657 568455259 45243157 254918157 13299413 407478529 973163921 490519985 428661955 455008865 116483405 387037949 435674023 833346447 598601345 813087003 222346735 868700941 728840973 627751709 943971883 318157755 134723957 662844665 375071255 674978793 968326633 220075155 721755543 954309197 91172163 312642739 628464567 102644993 811802113 742498825 273990567 426321549 399375177 341487665 860276677 475372255 294464491 964641453 168028309 481912905 427895133 971144163 534973889 3613835 900489921 133933605 830184731 501687753 780220893 328897709 703897503 191766415 683290657 111868061 928604273 986954197 98197921 178263035 344140253 908973559 419643935 933585085 927324757 316473787 180222467 270095801 406892915 924036683 863067995 765423537 380508925 602819393 264710365 728826447 421118429 727763351 537509097 55715107 245710629 161826483 159757449 841943207 639116051 8702819 804626537 548291901 690161671 679223005 509693409 881338413 379687823 977738171 793171441 164165799 670185309 659338501 47264831 454001351 58389579 856270631 368374299 116039821 490487647 844624631 764536189 877415651 756398275 438691507 999197189 250834073 620956875 818562303 748465143 254888297 950919919 505507815 40717123 892382963 428539607 618916835 76758659 563987907 557619531 680255181 712685557 808584777 719759679 85873903 823352447 114168795 908533965 176601073 846015153 463693759 933979709 553521133 867719105 894628381 484562165 520528477 922260113 807359749 418141833 517942567 207534247 872702321 124522423 928099225 127677233 192795713 76217185 151951207 429742089 908986689 295424401 335083439 395090091 451857951 171437691 82117623 219418945 681229175 592512891 301925163 136015767 511549385 691845651 728736929 382494247 787872893 890699503 980124949 26842385 932205799 794436323 997955501 196688153 752907071 942025193 534340857 760624817 55261605 194570789 347414505 772469999 902838053 116505825 804373727 281579155 158394029 539054995 333431453 938023173 775057433 662437075 284663633 835422545 295666471 63377765 979175315 285718833 601517701 484235063 566439771 101003779 847443137 1770071 906513683 977549775 618257747 339671559 938973319 915703877 18742177 979163045 698404331 467671481 658210287 253271997 389704413 725908527 973036657 114916613 30469473 874181707 42406465 300257621 892850407 695372893 254135901 306981041 687924547 967253339 130255539 804833863 400647089 347596263 708939023 462163815 200544727 647344455 575378991 240999053 887573187 990463593 908368561 311995485 297081323 93071591 127919647 796209827 430556201 889649661 312414699 507915089 141120197 336402323 738469487 658006401 966494827 21177659 829797355 189588601 870368817 50101545 293817223 574756001 954818709 418716991 35364949 36755601 429364859 344251393 408272465 734667263 664748591 907735457 670749017 336531153 26911337 903299317 353382967 206597139 258274627 143912573 934176669 23754999 249169735 396372319 800735523 342641625 408180319 339638381 912050765 408309561 796965087 4805913 972965249 322767047 438897287 380871305 384589075 319278677 805044603 386477695 26705465 715690715 556561737 55054955 926978583 728093057 57406437 977246311 592565941 657496207 994614957 804931631 407906821 994850425 824118631 772229165 253695199 178404057 766610239 982011503 759261191 100680565 231293387 409779117 824399139 547655991 963147783 761476165 213837765 616764723 967263067 991341885 652151911 494420387 597374609 597646665 870324075 110105833 126745313 211782587 527497241 525377683 917895397 302579605 498324899 419097171 900176805 387356799 501729313 407239429 188042639 89088453 967240087 476308907 645780853 476208481 164950761 525027443 253855639 742094067 595251951 223708075 682772121 154025663 853990237 228668627 34396809 739307703 774931927 704433549 844594651 116289393 400016613 60726435 278379629 817424685 530760951 629307659 427420803 353072337 311698793 284223197 731363277 703641325 377474429 246670941 747187807 886271673 986559833 136069367 545530805 737631507 437025039 620914751 769031605 995755907 243151257 41284847 833171885 996228921 16142807 317354987 345631059 57659403 572114837 361146173 555088833 520659831 146143875 594220315 879373439 889286055 269752121 118314717 288507001 565507689 290867257 115162633 72271109 330091571 511744237 565891399 47096033 287074087 668038821 221222253 326368561 741085195 972608411 703564917 923092097 564557645 600287729 770868355 425430985 485983237 810537645 749391587 104252773 909548277 259423429 274623239 25389593 944437119 471341583 206432137 998946837 617114295 557961293 450031917 484031467 783256145 178449447 784604641 622321051 363324845 649146417 327876533 359113611 69086421 530441699 280383975 962319747 796063603 121737887 696746967 619121087 997555171 605766315 449112083 712595415 117880867 981490237 476908875 466820563 788315865 348932203 23949663 601269023 634643031 993636919 582509647 87063953 254655887 814692233 312824645 867920997 584513831 88448053 29107609 319296835 600114785 877576947 696114113 232250677 697369133 5264995 58222181 929328051 272236581 48681489 361786189 727266711 291472773 967462251 59454571 259656745 412079159 640415949 650178271 167349271 505483721 123547767 150129641 44379763 742541937 774040465 704876533 764751805 723906577 621280047 987800471 886565081 422971695 22703945 589752455 95149589 913321977 861993407 706930349 276617765 423897415 949473629 601760017 648292135 57401753 170786001 773239527 942097823 938190871 109254071 886560395 152316285 239339405 822989709 255041663 403265813 782293365 139495617 2761327 912914979 730181359 68391327 966943789 652583117 908266431 369123685 408395959 56432291 96332631 332858161 141704495 224432533 61296589 43031823 685372383 450424067 21247201 179472621 642069307 186434227 264458489 491803045 205807839 841292243 935029797 871416827 306887823 668972533 115039517 179547029 728842547 605956121 497659967 621817351 357203937 332104609 550129299 241464775 724887251 552800607 660788935 783207225 334881389 971263109 27500597 608297895 612513337 343410095 736772057 460717631 570871275 755202023 631867229 845668123 287074399 548212119 392694287 91754047 381185689 513969043 52545509 52498065 642311361 294040603 68579457 54854885 142565165 204239315 141436969 991171313 260761431 744277193 362388683 406581849 903283939 875515761 636733183 3267493 509229213 634689963 21167365 198467911 44718965 755049401 528051653 971246745 874715531 51401033 358993355 524086489 443031325 741495409 466409041 402338355 299832219 498483885 829338679 670827193 629748373 36975589 687828225 962523489 482289863 963690339 501783521 179641103 334317845 587502303 399618221 406086539 467921803 529715059 534869731 396448903 270709851 732709545 116199087 936051355 16987359 795406185 811473883 715602505 274328733 871300875 584099551 991654651 253086783 946202189 526875613 238560771 142716567 815883347 537740187 840372119 736131489 916648875 644616841 936703451 366061955 673723209 658044347 518758359 408099205 305294731 758155765 915801725 704033049 277442359 458208411 396836773 700635359 322674297 590973115 794866961 897563031 857936869 948028945 968778091 707948333 472192381 572480503 832696643 972014003 320061345 751678585 443202579 142737511 501928481 873369411 183078717 822613161 69432115 828039853 406768905 620101383 328948849 721589943 839319977 661402675 547273699 664308233 487561269 502671369 848059637 408473327 731638191 644622475 263417215 969344099 930961409 673823973 815332537 498364677 909872379 978893419 831526477 519689753 483947351 992325013 672796487 910550161 670053303 205946635 842736921 217519107 666198945 203735189 861352613 799737261 958316171 896214567 182973743 293959545 667296459 613939421 350964067 516669687 519595170 208782841 535319637 530271833 41783101 251927529 21305477 342814083 410242985 334659899 578606295 39225083 590233569 751873455 545721241 958351089 519758789 560499495 678177665 727424569 860196385 991939245 409552041 153288023 525835685 172815735 984039321 38168941 288501225 718963677 207084605 147091279 156869231 503534179 182458603 466496113 202778527 464047285 37441887 965165557 829763021 146773671 406164417 576774561 196863025 946478899 221645723 381646563 257537003 15942013 388655845 740888531 868082951 319918545 734266107 604110897 866152819 59806879 511135649 329499235 268075019 242797957 583052293 419665019 260812175 616923719 169591231 567517997 21100969 852355535 35190729 631917785 675420649 766153007 872192393 642204807 647400135 177513635 225196491 29128935 548718761 718925967 120614345 43408207 471569619 549019775 796049435 144542399 705868923 277128227 451429319 653481181 472750005 229635675 346577725 942868217 625524871 67510309 3599185 642942217 282764249 996639665 195994687 431123631 286235257 33337679 273873583 660528177 741976613 846086779 866802859 315210111 251189883 908550875 596606633 382395181 581233671 115151157 893374601 624770941 822572343 828012161 504565901 479198551 591101799 849094361 832878691 302063945 388283349 198898815 241786403 409245321 618692271 844751581 133176645 989281273 736833537 496300939 894805427 988347165 884068553 749088063 320042169 151292711 771343333 988817633 197847051 186393071 277988639 553101433 136351941 11729137 548893227 794411067 266522225 360704597 950095261 134120321 23298553 237537771 307782139 978314705 113768625 378318379 648349355 780609493 339165017 985142581 551767809 676813921 844281623 965562829 265550131 113297775 936444533 947218533 55155045 139802401 799727209 446088721 814503071 94843077 186796881 354875797 889355731 352345549 992067059 888695381 503699675 269127381 51411579 877648737 817855861 669536415 350345599 733959281 597588047 583745815 65647357 246543587 356920309 558505041 481370967 808302271 513914339 982322567 309900383 75234739 707027323 75560989 12259909 103030295 438524679 723977373 700936363 116503533 224502963 804441019 644306837 660258775 993222559 357140307 283999853 232302633 607334087 310008167 467627789 378309079 679388183 886286117 150735021 294338947 614022497 652266971 123419383 204134513 137648987 8458763 152161015 877467539 890486441 191897681 37571105 850185345 115901139 694471807 888368979 817833591 858015563 666691203 483302355 790356317 284500073 747984763 164034125 257396931 625561199 405747883 974960599 861683937 382092423 904426107 330270445 699554711 621521859 44124545 454178423 694629225 152369177 192454007 68923071 681546375 393686381 652994625 957658235 311550923 51405447 724035819 118690251 398562227 249281047 859775655 955946289 13239653 796703675 295061967 133757085 19569073 310312687 558203111 767504993 657082381 382840351 875209629 454856251 657448859 540787611 362112961 749939283 88578081 658748061 253254737 304548917 279633165 814529607 464752749 433101269 710156921 483172001 953936993 836291217 81988641 134496667 747621539 767835181 403927663 22412305 613010637 737986521 559683951 741283523 658715295 816529705 719115741 713174363 596973321 940980505 212996627 716664681 733767451 5012751 967183133 35721063 167697683 317193689 822304167 793989559 225783633 943506603 392351497 311975841 471989091 137744933 147639363 765263957 538716411 667705673 997254907 354434031 456223989 474896005 968091265 402474095 66146387 710847663 530444493 463365823 406082879 976882693 487263103 771731375 331772945 892753705 905358555 89037561 952448065 313530413 217126097 820404799 41969521 132504961 631371771 308746759 250392687 739944711 493897367 760331463 731722797 983598849 981791627 516387285 905096391 391611167 825997159 322740851 849544831 396197235 520003425 327960265 218708673 275290493 762183259 938016491 872299297 878990625 546652635 606328785 90986583 716310445 144280335 945169499 400972107 428134613 623184849 491676757 373136901 282992569 269921181 937136493 819289785 377170393 847336603 138238015 945497795 843724839 334061213 577859915 756664231 778168823 849115671 330304505 17043469 779729415 935005483 392616349 721346763 121559929 766422685 765094511 18186715 235683549 84237535 763884175 501995871 861169449 781464327 511478025 560762023 949762231 860389845 169573067 404055329 795945553 939813553 470416817 624007019 471719967 862221991 674211707 287923273 851450553 449778545 117694673 808850339 184050717 545832045 877734983 81544591 405991599 615976867 695570771 374345031 809201211 372545731 955189595 484010031 93442297 381492769 883885219 906355409 901342341 847034305 162294111 351687139 752173797 339403847 675820201 957885757 290097029 116570627 337393025 234658021 931853369 411875307 946225615 237197315 512211523 501422753 426165607 999080429 443058499 174212459 889954559 672640287 172693065 350134583 130250043 522303033 804132041 745797023 261321637 264746759 4166051 262742495 57194923 946048895 903295001 293700575 324894631 60185785 872904921 522244913 506924509 620527099 336327417 779214345 705691507 759038383 27667189 561002569 693007739 581512295 125923765 554135157 316929521 351319009 908724101 415090879 152554163 639726589 822640919 37793789 225209995 903800265 714683533 172264111 887140907 472507509 899640427 645724667 888595245 120250977 53891227 318000305 796137743 261739533 533646711 898464329 174682685 643037989 49372857 191732707 899294473 734450555 428787847 153399619 759475369 181719565 38559343 433285081 865655873 382021627 931859557 248242111 519362009 697790355 348224455 648805041 425584995 173916487 677463131 758484761 852643255 518548659 363317581 300967685 525159321 489426841 947055155 345973549 715873967 409361637 265216009 494709743 254975115 777384873 720388151 459871313 258118567 170714659 492736903 562963205 543755365 847208117 791049007 888585571 521714701 816083177 933544399 872364135 816264657 255151731 133682281 313894843 10414537 495634991 965218669 679865003 731568633 867764511 753012653 813300017 809519431 857626479 66537321 928769261 871529093 441575795 154939205 364544547 460792173 177843365 519263565 602108613 511873441 824316071 50642425 316054889 36641193 685965385 461486373 707425359 905187317 246147705 421038871 944760413 726940131 430017877 465119099 79190051 533881519 708123423 703154789 258201817 60277381 398238021 531950935 427517277 505523061 27614549 526477873 734782775 506278009 838841873 245453379 304439703 142065267 180388437 202824513 748471891 327382825 143843379 768766027 140831977 490388049 806363097 772583139 463962499 524368513 505884325 20249079 233651183 981652539 525981723 645528285 897733795 520709865 547645667 961935443 683829697 312443867 321974227 878836603 797764623 71567691 922453223 28883687 88635387 696878427 420440639 8757129 950328477 929448209 726797095 346441663 990258869 341491043 602436373 85153357 89391019 12103207 927698593 582314851 793177229 929327391 414370961 463155091 399289105 917140725 469674703 99762909 826692247 946981433 692192109 219283365 145765159 797924965 874018727 904754617 650806385 494272729 994010337 728210765 235540171 251891681 753251239 176385025 561119797 43301803 247331499 266633173 799658325 123689811 733772743 600661563 225568891 754677721 803286785 289756423 234672287 584177957 3476867 190634359 803341407 140005131 407461023 388817197 305496323 7747139 800498899 769913659 54547323 11400559 953645759 996019473 13707101 847893 754347057 476486545 615362023 242552233 840230683 107753469 99878147 478107269 727328921 566655235 890868799 944330473 812046827 44276667 509277137 240455165 722494337 230960287 608649627 418020053 602144237 916513429 367699491 897418601 127656681 219192297 645019543 659662233 84598871 82725715 412928207 999843377 566664005 968279791 869592651 632198111 156964581 829419843 210447667 366257727 38785427 82609211 828295763 594056911 766454737 607443501 678910757 741159421 573433163 196202197 678429385 19680791 994381781 509879897 554360579 899221077 882439273 460070471 229381445 987902427 860674601 201301653 998131621 95699123 700261 643234973 21112803 818224843 407163531 293164583 488151141 141496573 980616505 468543583 614594363 779168781 784366897 428594397 187051805 516009889 965353311 200662169 184208489 694813517 843580119 818823933 7970855 722669449 310110163 837476563 628120325 478553781 884573367 935612755 981698141 127697947 346672397 829425945 8935211 914080493 235430027 141421355 97309977 525809475 377316873 92321267 605336437 509174561 212403339 749551179 73220661 572182893 387553855 266169965 610303227 711308027 615678837 264658687 120745997 782699393 537457577 359474703 457467737 789109923 205603967 899964945 852300663 121810153 440123585 827043555 738206887 497859781 51586917 267412171 211853265 501673361 40322179 734160757 722742657 727274123 319081057 103879927 617150193 681006047 459499111 342054607 888925441 615863199 832186411 876372703 329912117 535351489 160687721 694507641 771109567 859805737 246294017 36788045 195663221 142369183 369567999 225459837 541296853 604752085 397613465 912007563 674417417 347986019 698183977 337113447 393597921 202637517 973771567 607042915 719972303 840037753 869278299 172360255 863663863 458137529 894227837 558940447 450824735 54814663 227433107 772399249 820625847 254506437 822741949 203880329 182695123 935526587 332103753 251305573 273120311 687238043 298981801 288494569 118850885 100773437 101475959 872907333 312972049 744145507 789063545 569250317 259178321 401634487 172247193 276653885 257659745 693087177 183752171 738559549 142642509 878591765 103931047 743320791 658924225 938775543 151680565 705300801 351973397 299446973 448623901 981867803 761063241 595487127 864801811 325723751 100869381 909693853 683608817 261130387 877440917 878422481 770481597 105299317 555045875 343997981 690323873 146853451 567354559 854345809 335922161 711414457 67602237 904230183 238886183 520666571 649395295 60068161 980170213 687581433 606471099 670523431 443460091 584713503 451077263 968707913 894341975 913825153 730042053 929898755 224657687 885611727 737924587 946085269 787573885 565431325 761750585 360578601 990055925 470282215 378353549 177277391 609681939 190384915 9004655 144996481 179504785 258539503 481536783 466363937 570686803 708896047 896623681 421269877 566272867 21605617 168253575 964261171 709495797 469611451 977303305 837317873 363321189 74300793 388676757 809902129 833766455 875810945 509762209 400482651 812042259 572643473 809944143 952668867 763018959 752338381 240484709 187302817 186501477 104622017 627656529 575851287 12809465 797509733 906407979 7232299 62587349 396580627 470344115 738501075 143016559 718888853 821558351 459310563 410491999 604485395 975307281 179112481 178650985 520153893 77923245 627095605 630340731 122555593 313327491 898498479 239762597 22974819 324310171 154602249 928671779 808441793 9921445 745817251 829256537 470177047 946403831 54885831 707593683 671915011 641544335 529601449 178176835 623723915 75714329 892823133 659371139 262236699 204346079 448366057 407918745 131490441 965317081 430044981 30231981 918314769 882040745 824277775 347344917 228673113 859703957 126538549 847501645 882182769 385645197 103167813 395139829 229895625 471167013 938812363 262857691 925824579 383777183 314366261 326867697 314497569 990665699 754213599 51070033 438892817 102176639 743644679 213784641 710014761 894640553 432912603 126921771 105811431 613967171 853076839 13332897 198454063 661969361 953098409 794500449 990805069 436452997 662033279 435546699 75710201 891837751 680339893 14021229 416118863 551040867 32648441 382850041 517615573 34010929 404975589 615504971 880648821 125557361 519842045 935364837 117206921 114711963 995716007 366307955 949342667 269446351 15338295 282876359 305691233 70620881 320935395 443124959 3514841 902284817 654732239 125107163 929050921 551780777 732053507 874686987 559502507 202556503 144744307 626009821 705708327 164425601 444697075 654631149 614652617 798812727 866120519 821543683 424462375 419793969 491980827 401062661 190233917 563036877 131365115 335562503 891302515 936589841 450030437 846546503 151562643 180041649 79643319 812759591 634055893 551244287 768868155 45861169 656579541 872823551 143248163 776566809 357522583 999356243 744864647 394219707 337618571 784303439 295410537 38656283 206256515 76412903 611152051 442169953 575404735 485405117 605204791 920486371 493784035 524189717 600207275 431709723 382212093 629658081 431071411 885096365 294418561 582294713 282394583 809188963 209804877 319256023 574739081 151128115 608564903 497333545 423302945 357236789 891806779 720575033 226623971 843864493 827283999 301836097 646829557 925900041 246116559 748730911 296861289 187210969 224199985 595963229 396891449 214199001 563852693 69081893 489366087 990685933 653649579 12910675 930933339 985439775 327914133 430374245 548622887 374650277 507980757 400164225 756236611 396447191 117041753 973140855 357175601 903488827 548841591 528654013 898595419 853296505 227374573 654579829 866062609 998208105 205324511 593045605 606985869 633516289 441953499 74321403 619634161 679247463 120387539 283500881 444490053 201072871 74001193 71969827 217086073 17973491 620996257 631708379 532669035 106957349 513473383 491944325 484733911 556762691 873207055 14925021 119030375 408948791 187576987 896921917 204281265 549823251 806813547 374098353 195269673 838475539 104498255 342757605 199107121 209882269 810898043 379087921 23858453 301533497 711167117 768113813 839846405 59386521 435540363 460786103 540428569 487917469 72507363 90586343 558280787 301983045 380661863 549836317 457274011 569839549 36370773 957561079 979459269 346953559 104547669 382734783 881240713 922270097 465496177 382168671 671481737 381280781 963361569 246914419 368265291 791662483 20471617 535271225 939281733 610764573 796867861 271743639 245021645 416554687 172774989 998276125 650492709 463417537 25668347 272069377 525214581 874747533 764754079 583792165 106305233 539589559 975098653 936337167 414547505 536592121 22990787 825840365 219546743 586100535 549218885 778108313 421253993 689183867 774652865 274986127 514036411 41371385 850776509 494151159 398308615 469543437 509592357 374392739 499318989 496347961 150749007 244680711 431427447 882464553 82095863 610733381 73760851 941794993 115768133 425382945 982088607 488563659 971669187 631072013 761396603 302523035 109574759 416321311 9352429 892811883 828008081 965609239 999217897 743161007 558683139 486073435 548650825 786903045 311504621 311439869 680433101 760656683 435863009 916741553 946780957 99979279 318615775 860211927 623518669 287795397 108040777 50603895 291524949 634141319 650221553 382236481 893305621 160682169 45968905 948361865 949820247 117079015 850435631 57108307 417625677 283818689 993666665 213370435 656498961 442364199 258582049 332769705 497386147 990676247 719478577 575588987 88258283 743193025 410091731 62512475 715624893 547431541 288767151 102765455 332092367 743520175 604861391 312429573 874778565 311591443 214533033 192399447 995715369 529803117 124741915 573304769 327897449 903589805 802204523 991375403 796459743 458784243 658913093 351235879 156183503 997360511 80504257 728012521 826296159 413819067 1297239 24622931 31027875 356091965 885032177 550082793 86325137 518055361 195465945 936142301 103232525 445370663 980540359 230563589 457373407 357303165 932995543 222260961 987788473 176027637 982583693 596236439 784047413 489162985 849268441 308509943 634350033 65831647 7049229 255144313 496537337 70093697 40844521 853594427 334308607 778508449 831111057 518957573 219453209 871756605 151389587 597580103 336156267 199337079 150325475 365621015 435797245 542954647 553904353 764864307 263153857 407180821 606072141 855964165 165186193 239110795 719282009 597139355 664474411 720816059 129779353 201585837 217958971 893820561 453468171 805099927 827373393 419001377 976527633 938633573 812213993 480904867 975759483 516413123 919645535 445592191 364483967 152617227 602917377 990541629 697371321 721174329 129878015 975766673 823400749 699395829 403657587 279531863 312185161 423591313 145007195 171505809 131242469 660937985 694489507 199591531 926787897 93716199 482058267 924952889 212772335 374759303 531730301 634393205 839939091 716922067 367288171 711163331 382618137 787594593 437106797 422882285 283725791 948114801 681385717 599803879 829068713 31666153 582279771 140367309 259496743 884397401 42464737 509035491 185763437 944867065 83253681 936067473 392559863 514298791 423060443 826804845 379749037 482124011 822589273 753217329 391864025 300932085 619712781 753026241 456335665 270014107 752156863 867427623 557704915 750748251 863780383 261582489 426746693 669579615 57659849 640910447 992780149 290033525 243306045 9751085 484930229 788322067 737175269 490645121 722173891 451446875 291556113 233451579 865823175 39177747 877650171 271829847 477548877 936767145 974525125 340110329 131627335 627554613 783936375 692630893 556148247 534396023 762640385 650265891 640756353 887469015 174310975 165544379 437768367 6081121 176851441 833130483 180945211 499286993 440760257 91321787 409749535 70611841 947819071 909346595 289210305 191659387 430221029 476430697 149493231 356354927 694432019 278437869 402832605 311743411 937513237 523812667 114412585 218411591 35658521 348070409 45252057 106421201 837176891 923529265 874182489 243174049 664146811 337102771 85955199 662667183 205151939 785206207 938020999 478192537 694133217 921693607 382447385 764627367 473581971 126886371 169155391 450066121 18518137 51536667 767189105 162433173 405621273 530814741 892987785 250164297 850863081 993582025 455266257 944479183 435744317 322381393 631982065 475156661 263371611 362003439 345155329 2605873 473788011 736716559 20354431 632471333 238620795 28202563 12431439 467811095 364698505 136239433 175026623 894599477 47880563 635584003 315533443 381316695 195954437 102505851 673121977 264959229 991419629 686969061 793373415 907993167 898935495 871821979 981309687 386924313 87689747 798952741 663676227 503348437 874041145 995208745 85011845 782994595 407786125 31707003 52840421 587580999 642273605 949493785 914857453 550319923 230235781 623074597 978770323 950771069 395920471 384832745 624796727 222650597 721549481 54770137 253178267 394508241 26273367 964209041 167391469 818013265 112380959 773507539 383728067 633422621 927570351 17345421 510255899 121186451 339302035 410166735 628342873 931977659 990643017 535548117 94044745 44841795 994269743 274185985 288961059 341912197 105656975 985452003 392356995 567117949 699411867 822038313 554956909 891822293 674441581 868864433 491513937 125644507 980641283 552689791 478278913 206180485 850163273 742010299 207142589 42872693 795651345 291345851 523613739 843256305 238934545 597275129 217993557 514154983 341811437 480778265 383546033 756582383 728660525 122803943 890930717 171847241 7828547 640907603 438757343 628935133 409024137 224182651 795153827 269018935 400205373 178754979 8138111 633217425 250037131 302822197 364107503 865171913 36338821 711026627 217548763 291771753 5276193 458901001 360051085 344989085 595774787 821659371 358493117 846567995 915965875 79459957 402334599 980887751 55115555 70677209 410559087 478632805 909211179 909328241 221267811 5429733 251645775 898990531 187049915 746637503 179852789 482988663 751360561 459033617 392742255 539485797 235040747 629087907 873699319 980498307 674256245 5430501 681682863 721517049 423150535 552434155 227676575 150238989 273852221 173466233 252981945 485943863 856321693 397554161 649664725 28637713 479389203 81236839 323645365 916088669 920117301 400160401 375861251 237675015 34318591 149898443 289180241 268152865 589134039 651736609 638557205 423389929 262689675 937916991 332989617 439019455 549868881 714288509 485084273 227222321 121706435 714565595 81280389 727961073 56617193 456192001 197657861 692051419 345708081 330337851 391170547 328313585 635686765 173895043 8306233 860534879 107238877 117027449 97048487 587511159 411198755 595686497 724562167 694254263 408938065 948775981 85168331 864770753 202838233 291442545 434324651 68444511 790159769 891327857 464294407 231804549 210300373 562495505 703020859 910024527 977257021 732587745 621131399 471934207 84094435 792564761 198968597 125252609 838692679 364690327 936854517 443116265 906817359 138611683 838256929 282831729 185121861 892111147 400580219 580827005 35911903 711965769 87333577 161306135 916850491 792217529 335045313 329156213 172517855 820596389 824378873 703571183 944686263 823806427 160036339 420312585 102386201 732639441 225936151 629817711 213279171 451994281 74086841 773165301 685234647 783337767 589009169 733213589 315345383 909597631 231409217 397442163 550028259 11893891 116142927 431456219 539067181 333055797 442733105 502886461 713712519 73304123 981989309 669563191 875174433 835538855 219077813 25612429 240994445 780378669 347546817 351145255 508252619 313441837 427788661 805874715 771596607 33067183 461057353 841870757 142813623 255073891 686263453 461672997 724757095 667151007 692505789 186658087 920294381 826562145 416599767 323187297 849692495 861929811 401471239 480638635 303209209 562442435 424678219 839116043 28901823 917361833 608256145 138206123 815175651 830866083 697954215 94410461 159684101 601868537 942212165 311824413 192558133 351455129 581059601 155988753 861615849 309754653 673971599 676815999 628042747 739915713 332010803 939263327 533563827 228216431 96395351 410449355 477416895 403518389 200936507 12227587 490089521 250320073 573089543 366063479 255710345 839882893 355583183 526830009 865090217 942727813 808326281 537596801 970735075 97693155 698571545 945666487 448824809 701330557 652619337 434968673 67821017 242321363 366378439 455656375 999975223 834718221 454633517 754003731 927807219 568149239 389534207 546402295 638546529 175064331 812935331 860156687 814808125 565371495 987335533 440578351 584633261 805725653 51925651 630283343 984730943 186012095 926236729 8927895 462890471 820219201 111006569 379936079 282568195 222893337 745182481 177789931 201866329 897511085 499346699 202283783 514849559 760604429 634307355 445434213 14918863 27032049 549506023 939314929 664067455 27716279 778766337 160874431 881201551 616345445 775927525 813526281 923287241 576687023 776027121 772798001 272524645 523453927 741150063 546290119 866564863 108468751 695254417 312768121 332456347 883568847 624190319 412331045 205825703 92616821 681465357 653848781 492168187 497386999 178907985 370167197 707487953 825975287 965659917 887136233 573806287 916158905 701043195 206340139 687769347 347974703 225781949 572480775 993567457 603741423 680040667 516613705 393963847 132775737 793951175 88390625 692258683 576915701 166726105 942559469 633387559 567818159 880767317 880465585 331627621 718619553 459222881 80543637 183226033 416705193 388679951 620344367 551524845 936953679 781098073 981976633 220352617 48262595 835038497 439389591 159697627 182967003 260664879 693204309 404116829 893037335 740444725 723311779 1961591 44475293 591969483 372724705 652876823 628551997 839454067 626281869 948609167 535154029 602923671 195225943 470558623 604556111 966679175 88631055 304258923 504823977 901466749 728634289 947481983 866574057 26556315 610779747 388892115 217517097 663610345 667068267 758689731 257275941 665731929 294771009 898541333 861004103 45600451 209998205 470616307 835241371 781831913 387974629 178454775 287337437 843508085 575504739 420504091 893399143 307701751 617404169 876495813 113854533 151492329 588122389 886456003 148636195 905674411 964065767 33048139 382303065 901296265 23206669 836097271 404172519 224498611 891633721 378922959 778466931 958739521 227082309 341047615 655448397 362872885 895779383 601952285 60958573 859301495 198718009 922313895 116739185 595370971 771400351 165745023 837123747 335252505 909144289 179264695 721028077 649402067 170615463 915858113 187993835 799191185 988007609 643359097 569815515 893078979 598726155 943267625 256481697 580957637 569241785 434700153 514143441 568644055 226614021 652605571 124436129 658890273 216327771 175966657 966586351 257131191 517382733 510535961 205455427 293067921 922556313 869561305 340971211 664426129 938147617 261716917 331457375 848375933 92939503 94887371 315630977 423183371 781543735 673757089 784894291 273515471 762806613 206603811 350443177 399127631 192587979 409355431 902952439 136592115 602818631 877833193 856190303 323078411 536581783 805972751 645091749 622263503 97290171 535028905 571248443 338065509 904203733 881938855 115492151 839073489 715264049 836019819 425761881 820170503 202253375 904550839 493789191 814302433 91563677 413113785 960453459 609869343 345672205 287759113 501232625 836147049 516273277 252698527 318131521 544318803 283726333 651540453 44908363 258111829 504962505 657299367 406851005 577105103 600147781 747826457 59590897 881030667 139744507 225333721 177123557 194790205 130557857 210192363 824639551 260809593 576020751 989804735 652536143 372822981 81785163 999642665 26253579 697220103 183492477 959254373 357574165 29309971 53337851 299728409 9080243 746252447 583737407 671297875 392144083 597026897 152718319 293491849 966846221 938519213 469372881 952970901 524218787 43067175 891739101 755879103 502181495 412962327 899681579 379832243 399119645 929395137 49502977 224079495 285992393 738639179 742938569 433657785 248372317 673756105 128252437 860188715 130835805 852874033 486098337 456904239 97770747 850708327 919303251 147706487 238240781 649760053 676802353 656300831 279702291 856684361 209844083 7470769 543327027 38844221 607342963 911383317 434726205 331742867 832916915 40372901 747259049 244201911 30439389 553664283 198746773 896365301 262893001 918747293 454230729 355653001 310902893 67722937 696971957 179517077 748413169 241790307 737708143 472947233 185462173 167344121 430863285 764730399 481230053 162212417 951527665 726506857 241365093 703922023 455984177 194347197 99133919 415265537 922908205 218729927 9941055 181369355 936508737 70870041 525392535 44948461 750914681 726238249 361663781 382412657 941159553 550089819 226866249 197673423 985567923 655415287 383507859 877151137 128270347 524022317 770062513 984385007 943833137 619175195 201318529 980249895 309146231 566978237 154604549 187579931 437238481 990853631 732168553 959896331 584731873 319024049 769703169 337876123 620041451 599728013 288225351 144992985 849828065 236440373 798669021 115210809 726225753 187743537 999728017 105855129 383080595 457326579 333144919 649993789 135773557 526492371 199941703 157758677 271442063 684143379 947667621 396647029 766917401 218949853 172431325 254152857 406644209 494280769 226434947 93366567 725871775 358625849 536076881 183245677 651750995 336818087 871495979 313069857 938726625 476449875 441525277 925317981 84923341 907974125 843487575 12685225 559310139 91766033 872390711 523241713 357769979 189990977 908414017 443803275 704395651 266743009 160045085 207841077 281510645 63393863 36455073 762907667 355950615 318781611 845642185 172398001 758428503 714456623 948508085 53667591 66692045 424624603 69632433 319188081 669970489 226283167 115207475 625291955 947133443 942377047 740790995 464851965 742754871 817230531 570404695 73131233 778257553 607257741 398131879 774592351 609193067 581501509 651581659 728418269 781339599 997910885 54418729 952052771 24970861 705464653 21380855 895081069 357598363 106749513 355873489 625606739 620300889 893674631 827540841 197669341 318573133 936591651 705995417 433461879 346725063 231209757 160137319 493792759 917592767 297836127 869384701 376075161 336803539 553525945 167225517 871282949 733453899 529606883 335057653 88026949 209814039 301821315 653921141 487399887 842316747 50289181 108790779 957588355 608313515 480743463 440775289 348880291 87039643 363059189 531542537 247811295 568419627 890829261 819862001 68195913 13052049 86729431 140290715 109986401 943717551 937609251 333219483 857500171 352103945 210257833 576274345 442340757 279904979 994834255 106622381 741754803 436395487 36152281 149037999 26553475 348917679 48884731 217623267 85232777 695022953 669104975 543635365 255937461 140325343 259270485 364866679 915808859 439626373 544327285 994079493 10144311 466101885 729889539 138631971 427431791 577979275 565370933 793885131 764295059 968945953 730064177 186185247 477814419 207923029 955154427 189093997 831181775 903614437 871256199 661924137 789573389 801100093 980802479 486888427 867506555 601061735 187680305 108277879 930939051 598389021 182687163 433334713 676595613 133352637 344419801 878948549 479993779 465566543 175774985 458378197 778092479 583023489 882450345 663533901 23080179 808422573 845588227 974186167 571323371 971990991 602082889 109751241 301309873 194219153 699598741 844367195 727294127 821993025 225315045 698799217 287131065 509802709 66469671 647692599 661350671 252805103 918658855 274467841 582326101 435815379 584276129 848710731 247244953 136736885 609250103 692182965 651275087 742840423 83315 764876555 477557079 875227627 377558979 755035971 797250803 1795047 102839681 791863925 29370833 799300333 374126575 482107109 135258631 104177201 871865145 953188865 691437841 756680851 886197099 645049689 645156055 52461469 538838401 128595369 880200355 580942969 975794781 366959063 340419629 498829059 955861959 507224041 473817231 169053881 628426609 814659095 998157649 563942337 731287541 68707769 415197537 279122411 866211281 502508117 215489041 186765231 756963953 329690773 383363617 295018283 518468901 458777419 11239605 672707367 404821031 679209077 295333979 429403155 38181785 70952499 591159815 256039683 317175939 644982739 78367255 997269691 67285975 491697351 623568721 801239197 318371181 773259689 143205857 682182589 110315785 732667199 866911835 646879695 510174031 722107763 557432513 412605493 559855831 768802903 510664051 682700021 644380437 367399209 246262337 43767741 938904429 404253001 445165409 156997861 817864741 490721605 216169581 582959213 641879411 470127055 314815341 648768765 858016365 162307267 284254157 366178529 609103893 55064099 582263653 743564051 544108117 916473627 971520877 884157489 39646461 688818943 211526543 269953925 918058183 898593353 106241239 332525561 550239829 853250459 693322423 216466217 864507183 956682435 449471505 883623507 543489733 291148725 870812713 94270813 665563509 545088391 390764457 861945815 885461371 691791747 852750763 413238265 340474881 41227279 624233641 210936225 783622683 192655297 531589001 637740375 216495041 193459283 975987865 637086025 880528085 457273767 85163663 870718033 48208927 827370701 649469829 711492843 199388239 834952947 242491395 52374593 492912385 957043831 584611829 686618401 660085173 685568987 35197873 807540993 284297941 523748045 90663155 552774915 41012401 518335773 111586275 646730475 521827457 480492487 915907083 436753963 894416747 328148463 695842147 267726555 967039349 118624735 597798215 589616823 882330767 686769165 757425019 561531431 260714901 59866129 923762477 867227963 747662151 872159151 147781621 31241899 70530381 682901973 453757133 107206359 52428091 867370899 546941723 382210243 688117129 503970085 983385515 367366433 572339351 766952175 115360695 297919303 218412465 782247549 679280087 721546291 332104197 671083903 374584081 481390991 655000495 6284501 151513045 756876969 444453551 948304765 614549751 917192569 407493613 852508583 302314675 173154717 458673725 550267299 249024945 22907229 721920855 707803887 946498555 467113127 690708699 753446187 116269575 701485589 902723923 983735589 720524725 716643299 593093425 916078029 178323783 414348539 907570639 952023875 872096363 546287595 352171117 763833287 783643961 776289257 792618803 685564101 700630825 66658775 838557237 544227791 898469413 318714681 145975401 840621987 640991609 603113281 658111669 954376993 413517015 351302597 663046365 716532311 915001697 221112901 610839701 357718903 114618523 977792745 501078135 907652061 371336049 179390845 271143169 563435787 410609463 902176379 726254495 479552939 405525677 974568449 695581603 829693077 447135481 351951577 548240197 169747905 253720741 968520557 459421349 380726609 490040487 629603033 591919309 751919251 881557341 253448667 734857391 114846969 832737677 124555225 352574499 562075423 421350755 558476771 818982637 524919239 907257717 61774255 209010099 426443999 778749377 274308255 708321543 988093045 149312169 841242809 582831205 509285321 529890815 718207917 659810603 666261565 119508467 910971343 398461347 880593499 28793383 4170529 516149759 803122903 263586461 623379019 78397783 224764301 181661893 936126363 454533295 131765377 803887729 38259207 173709293 941014747 232082145 684047409 396540131 387758065 524516281 845539677 942954061 872514109 666631687 427595901 489569479 846525539 618814783 628362023 445940191 174095405 302046783 251723419 263365381 459997583 601199693 50643137 65015443 88552871 752613397 980543781 329746631 544451507 138854061 843193345 893242573 101879841 989996177 621627187 881046965 991665541 871062185 226780995 671599993 37457307 218624831 306221665 527544315 36290627 302768393 357193571 239459331 496633481 380836903 772350663 436273731 179233699 279097627 131013047 316934227 672308201 507633107 690258177 730606005 38399457 191035559 409247773 502011603 507372339 845405007 938640425 49371133 744308661 884185589 504543981 81139311 722934371 993804837 27468759 936585541 827723357 647984083 920530689 322822797 865040881 155597917 796043815 572823095 74152335 614016903 859058097 805941019 12314839 368254593 106630065 308942843 447598985 538903775 721879259 945514625 755736207 961489309 326673297 807025213 348429569 942429729 39420119 136319913 713049365 409102649 732140895 226552615 229045555 2756633 683173505 17506301 322463969 641590113 17513785 414143329 703933911 932009491 838663983 607335785 697003759 142403741 710921139 184710679 443775787 353687509 11609789 610244693 3646647 179104247 551828459 461324019 991425509 147884971 234466693 684510123 552650803 253592317 889205115 990205469 852705089 84814431 138320483 777789141 576716765 329102771 860221051 800590401 236934905 310702395 987672237 172969917 618145457 681928871 474563463 669207177 437394759 547932169 316856897 952700623 536780839 566433505 609682361 394764447 304076517 968413459 722482551 758244081 751385659 466350061 227062953 526391467 63144715 592664867 189607207 831196561 844730723 256146389 347528819 605716825 154499447 136550275 993897135 46250649 892874399 841835295 876289967 152214993 588355167 637510653 825956327 311279727 155381603 286205147 603082617 557298113 595545727 539098331 615661353 673797121 339341229 349717645 605456745 784157519 315603217 548466919 478334287 641198261 520147957 679230019 258279323 335842599 8110541 586772841 520208819 542232185 718548789 855961223 784584873 329918065 197512433 893195311 479156271 814574007 456505065 798544993 184541099 450360537 442092851 486462849 883012383 986043221 304307977 316148059 968716347 238108809 93888975 151623207 26482521 11055809 680008209 304834433 216980087 300247083 120189055 976612207 893759035 866660321 872659191 256161117 624557299 652738279 175640445 259908383 861410715 282753827 649850681 254862327 353578191 59335273 292088707 517355397 819934167 225166705 452045521 311464153 624718241 871684827 629120457 294609255 782973893 715227185 560422455 870698511 998236037 600604389 2594827 32162323 197472451 553816913 308253285 399499297 907565843 457735603 96303235 827981135 303930025 995158839 779406037 301800985 662007141 715840751 735041515 85274983 694995409 701776593 387052931 992857989 168006169 192336065 757046653 261684517 476682005 591163785 981919463 139296361 629873477 764580311 676599027 225575893 90939855 605765445 93148667 536289107 580086659 751194967 874812549 576435005 218053081 432900723 909291067 147287373 957938671 382132971 76485359 8495017 50802573 6509563 632269727 541126623 171828259 135234241 367427435 606585315 763790791 403036487 898309281 735195411 35135031 313151871 601754035 68982069 521970141 661722689 155100733 836842869 804622535 551021647 210076673 499565417 764756907 196197203 826883563 770647053 594077931 124415199 268356365 764600007 630066061 241160041 699337125 638601319 619851839 628332373 461424149 444183069 189258843 452939243 739802087 662190731 935733469 484582493 306515151 922136243 405890925 373525699 334607273 11169029 794838877 785932575 814328695 421638227 799551649 588193883 936089701 120320221 818015963 924797767 610410695 541537607 287490639 769567647 948864023 361836445 374916847 64921343 529564665 642726487 705079633 336161269 103464247 819201361 394630581 71101681 816666821 771718353 59589889 439436107 94812351 245343875 520270277 400742981 64970601 205701243 434423609 290051593 511240235 414356539 85080635 22940327 443491995 970572195 364183635 49845017 698964851 239991811 115444913 181113921 731763607 569867023 892068137 558415847 895379729 865979879 269861695 692763581 966257175 230902285 159213335 618630747 807519745 288513647 50937985 714712131 913727059 315221603 578690035 384959711 302925243 648779943 925858191 634620799 811785481 617528413 219606043 784167517 88538169 726293015 604122629 805911961 853171567 744055495 226836581 884059711 119634935 451572937 815441403 434943805 933590849 851349223 604473903 111806575 73232363 153044811 208716813 607283093 370670777 454938249 811591503 514704217 327597973 357237921 937582421 77357131 291652753 525599735 507451939 182154725 754650857 627315289 409177451 400040327 53041667 747499003 794986883 443840381 33417829 468120699 537453675 603678711 375306951 948933087 755634377 218945547 664264961 940316563 905040109 205153471 889719065 401859437 276859855 302583291 287515193 788866731 235565581 179214223 279084467 477633775 677473519 29319733 453570053 304196427 148072805 606831245 215581135 691663151 107969795 260859427 904989407 531489149 683140365 649710693 582432551 227270519 899800423 339980207 469094851 358876619 292710303 329224767 34653685 864261009 801457137 691969859 67767337 357291331 852527673 199568329 225587953 177077191 59440893 869997513 869814795 552037225 17751665 127933737 902787927 478804193 514665831 410772141 576722915 762626635 757453921 595989769 782279393 34599981 97152645 219480535 562004141 382414963 861357221 861098647 776013769 76462451 630475317 246597553 245709793 641634025 748948565 372594041 845186761 830835451 847335119 198423847 69369211 770988343 676467983 107266523 408828699 347037075 399071021 144597919 866349555 108527977 332720359 691471461 605146743 44551297 364590759 540266759 458967107 737793543 79767165 330731589 263794969 415578515 438308635 588539335 931781095 122950173 644438245 379686687 883003323 452847375 521958113 689865417 134890197 225590067 435380159 566535971 903907735 470517697 763947221 411670903 707881869 905445205 374159649 407464695 356979303 985467637 345109069 548035517 36662019 192118539 793840039 782487495 237934179 85786225 701689637 452346883 115015349 924914529 237196905 733281085 789563465 802783361 983981495 420937523 101288603 775667679 861097219 777138563 453380943 977841135 956064991 693239991 112667951 478249615 401487245 974825281 464981809 120217605 202230259 573557369 358092141 770522621 644747427 830984611 518360105 396426381 910931665 299885797 814509773 851868467 543979357 229960273 560794353 232240081 39821265 951878369 210997579 636114873 16361303 417280887 607841473 249725083 409522123 541369819 562486623 143834009 351916715 445693887 992523605 75820597 375508509 326803389 714227203 355661151 700098545 40880211 245884649 554724457 323791519 506142445 386660529 358464531 833006661 473204955 32389683 593312641 643140523 336871513 477764965 68625217 451571007 913756035 298716781 197730375 902794267 655674727 128495255 651693809 633307387 72795893 671675221 753525251 887153993 791818757 865715011 252295085 141458451 690143835 273724705 195176579 804923151 372074141 484710623 8942209 720796575 545535325 887626383 363187215 178879433 516969493 193206121 659107575 97775931 928675879 518732501 583032687 41731149 101645275 193937243 355148055 777171711 912912225 610032559 316328433 809212921 448546773 856452013 558716267 644229511 520743481 397230423 423554907 951529123 862073969 258419161 314217727 716098027 834646613 885452421 444259323 436285097 338216089 580974553 270627163 6915527 790738399 828532343 43858583 625061089 167461811 55457833 723335819 361042741 543942021 583575779 582308987 526777513 667258797 226056129 489970967 777733837 420578413 476046853 762384243 303715801 337535725 881568283 274274827 577043883 632361027 686309015 918712261 673908427 535742563 863123251 511853295 214687591 63300399 665353171 494710333 18933337 622372211 914284417 73133005 211364893 878368733 21004145 230292517 267543517 694156809 691769855 341345073 330867815 855365495 641866671 967763783 517459249 351558289 280076841 63736869 13866333 120431527 528560451 578387951 161480367 653361139 782607863 429678129 109885593 475201173 82853737 114638051 791782707 280931737 227145187 828976991 508743225 730579693 600868315 633376623 164062739 240735597 72610025 910116411 596467409 851296217 313025235 995931995 85329195 334308825 224453761 972272589 49062273 732385025 347777289 948725493 814642391 786301897 851642533 845996961 129448415 57681553 195357115 264983813 760146927 636532901 948733905 787478463 896205317 531803443 881304735 453572821 103875019 761958999 729911549 208642739 306210959 535376913 442304497 876440623 212094025 768553801 884067747 804507013 307030679 699134675 460078699 37665115 148126145 349288551 374646719 370901441 798185397 156548005 91523397 448415015 731097869 152034583 211353545 144924527 166585349 926668081 319283773 8026843 941503879 297793863 921743547 537538841 921896993 729108639 748786569 391283775 232945929 153420127 189848081 738199499 463728929 307156379 863410149 293309345 499180525 482399819 634223555 741585165 789589663 68648015 187326603 467140551 858708237 751699313 948207691 541970155 913406135 716209507 41936693 451469823 797817797 946318527 974092965 417797613 343163395 168252931 858091037 748001807 759353323 900640925 219848265 651852063 419705755 26235865 240572923 179870275 890373083 217160181 105138993 423346185 899285787 724421903 258106381 671154533 340055665 617403953 363048921 633761463 293578397 56414797 493127689 52060353 43954949 808923451 615079737 233700785 978844857 305619647 684858923 237722141 228066159 688181119 611035851 517357057 97445513 670003727 309590829 325475781 665207821 842350053 540884107 627918131 246548395 313215077 674053191 17036419 16061367 56265687 353400047 11997521 90473523 421431405 185467191 666409377 837793223 203984703 824678647 55598819 683650241 483518289 380183091 270126825 787533335 506226313 956019223 194023155 215498859 50352313 907192823 668737701 298474241 460848285 578405965 267298573 613513419 566927571 171050429 525302687 890637663 85970149 488796689 205319993 908663805 371844163 477664063 783100705 991270541 788033867 2003039 313835011 329076379 844999737 265750197 789246709 824932449 861065273 783683759 942965363 313897917 98806875 539249885 926245219 623925047 794746523 512246011 909702677 460802303 775190741 896014573 840537913 52988395 766689751 446058943 632388337 533468793 26478673 66216609 788607935 784365523 3527643 692397041 738129809 751248583 64341495 451658803 629003453 634441421 671335695 465400081 800789761 489123075 21386101 24953437 160361601 273723697 394503775 970686227 574610635 885906629 798769391 78321239 717097937 82277337 912941361 547342453 162077941 367054889 902093589 23087071 499558907 812216861 828228979 74406447 845610511 652334023 262189325 330369835 479774405 753235931 432742797 557523901 463997725 311951547 790874755 375977207 194265213 354464107 870076521 440377623 307894703 756304029 414350753 865150077 421347305 83520425 367377777 764256439 556186569 758742921 484600079 155725175 870618709 92564971 432971921 689883543 817818107 245883417 913786361 413557789 444004749 409840653 300199473 46254387 222479177 969476965 759951369 761230125 472319959 420200553 342319931 311613315 555638081 260790025 179090791 451177949 975115775 592697819 761734425 55844611 899739629 130458397 209459391 6466025 86562639 97878457 601430453 288571049 538620373 390565949 972335419 965879179 512253841 370495457 698761595 959494133 233781251 673476483 943465605 116658043 933383439 95127723 805785427 903400667 433750531 80870535 94203077 806357239 809220243 789502703 828897447 203997145 773449181 677053283 532458663 343333813 8949607 336125963 238140257 457903591 211783709 164982965 471716693 674892273 328802645 117259223 701354475 665047167 887755211 542995347 354055287 909039205 191751847 38810797 816343345 668402589 97887347 613368727 569808441 844772939 377822757 934261095 148787353 790455225 643968029 762003677 9524549 276931421 487228189 772767071 7300625 308810703 659208533 90893821 836631747 761168339 978349399 775716463 329946115 609008471 828653347 203746325 690589279 255267433 311052059 37945075 866030933 648276043 822032657 401252537 509752387 651977307 99388215 791563201 364910965 692685605 367735595 587605513 669110553 352341855 329067251 330183733 331314761 505307873 249150457 728230553 325653001 898608559 39052823 759498795 456043585 592873719 991050887 487812489 27497663 817815049 393126639 120441851 622332993 778029409 132196959 414368367 973955941 734300067 752896583 695394429 813640629 860815003 448677255 689200997 919053987 456909883 78766949 30385935 59717769 439930781 901881997 647926537 952390565 858137607 603323927 162283913 678863141 436613601 163675771 105349231 551416341 824600003 585134755 520658501 469961331 53037923 453846745 764691767 45974557 4823719 568543701 343668253 300574685 733051547 834623923 668639095 152172133 780476017 736304887 304298091 617460045 583900805 251122577 679243209 737509401 323466583 138949587 630387977 27531055 714050711 662579581 134291785 579242209 800529943 66452147 288790097 121036907 771023567 104009475 452591505 643317483 34819047 884275809 253221663 126944363 622754727 573913645 796068537 632030941 735208579 109731367 855179465 515054361 761975317 466818433 468633437 470227937 67481635 608413135 682461995 628371167 653042583 354121743 381407893 947977125 640708997 94935971 189822113 68265641 131111463 909464411 524046333 236150863 479911903 335019117 335314945 580313055 154945083 711227253 893141423 668274827 535011053 241641847 246308521 14491243 711721169 797399265 509809731 751227265 156984043 530975371 276572785 537885879 872983907 12703917 901244115 500088031 132873869 715426801 692861363 873658799 204675047 998777443 767820029 346967753 627992339 880115831 108380489 828428473 581958875 664904715 766987479 411129839 582659125 800736099 615547533 541744579 600611641 975580207 13256955 383248247 569270315 524110979 178101081 579637045 186460791 990928347 728080005 534841103 446691249 596018207 286179335 592470011 813677715 772430489 639469327 279567067 769029121 74781439 225320817 448198523 599897093 502720111 330526385 458774411 283304149 851191407 333554931 150842275 504846793 195672045 163484165 102464069 358595687 763604539 343940707 436661979 154758487 625533975 776588329 1975477 948767599 545526441 50452509 851920397 794978985 812348029 713259699 239671555 882796841 282547845 246953213 793760931 675443259 239632163 799333309 672930781 161362769 781703963 887055963 256946313 983689989 991826071 600447459 842547817 678919709 163123249 635072015 320535589 319782017 969932259 809123391 664714321 612380743 610082323 714370679 74178149 244439723 660994191 22263913 950314947 254837005 861480331 805669483 802969777 322354171 731845285 500414589 741046629 920166949 984483811 497891141 352595189 431758699 167142577 226685203 754368097 373372877 648418533 248075487 719998359 670072949 451427771 21832007 553760869 742111419 482147035 463211411 65452421 851756309 705911119 710347955 217789335 38542891 334093455 792845883 464881191 157142981 586470261 168489327 386888867 621231063 948215115 915908657 626304871 701562747 268762809 128932373 448968371 197072375 674661591 937186641 893161903 321959349 730283555 27892163 119146351 302234441 484399489 338236401 300463083 438914155 504448831 196300301 424402691 660238083 763713041 211853551 757907329 915247641 145076245 305535763 262337561 55438561 551973841 488129441 802328159 665790391 408523567 903775083 208294873 454790429 779930249 338243045 286524653 56987839 128870809 44721711 243147247 971849841 879336071 436017683 89418775 900019499 748756701 361525501 621983365 739761685 286255761 513436931 856092483 938754935 892907779 967591401 625284675 671024581 801462261 262288915 539335263 30878875 597343893 1380755 498423383 654923709 824146553 587866907 913585619 581845011 691691679 949519631 464435815 534764211 795918443 834503797 773883017 151943639 371480233 794626557 368425629 325953507 443176593 429410555 978663403 461041761 3132607 744360051 362208167 342777605 32548407 43951625 807655397 818847403 936781161 89429259 269778091 757297239 682381607 430153589 427059423 795542065 661843377 112761571 491440979 222944911 836534189 33705371 563252675 524271339 311569701 701587855 979975117 907617513 167615631 310162775 984395259 664232789 314017737 893699887 577467071 12586271 996075801 162290175 469951857 869331047 813599787 487221337 21129045 457119595 772116245 403813233 407111825 10172315 322895187 106053159 12533559 16910471 383583949 203223043 350684739 628604651 658253517 948512821 807965843 680020395 703380235 485022355 721605617 265453267 406759587 964504733 986777103 838580373 3276057 137335417 268599173 563660363 839155547 370828791 668657365 410811259 578727105 919620495 292869481 778791631 86375429 755545951 383231123 760226585 328184395 361723439 469121673 170627157 77309477 122437229 889120623 293758121 502488197 792569139 464626765 973188957 399778249 619655485 382988819 423486947 358266551 272798709 164998815 426311387 406715259 305731689 50144173 223486213 451220139 458719311 350081001 334321741 201093699 109225737 655416291 578275525 844947625 433434781 117353749 457544107 926686635 133875385 585039073 82977887 95948159 909987253 181571983 521880943 646608319 897037713 290772815 846279565 755634803 846979315 646643519 357579413 540462857 652925997 114610267 82720393 817954643 356611635 282939535 148070549 700809873 469240229 764097963 542635533 150810213 790373837 68729961 230347625 499894753 606358421 381353833 963987793 858748023 632091289 70223927 71933325 703149829 206337047 144962115 620286993 493015759 162966517 368931813 657144825 449806469 80472515 677789535 135010439 694053689 724838841 443990491 329471529 756830571 491742133 296307305 811452269 212647937 875913279 761582851 603297811 143751493 841731461 96952201 71418877 911648749 272982113 119261895 591995957 161126423 687698255 762355563 561810929 226289225 360494969 970826513 705976201 981256815 110309805 318307641 601022849 423797983 885507937 152493133 624795525 802534743 368072631 519078045 743934825 582307321 658404979 702428003 353567783 610225751 138276615 943454655 409800931 975663713 564246409 530558397 628986345 779255161 137992633 250700107 511125929 483768673 357692927 466272069 747649475 533710665 69994599 495906411 532879349 951814851 778353579 556640359 344447279 316236495 622992939 486992583 188695681 4804305 524994795 876963337 881813031 656552855 614417565 644058253 179075205 755333205 924945045 711560089 610806567 963878825 911209943 902610017 622325693 622356121 369476615 729353471 853786919 806802833 429519477 527188339 498252387 323225445 450378521 281532581 183933345 746527831 948179857 380811625 108615473 477526791 643980325 458780023 481615505 375102341 538892995 693972591 723531105 12236871 492367365 298682075 866762349 502120743 813712423 700508975 690207915 39232109 331666451 86671039 865044533 268734919 852469333 112668369 555796301 703549255 440940073 699337611 421406045 15856237 730209897 65136897 991812605 122655515 152086689 223374379 250963939 63740579 535287805 937530345 540995063 757235895 840361557 967694341 679882817 362204277 754229545 443758129 443133173 660705633 679703713 183325959 191744877 154137195 383095945 904578309 292955951 272966375 918564699 381445017 487346917 433816977 421537077 976924175 53504867 359958415 131747039 738339493 760600227 696403823 729324745 951252857 649632455 684961829 509645321 408914325 106382109 244613135 890396511 53528043 419793175 381975027 221996081 724150869 130903889 150930431 98572175 81233041 489861261 82303173 912391471 725351755 711994039 282071107 531882099 303206677 797609443 287805665 390438241 244682085 115242827 831737449 94100903 138592671 207272019 327782163 909905311 347588619 39142277 325171321 368239941 157306587 379561365 226365605 247359299 968793897 25364063 890480895 114072039 107641843 255664613 549279585 252816423 445980453 36618069 508604677 267682981 918697105 990533631 877052305 620843173 236878573 393862239 797120531 300905753 23508189 368726295 607780863 334601111 917100521 587870711 494666803 37562719 337418627 242525933 446440435 240469079 185513475 857444631 791468527 785795601 877833643 363710393 514564923 275378881 85960613 449412923 309634133 932311623 846159617 629827635 451469343 356155691 526186427 648526939 944105705 420296093 375332271 945167255 489393001 506338931 41215403 10915571 21478329 862704683 422072927 939144609 851056737 69755887 793436515 411087355 691634511 746175117 95529019 288456325 556030677 473082749 126120269 196328173 767513267 567649757 149710059 50530051 560164621 792480117 500125775 656215493 802317679 812965299 573762203 221395539 936312785 751343791 316769749 765810937 683632527 837997611 976128499 347265069 458134639 478685833 57712587 486454665 712737691 818576861 838581279 750638285 927314605 327699675 82689177 460093673 369373855 42768869 629284041 222545645 470951639 262655487 294244649 946901271 517774883 413840347 491481627 723669959 621367737 274585807 194959079 572759691 298875955 898082267 511688381 735614229 500251801 718984871 262785465 109389889 460261207 419158143 287336411 922010385 91106627 32618333 280027661 987142575 186765467 776846559 452727583 946481779 440785409 180397389 712950475 645742805 764541319 311414423 880238769 519344759 571002783 414705491 226777949 872231463 956148261 53283775 598039357 149160663 859266403 689093829 796524461 236533923 218868481 174208243 300237293 92252109 337138457 525105025 650468903 469275073 475636517 276188493 848139883 342945811 699649803 733155293 541980595 51939197 152922137 311129189 264631519 773816545 879054339 747070647 471491515 730551885 949694439 149298261 623903733 52674037 581393227 556229479 652220969 815929647 523011355 591365563 541085911 494656389 746623147 188952007 121970535 288960413 502260925 358475691 139116845 566900813 50605681 574969905 157697121 878935439 92913753 944973765 925032739 500278149 150276965 32302975 532080255 547897727 717076983 475011103 484375907 55624939 59654865 578515723 124629931 872077927 492204065 674833235 715997461 900734135 738829437 495986351 899437647 962490819 215521763 59800701 784781799 685940129 464701111 273183943 750066517 34235275 660666567 55955255 914004989 565894885 782963783 315435049 156518441 482405433 812452053 879796633 526943239 755814461 432353397 153947697 451784371 825977033 630589591 751477311 850405675 688148963 465787663 228124859 366993757 223933619 494066457 436799043 975724821 277151375 668969051 777128477 901828369 931021811 782509539 86982973 59426799 941114751 23495975 828009781 969832761 847516927 958173441 479865159 36577889 56333929 113209529 902845275 609565633 630154965 532227835 981488383 334984599 184037257 200970461 61643369 692890897 909363951 586268893 427258233 325458235 754620313 803715037 356239545 712946195 25723717 190903855 924773973 798912887 948091347 766595205 374673189 87431217 809698897 236214523 741536679 819894003 76359151 210035227 598438151 745297237 988405517 932833741 505054223 153564891 661527595 841565291 66742329 743831019 239999733 668033967 449517219 694426841 904804669 879734719 259776789 837156059 621041665 920004137 808797951 254355733 908896353 484230881 15353461 237026191 512177835 469384517 521100091 574522427 249077073 136213275 718398901 941301745 931012079 933584783 494754291 609368437 975634503 557477431 331867307 522944621 566616389 303847951 713191999 390944875 565976571 584457343 343403445 978206185 543332519 890710609 957036987 746658633 843171755 612794557 755239849 691650515 493374097 452801629 971230337 279573689 243643149 957954617 524283877 19396115 996207099 200827583 263068457 771957731 60221533 724756161 705521217 729511699 143200351 872915583 250616013 808424565 441994325 161279133 451394327 906204607 865182649 674703145 103141643 318619285 417066541 512133271 430931777 71006079 651856001 354422979 181945335 135633645 411683235 316427255 85509145 542444603 442644913 32879069 671497265 933223083 621134573 143444107 237703033 260205153 380845253 991046525 25721039 992963957 162571465 743263897 919698875 793303259 972656565 691403565 811541355 510872437 109968493 43756271 366391737 194914063 114003195 419847929 393421859 667790681 139517331 634308307 716404429 680344299 451949459 280447849 79289739 476447815 234262649 881512465 873518291 458162391 881727731 847301513 115220675 992252395 237753815 893826293 499882017 30862781 8584987 863555809 435829089 315039853 815752933 449415237 316333973 724995335 699404415 789825917 519460735 592441467 615235935 349449549 531996807 472787617 472854557 180226533 174679481 510039355 359245695 163098071 943706831 62570737 902111599 485173539 599345449 683480663 576455679 261006895 584676555 535010533 499621995 119699651 35856743 339537405 107155991 549371675 820565843 808125413 416732047 704616143 390428815 1658579 980853637 639948775 924228545 913393629 891056595 305439183 970926905 567888389 647530623 891864157 809164271 760237875 638495411 638790349 81676417 719093563 801913281 507132615 966230583 482464981 959201319 831605077 881752575 400861345 107270789 359767533 11809139 758166059 452797097 222966639 836532689 680112865 487475333 438782237 217156861 661699871 633677109 802586535 848437899 42142501 865700859 39681055 911278257 892930587 627351873 795949829 899567435 30225685 271551903 343031101 56521957 877303307 944859853 120926485 142945707 322744541 954878125 243578177 275552887 447248471 864243277 437637087 859345349 309642023 421153503 487601011 863886525 379465447 662258879 690568685 202230833 803999515 302948463 558964129 755987349 559715883 923708827 202141259 84170249 548282981 569295895 829479953 965292887 76790535 691320029 399953025 514813161 4672815 456909583 815418769 659859675 681993447 269241085 141038235 606626027 695794723 535565077 22638439 81568639 812677047 53571317 486407459 311098535 417448041 475370591 501994337 523038491 345387999 871790143 344809247 62262585 618887597 176860585 707894725 316424201 378348105 326594263 842181663 213215803 301494295 900578861 513725793 487016739 140427361 38738229 822608935 942749125 371301461 726584229 218370939 50458565 245343757 923760213 874383303 517770353 397309837 844090953 64923615 352544709 631917499 580070319 177295363 996212573 794874729 799130839 934986967 550928255 654724179 337248573 782362217 493578781 223603223 788072581 135549229 488844239 750327615 857373561 926515459 494939345 14538301 588476175 842412077 265378827 72908905 170503007 312443993 76985871 416955143 177542831 233765277 173275665 716742717 123956327 632340853 432467185 597925405 340964381 573260745 500189239 670714787 713091725 567009763 495684371 155199405 779461783 558477179 871826267 426068485 586002505 95175083 842873999 483264093 296690643 370448379 704650965 488366413 564977301 362691417 195838973 863705943 30707213 490636567 958201983 743392229 372780779 677322229 634604153 535734345 313023487 502527255 198437555 89235641 501929799 224697099 672374171 964093785 364127971 175124677 663301707 605747505 311354913 198884515 973745535 51089715 803079283 960820587 165608097 422323511 575356531 685880137 781548223 75790079 616877287 10519761 54116751 721247541 139144121 715936773 672011891 58574953 632609021 184759109 90226545 237272597 836763627 295478881 503561783 600794523 208602091 56137103 303265053 870539587 959050629 429600361 643933219 120640831 918759277 258810103 671522799 429187239 478979453 1889957 171151571 430439549 258545083 484109131 355839427 247057579 276155217 115880993 401002847 989545217 444695443 303302353 968549103 963097657 336549627 562674277 756228963 297803509 253119021 313263701 71010385 189249723 543327475 429983613 113350905 393749761 912483649 110897955 494695745 449483293 515458099 224042481 302279865 108401745 517713675 367911681 647000473 101698247 809935925 519270605 905431999 971651215 575964229 46250043 222365619 260626851 476297973 351370649 306892195 548641763 960927785 52365723 150262377 28185627 390192363 758081633 896095873 471913723 80660079 490793581 336199957 275701273 337497361 851614637 88251121 543901435 575368533 456696951 113782673 753541129 233568483 147922567 927039503 614517139 104554385 568797701 878387255 438172883 308407897 810089595 192490869 29635305 757746783 269184993 933190625 87116257 846303725 184191379 156146491 875856297 904642425 322147669 849413099 62441757 576193691 903197781 643070973 527802109 66203415 651229739 475710507 335152371 171407835 328020945 534140117 866153615 203073015 314893485 255656703 201070153 420575143 580192139 613961049 874526855 587472719 508891043 175031613 627290253 213799547 747601299 908127657 828867473 83267293 605538395 687206979 623555495 691644239 167618669 474532443 438534869 703350999 233359005 759713769 6843395 52968349 73796903 494726283 165692927 411872247 699514035 756934281 472739463 718617441 886512459 45250513 317863737 972583803 552741733 549387517 399314081 448016659 204084961 920715337 392969517 390308635 680488449 157147295 93808185 36914605 519012467 558585995 154227459 644916495 691877453 110342473 893318585 544914603 720648461 445601203 757917799 317253651 971160215 225917781 184739339 792322053 227851321 87149403 32874371 450582369 200260005 912189341 479764633 761819189 79630333 460022171 213980415 95104179 972511941 18285947 614109519 218129463 17113321 683069711 654534665 30104643 359474109 363760331 615044757 567848835 161132545 132927183 544385093 58841289 462979291 847082467 219573077 760648723 566138579 587468407 900498403 153804675 192115941 88429985 648296697 63882851 290890089 223128095 959291273 540724775 935444263 866113371 321902957 460939113 542901835 413625445 432323683 684403441 106926443 519309551 67892503 178418341 945389701 671736925 17127963 525418137 896339451 241691317 581566693 138908171 498407327 774154661 179444441 746307165 713905569 14385031 297445439 113794073 426981795 957949015 129207113 84007413 988634023 471083711 340668177 418952135 177293597 6275339 845107349 495155609 709805527 1967671 664408001 813286545 340279573 397504733 923885159 823135237 891387003 978657865 645187389 47954031 495045399 234764647 434001127 783755891 580242525 784668111 546749677 468928475 31288107 870984897 788185281 966298269 859062471 981572643 226803387 460636113 839799261 191343495 409237789 977811643 265157507 113711393 471067409 832590281 938399797 316690129 517239721 201987979 10298587 102597407 822465243 877391293 382418879 111070267 245827723 289336387 186878871 594381563 662923137 241535015 392738435 45343709 713939053 720790687 487522053 181062155 348992237 506989059 724452619 438858323 276981885 561123033 435579117 888033325 351907209 85372617 834713187 305996983 51142241 461647787 409430935 92144569 826374719 133791861 200296981 838059681 471377477 124806221 595380689 87783303 734673531 853694847 36717097 597205037 168727249 303590525 332459233 975521525 38612515 979790049 668223273 841002995 773848881 12690033 877062293 999572955 783429541 361774615 510951969 343884047 221969167 111147237 561111347 727541907 949279209 878844695 784778905 316567833 360741013 434737427 4655495 468256247 794625627 783242337 237947037 586137133 271741547 282908339 656092381 297766243 504810721 268369129 530592437 449820389 305932221 146270723 983513339 998572717 840338921 237753389 607317483 381099097 902154805 702409145 834372141 650942513 38876763 954498085 337395659 115682341 979875837 970254611 676846909 988567755 930081185 413352781 559599711 951640161 25580477 26476999 755951989 573750737 877344167 187339419 47346223 866202537 843897503 585091599 3060895 481718561 160190675 728231309 119308357 578214679 403505745 71272105 450837253 14078225 192735251 187900957 363875373 514593859 155605753 391684813 718624113 379638911 47328975 674796739 898873841 600319815 880556355 756063795 853870893 218987203 160819441 155043961 383108119 188618433 875513433 329338647 273980931 374797751 148160739 612407481 129369005 621491653 370501091 949417523 582201405 925857717 976484753 715073919 708424765 830644211 909900813 290684097 825969317 560724375 293941347 455336259 603989455 115246945 463808385 169941627 185931907 375085751 468566851 519620353 844426991 313780393 955029865 61200793 250626469 215356655 551829659 205285935 881975461 607589095 552201069 106866391 115971667 172337305 268095829 78283979 198146171 326496693 793853881 25582447 625275733 540624529 539548381 713534799 388099197 214032683 90269941 259405083 331649529 274505773 605977371 879040179 412108597 874208741 386348621 981721109 138254853 835148107 216723065 574533233 987726763 698077949 886579563 574041879 625529799 135874625 327216097 349645443 159687017 567422987 2273401 653132121 650456581 714787309 500773565 578391397 260387963 294269225 821393953 902002839 403333645 357035431 53092601 924805647 474504553 979089651 876955531 393350925 681848741 161308489 470063357 530152443 247146301 57490563 902418529 472729457 74383641 240601389 916959155 26649893 264614277 35899761 189140689 752689405 622552883 87094829 30975621 31996933 368568901 364047833 619394433 487021423 967331133 167238051 822439775 764114325 108559371 291657813 434099101 850112253 327613187 780426089 357790887 93512529 294964705 565073917 294159055 329405027 184244427 644393433 693815627 716462897 632098637 670890093 588227903 327836893 46015841 569090509 804992691 678668719 917932639 769394109 753659801 938983967 751908879 408554145 356030665 623737799 995981213 229208713 473977095 819717737 153389215 848172075 537797113 166447857 222963729 713675241 173165361 395826291 952496473 524675273 862137129 163121447 858058055 291407737 822530115 992428917 739599115 320144721 200944071 269713125 905389383 21119313 684746983 681784107 667024125 229724961 445574075 40518947 332500125 102858767 166257223 701178319 520669433 324643857 923998577 98816347 305599569 333545671 700702731 693000731 300447049 579357819 400128463 800163209 26576365 626317081 884178015 749584201 52701877 536313145 291373123 631341093 898700157 63988505 373153259 955645713 335350923 811589541 671207605 285965353 262558091 6020967 291979229 99720625 343661713 134393241 265020815 438939409 532468511 976606489 563372507 969913311 936709397 743796591 657092027 47184085 608266691 178088905 412062225 250033879 435424989 931207681 557230243 578407919 970589059 13193621 449858855 778244179 810438967 743886505 600108083 117442395 911196903 711918353 900499529 403315851 932337129 280027459 794297555 530398865 894626043 504685405 833273633 59031101 248586559 569099813 599620973 933882763 142965063 112782349 903180249 70670495 684152837 573943853 480113515 503678661 978418133 513899841 647728409 111923053 547044225 857310385 854321849 481164599 797659955 957062031 76127757 266705121 120788351 722952079 60039103 814134875 305142373 642488851 662470751 676250037 236869705 112043295 775494501 247762477 797669113 852665957 449415223 140714787 583912105 782202427 373743387 792011555 665231095 857658017 21142593 76099811 960506857 405381181 979762885 565000253 136640235 806069599 514618279 559717171 81038803 458695423 974233807 523771631 326500319 613152699 777392145 233779401 423172273 412794587 253472293 735172407 689142617 997213005 201054635 604174049 603182925 598313131 457684015 739235725 473010537 201245745 857992991 743580979 847198449 235150793 226607319 361644781 144315539 513027329 149988759 650336253 490564967 694125073 714031751 376692431 411725287 906347733 317903035 200784373 478329593 253160409 36419115 690088237 881158377 245334857 569986743 772678745 625748591 412068863 788234027 833779843 203530151 224812663 768533557 682580191 691728151 307722713 664438129 119440327 165752491 119517431 32623197 452435907 527212729 436504389 141647719 571864185 941545213 400098275 255501019 586658237 887486365 996174489 109553143 576382093 128331302 746642647 404896217 308515339 984156817 57757363 113114765 909645953 708095029 177764845 986352641 985354851 200981723 700252395 15091983 207160653 283440559 465723325 123021947 840514307 435621959 88574235 62470635 520076397 984927137 97874275 981992179 32304801 788491553 102098333 504995337 365318617 282188691 3479673 327902611 838812791 733302319 927493963 961141973 595856907 492928913 700828951 100498691 176875075 677605053 714276223 868107317 14947325 645653539 827620823 713412207 85517885 861680279 66848277 537399959 829715243 776428629 235346901 305570689 143667485 519494147 782114659 989041379 8969101 336614831 131804843 522904161 827926047 336200141 876333639 227553923 379051935 506555963 638727795 884009403 314875645 26486079 752069655 731716963 627175001 361532037 796415941 149195449 369880049 402109987 689268401 640511465 919510837 317066135 812272571 751171845 339877813 694446787 589643371 78509315 806059053 453094649 254630897 576910535 41879425 902304233 946626595 413426201 74022333 203455157 592884353 175780523 601164051 868803295 531655473 148880149 726400221 833344855 678627331 210506713 806366881 844292975 851626863 322164323 805128455 130951655 161766291 527312895 190684391 172817379 735384887 706035945 376713271 303519215 750857417 18876739 928456991 295396613 584666979 1004565 985723109 865024381 814550465 429809745 926651137 844093981 832381773 248718799 603989517 288820501 184491797 754096209 198375115 128935673 756440783 694224001 417567527 536548805 743395293 864722671 423382323 242659297 672610883 746793237 357915693 80366359 249806773 738032725 85545845 245376413 352998021 603628791 801037209 922669843 728272053 738658093 55756107 400715643 832559851 883637775 393680487 254113859 157659001 166303903 371201775 610094913 567398739 554519239 613923855 945042355 838094617 613168215 828201241 422504253 316691475 105013257 918212747 706951403 680874289 4198015 459232007 951454773 586364937 551060801 757699671 285682679 374901211 89232831 432646767 3285365 64150157 49093717 95147627 697160543 633611183 393918275 353570701 725269193 980341625 914311603 425260609 248198703 727225289 881695925 867219739 144876151 931997479 648644675 793597909 75678703 536537025 446807103 790168147 144854859 357079153 248516463 298953119 316640425 232422323 388374153 841987311 53921423 259881649 570598691 914242715 599172329 199343671 915670207 876720935 779081741 746041793 768899013 823349311 548776377 942160489 203417225 430897591 785367567 672889339 178385987 361136265 782836897 592391651 763687445 695065049 524188001 878799417 81680901 152093683 710054315 721341629 159716873 867490631 940901703 577297879 684044533 298611059 828631395 123199891 964124047 397152315 729976209 22150827 618172799 544299655 149484241 325852029 668042837 314435437 598325383 440493331 760357001 635685161 252371329 611242007 891117185 32606235 47111923 850948069 148416385 152719823 276738427 456667003 86909119 103436795 178938399 397674623 322916943 26647415 33360203 61352513 877998135 764419913 354726357 87898297 525544287 732670875 510575609 423121797 236411541 594367679 115941469 692163309 205500823 613766193 233570575 391861983 34064899 981926807 394945669 876317173 740774501 512535991 90929817 40733291 252206891 661427081 179438485 760061227 309642673 743555879 493427489 371407553 625667381 305369809 267453269 771354729 27479013 213443575 380399023 889916157 818797517 928065579 543092755 969531913 353166315 179907621 444245453 203722937 891712285 342250701 584014997 511136485 747091757 43391019 107726215 576391693 198212047 941710961 917448233 387381847 50743703 941851903 974054245 267227541 131257611 231611221 860851349 507031099 425632145 978237471 243510899 835395689 735282301 346420785 946436645 217453799 640001029 899745667 935860793 925247525 862425165 488739901 691476899 924926265 326808669 367842215 888090307 248952545 596733223 382186805 815505499 413937799 457937029 485371779 138328217 530550585 534813237 833093459 687069203 264472751 753622245 648315537 789876421 851250247 561740577 455706961 499507991 631744009 13519463 647968973 422165203 928653731 27029523 702257767 137052721 810747247 939889269 660825775 6292173 630266729 263209401 338182739 408458923 819448891 6039801 929312049 978881339 729078321 735650103 236629323 889454159 12911687 20964957 727592909 254528295 632186647 697778749 240539147 872771943 598181869 239786381 790397055 548806685 40464821 244441329 418679245 37951165 783843847 890860017 779767745 966833189 992195619 532109823 160182347 887782811 125542383 872214899 387139721 933243339 317072125 770902161 537981887 871756235 481154433 219010687 906860117 105800727 786210651 137405519 912909537 987315093 201599251 829035515 321406237 814909589 501668569 654349157 684296429 990157767 193365377 360354645 487735133 719455053 776736655 412062845 786169757 737157545 114217511 93292149 548132877 893403337 782025753 223306943 171410731 270718211 722537693 543790021 849487015 723638293 236968849 923378647 198402129 135538211 793982971 912199215 707357989 701984953 521174415 862334959 656413257 863549391 439668831 869587231 162318339 67469505 572617773 563240879 678650059 615434581 249836385 6625403 944080441 522120887 347246601 24880709 1707539 255265403 535278811 12974257 631213379 30590369 219925049 537936213 564280539 184076687 132661543 246980267 523581209 34811663 597836375 684803343 550156893 964010327 936670495 940108239 430972981 682323717 554409599 439551513 696279635 712931615 648872989 105802249 959910289 540885523 266496843 937006495 263475957 629875891 545950717 751098309 929005737 379227965 258686419 299903819 14296833 65394777 18935573 14815723 646375797 483022865 849739187 202434887 647666605 198560989 108574273 338357221 117011057 601420953 259049731 48763963 880256181 134841225 623646429 133813151 96489109 938661213 738344543 135076179 434134099 421206055 70023873 271771007 901039451 992105831 988223199 333310007 518624063 481149697 476315717 44207219 822830269 857835075 48785441 64923923 975545015 175983841 593582663 776357347 596544823 914848249 345529401 303808145 577233521 177072913 539365407 986075577 653412801 298122517 50174405 257424859 631461545 404463963 86887335 115723873 332141015 469239967 323114463 285067929 137390105 552566793 751904057 901145793 90896239 266833955 329921057 344361719 823528443 673563619 349966255 185506887 234996489 1100201 511235747 530729375 547173385 729862711 199080547 313971931 781811097 615421885 393122815 439202235 987045499 949469901 969610543 324941031 317063325 999998823 711034193 571988723 890801679 244518381 908948077 862045015 97921549 749353521 384503347 432034163 732587515 707587173 308116729 838502289 792243811 723288103 181110461 704270307 971781115 892265341 421443625 540578179 726059163 135907281 474280843 622516593 345439305 365035261 968558555 634491285 865082413 507829819 477853623 631158211 834476445 765501745 952626277 281676465 574064403 912742637 780549337 949044483 633658165 878341349 479628965 612853827 940470217 737166323 794006283 131794911 496080071 387814239 175262707 51123761 958809927 92549077 112596201 149227389 386324111 466625133 242765353 503453929 793267977 884126111 725288845 316693385 806937415 661218389 922158495 988218707 708066053 855179993 416426127 254133803 284971561 553317347 7369011 740132569 509642169 794908047 992289291 407055 507094765 508626017 776434751 810705255 709254175 134604873 802874523 22887519 662317521 830358937 324235417 594186595 60832685 692761617 83055959 806331077 484744075 706845141 653840541 349581243 291939939 883281011 8917977 315139945 970593623 679513567 83523877 842302423 104775349 525574521 118190655 372411127 181450479 979402497 692888461 713527201 400651681 284192169 308668703 320428697 724147853 211817221 776640939 971069829 111632031 73458195 267868563 563130871 823588073 278124085 176540637 961027179 987403177 36897851 429424951 896243517 377946431 47980379 232878329 471859131 339361595 137793073 893927459 429931797 628489035 273323969 122343517 710097251 798651981 344752249 538704115 473417385 487187779 487618351 671673825 591825357 220564057 965727265 566232769 769620897 170663907 794404339 973403103 579829727 238244187 382835891 932594981 759039017 59239011 767472853 218814255 375345927 326992843 948941879 85873211 841276139 46322305 215728925 946996527 208919341 137288867 178197303 347988637 240435983 584699507 506266265 287794105 467096763 363626333 32437951 151198051 499496001 675638517 420231567 246564643 691152539 138739189 332320345 378043431 870869163 735004481 55665357 476330569 284777017 252550885 919121931 196729093 275800821 433794321 919180697 469173893 21694331 988903203 303519333 675447447 308913227 207698591 229797313 25886131 600997071 856889389 116967531 115922933 881516119 493400227 596993419 738666537 366503709 15520253 493633963 803660475 123528003 75218011 895686083 978878661 220317137 280809225 920906799 90530563 961306551 997819261 67460021 489534685 975895761 599245391 453222527 24458597 66547935 735709765 932315943 368329295 659283595 394372423 122467751 922093307 232040549 455350637 996680805 940331379 66724839 985342445 881129775 515663203 963711089 416799277 456430137 121498915 354007631 223139001 482422561 262702769 16023471 715600451 931084781 970420921 118518189 917066405 313524745 921062277 53396297 846878181 763757387 483117583 461563501 537273645 978496751 2334453 660005095 582802895 373220509 378980223 462168437 318806089 646126431 101207195 902610615 403137851 539098797 196904419 290470451 723621491 317419873 854931603 438046557 20366307 31241925 333093525 179797135 640897189 477917569 82959735 813748745 100523519 968624301 666185585 849538805 294466139 255175879 358372447 16574561 447624269 933214387 266500813 734356043 745952141 665860287 950479591 963483793 578966019 266872735 147837317 799854079 224002231 996938609 756513065 29380931 34864349 254723259 225636597 858297849 715944657 10511207 709903805 807371679 795966741 738072527 223038709 47544483 258015061 786920877 13703101 571535187 425312101 780219177 449414621 145758439 379792959 406048205 266298053 843560067 862952709 381708175 106417291 741811761 672573445 311561167 479406319 170244063 986849715 949011023 304686679 861632105 752659879 388431421 871730899 742865037 944061349 150249775 710121755 961947127 75219609 385127459 770534285 813204025 93912983 176144509 104746801 403831243 675107033 18433801 948067511 59997965 111562947 195219711 843111795 205500233 937470175 433595643 288821865 326133169 62639843 596134913 905695547 83980383 354928039 992861825 537541949 707049809 77818415 871750989 460610661 733602675 545853607 934345381 365981263 275451799 951391075 711921967 932439879 389576051 288704991 363018483 271766841 422441643 50806203 804136045 36724413 583301063 86173635 705344885 878204435 733523769 143177453 546781267 476084259 506103387 725418321 875471539 96289145 809862251 793671477 257625259 362376017 102645141 160484865 674697655 645099653 716664299 392431435 622242751 189873823 799973987 649247183 936901645 753704655 80448993 192921709 941766745 265985259 962991149 699391281 25460669 469695091 244699897 405413457 277172163 533829005 771766493 995899173 457678163 433271305 311616093 780247347 432770503 113527391 364984543 251055397 147424215 678804141 636115893 773496269 335278765 453126075 888597273 847635753 97469141 818455543 753801517 884731225 532995395 986078331 811599609 538650027 385040981 449950211 333139823 841111441 701058769 480554489 209493607 572265893 705015523 471808875 551432611 122522285 702589729 781343759 16380877 729270931 945493383 417494855 3701621 203733865 896761467 4317463 437655063 927546989 647445451 775320369 390067983 595225857 266461101 240946669 4827307 302142381 994549179 560981831 140191003 246320425 226530301 410376679 157707127 444654927 539848161 921014303 891621057 448084513 854306105 849597155 645677283 22935243 472363845 747485907 327081389 776966305 480539047 231008567 347974617 764660253 940590449 886052095 766703113 695445985 308332565 2570689 532879301 371885499 960616561 574253245 748928637 521146271 908339145 534019033 247691405 492420259 223959757 606584485 866029109 542827025 527568015 875124569 84455583 19547727 202077583 216047059 531155163 803677171 371576499 582391961 821929699 916998839 77774405 28892127 478223513 144083069 955830011 419868279 508796099 258030677 801051379 281449189 431788055 59013997 535723187 145548875 287653931 474560547 690814503 916959613 176875649 927476473 25245605 574315505 905267073 479867805 256027371 305978051 603091327 782676959 208039963 552597951 991698355 755443387 60876485 718094417 815817023 89615701 371200223 929014929 166859817 538829303 373813189 931462719 424866919 366126359 592811323 257376195 755684047 5083213 949233777 685773609 720471585 820973917 63975161 774032171 113908235 301199669 613960659 703270439 73786907 54319333 53787747 582659879 804830411 292984489 889443703 688395989 177521787 494421221 53243971 105216141 988417143 112135461 389896549 228077901 43002861 171440921 357608931 970142907 474706169 600671137 335204393 418092583 205000601 268661691 366809867 442982793 607600315 933969303 182152907 850079871 853928237 461517189 687769097 756384079 779922087 737351939 634136277 353845229 96691407 655571377 933154725 677511403 679197225 456833629 865075283 787157645 346509097 694190073 73285927 122784693 963845929 470152351 696522191 972795127 957206889 116827285 710237789 64757641 325532177 720324421 702799951 881888327 533456693 160852545 731629453 511282877 254047179 455834695 623764835 781249559 811842231 941648439 475144581 834026541 699174851 134738463 270035217 538366591 56181917 336880177 606083467 223116083 775620575 20433865 171270115 118423067 209676301 769101417 980237677 451943851 789267597 294761147 971047141 510976003 307120307 586978711 106040689 244066283 807932085 332090613 888749983 691623891 956468407 372554999 442670691 798360785 6679491 271055595 433122331 856646563 719592647 871471171 664803725 782455731 646347677 274182555 606557927 125183503 495333385 970856885 779105467 543402607 991191217 870271615 918225671 44923953 166372903 371296775 786517555 734139229 41831399 710765453 19434505 10635169 775176015 666092147 139766465 310808407 488842409 676342083 461517301 616251515 314558503 550240945 941084591 210947511 642303201 28958361 905846615 591046999 477342681 226069247 857198791 613386327 417283835 290395403 645999929 238185297 342557715 317520915 563134035 995239825 993790429 350262417 436586273 122222595 559201019 557446953 45600541 737440831 386018549 407420325 392699167 95039365 778185533 335379449 31528557 975329211 501162539 152265539 136151479 344398963 54395395 953504449 685737489 587335135 642994667 516324577 79337465 590760421 100791541 667703 56662097 991510279 211994395 231793791 182545769 748654455 168054847 295887257 786447863 590492169 503200553 218950801 735680533 803448641 8354443 348503197 31106635 772651587 517836285 931718165 955819655 777695 728092929 960819071 285675803 879205261 417506817 463821955 2781639 561631851 42443085 790823159 64322735 929326655 6099487 611566551 480052063 472621181 76065177 435804739 500888527 86670647 272576963 434995337 912475995 562634287 772702863 558516505 739710409 598556109 395392725 230273427 332756035 812186143 917341527 141593527 168041059 369502683 949847487 687383663 471174947 495650659 66835869 514509523 178797033 330982843 608185707 707204377 903329667 989080981 76016009 520191401 20886823 790173767 216230723 330061833 880677743 782673617 791451593 524586993 206466915 582343897 653663539 86794299 233410415 387748785 250420611 680959465 18200681 631588685 482784673 172855591 867019919 226835789 897897569 106663495 444626563 318720505 883242363 701731527 538899543 777096001 263310993 874695239 719358077 868500921 508253737 490298773 793069777 238203301 136905401 80994211 3455389 581923305 496116631 99353741 816458889 361028885 65271813 509499029 452431791 50418783 567774251 341283111 391655561 786227369 513167901 72820183 674725629 659174265 912236755 699354975 554680921 561673213 179804975 960597153 877142097 945463823 126796023 345170349 821160963 930534699 373518817 861072049 841437429 672078203 709867649 798613771 166092819 960942283 202010973 563099197 691912369 428787607 360458717 144026355 401903505 796078073 419163473 930208769 948888019 583996605 680624113 331433313 851320839 673176655 399065059 517441847 293461283 778227655 68492331 259290829 305317763 150726629 678998973 13070743 872812523 78065679 755836531 958827057 594154121 519406421 35912205 242876255 611864563 43690351 556076851 285643017 672286247 225020859 534752889 230632261 79155081 246493761 922625879 589629261 560767975 452816049 230897965 987430021 102123381 449858913 848199237 272320377 276685777 602022991 184441555 402637529 389575935 204729893 753112043 411407491 693998703 210960177 26785939 687080571 924140021 546028651 521930929 827597801 568641741 393283183 482471961 833744421 899214493 923077257 729286529 863032229 938961523 531605925 303598477 876195087 762806213 177146717 33108935 881037359 848681837 193565421 656129437 349766901 703271091 259450431 282559849 188113025 741160515 42780895 893555567 541670417 206162227 456276231 106266837 22168085 884325889 569961111 662931119 234553629 358866831 149325331 302373619 381446375 903568943 762524077 381181317 129880915 616050835 251866171 524340525 242639215 898583767 22125629 934197405 820118125 803783557 149588697 962359663 391855783 708051077 392459489 663191841 529577635 53385777 190714313 229008417 278017035 531459139 15622833 207480507 131048113 473886945 618935649 523270699 61480851 606987673 322614087 465036179 184381905 614223967 17305725 830731515 612139449 489148561 716588737 864827989 763063229 251343861 748710521 28329595 61486969 736926135 968778675 285481003 993210543 668047213 12351787 10324753 120628811 877572627 320147773 161071293 191891297 400289553 793116913 216358827 722654249 763200305 624055541 580146233 321332491 939775915 373589665 559537073 97326479 749384985 458849525 830181699 162299241 602999939 432168857 640103181 422546293 339592279 208782809 122150667 604424885 253870951 814026673 913022505 989175637 167494643 936735931 267102007 790978473 474568863 658836289 158100975 49201963 251789687 806130995 658597363 959593855 289986291 162145575 780599755 877127535 396475119 459963229 548925417 874339823 485727153 252948155 804354469 670706459 993890533 498878419 10867265 655742263 952508065 809003991 509249511 859190187 198646881 368229293 455791271 487696397 607651339 146291415 600745851 229183767 474920173 598094469 74512197 290528685 692279485 558322321 136222157 815862233 499055253 789122167 86756035 349515217 651999229 918325857 928008899 244498157 184622049 473375261 475076687 339167409 97536919 684978723 223097547 96672203 975252445 631480463 783905165 459868427 594495447 9787437 729754317 467061869 469059601 747873641 266349741 308278293 44154755 370617181 277639221 932890959 894583433 368325829 586400853 799188875 143276519 985917705 342566121 67021673 516776397 462770491 938632113 450484647 623344845 805042447 889085271 100961845 809647847 993557477 741135467 825233187 930160255 772766151 970244711 739412909 265860451 957240929 764132523 56060217 589851593 900598795 672392067 724294733 955632971 717004483 220901661 418088353 707440625 348933429 417119381 700292879 856760615 804340139 992874219 245959319 298927811 551831327 63607305 420055913 210587137 566892591 579691455 624273109 117279881 30798883 372116677 669369689 761635173 400006633 481246657 87598997 591947275 51101979 762402359 233621335 737012571 781883125 219201437 819994769 618494615 762721633 182094407 516426847 38574703 320549357 124991099 116508163 133759477 687273679 322207585 883999721 183736745 215080425 810823177 250146979 142594671 255023041 526632043 423925743 706448533 226923653 121608301 650159021 514561231 180125453 561350867 154532075 671531835 131721689 183066705 461031133 317281373 811506193 564011137 729354201 982177829 327145089 332786403 764975207 485061351 907620517 882565087 118218289 707788895 347209623 703119305 854521611 644607667 356344609 904224215 106009071 567567729 744343219 880291119 868464641 348151951 214164579 349346773 250123147 626743143 370201073 860502461 736701697 809955265 662114755 597031873 370185215 970284747 285410281 422772895 781773383 982191127 983272731 692659205 656707271 576689315 494935991 482556799 823931533 359989719 647655621 187169675 962436057 695411327 120077043 630772359 169092365 10867151 745243035 296532413 928015285 82187875 147781561 423510623 453382017 989013317 213596919 950296711 966987599 898399453 567122595 37131315 809222689 963525125 532844725 280939087 679535141 255689975 85725897 297216429 847847851 883295833 488489771 89765379 226101807 908601401 688582599 398376693 300472149 634176779 464820021 993833741 476793321 414209199 655929269 622331577 554456795 410818917 198640687 736318803 659968585 178935521 778083631 239239709 328074359 181813555 13248495 865577283 790396621 822992857 390830927 148859601 305546979 69955771 79421139 531332035 174190959 629786403 769529773 433930491 129068375 234470601 616660403 884645441 601931943 504351943 489231461 221096263 234196879 56824485 985502697 749996709 91247983 142767441 553203727 272159455 934553543 519460893 275611471 27782491 927958849 726386633 987881927 108041067 851811509 276583801 942800959 154779977 990568985 48577467 815092517 468172567 651581331 557612419 65865619 660014045 522417263 754815279 708469317 814304909 662659103 764294533 847243429 228807935 250680127 13878959 438952385 283982581 663478417 167211335 3702607 15985433 482064895 644437321 429578417 114905597 876101537 306589463 788571627 991018263 162643117 901532801 12495023 729056203 448227467 430850491 388992853 398636639 467508675 624549989 142924761 191063817 119764233 11629185 724493539 638341343 394865721 640526717 120484035 655164131 46269781 225837361 9527923 131715839 183991689 853260501 276016269 993343235 647176743 638436883 356867163 365610409 945738669 631194101 296623309 339877779 135132349 38525427 452567417 280843849 563365153 306948329 114803103 991895867 270080205 273772061 335908133 895008453 282838237 168277049 522234267 505723689 635027603 494960727 421359415 634886027 566441563 127763185 211719131 14677249 162132169 341129453 383243277 806317443 747909527 127794329 521417725 680366835 179474601 192640169 685196415 469163545 727822089 175563069 720451607 983486373 106755051 76893911 767976423 789712179 816677803 482846565 184788675 582386243 449517773 428454205 322231329 127542591 929115385 128616987 679951133 499628663 680884741 793874983 258396035 417058595 905851115 217906411 889462463 686285929 980090063 519076959 64021225 944046157 818227195 440709087 534581185 635040453 597201637 300460847 938301869 812543143 846043941 904227197 147333311 283415733 52019329 989539937 875591595 899341463 981585889 563822293 850892497 761943521 226633819 639846975 816535353 275972875 560229419 246482795 628072339 935135349 4077489 458807185 748694837 91854699 76988025 96513359 852321055 371940635 836138553 447051173 574388983 205546913 367710665 285738757 763827725 88376061 273596463 967167555 122579033 133555735 17978771 803752347 182762361 610941379 228801613 237376949 744706483 10337207 497871315 306069147 5804283 391969689 965931467 561674947 636680675 262192109 718712065 776699405 123193007 744164135 320373351 240897211 177367105 765444769 412326935 761493627 693909293 261502875 949408343 811798883 811201191 549911613 37521 404581105 471334801 445772955 574264407 591740169 339262833 993670571 131647591 386802937 818399093 791576145 444741537 960937075 27356021 795195479 5740051 40287385 771937521 19477867 224473071 517762799 159558159 301328423 462097553 285640801 551247521 312477967 505163131 501669443 550337307 341236105 52378969 453967189 911505309 906824425 400036093 108846781 997415151 591927141 561696357 37668099 646652289 943212323 694198195 696285475 667829353 439045415 495748657 511801717 293837925 560963685 834328403 65731777 828401375 452443829 168837557 727518515 983939301 669674971 371853337 938381665 341555247 117904509 353638507 732618057 817194523 769904941 944429247 515864397 492223665 228045671 782489679 845218623 132360607 886488201 818713213 614402895 756581183 388423389 705093079 541772575 806186381 679648405 229877009 152334513 66641203 217301193 351311875 491351413 140868733 639602813 601448625 331685693 661699175 72558999 823645255 670109513 362340235 490084329 419304473 704400189 695581493 290379821 806434465 636566055 395861073 13222149 672916611 257819003 709108855 229578233 709235593 179124759 481370855 334378107 173922217 567181121 842921863 253826787 622024187 222426021 925059047 890893685 654307267 357963865 983543359 65261399 164310383 707407321 169133679 621663131 122441103 961772813 40875771 517822011 440672735 845398591 820571667 114869017 400527939 752528421 611683985 409937149 775962055 824766687 530382067 902220441 381778331 399485167 332166751 935142789 806672413 678072387 397654949 4919107 522575825 542886195 500766781 348020285 345844833 102943607 231893315 725648579 879520159 512582969 838030979 66127375 260939399 177486341 602197867 843026243 570074685 796262863 957758479 655615079 313498381 247043061 725391409 949754221 610159465 428384827 79372345 141124909 218999019 20761553 162942005 468372073 317530457 841123403 457574619 901228235 78801309 265012389 484212875 298318819 184846537 624343109 936240207 93995051 127152923 325275641 144296147 667371011 85552371 798280949 1418607 106275511 745973727 261550041 241665315 403261303 546885521 502451623 157376917 624831579 791923427 719213261 562333719 324186469 285410011 887334945 553985693 95811455 519325091 375851487 172064455 178255225 775886735 863737519 737396957 48425227 238613527 303782043 663832783 177385435 204651235 34571803 422375729 26100847 270504635 794789643 433202247 948227383 690663059 659764143 619864821 963729807 851948679 475729847 296499659 355151543 980792025 16960821 303805439 691016921 112097525 325135785 141661299 906060293 941809773 215189751 400559277 783495475 329019391 775320173 120329691 438308681 533769357 80218559 521526743 668405771 1131041 911672843 371260957 141407023 560478447 846954199 251195095 545297739 948682323 202619151 253588945 602276575 405942735 638951945 402524039 457398105 864433167 857716353 552098323 230806023 408674279 66875295 783078975 943359265 830118737 775261165 330017403 663763661 261372529 424643683 984473567 454799887 840379537 991878491 272309541 201076189 614542631 358967709 39606715 188638219 281555147 680168279 479046315 860829279 163104833 613287707 123565999 393635199 629414775 361270505 713985573 678859775 268917373 608574245 68068885 130998615 879944335 66888603 574406447 653049575 971012881 231810179 737546185 841926393 158907021 737155449 777118689 747308481 70707129 339077763 644398625 391290963 697160813 577368333 982747351 988705205 563721389 174477035 135417595 28946381 682489255 205960541 1271593 371869295 536042155 709230089 563939501 233095761 355685429 306460153 565584499 401391129 554114281 737321123 221690901 967929675 688152211 566714599 375698127 202363227 564199205 87865351 622101131 998160547 538090425 304820401 540995797 791443297 640018325 841771003 831599079 780613313 830758689 695115361 841394593 864948693 703205109 431406795 670516359 935586451 408592071 60300677 93064395 488142047 34154109 628681537 817339715 992524163 631132963 294031393 38328431 451395885 510658027 173367975 462502261 700500343 379949873 535903939 414167847 729497573 464223605 349576393 223107321 867415261 301112935 71026293 204102667 704341169 388281817 622299117 981075493 292552861 439607491 975889085 931841717 477926333 648154701 660543711 60171733 961607713 354140351 483961259 551893827 373626291 650278029 650569449 163394403 245686099 217957201 813536197 965827657 685760957 102022865 209093077 861335211 714469021 861571063 998323733 354496231 926954885 613169111 38325227 407241731 48969963 305547435 852291111 487117491 707744051 802532565 636954105 765258313 177456549 117596643 997874691 557966791 251764595 122521993 440908615 388342997 53691573 985814173 658262579 451786943 481804653 750671401 918012831 640136063 238451845 576859219 437218245 570806453 274237645 658846063 523059017 421729445 539210753 871729403 141745725 782808897 298248125 303445657 295958803 750531359 982885519 88323859 482440105 840939135 213688551 561922399 512605253 891690055 37884957 12551061 914693779 80299273 204323187 192006137 142217383 877523959 384108819 39093239 858404353 267451895 197294349 793905443 673555591 332096651 902226011 893495 246394243 486211299 961051103 112572439 911911083 664454873 861195617 689575119 713801503 815335913 542453395 989912719 308370529 545542717 541191693 371804853 341964127 899648419 803601489 250244805 858312559 378947729 406463175 526509415 298296143 222298409 187366085 800002417 518727201 153471537 369026687 913024733 92169335 286373399 391715863 487968207 679633219 648003061 403216025 122784659 604880609 475296391 337002227 742810011 347848731 553894197 819128065 876146305 7483161 168992017 167788163 916272907 380445301 138164687 787263011 742741281 768863273 720804047 179849841 739549913 856056475 843142683 876765927 186324335 737060761 229408607 603732197 829335107 945822551 780617971 824229559 831191011 492314995 760145621 381984395 821913343 224174067 441335727 732830077 677642615 9061443 225748945 262208141 903971659 54495801 591546925 580456357 383490469 657541907 692900713 467799701 22900189 97791091 423682759 836814871 515934313 522888553 7379255 682483915 660097521 116870507 865704531 890963515 976397885 703568725 984468823 239619547 543088449 757183083 186724397 792782849 444178967 129871707 706699875 424443629 846807557 217729853 957978671 35176909 288881525 345291403 325331315 504848815 555979515 739324457 257589941 70306443 966193231 482611305 411099683 81836103 41518425 666097661 864537749 391200679 914935073 790530819 644761739 260221279 165264091 148752385 950685485 153461001 257382115 26992355 615444807 352129061 662240699 531127293 34008147 123213595 357820687 724884241 532394353 327304767 104830643 986357311 757333605 43516105 109300127 384532759 381024417 955099097 183873275 702922639 480800315 237626745 925216527 670610177 427389171 20861851 201366609 276716341 60424495 466025753 919722071 958671191 762536703 598989489 77039339 217432317 633160987 381916689 522606835 683395365 284745185 898804421 35307397 469424947 54110809 395465547 864492251 649091571 311195441 763152385 42560857 692661405 25643459 349632049 252947593 387891149 667547403 468450573 17577503 461227655 807757491 363483823 753906935 643256635 554541065 12752149 875971093 594439357 949938435 649888045 412005793 455685961 101228867 221759939 527874033 35864965 996215055 203429525 340235391 891736959 866921557 294759233 909076207 101011371 143817133 925865041 578648077 574802919 926069079 37824055 790554825 506503289 662881339 541455435 446579523 495055629 942763749 319788497 663338937 684832185 61508239 802320623 93539739 59578363 167686169 821831607 877108345 511658933 677087495 378872099 3013903 751114807 650589323 294004245 695584835 577255735 965279355 466739285 871139867 224438225 607166549 875277717 860544207 318329225 991063621 895645295 250865079 214792015 832371221 865524577 311742553 597952117 851511357 245329367 720611167 268513211 660967649 350779681 105403291 53208645 804587201 483724155 378815753 410855071 390243923 443218689 537058767 748490691 953956009 887318721 659250485 380293641 607539335 405885355 618072237 26259511 139883345 871970711 280184535 644637821 572851221 418116169 556682867 479174511 869365903 730856551 834600813 436588809 934017051 727149187 283558359 50770355 378785471 977463831 260199151 28855607 123919405 627667077 235518997 281087435 338635451 238213141 662016983 690442511 73935467 587156727 494306535 91639557 504496095 2934855 706902305 567779611 244503401 265584903 783086215 212251431 25115649 932343067 898399813 772829799 390656071 304068187 983925679 228059263 441175423 831549307 310136125 128289403 657579675 408991005 951662487 506213331 571863857 1345229 99553413 604982115 289367679 916548603 780584443 547296879 952637551 370459391 571646229 414593959 41333393 174374427 659072789 568758303 580401431 759190135 619595881 522952275 853549541 836975911 770594719 207033641 912134529 677970467 229027959 876258031 291181595 901805901 891351251 912447577 149816967 678291309 67183037 302882693 23621961 544417075 198431851 7035641 542200707 918974011 808111413 23049889 356585993 875463685 344596639 401842387 662202447 750436091 247784021 7411021 546556791 261556589 365102635 569222705 641745735 292901525 927395101 486849297 777059629 754851731 524796489 897831901 512274241 14633075 392825857 337776631 389347651 173074723 117106867 847200545 336103833 689290879 612188671 742899339 264168021 739387207 394574243 441956295 683186731 853510435 13469839 140927445 303028603 222163367 772980691 606405145 944761165 885070667 973065131 839328097 33051217 237585007 302286459 75704545 173139933 343039071 321780175 534681399 881029361 670186569 996201815 462317929 380190003 43090505 880733683 226205667 736736243 16201823 605660833 963936635 724672295 753758579 456393617 800149101 8200305 639756889 1122579 964959071 903595031 720117961 704848549 397938783 823370761 824201827 936635367 665774563 428497627 965510065 386160551 597512133 781847761 693329189 191883477 169149007 265923277 815455769 55263633 593911593 455845219 29026253 272204827 663190635 729793991 864078441 226297309 304013715 767437531 620268545 795353711 246797445 752656931 558708107 659525767 234136205 911926483 847301613 397309197 239260003 587434685 84269803 496732169 762670627 703095139 148856377 838799279 523821137 650908395 439941745 505261401 924756189 359647525 724657169 601870477 577959195 376095881 126888071 818301429 572300743 429082423 361189151 336711269 541013511 478705651 30491159 623145431 995477097 721218863 942092173 881337965 250667489 552679935 545874059 123885429 530074831 449303335 473557507 617153633 711261685 750171659 680768461 59448269 110306177 303298491 565497261 780559995 941402633 174069231 282160201 676170839 105551753 433012229 2692661 957925237 727455337 10250245 672425703 230968079 495810163 46353309 242673603 580257929 292411871 928798501 553068305 581389933 175155273 730615967 883527939 305889135 96425397 415601837 998362801 479466347 166129043 268006307 271203615 279582307 210543029 144812661 8039987 257303941 20992347 672135621 772220863 911113761 577217577 275283673 974014591 588498099 516348717 315923615 582222095 459104221 218655707 232815279 337481471 862693743 588338449 725417545 128270265 187011927 232901653 330757459 390005149 311725747 247379859 429376861 551834855 79356103 899036321 469340831 969846467 764209659 676614075 771217657 614799425 926370533 326463431 978493167 2550107 259517247 265080595 164432049 582594547 173096175 825944661 783376665 380965073 747820795 430317481 823719077 815767207 380627099 581960595 277089403 7543053 390325799 997363713 377626987 18205573 467984421 446446409 140018411 341516921 388669 104224041 550361117 940494905 114140229 207182789 72071879 921679873 79036217 137789609 990533719 833424109 978297401 620321229 42154215 919580939 250693009 788653709 39156787 808969803 39268791 593462959 99789989 87528837 650625605 644462943 216055371 643898747 833804027 209798193 45273051 635575255 933991625 844409381 771136437 491839529 687724735 949598881 972233443 424732395 190417179 337133679 974786065 301411967 97530429 877899461 611460247 75449387 663650227 244443713 252821365 650286373 422613295 445107177 133683793 197144451 209162125 851143209 599261307 818100039 253964751 405154265 200688107 470722907 260239391 330497841 612113473 802965135 545971413 504846043 784833 214119069 356994409 525212385 875001947 660053285 550583677 59152827 265002153 649060019 374786527 78804293 586092777 970121141 250590081 581606339 190164993 56772487 259448447 70315749 106113665 716344681 846787355 786743997 590581663 514511749 797262529 430948555 873258557 447854571 222962949 806811379 299142113 3506069 292657825 20529283 372724153 437719395 360457847 171987759 758716319 920620319 884118677 719478805 332932879 617902205 319827759 253865147 542009395 484309523 812354459 314777613 713023191 342188643 612514659 89871201 51411317 631761621 779161389 545876851 52564013 666407101 662625231 543901547 820673987 967977555 381413699 711769043 641394857 248854967 482988971 257446817 38378997 796079603 170805847 277821749 593929831 90821115 467787957 890338129 300176231 997816739 50172259 362943523 178074625 670771889 12853029 209599555 733413871 465369549 87926755 289263019 861981839 44730757 198543283 992299711 837664745 578388823 46244815 514194769 571087789 271672481 94435227 468359059 12163631 324054447 517398433 973429539 6745971 28499119 614339735 725697543 239839261 371743419 456861269 668991401 568525949 257561303 302242017 544244195 534780809 656142569 461259619 344117743 559237603 341277893 177938737 296326515 870393041 876798243 421356743 254186365 987215169 628205219 660917957 447476611 566332109 324220623 318136567 572596319 453352113 99106585 351092051 219506009 865651925 646630363 54621937 437814045 549424331 3749203 829885207 204183233 108930759 540211375 841983535 404125891 978383531 8356603 331350219 331823111 54276859 314720309 100977321 915642585 924348905 363332667 693313449 427213297 460421707 924439511 204810457 774668139 607593633 933333435 202001257 647495115 609567249 106561919 881828793 495113473 102137709 845449383 598203465 943158623 384276007 704500633 146560197 631684261 771234149 84543655 897054463 948235511 780629225 76759309 259944949 453104099 507164707 784782313 990537927 57010525 791278381 827286341 562485187 937047235 482756547 162026259 339233115 130373595 413734991 610331179 789412651 443693009 226936031 256998735 764935925 69726779 398538283 100233257 43880869 457952791 905224337 539339339 720499277 980853447 743228695 289763883 322942251 759757595 91708529 190870573 733089441 241866313 988547057 270179737 196206649 892699885 641370777 360434593 407829415 92551179 220895249 487551581 401161671 43033105 777239973 450522063 692999067 878115797 327996751 568274657 63319375 499159445 46437551 554557539 579682103 250648053 508547081 666147857 45920461 210311427 457877327 522041223 524488117 179696435 658644247 448916307 988318905 208743011 970847137 664619493 180079821 4398295 786233811 438668437 588641805 564766271 603280957 11788453 653545147 977541295 664704535 315387967 436788293 719402403 77664831 968396659 392149563 331251457 112203325 591302461 325151065 267136023 399914817 8153209 746914947 502362267 360327969 918878965 972222915 857221543 102388571 985059937 359100237 948536515 95473177 553700181 719820927 871528669 457765161 597557843 103004887 886095175 621425409 196444357 672322307 76707519 561886147 439337979 432809433 955847277 60344885 161919535 848383823 565759707 769149125 20089217 742470027 711046913 950001291 929080573 982781399 748193083 18808393 275373459 64498601 973121101 930581345 910638361 566030233 304242791 938576103 680778581 936916589 58449949 643600527 272018671 888427535 273639787 78334905 836876919 870542481 763061943 264751727 587065703 292875567 660827087 135903835 294927649 267340109 416699111 773372889 373255659 968073591 132032413 683436775 785086459 907087967 47108599 686765099 743044709 782022623 72505697 153079287 960498223 138757629 749107633 870637373 751949633 878183395 124075555 108095137 537088875 434356451 356167263 834222441 939957095 518281083 108582255 839148165 790563797 284966987 67983051 174679435 583058497 189683489 258158413 456019385 367518745 811427823 604571711 446772985 91790777 529398225 106607689 192632537 94123361 601732617 641201795 739142031 301651001 192307457 16378219 118881533 133047637 312748881 568378341 441719209 340000429 794807985 345381951 1233857 351073313 739014915 488195885 898341405 179738747 145477461 608632525 981946173 232110191 941681369 540018085 717435465 459810193 158507499 902287775 347661325 649950567 919197453 100498197 565063171 973621335 754028011 217792961 991482187 761404597 996717657 352462795 794292137 402068921 873477969 371276477 86139535 208507523 266973175 555903117 835294227 298493213 800018581 118468763 509621237 444224889 167431071 781943977 386476187 593731185 653245617 402878437 820165141 998207173 5490061 491772901 205051163 97664541 91891999 556655527 144589835 611849741 840473723 113203343 168042989 269687563 567107547 215444841 714137455 69485435 173193635 642440045 255938027 488343205 596835165 369180983 579621469 536772541 714150591 728344523 208654959 551706839 328905889 149572505 428424047 541980153 155714567 213779827 830521683 720993801 223997727 779239321 589455805 932229081 617015865 890468017 241687795 24257829 210433745 931312323 761770723 117432715 10825867 419076683 868005413 846108053 497802801 907621665 610539257 108541365 512415929 21224845 40089671 322016067 331201083 729401659 622003867 592306563 568043261 28566593 258515247 555691675 432535655 630866459 836575459 380999325 904999439 942069937 470965051 278051461 587895473 792625485 874021225 9682735 908567853 467475879 988021059 758388843 817669009 599197401 19294791 438832099 809213453 720900717 225870495 790590519 72907265 341593931 594402843 26005475 492991723 341701325 424149293 62975571 846409595 483002283 270029305 540939479 615072385 422143247 800456005 863607723 687220219 207229317 474795905 388309741 849214985 775321601 908931521 945163687 731627513 838253793 266133193 152068297 353232189 650243307 325787645 243011121 670507631 266640459 489089131 949885851 846099029 953704343 253210575 79196083 825913049 83866827 734481283 880853769 38093839 58631757 178698131 607834391 136686895 874865643 41985963 778701119 257620385 778818011 221307939 18889673 70679021 701220791 585072379 374163173 999259335 631357319 360352987 518816689 314558985 683937465 251825167 62104873 515096505 172456223 694415761 778360121 206700291 215655415 8048641 190604721 571540277 370921 658982563 599289163 817119951 218582273 364099689 719563943 548604019 126790579 903465193 412381009 448378859 6367197 800829281 339890361 264374059 646943939 815813051 694607671 464088911 317709589 106065285 203671309 925273497 809888741 32195319 779609957 152654965 715397555 751163887 32447311 277205623 703684453 617993973 282855109 731193177 203881283 246475321 709698983 616384255 122087433 220548751 514907841 26958963 327128015 877273209 34631361 718097129 47740189 242996511 927705411 247088317 667729887 76555087 380266439 325557875 998806635 787286655 70582455 51285939 742313087 567253969 224263779 775426131 39788605 332950795 338044933 953186637 211206965 590170011 461524157 1660357 437478749 83126681 860396695 715490821 30770705 773515973 53030785 532559491 785297173 388856709 220596311 334334167 514537881 262884331 754826201 853438149 407724335 161185451 873528751 765498171 768544983 363792933 534031725 616886089 501963253 811267937 582644107 228930347 423053143 455785743 107283561 240338757 886670385 590438021 745897299 822415651 63651617 584425155 82850167 191451767 708910381 557323119 104922865 402259483 608426687 666472409 58339265 142505749 676861105 487509495 58304719 29432205 416249151 33041771 431531759 293447131 163213067 309570171 613019097 228060021 7987749 351466263 338979117 181245953 160404227 626093523 366443381 615571019 508401535 316261105 372871461 379730245 446459361 71343449 643036561 705164553 527486935 470146457 492050943 485018589 364504947 452279015 30466197 761725227 408276019 349696037 121465703 502387333 51257343 359174359 363972461 260565161 666541091 709801007 267778951 405382775 176243283 951207429 25579391 996696573 30532013 766867925 984429319 423206253 513669045 612646855 944170169 577250851 714281819 166738347 339218707 811232161 702694899 281058297 482022275 238066835 555890745 45740753 547336021 905946059 749465427 749395191 462502599 430516039 135804879 864285405 234336759 822922537 356404897 761821591 69263855 458588347 765233191 451053545 681430433 737173361 534486823 293921591 896630503 886453223 364017101 689806993 777825151 231902431 573711023 556083119 111711765 347220549 439207371 936168943 273933627 374474795 999917445 351182681 936514663 502354895 756408745 565388699 237046525 832142995 946532463 949856013 717344069 140431105 991163761 390402481 672404337 297010127 629629113 47667241 372434075 825684181 172893103 350315721 770731457 937163799 322996269 671875205 254014159 733453505 964642669 793766399 291147157 628490279 393830677 490292347 427875023 655720643 844564529 978102507 840890651 98419001 463121979 312845031 907081219 344761171 481541131 230575531 659303673 295915271 356785895 520628511 699177557 686353261 104532351 619666643 898591321 949027273 779948263 605055231 798608943 519862921 844392861 306124161 764783335 360083005 585643139 971880163 922210429 870259361 511214569 467368783 908193485 189497241 303980165 503351201 624181413 954662447 226133105 198941271 438849717 738140057 189545525 732007575 277751445 131092015 970512831 533682993 331344841 629506679 409491297 690531739 883538613 614724635 36395739 768428791 13332913 605610221 884023889 851687691 710678001 180892649 593884495 137361221 77203095 348463667 612628941 268827583 947278255 178800151 982418215 252001845 332159273 393197063 949005091 436090129 359721949 435465629 543596267 736853087 350483085 695213727 551013913 87928027 229871331 801470455 572382631 890731743 137048687 656221879 463831291 352183159 712711595 22576923 283911907 733517647 180420857 296837001 601327765 72306623 897483169 767659401 677002923 795915719 308860115 119732429 40448557 971490061 17870507 900515893 150311815 537737441 510687017 703508673 310505871 989812027 77997879 756713629 266313347 732986299 434015653 332912155 618473221 14573221 442929709 636202169 121563943 715403753 136261231 166317081 76827995 80090657 733265143 711264517 5870973 711293835 732154419 2616433 306185687 634938637 774719871 97485431 985141777 370190647 450415131 268052829 271938629 510239039 390626865 630744717 605692909 440901639 912624593 4611995 923663599 843014933 38295541 973159745 500636311 86442903 655704445 936114787 829672607 263921511 52172853 784142603 709271071 301793281 923125707 373429613 652094623 349421965 338977499 227021029 290027275 851781085 535910373 464506101 547295927 488054117 39478865 294515273 927311461 680536135 552761203 72348597 376190773 997473095 623039875 429966131 683771831 436653783 214409377 780791015 171113697 899039757 433402329 913430555 159028495 653663657 991393305 509136453 400017157 707470609 757718845 205116925 841510641 163672407 991474947 365766663 66725737 259717679 979930137 299185743 619210347 3249913 751115021 691751657 869210715 138889661 425312087 534684943 217568519 366214699 788605019 838086181 413677731 105658519 209019491 242357943 793988301 402346245 553062301 133164917 824810377 540768281 432116005 393219647 930170951 747179555 121361401 459718931 511966427 611463705 143358471 494897953 438014593 103441565 783325979 663378361 402430687 68701429 804340211 959948631 619173123 831938063 328534317 379015327 377069665 796252037 248120403 759563613 317462489 890175635 154325207 512095107 606157997 892026145 717963027 372634667 734174603 558008001 152611653 831647387 534196105 659691943 587686043 550131515 749175589 291067317 606906401 305850019 555277121 228890479 824461781 520917129 820628015 865182983 53266837 863133395 940153505 297482579 48628267 843171981 83584179 314692819 779416649 748518121 256280815 485175469 903127943 944878657 941985085 929741233 274953577 713651995 366884343 346633559 926320213 249901857 593019095 558345405 734690973 717078567 298177027 458993581 124390269 47594277 562003721 368446353 244717075 79391555 203955677 849147013 209029737 219721927 814161373 77379141 723444337 496898089 602761423 787620155 956933891 97118467 266618847 697299829 75699937 405852439 586261667 759160235 226524599 45242705 98831895 976960059 308006161 36380357 656758179 423850027 589774699 301446061 821570065 220477997 512331047 793462379 856863897 25146265 132082061 87014541 682532309 89863019 941562831 857528773 102662861 800116557 358755333 562331887 416042991 413254795 397650481 138227469 352382477 714828063 253352765 501147213 188158823 369763497 488639483 188070653 249519777 4847469 242667041 620533405 375860167 795361117 216203091 236284111 155636049 570194703 816236567 494270557 5431067 812891843 979044067 90270267 378692971 927993695 227338509 183648901 568267245 988918643 785154009 149712767 558571703 529915959 885651307 225989777 198884677 959264393 543172059 379798865 225643389 265151985 64712221 713500793 328370349 406277535 923682067 90035949 670538379 603531113 358388361 384524983 162924081 794860237 74304559 640173069 563449127 902700533 547412637 605292615 500522585 52251311 441426517 769073385 624145693 345147249 347943105 990742177 310133297 350866525 956549937 439090239 372397241 201930297 437386207 846441919 673524033 665807219 921091819 850152773 688470209 825642275 7396705 885293597 610850197 117834761 35636273 691546551 362252417 323413901 601509171 547429555 597048245 147872443 414290985 427724239 433863619 135974735 500788155 346858747 325130411 810455715 292245629 590966343 220765905 100556993 662687207 615800049 642489859 147839321 710388571 21295705 314827895 240493249 943458079 790271755 973713863 667609337 176415081 431579069 451619323 165507751 945288527 306078281 128013439 775280155 256134611 106366129 271353641 367027277 479719645 995889695 175668533 968353243 308842049 104248811 343886923 788167693 535041207 525098123 476253557 349856723 661586655 554682023 279782441 332124867 874246725 760509957 21861191 779800091 580808791 606531741 78690833 915108293 518784881 347646857 623067959 959764815 875785683 520762891 465103307 830325487 623741093 318762639 275590733 615422087 80516347 878147495 483768737 837235869 463090893 870543633 355345427 504590175 838140923 198936751 98270301 807972261 245441359 896490891 278992535 428560367 428850045 764270297 751390535 936857957 154427929 820891893 664883293 48381139 29764777 138111073 495729709 292815795 320357781 802635465 626353267 736632613 862339371 179829759 949143381 217140973 108765865 863391489 999955553 949355645 80526125 976586481 956724109 976419819 903143105 277067801 397353523 775034103 34073433 20454125 57774107 287896071 934434249 849844489 651680371 514070827 766221527 580962865 620881613 64338715 18426921 622630221 149421095 779611701 51091283 162956659 900078057 82541953 521121995 878299869 329413855 581869997 332062965 130870765 663068219 767630355 776845083 944619571 855625887 34609071 294230635 322156381 685799695 525814315 752168703 65082953 929420789 108360405 274686171 654758907 859879979 822906787 964735205 997270683 651125227 957568567 99650031 920688767 219157979 950727895 315369909 765838113 254224905 558313329 410960853 338901029 683192553 81861277 101658841 73087575 534188635 364020379 423416115 961881255 663018655 962828883 897606715 158755637 395553641 326833745 418609973 322372159 133239497 613826511 588637767 271547189 825445949 515718573 79792003 187104167 434234285 760238959 694897125 859483217 494328931 977215559 537101387 83600407 471774741 531895819 389607039 941080325 42107363 681289273 571488307 323552077 255490895 614441211 647934463 624961609 849352521 923693601 116924517 631337343 14100259 336326173 337164495 890640281 950397341 976969491 325445775 590274409 909294043 231098825 393187803 899150571 930945131 538354863 653964503 887063621 598244929 299953369 875133579 752222397 244193723 701682443 585434087 975300043 688956319 911877287 197686473 353050121 369366039 264529601 456240877 96334905 607427005 960823567 98822911 384456775 389479563 865725165 104833935 273229381 609314537 841207911 913990679 698653041 685154977 289021737 644762617 515565355 577164265 218770827 364653949 588058113 816065633 147515277 658028757 443803813 496092171 731201495 273446681 970873587 770434133 31912117 152862027 679760109 244201237 105932065 580437333 610713535 747217801 795678139 275777287 646589629 217943381 876813767 872141083 186723423 200385413 50595895 555838003 279197517 554885521 562235553 319314389 386294095 602500693 223415363 991559031 232650329 849594647 818320135 776550255 116625287 361077889 496819835 514351615 872595483 639018413 866751191 299798097 309207169 502282005 573552633 995225973 339143501 454898079 138656873 287068517 736710713 761183641 424245333 141521921 759647529 579235767 543444631 578899989 956967719 922099225 857139115 955077199 49803625 357778241 354690235 777723979 1125447 883771165 818068117 890383241 413770309 512864771 840214703 283075187 416313103 302843823 754202155 55763801 842912889 743529545 653790925 630157685 98261373 453070683 229553673 417144295 149886783 436807389 765800433 663626939 838060043 656277545 75419207 137101279 819053137 427783433 513103217 61259311 512727471 448299685 79640449 56425067 613279721 822129815 435749163 727855165 426448359 588533209 857944271 367068467 580334783 635788241 149407093 370427851 144880813 923562827 208607693 626008677 268497425 643355519 572214061 834926151 682565751 1385737 933244563 616460965 500429717 971685103 865500073 808116121 775704131 824858525 371083711 472669475 480371591 282854377 957861575 98569771 909302667 666762255 553869413 758833541 611704481 552977591 107555039 632029417 296133189 473692651 894891045 250669047 253073949 38842401 424785611 111574331 904998127 981591353 689637651 860116771 715689395 199966581 935742437 657727753 27082883 246631043 657908175 961178673 646876063 587692665 398278663 512022211 480549495 724546261 327292271 783690445 202800797 829006203 227804043 506714445 797010633 304411063 979608973 769909537 314227683 559689025 315497805 668240403 935904243 547797813 499825735 407083989 32134443 478258457 19618467 155770625 326549739 322059737 356401201 270325783 235070131 249847497 429043561 862054527 648689455 404383913 932420715 992573323 179503411 140491933 529278459 815887223 317876919 661447987 826868873 589568097 237068771 622936929 24153903 469902675 581821439 42326401 427099307 717162815 430203519 408248411 487216739 614124543 60608511 157999643 999169895 353925457 700554049 271036247 173566831 234312673 705308209 597045261 301166553 43152449 677412579 792260767 688563883 701472743 263962769 702662367 151541657 631697463 165336735 238924541 951187189 104210809 96910743 627446939 376342723 152223199 132038189 96610747 692423077 606844035 613320765 822759885 157642735 597024867 601587145 216860323 819783829 430703467 942821375 785130365 865034297 268660077 56274989 725335039 797067295 35141407 147238611 689329975 606744889 944814373 464746131 166490777 893230879 84516103 503749433 549102339 708764939 744481847 592730293 805649851 945682155 911459085 952692773 328551789 156701257 92021707 292221133 121879855 762107231 335070619 865306901 768692605 23740427 695945615 371205523 593324351 230730967 242386333 464756225 934833855 518056429 120103849 196467779 953348787 127212073 739473019 976501093 356331323 301072393 452285123 359014551 192103641 762144435 297520157 126684217 244273531 980344055 448364555 318959817 305548153 304075339 998347507 984134135 159427723 787676625 911662375 123194259 859904731 28340559 382135777 929816217 128506869 542412851 484690499 719264815 11723725 216935063 819455571 260236955 605184449 752259639 413766663 287699541 526633365 556029821 22569525 194270453 357383801 652455541 254565279 616110657 99542529 250421211 973219823 219828515 770659625 676795401 732634805 612836525 775793495 509954571 618004587 21584669 501580633 313719437 847455091 133735123 241748579 895330535 166238485 42942813 978730773 12515865 164353665 408260205 363780721 960189897 204595667 529531613 538858213 605875015 10529035 101627315 61713735 459090571 388115219 309610777 18138579 232293171 963591355 831545187 737438001 795030409 19508669 775181833 191079275 439511415 501273529 255348915 173379321 961417113 146456891 787031081 467316663 900664877 611139251 837882719 72106985 706365977 47757175 91364977 143853375 820918763 268992205 423231905 33916363 523689183 773271773 606389339 676677901 64351697 844247991 93678643 39819497 921297481 814283349 241807841 126483117 328558453 620258199 96967757 960692237 183638831 402627913 841025407 234275367 823449843 758982937 144500651 323042945 357829353 92207523 610969645 454547463 454771427 657343335 303860361 504814095 995888469 315834829 806873959 650966357 196889697 57438249 838262171 30284545 904616139 536985779 659658019 894066077 356231941 499992971 163343905 305653281 525551653 809380285 910096353 631379687 229708523 665569335 555300819 170911415 878990013 973401301 627462805 895797183 760975021 460139863 137154281 670722705 217615983 394239077 302226109 753293101 103253859 667602579 531363361 48130551 744258961 173059415 132194385 243620027 131413673 366965271 23130289 970047409 849978111 351005463 408218059 67564149 674333335 357653643 145915477 741847309 747088917 69933965 319525927 552406245 767909321 149523227 653480775 325972433 393717929 392226595 584710877 53131537 600853847 629362033 408799295 658890315 555072281 808967363 169962473 230302857 24614109 187647415 992356987 531429185 504782909 817364951 558689729 892710227 98602613 996115605 558409649 405085695 713726317 52852811 948073827 438121977 329061047 338637113 784784413 892737617 283444359 646306951 159043145 6802821 38371007 694994247 454714489 665332861 823154659 182122357 979885673 545393539 902186021 586382575 829070847 123123023 25789531 854398079 66866753 475476477 845938949 711751895 63943783 20803089 564615497 572660625 777391819 223786363 131116535 461785643 762648047 24850575 73041543 667715345 748082047 95382793 457978903 562030741 848701773 99501327 346986095 273880557 816049751 945575981 485736703 998254141 183603133 151009885 743644125 998679437 318323661 431759095 23580871 551296975 909859577 380765635 642227751 820677083 641321693 921535981 124170251 818229877 200403259 925067019 9110315 400522051 45396223 763333145 274845155 902475223 83310907 785371773 592522559 540671659 118366765 562605831 365626859 754790433 604745783 3401447 497007937 536894337 705671907 795912895 643983421 951351805 960226789 426931601 894756487 485402541 91582489 588852171 399037297 572033173 673559169 729846853 628811503 473716635 20374345 339056953 537880739 319368593 879361733 650578251 226385105 502205489 474382447 856251533 680957291 105166621 291630569 318597489 869406983 81241821 223850499 694541269 680978405 806147041 534334891 173580287 359598315 993304967 283643647 729225115 739204265 895273739 320432193 275848893 174191191 37201561 170346717 304029413 730984147 567039553 374868071 890169337 689100197 138295549 318635929 50490691 443717117 834604463 696752471 863466105 70243247 109222941 896359853 805152955 19255359 341261309 357889227 42518923 412387281 444982757 667665935 315891159 486091317 458408535 111038205 395220725 133035489 897271997 836858941 989182371 221459703 26188903 789066405 944470275 998536253 773539215 291594801 618258855 386589217 615186519 639712513 581080705 934535611 159104453 732416097 299312109 490320843 560436431 859769799 498663093 999191481 457049419 521548747 785444097 693875345 184508667 252790067 582677355 821901839 391773319 576172519 726543341 182116749 125097603 384156159 167533805 104998165 84276839 592214193 467248697 658887255 312719253 331469667 832051205 133543337 748759123 892862625 715260399 243207947 200636119 794502429 252688893 726766371 86245943 763613361 358046107 571748929 607955829 64387427 169048735 178258269 213156985 597280861 96390727 111990549 295304471 526456049 922494005 271660721 115826695 196166557 804598137 225131809 759663081 753193217 107410825 171494393 371946569 156805867 326195521 478824061 448221333 259732301 857449445 14298257 34076457 114748737 153668643 959317957 229775429 923247117 340296979 262174287 305613585 761508379 579336495 663812625 741389473 499288575 289181019 791526799 405161197 606415731 573086697 539011837 119235029 706740825 23800715 249133 77616165 346961855 184962655 440721057 821706379 136700631 582789355 683213953 780028579 112052221 961532699 301555609 695225835 741377971 60666691 940893539 68068049 229634469 680851749 908659967 947422113 294776231 913328353 817977393 822172569 562852531 614071815 871432811 11164631 770507755 195137677 713529795 874127975 228332957 353402317 611960823 763179319 127919165 178005391 181226867 903700769 590662499 805579007 370346561 330238697 218322643 300810163 456802075 631252021 943860601 364316329 433672799 356366489 354423401 839829829 351089941 800802955 214097373 326968915 337304043 334063727 527648825 96131339 132345403 99447695 861251847 694870025 302732545 756392217 210584573 938580561 228498919 681427751 695274995 614492243 532014651 708872637 541203437 631325411 473864691 741011905 392426009 786567229 912215217 966907911 253345989 443287303 618959035 960389701 175711091 479361871 912050175 831373855 506864577 578113417 109356821 988399133 111081083 755896211 928558653 649708721 200922775 909723571 413475421 677767989 765127725 937801621 388413959 159627495 505996675 679839567 948092015 774171635 554092545 60560479 365511797 503376491 940409661 982869671 332487587 846276933 150339571 536870775 727758629 45403493 646844675 967889029 793727185 529127059 971131001 257094381 908561451 914899585 227804299 512024115 491359063 459620807 214736529 235078471 733807141 961996519 307956753 818288507 290581261 302153547 669672885 900541327 473373229 641672261 111810127 331903143 987141709 761156107 860282333 84285263 811293149 470197441 368721535 6569087 86117361 299709807 392933763 764825749 623094605 349142279 130157147 954987601 635269459 950605153 807858081 151845349 685587735 813616703 162446875 225885157 387726415 237621323 378434995 645028429 182633559 209314837 600954491 281445765 120754491 106775319 973148593 305175383 378315943 918652083 190256823 637772281 162971379 548793137 989100565 142943499 1360415 664316099 227055749 431536783 397841619 124088449 267977691 309217267 782751067 987657069 603957279 486908173 426496177 258282865 851494011 942035227 199870325 670803549 993400899 401545153 850615019 674434283 387251697 312646667 923339781 183978941 256562215 274295153 381628503 149694553 381227699 144004303 559494437 868427317 76997513 884372329 452016723 466019239 754117057 779880943 975911281 198871281 930966687 707009909 54462135 522379581 883027599 330975351 340406787 409894811 604549157 724752347 623565277 946642437 137064219 608750063 502586995 285077595 657812307 110858599 635902623 69127017 736709597 821848673 68635869 986571743 107286503 428545379 582766679 892127061 39281103 907862105 815263195 909841741 31630359 997413273 74296543 292559407 478922349 538906849 419047045 843173455 106630817 715833427 944121489 699150565 486692783 256456065 784877685 591404305 546887355 936410715 79199817 444820191 273651215 769986627 43128777 439347263 224454177 977112827 56983389 336397319 887736969 293986227 470725397 269334781 388450059 791289853 462207915 133734089 185097877 673460441 909727609 330541307 296404535 616633259 342716809 899456011 316813869 266762049 254035595 277452895 537539291 508363471 219775445 203987259 468068813 767386867 967513701 236259285 882059955 786339507 64432613 389873217 673652333 36874363 355235 559250053 787357689 401146657 775003031 764135817 876223367 377491169 968807263 993202203 180413287 615857249 964004675 70838265 778844439 713426863 699080497 855563457 475233847 87384897 807770563 667615999 581665173 566745841 105303349 283605281 680836131 197957897 910786673 559518339 746323963 306213169 820608517 327907939 328410467 962528129 208573735 62142191 326288325 190712695 450557113 782044211 404029619 943537911 896965183 512325933 370341099 178205005 788422891 241426107 610258253 6567985 946419347 881499815 984747495 18394303 516866231 238342821 489828075 777317499 95827327 357135177 240735669 894400085 833161911 812010777 215327687 491846561 282469593 722400635 815324621 108389147 942500867 233247171 256259737 180634601 870775039 69785127 489754665 65651353 848379447 827735243 431828125 79693343 999286471 960206519 805744963 528066779 505451373 744558813 632573839 325004687 357622671 698045719 1708055 92312169 247998525 699916067 230478243 100331519 21014319 798361007 798506015 400349261 502506945 420060487 428401049 973560763 375805951 358011751 782076753 640415251 908035991 819940721 880359081 601551757 3973341 849263023 815709739 234147781 99364307 668164173 500537483 772745407 779968801 88538731 305852837 67994603 477908757 729566981 890180989 251043099 976528549 568395271 446592827 458001295 272012915 627070275 850140213 723722987 661106115 529694575 22319333 947930173 417160071 468683055 261139439 232549625 328070997 776690699 526176541 762802173 24661613 822994293 888144483 308616847 807327927 516843461 994830559 213985115 341515199 394526013 538865615 165628279 39544767 482370311 483737505 306948447 362860693 212486197 317430505 862744057 152759497 210071741 704295267 596523411 473058443 15680131 599081711 481399523 651712689 626212943 453602969 674581509 927004603 587217617 226275735 680002941 971443407 139245991 235581505 405147449 900533949 863367245 138609437 608003983 524407547 42830639 945187795 442840637 140908715 551768733 68267577 861689191 403165587 774488017 680963915 965541529 405934881 845709293 958560809 918450635 225511791 538533625 17158945 272894041 997553209 26563813 569615011 229315081 636917737 671506573 427287119 425561607 719151755 262706867 490715109 182659559 778531035 53182715 318478415 682640041 484655923 49659131 80067237 14883251 658254495 142346027 603468573 215530959 216630219 444544493 339898399 730681907 771773967 56473737 54451505 697785213 472330347 62390319 666224139 549773491 449429637 883943675 649176967 58538561 22749101 216656109 745074855 577494271 436705243 461488367 280045975 600683301 526233773 643615185 667416745 112261469 837780075 947096909 583457627 301431217 813404933 410233093 790093133 682860697 173588753 663872383 869057357 704281585 348494029 76391217 887650893 596443133 677271843 875359601 786523241 281188973 969327777 302808449 592509411 402965331 631451263 125393801 147069991 642043951 392398235 118339997 698112201 859548389 252278141 327178933 310660227 518463171 747040083 518599601 38982711 131690365 194047221 550784093 614580213 887838769 742996453 375137383 208125931 45541477 962067013 855560299 621721975 595797253 145109481 530202345 693679131 106200423 97584453 916245323 141644931 887319623 993723515 716784351 520522115 682276045 432729167 108058595 634754325 716279683 279801139 156638325 348764509 860439391 646814269 145467297 123150245 681718465 560654381 927340117 653189985 494965355 851337833 509659245 257648429 24320139 46845955 192436137 601175501 457319865 712181935 856694449 735054633 564009453 735467981 194353177 380582231 338769809 818277733 383173975 985441169 796652145 969908517 879422929 10339643 619758785 136434535 963934667 900504289 662889503 832607273 557256569 171324211 871800463 768256017 142460917 228939279 718158721 238767471 510436927 150155641 534077129 329785657 442072127 591369883 584117667 78696977 211762121 318145735 217697717 675386173 744177555 70917753 565757453 960421803 780234305 964762709 565183521 986658035 768027485 3574311 459026635 62925911 423405653 181106143 764515667 412544953 920135043 706314909 604969061 523356333 303580971 188514207 110539543 540515687 218185331 821344597 845535719 769668041 247651439 135636047 516002745 225745495 882967829 19553355 30907097 353715011 939903561 47414057 84498431 471264611 651187411 285077495 923631431 777065783 300577125 942396391 800346421 271961573 137229721 417716563 106888121 880149565 140169453 527326401 569426213 927389111 764928461 306840027 288165177 901397361 953165963 752664179 567465497 655807283 773730397 90412423 66939731 59282029 775851623 60453431 897476827 473029429 387563185 840838353 755595279 359881545 908804397 963676615 777418933 984035091 745781427 162390709 568311289 623574689 261607943 452874077 841559409 993139369 271067343 832091307 994342427 522097037 872649373 374751667 855830361 333298259 212592109 829994157 138966011 899739049 350726939 27268097 184857911 385822441 368926581 796998967 361896359 454337295 704855083 375361539 190989397 375105987 814247765 772077377 132899241 253148759 282765559 886196723 818646139 488063167 699845111 332816453 367591177 957951133 58546471 159484555 696194039 189428277 438966337 997888575 569858899 69652857 314392295 423707397 943269777 650056959 190000545 384664999 586503823 427732231 223254241 873731865 336329361 123676279 256687615 783875447 782378311 604401631 283973181 574543109 211389125 247348855 634013637 734021931 853107847 742127389 293428391 654596479 978771571 212915545 217827293 71204027 463955927 698923099 218587721 53478851 698116201 547222519 49667507 767167137 727068483 800537009 376369099 46044555 436949997 369182125 528802605 633752537 934262101 73876411 703302233 290973455 863739597 917825617 479716025 957752283 823053075 975829905 64983965 982641933 659252559 802068545 149518655 918938785 192695307 811166927 982574529 419200699 279728191 235777107 835853865 716692135 809459783 374856589 253699437 385881045 563718375 865862629 991353699 318247141 957881935 782103143 277932493 566656661 940620563 995361997 392858453 495786197 649862959 467306103 445144203 221839797 292571913 751104361 823443177 718599281 911265391 721057109 85168591 378764911 40594325 583956625 814174089 649764917 806301209 411094813 544591941 505553019 255374849 980509599 953890591 336694043 133972153 800724583 815575831 810019349 271418391 102385773 743314965 73598105 152236375 814501455 828852205 937547255 543467041 160264533 835297623 440426669 281349503 620030575 470575861 53871963 495944937 397586737 393128013 744958415 562044729 196608735 487273683 752548347 158364089 56331613 136697057 996200699 472312081 962644025 128044215 239113233 567832153 55408559 379062143 783750057 186078223 103874971 560128583 524826709 129075991 283202691 541860109 553132499 768742335 611762843 333372847 428267011 31500987 531290293 985701625 137156595 940978217 414292819 501561753 972707543 584974989 841857435 178812715 120663813 558606807 530229855 440809773 340301573 729088603 1840403 522424845 821268611 461388245 920751321 932938265 162035533 271367789 166852981 680210057 26644579 557127085 651589721 850498177 217110759 620260747 35846043 62000139 286548771 542304615 888089849 535024405 985964427 814521603 124160223 755303033 496451003 272713101 845795159 15923451 401724277 867871899 346809113 815177793 194033575 573395755 590756489 26363871 108203871 660828831 57738921 820016717 391555805 843566537 131865129 217517547 343473283 813784539 151904355 810778627 271421405 306416499 354728019 59328967 338359451 321870741 956803491 567649103 2645915 246543025 29041057 84344991 940970977 815608729 902025283 921330333 291223445 200275085 160043819 845290525 120916749 574143027 672714909 483202773 659642307 234648211 427267725 452917865 897195867 318276137 514585485 143873377 349072033 523436237 857293279 326024751 899522693 768860871 24592489 362488877 695753509 151136195 898671037 296792217 878457029 639803863 201578767 635492767 983568589 52939903 384557887 665947985 843182805 591731619 606513111 847517349 972008851 950709901 303302145 140911231 913883629 863237877 39628697 755747495 168147951 948084725 947232797 239374031 815644617 251256087 831468979 918107023 371098843 405847875 237793323 145702251 265820837 427723219 219650045 523937737 169821137 623529343 331208519 726478843 739835703 805811569 950172881 485372987 263535309 861008437 353151755 307144363 892688569 669985471 516967689 380094035 956884039 626227053 457866637 786866213 754133225 270851333 113464319 486179321 795500859 103557555 248230253 428131217 88398335 475004429 758609293 533410199 787517215 833590799 668746177 72924315 864342195 414418463 430114831 756769305 337037809 40771083 182008869 182590829 992280129 332353545 74763867 656574693 868883499 131483571 327339185 848784049 397430371 892935441 98896847 457688041 309609669 372169105 463094785 144945551 254829907 448391941 684359745 952763277 849965369 895270571 888109357 408573363 157067209 642916395 336332303 808452283 258355073 452651153 736360913 68097351 944517891 290348369 706704399 819463903 790529049 832854343 511948807 290067699 718682295 797962173 729405343 603708895 251612665 877703517 323729511 657322979 419735841 955174203 446104215 60044841 607639195 468978135 601099789 421429185 730601211 427511831 120619857 397991589 714045435 97613891 928512145 648159415 15438719 843408151 913779367 705092797 305937041 999662763 557814799 40128365 565046885 819839879 531169267 232732253 348689239 206887319 131447073 112613647 80889835 95783217 871496975 575539179 914778057 180788753 804144351 912843589 907702983 273498719 456432213 982430805 652619743 973902757 46322915 304696893 350970421 465274843 542229153 557097731 423915541 98418781 244846923 932540573 74069487 976514287 326460745 880679391 540506465 100885185 782362795 751471503 474197039 711769957 315508777 329941845 529710401 336016347 584023075 564287681 167976877 163830663 64296349 710183501 672364463 617789751 604915017 904159833 369072551 523793439 334943357 147456047 453427489 319878365 529313847 197933827 824949203 757860983 443514913 377845481 819903125 346482519 552203657 345765863 479835245 249940567 485704807 525481701 401888645 392314291 993541209 787588275 685371951 944035853 125383591 453331209 785204199 765180789 658769471 288160651 990970961 119440993 39655611 620898499 443113017 966284971 116397399 941821215 816497809 37889179 158721789 158976507 399286131 809747935 588894267 123998869 237947685 631279753 302786631 323642651 173169937 694336535 427644931 660404635 194406089 269953137 854749939 367478541 842801419 378633955 964081225 210323029 429188279 553841441 400533979 894342973 582535131 565350985 654045481 137934707 749186217 111349727 696501339 351300497 788423293 698117331 810070333 438175259 315106521 742410871 834324041 997831799 494089833 667553165 186669469 26862073 217015807 216817973 784128003 912888023 100348825 961276927 389385701 829039413 415765849 626561759 945801311 991825437 203285129 328914483 164821039 766516349 451445405 337466049 642256571 943899183 111470129 255406261 932259603 811849463 967179783 266242725 14591725 731096443 366362123 12065935 985009579 163668557 520840273 2827479 526199635 997357289 23495699 244287817 596432789 264380589 97860787 636321821 940161733 875974627 182353601 808653549 569367269 736238269 630792427 403725763 100142237 665743955 836187407 800610311 89997371 456364967 69573423 203555731 530099381 458142885 636009079 967839137 152503981 288688409 264730683 729893847 538868583 995228607 300482293 269378369 444788181 568083257 541353289 246636889 31715725 890509583 879971073 983841527 890185679 763058867 983807507 912372065 297937539 954997373 729104279 5052231 886095669 966962865 418374865 972121533 288143903 853198453 928808495 436212545 573372191 519632603 26767937 358493877 956697789 680270813 301378243 966933609 420535593 632398173 33496473 654846227 893737273 782746659 564954575 154170061 251444075 234015969 535069333 503490079 835193065 525512495 555497035 980271351 938456193 789932175 810338159 780320679 434006955 861380971 763484593 907369455 549836165 11730963 800028897 625278961 656793559 845786561 908222459 867593535 218621967 70586775 224660003 562309579 283779655 176223133 611983269 532198643 76729403 253901763 145147123 890727547 266127955 679922407 985463207 506968979 172586145 230255045 24340359 394875343 397391321 537704967 234983293 749668395 677792349 66165571 280926363 260171277 51078961 646321645 585284383 171798595 215861511 275512423 185720681 990609923 494420279 931854333 607257863 663734759 726992059 129116639 433445291 604441847 608986433 874014245 402354223 341043615 7434771 787976913 810988441 195667125 580006187 298278603 729648147 139236471 602866727 136075495 945428465 224548231 569155919 578748637 349909163 841310711 501622931 348338767 965009385 59830327 810381449 623569859 225201779 838288937 257219951 376067503 803827517 287742993 898808879 487198569 838975587 901690777 736512855 733810739 355556391 230905563 73278495 918978101 66762741 329100113 644802405 988329859 496179551 386605793 324049073 683270933 50999587 177352919 699408689 178209229 17490467 840020717 81904829 426140529 64760425 664335931 306554583 352990133 816690729 801504329 846531489 432072499 147883199 510273539 126807279 158071403 924691373 434977469 435429173 886060743 455973281 456148793 523388565 878238615 29097833 19865239 643269587 495267603 30099205 463788391 437733729 483649889 235038871 915228831 161671253 602865029 975331689 305925787 954381167 539482227 338106097 415851551 352593429 991166469 515467719 126624089 337382743 765313019 202821295 912573663 318806253 465367293 46771095 863605423 164842551 860181407 911649935 148924205 244040505 446367577 651158739 943275047 224157091 318264715 330430407 845102545 566778831 372308607 84097525 88958409 458927035 667882087 838703123 960362515 34369037 36642909 533722105 208862239 938637587 183585633 977137579 785636801 636825545 203565403 606629975 306005045 324072139 222640671 517407565 359500065 595654497 993151075 622081801 112756627 974287481 552329931 708837935 252578047 75330987 306498785 742015115 697743429 85000247 543647251 702478863 722095271 821115397 570569403 812854741 837786835 202694307 728946461 2447139 718847455 511878215 906973791 321773153 712744009 795097809 69077909 586690087 611485939 74498251 353861301 472038955 157884463 556202593 971436451 94068309 180928175 860857451 338369319 907874219 281718415 393358697 166457331 477480293 205923417 372950657 549615009 903313885 818940917 830081667 873497519 139635091 224839101 770996455 62352521 781709367 721783659 130956491 105792641 968033691 719381797 66087927 752822989 884176567 979148409 118497243 727070865 269278387 373370203 727038605 378101717 899356119 32835369 64548811 528617099 25832599 635436457 161182207 147812749 151534733 735587847 661353783 731498905 877615999 31790553 957025833 854891099 114750039 814101019 423857463 357478755 262369833 297017909 789593959 607270701 613122351 66490097 15529319 843197975 792702923 812108679 382831761 102423403 405302155 108509841 782109153 448723545 480960547 119440663 410942207 933194495 336653417 440640903 424860477 847980889 72894311 717365939 770064015 111768659 559467331 288471259 627071127 137965245 372574801 46953635 500179865 175807569 189483023 144607255 736565639 38630577 356656671 244089775 886303479 19291237 423554379 613934919 606292521 289615839 478957193 635227429 981445635 136578679 879967217 642334453 556820245 432685423 372099527 345667277 270552727 148072689 279636855 562849833 502903655 307505421 836998805 486167791 914624781 409596093 13319131 958963309 229930169 484009187 295928877 552225369 890517055 629865799 966825367 222531533 974761251 181019545 768117321 866349137 107668361 610946677 331905441 442580689 88908609 828991067 180504867 472963235 812122305 260242613 819091319 332036741 185945131 719860435 510682995 573220251 802639427 664081647 651589905 710209137 460361085 202943275 787117173 942497279 398014187 660126351 440730347 427622561 968742735 407884299 616275429 891539227 549965329 769730939 467897853 13906333 79353917 50353311 814315001 583684281 162455949 12180001 273388993 488232047 820394849 772162193 177286507 45852451 152166333 680963433 611940915 759739555 787385939 319509513 344084345 962355493 653876601 473242301 647017931 64354371 591235375 963527603 793015257 85752837 656323099 115037703 359254915 228187607 590903949 227253945 430020809 66025359 527399805 220097971 866409687 917723753 504136073 20702915 2232575 838153739 560625657 657531047 447342013 154493317 528703933 429266943 459258295 698985543 774565481 734116433 103475381 881058099 575784257 727089939 296694955 719595915 823514665 437144729 507312819 933797375 920964271 902282025 497261587 738319265 770355983 627608555 940028725 252737265 784468773 101699565 902388909 567017683 821443959 300050733 132747315 703411091 230107191 347198857 939420591 128206313 688297533 168557005 317406761 340456435 934047237 328215207 237240533 907680305 127311031 13111731 714243599 93821589 198738213 539460721 237661273 623681907 438517955 579035465 893463903 527417991 204169393 376322191 140806389 929994743 995612857 41957753 148644883 301278033 70969415 628471085 765152225 752041611 872338291 998862767 204066983 690581247 872137211 723408115 561045723 570803829 413621833 314872275 597139475 453070875 876574829 190229773 246546457 437221763 561035033 176869455 911739859 499414443 366069937 541696293 356862039 262276603 55457339 529283597 117151711 215177023 978398823 815930213 908990159 148575401 107483787 214251127 800331441 828357851 811518373 278860405 484536121 791358169 590056799 237970297 720032581 747712269 408449287 719236481 492478419 31960145 55187091 395272569 764329745 367351007 398664613 576655411 747919699 973712733 718198401 297115493 96445971 558074329 939335961 760791731 884223733 708052167 681771525 453897895 875049669 719097863 284260225 930717613 290484341 238914009 257911925 881954597 786517535 659716593 368634739 951798859 549106695 343420509 194936751 874782539 674324891 321369249 152356361 862224951 693307499 615276189 180986891 95355397 126483763 527071139 531684575 52132761 310879449 434016611 526676065 759733435 791570787 708425471 232331791 665920285 381634825 473176569 439671823 655598423 751570211 158157633 810495537 671625709 496172343 105796137 697416941 928250437 506940911 828559729 412891745 936342449 503937565 797560893 780622165 425361515 783753663 164424987 394303031 984754325 886633205 138568447 851086369 337740087 235588877 114726983 34523087 721634627 774520183 619967929 194158251 899400337 496538323 414495615 38358467 885771491 729245665 730262067 639825101 494325987 9588877 647795663 879461675 685756707 256278761 467242683 413149411 655712025 646540339 677141697 222427555 599696935 392986571 493899287 545974211 431603353 182222399 299717725 946444611 317378207 764108865 635018645 264466633 951639889 678863277 441237293 432723623 493631409 429575813 376981243 327764945 164483497 757247477 471890493 187103975 600304393 613391697 453787799 89911603 118655115 639683859 978963733 884837791 363779793 935539165 257673519 670403015 936040803 791678333 300055489 65071337 773997489 549288933 29039121 962474731 569033751 405832753 299793097 781944157 152106709 768830885 804177667 361883767 935549717 866751657 183790905 785388055 304346599 955375057 306609745 78748869 426830149 239520987 117528729 970050735 327608081 869711785 115457221 783893679 275591185 535112517 899145461 20026689 506115835 106623717 262291371 675186575 342253925 18025185 718048981 820888679 942474449 274393533 691427017 305256767 737173417 440833831 308589379 750822201 531760187 75645677 433837675 710447641 548629445 310050321 128781771 333752657 526714215 891275697 723217243 144110329 20955943 281326105 307842677 658841293 110097659 34868669 508824291 79740725 528774585 630507579 798667213 540645441 8369187 884357969 48538317 130850985 324171233 469194223 8507613 244309709 497706119 537681189 886133603 808263089 214410381 807429935 902550827 223764487 648159315 743042673 91482989 19025189 319446309 443714167 668297925 897905161 807500337 168404721 252002873 462972509 779039635 596592831 795439157 775386479 72022345 25389791 697625487 328213815 143534657 967030657 7351939 505550675 932634953 171229941 258352057 87315467 12945433 424222905 727196987 139010381 743211095 524427373 520278911 34347443 318517895 756312799 601218149 686124409 262790941 475094783 607664687 132241801 284746099 950508781 81908363 755205743 249987785 125990121 223721871 202081127 289153351 973750367 182343865 948634443 593873153 380851937 341689837 580212647 187498733 435487531 816539767 384749479 863819247 906731555 108928527 755048227 986082257 519276497 892594129 166522779 157578305 565163113 651176259 36606775 839761881 166741829 460418385 81073091 382599453 5004779 325184335 607276985 254343027 611933957 901653501 817791287 610277935 151610215 364883071 339832581 863056263 123989771 251635043 689297811 293812639 496933395 523168159 933373431 16409473 86602189 440750477 62901489 656391195 242251179 908408309 967656423 746162503 519240265 837274883 128816617 266674889 74239081 785396045 849306797 651234631 346369527 534889681 22662549 793753427 507354887 339070961 783605415 480538729 15270611 401021055 430535057 256789991 879127743 176225963 121382061 98781719 271274837 620724247 897793015 582008107 852628809 34730693 801632281 725405755 206521463 212106277 63240545 817154123 876710113 502596105 988103365 659916097 72255413 880124337 542767847 74283759 75335747 186288321 195338507 814923791 940994823 251473479 324041763 817704771 128058533 342736311 837618629 42428947 512416999 663355887 589116209 312389105 91434433 355076661 19948111 195269941 210431567 595272501 681411755 970190883 950611413 551960581 998942335 589927905 174164155 714433825 974452137 831650177 976527255 294324593 801025713 429659901 626844197 406135615 167238087 417799223 605299781 992130881 789787073 219026423 950822147 349280151 960703773 893628143 678485909 803260099 477981445 708585655 654461523 726978227 148379719 192479441 346476995 55763903 405800539 999792551 745912717 522534815 855787103 797769097 138956679 347855485 424987 724914609 616048301 477650917 79179005 829528897 666832927 352669643 380960541 43468865 677444651 348853133 327794237 118879395 271200065 132427503 330520767 163896639 138849537 121211169 529813687 284929751 991589673 653399991 702593753 434479381 918886569 215144365 551281031 681870217 737912467 60158569 482031557 841217709 553891615 895260857 803614277 901491937 1847987 603239377 583680093 377204081 565799131 314158161 226592525 800090509 908081993 312642363 309151229 711496525 752096473 898447101 608175737 213456051 706701453 784621677 717174907 249347751 549214865 759087047 58260897 42708477 590612791 786099123 595360819 28284013 584574461 558259771 398900257 40023449 342446211 338855895 256019457 321431049 592753047 470217315 420103185 108138541 657422379 513266211 114119483 873711457 153896539 929004231 744082957 983180005 181464681 437959777 550203839 787803363 189368769 745024625 580932911 689571177 114933239 984485595 435795427 398913397 854753221 313480429 252736783 187333607 518905357 762906203 694221957 487878789 460930781 387310147 889787847 113036037 665784425 779828267 336768253 113174011 257040391 634734847 373680629 305300461 739867969 403836437 292858661 270631491 985331901 527931945 297600685 69109325 744276305 408052323 426863447 617500739 829060855 638874957 299636111 291938891 121180627 29133791 610115181 923671913 18922287 200396403 68582065 325024403 417724031 806411217 718846401 462587293 802638943 572571175 889318061 354692173 396120467 292344327 253141293 668141897 636148227 934644593 845234849 4994853 907387333 518500553 785024781 753352025 796659731 878753755 826551841 966225733 754240081 958425311 622257719 610180403 673691915 924054897 383323469 435737431 846654193 52712343 454882823 720322757 337612769 386847421 936851641 627807875 461306847 38531767 583210585 697955959 781611027 83760325 843557253 3411573 191939539 706607245 251692421 400347955 253039515 639930649 691585863 258493271 397954059 308493279 235479139 450262629 80147183 170575293 969249305 385964497 523149885 725537273 131809361 93122035 783003407 662205761 27847833 655975183 246445733 368523943 176962855 615811147 873207151 295031465 263006171 484118203 465055229 515346479 288658751 680003157 998629901 166779779 888257919 418970877 844425087 529826653 131069299 704737661 925336417 693855193 390168475 810340483 753762019 857584507 181077789 361568681 152915045 655998003 625116361 395993713 201839719 814289493 258201111 626426183 590157461 656207259 577919013 526130807 306250945 521348145 789028539 579275581 551611881 915124637 333946185 992435387 148255533 508703707 844706787 341491961 766873307 708589635 5271117 664917481 891951973 747206301 590211819 981057125 358159975 882718741 874179533 954595115 69363107 11942975 975716777 620965863 860991493 475046429 104371425 906866219 849560735 127752975 284695675 785806957 284807087 690186215 905712421 374233361 470930327 98084309 289857079 741311839 626102241 395004283 197007539 558262919 226910273 697655771 471528507 498548903 38792083 143767907 202537507 627101627 111302873 353760491 892930143 760862895 360928319 236023981 141309583 449809491 84813849 64844621 474394365 356231777 568241633 208421597 456813461 223472763 123144507 725942735 252819183 26789161 138059505 506368001 359733067 373006045 172748791 958178745 496179599 33480943 347551337 523187363 637172299 472143009 702837897 889354451 253359799 623222813 861288901 730881993 601850289 623465843 899828141 715599723 93413057 119376797 647487741 146868483 283680023 937704829 440199321 692951111 767267975 198420187 515540107 405533783 267404949 345651559 48865543 390958261 372494693 973807037 590477675 568053839 854816965 300338783 232154933 955713659 329557809 284202161 237245717 806228471 133324997 158388233 352448987 272531941 701967943 835088543 814579075 664045271 274095659 386690197 461578801 640106943 560211843 912740595 576429359 559746809 100503825 606785705 77217267 184135503 79065149 297237907 851574549 913314025 782108179 718982001 859859291 997924961 308639821 697622253 708781231 823700401 805819467 455096983 922737955 194909503 541979153 927932393 178785779 318515417 859556177 298477123 48592515 780139187 654605921 50465265 668605791 49628267 365388609 862874913 175621945 498553351 133979287 657147119 893745131 832191731 251740339 241576539 131655035 382095109 320645773 434559311 16256275 787501947 336771779 903746459 795287557 898294263 698120349 846090231 535918287 722342281 687105803 141136137 723620369 541992359 16267169 421433429 479126937 264053549 79998883 565570385 813438809 518540127 738415347 134964819 813581933 312026859 835826981 653095323 828133911 562873065 676895855 484074071 83484355 456879569 425798831 229667221 879088387 226822285 864216683 354868045 587444373 437677929 302336469 718833509 705527641 951975705 587641285 645172385 357147229 827001275 686297271 153315253 323390163 931721685 613835731 715060795 400570135 453164883 780452843 246047155 975470507 268160649 803722355 22928005 822398523 318779193 300756107 894373125 42529435 445241731 934560765 335785065 873057733 70409463 48407603 305737687 572940509 580746123 622293833 636809555 913108525 464500889 312174333 420719313 939235881 948791785 517368757 827142955 103413869 806005415 398843777 59205407 236944059 815490665 63847705 775234139 935943679 394809901 883858139 990986859 443027277 252926295 77596623 49955277 797875423 376743091 240451237 750686943 365938457 912406905 330587313 484623595 372671365 389748805 643839735 319974691 907525081 592291867 699063579 399911841 220533485 749690731 17969259 922642531 321648581 498582281 590700259 103635031 403056271 63270705 805043231 634083913 230218651 772900489 661098597 336078837 295646309 547882783 633438119 290521341 730810513 13092711 884559997 966082539 426302697 892545343 241954083 831561517 444817507 396694253 455548545 645705757 181828375 677636637 839017257 135762941 157868875 651547365 458367567 125819641 919692903 292129987 769051347 627047197 707770881 766810521 133935677 295052133 365429973 5964983 890043837 855707827 452901315 468027347 520982825 538986703 930895065 882304521 779783681 374911851 989253191 648092893 590298731 724290849 134176621 219214655 365477431 833799279 41468361 226478209 195337693 979545281 547728907 796689763 820073339 909150567 955234051 474206473 299825625 98982045 865585327 787266047 694801765 973163135 949055279 321243453 748083001 624298011 942236113 516654881 771523089 206672481 17068551 994795627 93823831 345511721 551922795 882662733 243415065 943355959 539017667 238480475 256064013 978318383 33357305 379244433 268637333 507336617 449005857 838676309 363018167 83736089 859417203 990449015 132478241 752191715 222578519 23803431 878867243 198380621 524194389 396761351 159025109 885595789 435758625 223609881 384902597 983852217 18197141 297855691 9241421 312683987 505402297 41649395 983935841 223217093 844964531 946927055 243693729 348176479 617019095 815320323 277364309 688736861 789991587 669252507 584079725 756295259 923642041 240964367 797653887 525946855 742024931 346556475 401099723 709079153 780532501 444419171 753662007 331342929 391311979 709472823 531972691 23950281 707665959 725013707 952063063 932416001 94401717 213231771 622514209 572398605 636563113 916572301 255404601 349442021 315413437 899910895 74214605 642309995 625705429 583140469 883260599 90060647 663474683 14227773 441070707 115678345 346265955 85501901 499145003 592575085 214292073 318297105 237343147 133648019 753127313 247806559 518306671 92172645 732754051 952081525 741557651 717750067 661133589 822172789 557629917 407012663 574020161 4342769 617216959 577848977 855793963 349803225 804775247 899067725 118879261 834330767 733697101 55369561 663242125 716244181 314262817 225931153 119267091 35592411 382245335 996916405 923218549 967964211 854526761 184367213 842513563 353437149 66046839 390251085 517950619 92809021 607454661 662143181 649645231 346436385 192719557 822312525 570992443 723848893 954225099 14333465 593814475 70355119 214855131 320647519 511612433 223565821 62386329 240724027 727520487 15435027 179427157 936535725 430327123 72983239 720646151 88773533 752895357 886613333 501932109 371741151 33337277 450475875 575620207 752921899 685293961 927914239 795304027 576371489 407755399 94270111 355939499 817121867 789122947 302620189 667109787 835447067 736674671 615319489 173461525 747395307 235876453 217171257 479872165 818531579 281760427 301226135 146210439 481873779 712837035 542295899 883473557 126327399 51699447 112176489 971510875 78675149 891027277 411802125 827051781 499712907 238854029 878734591 805758059 376665189 405111749 174367579 360671757 247450895 651423783 876142245 689960977 514976803 134754319 797930957 960761417 418671135 138572543 553885735 594316073 417667695 44591523 690719855 707320529 40485477 550909133 791885259 530056201 899429945 535007867 19905225 388553537 811807755 93961423 439203933 100967823 665477861 238173971 559969511 208086451 937725881 222731451 730803497 352349971 379696223 746353763 336435025 624084671 60444827 697160909 443334133 920681069 835828499 768524773 960935697 769836927 539643483 170765759 851366669 731631611 488716265 253882771 305879987 171903887 70866209 524679881 482396475 969516181 81419851 797167593 368260929 564859145 541615513 283751849 650686921 485369749 654470179 400976353 554233923 886073479 210520813 39498901 387455105 618913493 554702813 856124657 769375171 409774879 897129157 527562313 373553581 787489455 132726369 22741271 432649549 450099313 492751181 365457919 465924631 270709245 549418775 130676939 12359401 824335507 569399087 602609521 904574217 105479193 197972463 355150089 510276387 208367137 256544661 454923991 376138829 151370975 356463437 653841225 118664451 405922355 842159655 994718447 814697003 314540709 774522909 273577861 965676563 501840485 930003729 660200687 919191921 456232521 543976907 71602743 703515743 930003663 67002109 450643603 789298023 554966305 940731455 920636507 711125105 483032077 224336147 468908565 847468501 283032843 293420515 798332779 728174929 951303993 996999935 845277231 995516681 764877407 360886179 638066525 438701705 178814443 32862955 161977369 48713161 975706613 32112357 965894831 748864549 28501567 184203137 153463697 557896035 887787819 958098327 148459097 727641263 256675021 752395753 636496589 603070877 709720537 221516321 798199767 101309229 699684529 557255119 84103305 14560453 274398297 968002925 35897631 431439663 942407043 216240989 349122559 901117857 491561349 285870821 25596081 68558521 531802463 151131451 40020713 389941629 728739001 924041845 661436801 772505177 864177887 32385173 318902655 853008931 385944523 785174661 629543693 714178841 9129755 905885461 288768125 979032543 531635479 589392383 465753933 670137985 271316911 601709795 946031903 495140215 894727033 224169037 119065277 841206941 500862131 700630699 690276635 690599479 665318471 264569689 626535507 568185333 973385411 472097175 59970731 705116649 412559711 613920143 398154127 7574931 420550905 406203217 822574733 348419287 785160983 59750357 584165989 657818371 465059053 143257089 978427385 287121355 117242957 785115033 523810643 60173901 268500153 126096979 648053927 151334415 476912217 582284485 247864145 466191869 619423995 205669743 711348435 566617453 192542997 815821759 305969113 42063643 248066247 645873411 456409911 124471855 494267611 762422133 586866407 144849715 156132797 351127349 135372045 452742429 550214277 739407181 386213107 361011277 672416755 918088369 247476751 138457989 968624493 428978485 838442233 971257587 198618627 67205279 326577781 672622895 30325613 212388759 601585263 760204337 631529737 977738923 330484475 316574307 24838881 865670489 458032981 88801681 119550623 695975679 402419419 861121007 904622239 2051561 624102943 147490587 606658781 565740613 234554831 723711257 169448451 879932717 52873675 743099737 192162399 831624613 569805329 241604527 676547817 554503571 217105873 192415575 313674303 66320075 596386395 300432375 39707559 938883077 42675243 215395997 447243285 113675745 25613285 387557567 770873627 115261417 836599637 328657719 487845371 647743887 735217261 222554445 246550173 337525037 72706119 681296813 365197 835460353 239858729 180749165 907190279 666939447 909683323 560412427 713728741 886906849 128423893 252428139 445810099 587742709 81631725 237795033 976762013 259730519 164838057 368225293 168074363 469796305 157599509 133328163 514060235 913043729 864845923 315127967 462079929 235422129 383850221 555261553 208943375 681115957 845888313 861491435 480519495 771859971 237017329 650891213 835341183 891231853 827028457 350415163 445895039 91522991 268006169 337987267 495809719 11954919 975310249 311818841 524807483 879127071 675097057 209892699 980446927 820159817 229004341 245891983 328815575 490249021 153858623 819757601 488658531 367140541 742466501 717302439 884925225 166919027 70686129 819550751 277818507 309948657 658822935 247237099 551954831 348907949 961590321 55576283 832293091 727011851 683044705 854687781 208205791 700471635 323836469 829789795 250665349 228909751 982200415 641201311 607025015 328410703 251591867 284036417 454554377 288961565 7728203 587181345 514011695 827158283 909407549 155669117 488725129 656067561 340851167 51602425 308209249 564376691 3940785 560058275 305000355 883800133 566930005 663517679 433314535 278179821 555917461 256671419 822089835 431133659 735668069 612190795 719544603 767000423 202381537 929479247 356487553 814489043 326298445 643056347 246616279 411832137 353206289 295092587 729046011 826476505 760585411 551205861 827307125 453458045 264095773 357616535 618721139 107669015 921490179 626684983 554168015 504960623 613386111 869422303 924589575 110890807 841188295 591663895 608823615 839523591 537308467 697113037 985678923 10350177 317549383 165317203 882223009 177841839 198529201 245274983 860255071 96782657 289254465 633794609 980614731 531100241 612432883 257000251 251659481 294399487 41085419 161865597 202110491 985981783 136463221 902227283 778533587 843376455 585419265 194731393 10410087 857772971 409715759 495397431 685818857 169291843 148280509 738689033 359117581 196555705 89269147 758962419 278464821 124304541 821911769 890229083 803637349 955061865 446184885 663240975 800670287 185189501 853061519 455591491 477456713 989961509 189988597 169575573 453006163 398906513 163068055 478703115 253643027 847547863 983650901 308315153 211416793 308344317 61933103 177507965 800823709 126537963 324444495 617499787 159761917 589200497 562319117 825553891 508563777 784155465 365936607 642947471 610031703 950677011 259563629 209276167 357172953 481600603 869524093 982297381 522714117 220746127 284298759 63161651 702956991 960272395 840383525 191995865 428257179 532304909 551078937 692356143 155486671 330952899 307378255 775557299 757107767 799445819 103065945 133333577 390131551 953305967 48828661 622062399 335714675 895818047 293455621 449392201 285439821 895817589 426326675 74412933 426645865 187361475 845405395 37028215 596850927 348018883 217991713 454221839 509511857 774148341 335864063 715921313 60315171 40158145 624512281 676337641 103053925 574207867 226403393 14290191 314514241 100640603 614404981 627126429 365047329 502176897 508335575 754977417 394551585 577233655 166025137 710201395 306085887 530439855 607635319 482676573 912195873 426270339 506483397 560673589 49274007 469159731 497333599 408281937 220642585 88282215 395170349 101954223 148749061 334203825 69067333 462689457 208208739 802869645 430651873 484365865 419261155 555807321 574646629 387499593 383802073 985561439 143326811 239261103 2297417 429322705 967278199 919593823 352059607 299714505 236985493 474103753 187255249 943406405 306132409 793416127 627194675 456644403 278069771 952043393 205444761 98667615 82780641 563890099 107618377 312885383 836571317 242063971 874626613 347436361 990266923 866937863 27819765 446626607 629540623 156264057 103644869 87806635 194297937 240685057 300392589 653217557 528663569 119503947 221875935 449734577 404031629 65303917 701941999 151037605 663190837 553297123 113628573 623909379 564839833 630986901 174610033 962961607 200391797 478102477 145966235 480658381 466625197 822362179 219372529 133585637 777157709 653003537 425644531 606974393 992426375 656377793 498315975 756389609 697084341 385515835 525854269 635806961 883913821 112526041 167679693 4583229 347788841 647183187 304590485 881763101 183563755 421906899 688857693 75309261 722594719 522262757 604637331 152572009 968903019 358019453 466539601 272314623 48210581 237957113 866167379 175587711 708556437 627914015 959643651 928542657 151251973 398565659 778469999 117581705 962705319 965071491 412912973 203075453 837604711 600949075 400709631 356927023 105727319 458046961 633133193 302898457 131374261 175958059 144039583 42427293 952407265 934926391 444110483 580894211 379297385 821029295 376008295 599130235 332140031 823505051 198828225 711074849 500639615 124485737 142363123 471007223 108675819 699762923 511180017 150213601 503470447 5477727 24848987 804696503 233687135 768927085 474767225 671681581 668545587 411764769 869526843 700716517 971618707 74718447 802293559 95059051 348731463 833558195 333495469 552577839 803997251 252581047 594825091 440882313 423874211 101803429 525036361 954356923 965655209 138348689 187035191 363847919 213019331 474100731 371403307 960495157 602175359 471150281 90477485 951541383 713589405 95279939 509033707 578526661 629128703 253293093 918185151 757425851 971551407 378448263 106232229 849119255 87129571 900484081 418080967 825896309 726679027 663423311 914434801 959078485 290188131 288635895 763956639 117040929 926595551 371234213 318192619 746837033 74579771 865881729 209179553 216146087 158537329 543059989 917092909 898110907 992768165 275046489 821969831 92312433 168282147 404403881 866785231 561258935 275458907 142002889 806308109 926435177 686901227 261976041 653386093 452843335 766409623 515912603 450903977 508157177 897810759 683494623 293096479 321507859 741862929 802675481 366053849 755630349 85356081 875351319 405008769 269163079 123315719 822728717 241850483 296296717 8287007 834973849 750386093 633325709 993365807 567985599 51795157 60353763 295336207 748740079 932186427 778083855 272811973 663506429 730417367 541228793 411046267 625704999 808950599 715680885 196726403 822142735 85921491 197146171 438193753 704809157 821871465 862775275 894779555 346299839 388656035 523171343 688897575 81435095 963193277 916984603 13909981 248244053 854692001 836847715 980694495 659826661 34689243 730166573 165312623 664398239 246272935 304499103 223368951 302015483 760447455 612737997 124449551 866579171 447446799 147296431 730002797 775776675 528892003 355549989 561269497 600734703 690122163 243862777 149667259 173962469 372034687 468308957 481511911 777199625 682623213 889533547 590103767 387534923 141540559 771132705 886921745 111010045 138242201 123090797 608432191 144978145 427225195 554344603 684620341 263852311 544911117 10186985 897668075 588501039 247207663 963739765 395284361 454425885 117231911 271063625 970160727 972900927 198704243 143100759 928188361 147810395 542492221 119360887 682922107 643393437 213516691 249463917 879908655 726113435 333787693 963845855 980386257 273281363 790969193 741246305 593379957 408790057 433241935 703050089 176448597 624447209 513697677 588316763 565233365 737637835 325549181 208642687 595230335 620509801 511175707 20492295 314239495 296773325 60809489 420780043 241879881 129071711 927314347 685238159 594371655 755760889 520071397 412024441 138736687 30240725 490299225 278507675 106251343 213485721 190884435 622265009 745110311 530322513 858400959 638229849 666156889 270830199 275020341 617869853 972483249 182501347 289688053 452633709 738085663 68829659 926771685 342519463 38308289 463714063 118696855 986882823 480857563 266350227 706785087 885112505 871166421 796787939 306577085 277033165 328454725 483175143 484891289 500574015 612418277 715179241 580906243 916039147 474618265 493191585 709957841 246905759 986665837 780097833 555208321 734441227 526043537 311850505 490221885 884281287 631604325 390558767 697195987 919212373 189963879 499279341 447668667 817741343 527119175 894838019 87780371 807119479 739469013 654864787 691033763 301687699 379761165 914378543 427326169 830150293 739746837 931154377 937622733 734508937 119106355 389463743 857632833 754382431 749355999 9848277 234854807 316299759 984856499 375546939 109459171 889027835 733664367 820322693 383139545 376826157 121952515 960086703 776930267 370877973 731418239 31616287 751465197 737963565 848358177 816819107 235019969 771854807 549152585 286082929 250081453 302930521 851085957 55990563 203292593 787741417 207288967 971009473 208358259 518656925 743595051 885356983 883937093 682514551 234794609 319545307 944178971 85789793 502581129 480501355 332952725 917277227 674478533 413607945 274631163 905576335 913551005 385767111 672832317 57316909 209460153 213437717 880532209 268814481 371483105 953163989 531991381 631897385 973400073 408160843 244333907 249183057 742963789 853458721 285263225 92060745 451128559 3813233 190547711 441172539 337150811 123929269 521997507 972551991 836091173 261003987 671330891 301752887 460333829 600563991 693896395 873460251 522732515 610533691 197978133 896647855 163026375 796918871 467654571 42864033 468126437 206460913 191481269 771095437 77362329 681524473 657983999 923015411 300693095 186712259 357666053 866468155 644319991 288638989 467397857 75587001 545785631 345217017 607453279 319237285 286884057 654826775 416578027 661033503 295216199 205559389 231512733 382103859 449616569 774613543 312999221 970871503 344590749 275795257 27951897 694883023 853764497 931779521 171316569 779287793 157773655 309269589 635815341 7271907 931789533 41951475 207780723 588638769 963762227 592090111 26446515 874548569 532787349 358618439 736059677 380184249 746319719 95732479 296146695 881461405 530407731 927484101 539860591 214164275 991455407 129117341 848286719 773763991 663626163 460080631 312622085 373491399 919961669 172866215 604313465 384392369 64234381 317068265 872225017 743742241 976355041 532201827 605066699 692450517 309994685 317334563 645476067 333716075 355121601 554464669 505930195 618465133 428086713 272425649 334632925 657595725 969499291 541242529 477326569 554538085 607338367 950372891 131719811 759998195 412614059 45619765 382505191 783628325 524462985 836639597 586059759 311840007 994740651 156098725 695394343 153242519 202462669 311898159 909875641 411574195 930698709 52772541 719466883 131890725 304294601 453806699 580001789 915262879 604850145 599631811 640031317 303824313 164150135 453933741 345383253 753536503 383598093 899196803 272158327 804326591 909560143 546701311 44037337 808857187 650330895 642998343 307252803 118962207 106218571 591238121 513885733 935190801 199199267 703691481 867141779 583362371 786444517 912564853 618530641 487760551 123062531 564143235 263853763 800505877 518233113 425160751 560566009 815444559 81594857 253986063 930429609 560695551 711453023 980434463 829209653 346825143 212654989 374802631 504592035 537542381 50462385 789078993 398051489 974273285 690402093 774205045 820082055 103446855 713642635 362051917 273557077 707314917 534923903 845513057 807339699 839852023 7375845 903202591 980882927 902534783 229755839 875065177 931807743 781133671 985123385 352564815 795069059 418727809 536036775 838644901 137509829 743231107 306104707 66676327 346692527 94746129 11127663 681316877 931630815 940690097 594286139 704957811 145474445 933314265 110069973 5812447 284103847 156743135 699445595 194920957 626823351 770325253 531703823 458592995 370458359 796978805 118010463 972211469 643859525 580032065 807089113 757507681 64791593 108063071 536481085 972366893 892060625 61503665 46346605 731163685 927396119 308154883 879541365 437740393 851661175 717362949 780422789 767942011 270855451 191002191 300237051 856451401 865375697 73188451 299276123 766193193 283236369 225746091 938414669 349336793 878451193 582996599 419975847 123549821 939271247 551387649 798323301 392384417 683677061 455571817 243753895 647782205 462675123 151630779 723440569 621776301 540908181 821068263 897341969 386102709 141369491 127224261 442498375 139056517 97545663 858615063 543672865 52798895 8896973 127696005 394522247 876067891 102253599 608085667 376218257 309410677 930814649 323895017 500554101 579115843 423503693 442250937 997759129 531255249 834759217 505653337 986112649 993442495 845912421 267502591 393703415 242212367 44386191 244017345 511552189 967674159 719134463 595947423 367866081 700592627 835279021 317283463 352159629 811404189 530011447 179244871 369064979 191028173 148929509 25738393 786085105 804556181 632407973 13476125 940973255 715203685 220670993 111970911 811885411 717121311 676102245 311675853 930027703 211238661 619062923 412099011 633597405 117410503 999289361 171086977 105062427 957500279 287100719 592028463 336195547 826971541 37320641 734852321 821434801 440050181 917406803 240817039 648505175 727214867 538019601 915628313 878082223 447421815 769408725 128389705 54632135 526295373 550957595 341367251 76759761 134098715 270234635 62710603 784866089 683494093 739670391 917353015 160341585 970033337 991288787 355501821 496114165 159548571 452390975 913008625 213420521 73555609 986935427 294576203 496760103 904865345 820107279 67863851 319580369 614814601 588398841 122042011 5616951 863755211 601943297 16303757 951803079 683435727 185477261 347951067 965819679 56811459 473575341 266402117 622449153 671525945 567646489 423192691 248001113 933537071 174408495 590680313 158508347 799805453 300262135 430022989 661705441 233754015 878374689 672807379 865760687 205887255 667921665 711953877 327435567 95884055 977244571 802340993 451888407 78765219 410298001 866057201 142487103 782838309 434868535 680558121 742684075 6009463 411955075 694583311 151512969 39341011 186900241 632394869 820572713 947903199 493129261 41869079 648362247 558991273 258150083 655969683 575642055 244790437 975130477 481860211 392883507 931263411 892789351 366713385 729552449 368342291 434045081 424609805 561366281 319029367 208109715 715922275 867266001 966192627 976506255 113897553 488598529 641731333 475139175 318361321 592080687 391430031 910719141 85755431 83548695 973942499 836841849 413689577 377185689 524057265 178407097 302198009 539471297 844065819 895391205 413826569 805333189 908086435 728503075 734800561 628384765 744006457 376021059 371681139 365452015 87583535 966281661 877883321 663238213 199817541 438411183 620722389 688830673 807717535 18213601 282268925 389364369 793370059 63733697 43443797 783910309 738718653 256000361 332412389 147083099 684580051 257559701 160960669 785313573 212295121 879435439 443998299 755608989 161235175 190704325 174304987 564916617 695577769 95828109 727060681 940720851 825669395 250180457 463856309 308750221 493916301 917682013 113976345 830237941 608803041 880979995 923970135 882992749 128662085 364099579 903645623 342608511 261384793 897742585 973992553 271472095 770331423 897108925 810702219 639994471 112626693 320523929 957122073 787435037 470995681 417104513 565694975 4389419 102443761 677409301 260951309 718040549 346983385 28000925 851697149 294865349 334869157 675077897 62181743 773485165 413564109 858551023 541244143 439464875 32326957 565140879 283290605 250501491 20854539 908531919 567514817 369530077 721004817 652104255 685082029 562661165 105110617 267389463 671704539 707855567 584598877 342194741 743153755 218942039 114804483 341419807 779608359 45009279 413520281 832099081 865209887 566466089 464487891 235233989 177059855 989029733 545990097 582207191 207386533 294164065 267036181 616834659 174866557 12637563 91657357 316497975 733886487 137141045 816984463 244302287 306357981 988471101 5885655 322055237 816717087 85248355 710931597 525596517 233567767 127423139 378883643 613495963 157705957 460506657 88185305 406074367 902597013 882400295 393882305 506690897 821696021 128423211 168423101 23633657 525207873 893909189 296909557 819908355 102842329 247899321 918117635 165761065 183616903 183601653 960669153 109955785 371061721 321851273 324999925 526963693 35326797 51235249 64499979 942767679 711637571 140723921 601053019 573143323 468749313 662148213 791722625 655103359 300709819 102271565 180697987 670266129 175645579 32876857 516465869 13505313 315827569 858636345 378873653 775643559 971379285 652411767 769019127 714150977 387208459 347195721 384639675 625449783 459438411 731680555 685806731 164661879 847499957 188997309 140991709 696590489 553566165 962729165 879316881 127514079 866139929 907492941 804408041 107982635 82260955 251043671 914416787 750817553 406073695 185486385 634488485 921891015 570677195 208742981 759129245 919821609 237244211 576855333 608653407 906177987 209202831 515172751 118791479 847791041 199446207 599626339 592413405 674254075 627753357 953017775 775174253 336153841 470843563 170120101 944272749 358214601 955375795 190311841 255923399 818384725 803306531 232257317 840845781 232043017 245131369 708872925 674140497 79155717 798780625 753161627 947839585 565471761 584532889 305917789 621498771 205184157 749426911 119019075 358142429 941261503 584303021 945423259 205108121 692448053 26254581 995465433 451373455 155583337 589830289 89514643 846601707 794106985 940363839 597155731 769977155 13830637 602788011 610922943 763528085 940944211 517311079 147952939 650220355 882110115 633869033 749766933 372118559 917991307 792390549 652008671 373913689 371241573 634120371 970091795 365820307 28053293 764845685 402572389 718682575 847471757 591150581 542522033 418567293 256295121 49957937 508470267 916094319 259436277 612868885 11846507 108584421 451825043 550795379 356495959 977694083 451917815 666720001 297565497 202543447 653676813 639923555 493975221 591950549 94070893 94434593 334933141 34982619 577476951 180124077 26319 235303599 906393521 59539807 65664635 109870845 654070541 142194809 638209245 472429787 764232607 779527717 559662691 315791045 926303559 419826037 856073117 803958179 231323277 163331167 945801799 415742399 672465313 463708359 923944005 532058063 547716439 936737651 746343073 953340403 882369075 746706713 237524113 990967981 58522969 971370319 55909485 301453803 324495769 241528217 411394747 304714245 33400939 468362333 727553315 761848499 977889517 623768557 761627517 172380703 630356197 676202371 974243519 137604053 504315847 771979841 387618319 939044809 486127013 402238509 290458553 895630169 503007297 392123709 854501421 571120713 258582019 764645959 807513355 884019657 84576505 11452941 697957907 60572013 79208409 498036281 608604719 624811057 557449989 842585691 423514231 121106811 757162881 101619949 877618977 986341913 473140223 881194577 761752725 150934335 140416981 141861839 556892761 124098445 211799043 965609111 778876453 122113029 926823983 843123909 311417555 988310293 886528427 53836377 41579877 762171795 519545963 211606589 588807175 832643003 556508687 619255105 843607819 382522933 259719391 680590623 396714479 743137547 198695115 412688247 455845459 537353909 537407079 41697493 317491461 56266511 587274743 670740393 748633847 443275357 193280607 57222985 868748357 879301199 71129135 84382459 353712433 254272247 184173215 732507879 889624871 621910485 685930635 273270557 653880251 417471181 402528127 411078807 525370791 52559149 296769705 556124213 476441549 180169897 732223453 42424771 168587325 481340511 904203933 394411247 889994021 125066709 155834129 551933525 334653923 717491191 103438085 691117685 80041465 877325851 490767093 578500279 286184467 967818493 536601339 655362159 102242053 237343173 666084323 976637909 603957961 892247293 781661721 622503177 370044291 616500637 723685557 12963607 221806717 966766591 699236983 117495533 944881963 800815851 445038789 415544423 139744809 123485327 884275375 957309763 334699067 868210045 764618221 219265071 785412425 62449589 18807261 477088185 889527657 333740443 774483591 60118873 646946261 173917435 198406043 301586547 796012529 914354189 937302383 982976849 877104201 773029485 73211905 486954017 165771149 314109473 750665723 378697215 582132635 19737749 658011051 703208937 658786935 260514717 335394313 217909709 534368587 442302073 785665971 437344119 226751849 913646287 694677999 514548133 124844365 723414441 902621105 22986485 969915803 934160509 504298635 986395377 92340767 264107561 212494271 923999499 198477001 539379699 717024053 713510301 552396985 243336329 722946169 659737319 793612077 144568061 282852295 48885777 151582869 630447565 719821049 853565997 651894145 780884449 675246745 812403511 82662319 269804931 314479831 671856397 598295295 991331179 491551881 991421561 604660351 508960181 454175279 87749677 67379041 921081061 780155121 819041217 172424703 827937003 798256539 66068665 707683039 271250457 724634023 679685499 522684331 82961967 326746163 965096027 536384565 955130195 293853959 919131279 241536891 727930637 887906705 893628731 97847965 33438553 869969387 945011815 913519593 133061519 607341523 221388293 651161553 485310327 863083439 336431341 182614001 329112637 316508557 26199523 91547659 608493941 256466985 399922829 612331275 800069665 882789855 696053373 554200069 119202721 866920887 173575725 847834417 535188679 975571551 27851263 823648503 369052867 816727855 424482107 540340959 719817783 945970471 608018195 834967197 35195429 12053487 150458783 789821709 222891771 129253075 366851297 484205361 666698129 33864655 802819523 769321781 661551647 48399997 339526423 595403117 677380431 457919785 297063571 473164627 116966701 656494013 622032859 598982795 54029357 302823637 780519287 580388831 682301997 763409071 136742871 256385091 386686323 881785393 193146455 384179667 644185513 369274861 222112313 189173459 256187113 35470615 421479331 320378027 50827437 165024399 8906919 956840177 158391517 54724573 899032127 755029599 611513027 871284783 917137739 839903193 273544725 144027999 357632919 804529001 395311091 303779049 336403667 529019717 970996703 573556471 139803543 707616453 423462599 407470935 73334373 459026285 380584449 55267969 234031271 614047211 228639819 349815953 93124013 525927695 28469959 109712467 294194097 157673685 743311879 330203187 750408403 668084065 596716797 420618571 340693023 709773823 654022661 575890519 183020677 9567263 460259305 918612159 209620957 300426337 624218833 573507477 902621161 371410307 435348823 243434125 238413649 312874357 457580405 661753095 536796329 539309639 192874897 567371533 835209065 368944437 842301817 780065867 591630579 834419621 788907361 687115545 922042253 481223709 90475239 83689845 813842797 147026773 774007825 406625803 353118633 290738983 172599371 83459365 502972227 76848019 130387819 931618749 636055587 960960457 225143983 414490737 826386461 589786905 556774841 854518921 954019305 755631105 865219481 149413107 424867879 240706849 115430853 71438665 339065955 713887303 800043801 54138567 245297675 953302885 230614745 379618647 331138939 118599063 263200691 491106951 361523955 800395295 119747263 461234319 879991195 263197545 228436085 106259275 651179655 502466567 590919103 894970695 293563823 338209719 813720297 126066863 575618803 735826521 883609767 985087067 352840991 112526075 736831767 54069453 305187553 922150609 663114431 629920039 392812499 148579377 377670027 824683579 999819641 751682467 254724559 29822339 565080123 642550995 618315597 70478361 707443815 243162511 948874277 573090247 456540475 934644951 546614247 904282109 852873685 566010829 740458119 423253713 52496959 774170299 61748581 288593411 491344493 809540117 965643331 514521593 136405811 152501111 762809935 718485187 357494103 796959395 71078175 949610265 257975935 93278855 141995953 665978201 609805375 943400497 573541225 668005003 361291021 368344033 200111891 819544415 704996685 800122873 290052071 984767273 27466313 259752453 388158593 189604077 104783663 20793781 375307237 942014541 995367449 960323559 367837315 979884189 382940939 919019935 183733551 72649171 398509803 513155845 869555748 156571531 7833229 949524079 226675211 594665489 346401703 609833303 836141295 337967953 931516381 211077985 831404869 820268003 709327799 633489241 638552811 342395911 27018151 292422191 77635623 899134629 69936901 525886465 771717285 239458377 535376149 426729235 454305403 402196527 486384637 459051215 256086823 133596465 254280655 647629511 342343819 231382745 898377095 646062007 284709879 840836183 662151171 491127939 840270113 245096833 384388365 648106807 449866021 734631383 45131863 191965699 343843719 495826303 181149817 995664967 731445045 419476041 335454197 878353283 764855687 994196653 115113525 310446689 95388471 613634249 772953739 671452601 107217771 169481573 699001133 779972481 282739887 302463215 115914303 693090783 133032443 785112705 427072713 850500127 313684395 843514583 617043901 773604275 620780165 230578011 466225395 725422903 840019637 505767195 519643693 380577133 796438737 409882573 657382933 791805503 635455189 971420883 168032059 430830021 925938983 869562929 497616153 111714103 175724951 404346777 688593169 724920311 27936341 710015843 910239595 659391635 996625667 725090187 526193753 182553021 219847075 918881977 370194163 438458705 924095395 912542015 110250043 168046417 552462041 970082321 89883163 199355113 752091267 758279631 159896163 135817067 10005573 282945985 501384653 747835221 266560811 617069783 115894523 502612809 972381869 970711207 10640755 901256977 624194471 969749617 229827755 511629473 187914589 596705819 150907129 162692885 41493119 564911413 667432607 228097967 746479649 463005173 519890631 210891995 931843775 613944381 245218945 245583149 701547327 927477395 799226311 252371039 86048239 910413095 779069561 903043669 582411139 421095117 248335715 595409945 780588057 163318793 691428149 60973791 505722423 289284093 592265607 579946243 668856265 806325629 141081563 776634633 595800357 802588159 666310297 635334297 636649481 346201759 134124053 94514569 554503831 128146729 579123079 955451603 864353377 505644809 446830607 126869403 539364183 674965591 401632185 903006253 939352283 341233363 219518067 17759481 219116719 553613541 497179929 10341789 309297667 578736281 793222763 552356317 50500201 244876457 98822163 999242913 198164193 640869747 738114977 600545023 969049295 113984001 152266637 134142259 609591041 588645629 52531773 64442269 760145579 40373187 467215605 540339657 608376427 370060625 509198571 87702381 666690375 198155597 123288627 723306337 941265323 771113735 158348499 765964971 446325357 394057847 259769267 607910773 31779273 924181307 988060065 409777681 209505893 518997401 363170395 324951547 370177103 838027141 545426815 253784791 922978813 603714961 494636441 757971825 297144137 832828417 161266455 539647675 471201915 915709879 294203221 952098511 784970049 429735239 848330641 691756531 542672301 933462501 752393209 193374097 40432447 60712563 124620441 326417725 522023899 416693367 430935151 348016047 121492173 551335199 748302937 250404303 129966029 954977347 277966881 134855075 681929207 978506083 376063353 780726627 317986511 751832229 225091835 644114537 190555461 204343771 629355815 806970935 66149549 808454009 520615781 452731769 568302019 405911455 411681033 846371585 130519469 63260949 140328009 204404941 851377401 492855371 348556617 983282431 880297115 523114583 937229073 595738849 713751795 578094583 410216083 241275367 394716867 928740501 365451177 736625837 255669817 451756863 129197073 593379317 540337131 527162797 679894647 109234603 824818645 903815485 318324589 797174755 264863839 132162039 423613033 949674455 214476627 17691017 555757263 905656553 53383913 818923597 682354407 807277481 993569469 125391935 590172899 537800901 371658963 574942217 543490013 475931163 84537499 780554231 53967059 698609581 757045735 865259781 477971889 626573991 809120759 210995661 115658313 933968477 297526383 626021787 820102993 699626313 98325597 281432411 372008301 851452943 784427829 22594213 65886757 165310585 550621141 561415865 969901291 489567357 501895555 835688829 437999639 312267571 803545835 415008897 164749803 656393185 525623073 575517181 661437329 513105135 53753511 994344401 714999835 995518195 220993117 712316545 890171263 644567463 127950995 513977919 781318561 584083183 862757375 435691999 512845641 709490135 76912827 846070757 664998695 550034831 967345489 145223541 864329945 291265143 320760233 248368991 814928347 265149197 26721307 652390683 850442393 996971777 289689189 762445767 345156963 441782819 274928299 213148457 262612851 656166255 751366265 840225973 597847531 263900169 711949767 918965373 166376659 891527741 44211697 183013955 9946651 845421181 84428477 717174895 437292191 808152675 2860887 348381455 675532063 833662901 600767315 343191769 644053829 216737629 647406001 575554095 821767329 572310637 421467607 204711957 880837549 470418211 985529999 310762301 796869323 248279007 427192079 263875325 157292355 288864303 812002293 768179285 871133253 704669637 277408327 454940907 494384109 867544955 3504241 210643985 694680123 326461015 99604809 640740795 333617689 249336963 785313549 446697865 793424471 20674643 316167777 973486019 737807023 844385599 550043473 94340697 212387523 238498543 322474581 719893471 710044953 344565803 622738249 169524377 364803111 377436135 213529713 554787179 499257667 438746175 979423611 952592101 810878383 227776373 547547775 153834045 840294291 699608309 209210615 791336021 962815747 373312081 411510985 757293235 494016759 110952007 44262723 631199877 318215759 846613433 912486937 87633829 100730583 979802289 347047529 722728335 361112125 157004131 787524537 884423277 146938653 386812203 780654325 229088267 393943543 211467659 192298355 114516197 587203123 637866801 369697263 138223893 381937445 506066155 686495119 252262759 252484357 811904697 59907811 421504071 5158387 197590205 166350555 994866381 553954043 784747585 813734361 369206199 770923787 565576891 766230175 436357745 275888639 55924931 736367963 653592581 417454487 421962013 15369893 742965805 757532283 500974519 104262261 39111239 581967167 61432993 880918325 41465435 914634585 997504791 720925873 849047577 742917679 842979965 89725213 240933335 400903173 139652445 142793751 737257363 199607055 866169453 853548963 76488695 372126823 211617669 493953329 836381521 219363597 523226793 453392533 266818201 965725929 368562951 843149067 81219691 69436365 482604527 126440505 594169875 788356213 806229981 202265901 562642557 337073535 863498101 890825053 470777667 715891317 126459011 874455971 524825505 844855499 762520313 964164935 397248385 783790805 833257457 504920821 725265519 207143129 103229105 948587459 578624677 75402237 764687267 970102831 434189827 196667731 936932185 460153117 14164749 341902039 964414863 762034905 398352373 368501351 162636331 830998043 720316817 956799693 809542195 263037183 11800673 230938299 456616159 249339401 67291531 733852619 276190857 725052713 101187553 873580923 950091187 390787249 672153303 942843447 263661063 630221409 934861197 967709777 305667933 73926749 137543627 141558015 28230827 690539059 518632703 926250853 9433881 590812119 572839235 846879115 628804847 537651367 515081813 454207331 899374241 861146217 13364889 453339077 647248329 650190921 222326819 555266421 896741421 655859677 749077417 42994201 321836727 830380065 862290313 547797827 795891323 789704317 962227401 917079917 700444595 390641595 757568029 430803193 353177793 980816659 709515991 428270383 19069235 322590495 828576249 587735873 670423229 506711785 920625963 796920135 511635509 455691481 118739897 410109765 58793125 299899847 828233119 653143073 323631667 917470193 844786807 841217709 324365619 809292283 576155787 758797475 605093155 449433587 9522635 669448613 63675301 996091981 649706701 964894267 721831811 70993127 929546705 100669653 236585395 112146949 444638653 405368017 92468301 961684311 94871843 10134379 887416213 536958193 771854645 38729423 613378807 367287375 863002329 108333325 888105479 407799639 814880657 342719263 712696191 305513815 623466125 981407207 18770499 870798853 170690983 112576299 118106207 874201723 287830619 98059425 902185475 910369345 81706195 788450527 887285901 134391363 405911261 433475175 138743169 32648665 891819249 777730211 760385927 763213755 546831147 624790755 286883189 815096595 142443095 157762913 263786821 332709995 951292641 649045055 442258205 79388347 505354211 295266947 117174851 875230303 541173785 982458659 388107311 931191323 369703659 490402805 454507897 449401375 729288043 767680187 905652455 142199039 978895181 36845087 243098209 606194359 701268977 549830321 393492989 948417453 6467937 170164201 547837175 58129327 93197641 386381101 902796975 361025265 977052161 273181379 390903219 278191889 748097415 553938139 881518773 229847573 959368327 322563729 613856655 114590057 263144267 898322661 455507015 784512227 358215885 574421439 951266311 843302847 610226091 812674291 880157217 554141605 141156653 242626873 294094097 12670879 906038849 409728817 562332029 663558437 623312513 369276519 822299949 151630609 539574569 50735689 754746389 928741035 416229923 986227507 281016143 112820385 94165245 743829861 486108705 189698053 819111917 987400711 531458805 607189847 283100885 652113965 564105823 910270331 71237691 367578063 839481879 241649855 598082637 374545101 622462981 285435863 809611235 768030707 249312561 388860129 912742781 100414959 765630671 534574177 459719747 599628381 397806907 294082631 998689537 465323707 131255543 512812263 967946035 633790327 661159343 612093949 900185587 44630237 956238647 777175473 523413259 715416619 171750023 835622797 236921323 177599103 414973127 481024903 717506729 670505445 523523135 560384767 293976837 628847691 625770341 480538551 786189157 916752011 627026897 189236445 10610137 109389673 845794631 62868999 31415577 61604491 829332659 689319987 47189379 291295109 347269929 273032899 53826591 128090829 786726627 608830601 315868059 204470473 408892997 221700791 435646289 406343357 574518489 364756459 490495037 122021853 632918611 533824297 808462345 625361985 473658769 971370721 460480515 539519469 21314961 605043173 958103075 748454343 415589505 448359541 111555077 596522659 403705013 591362357 847598581 639789623 111405481 872270387 580674015 69340711 339306237 661348837 647970395 305294075 88646525 699141669 125220777 726943525 124748319 256469307 447841457 708291071 848043259 110764755 716372479 919211719 832923733 30761731 99149005 192725929 919094683 822645063 788116987 906255031 478155869 367866759 214627597 88012007 340111191 920218893 105404725 634420509 243651951 328606609 35368521 958955297 192559787 883882029 668841929 852095141 395671363 963639403 74616795 668277825 687530127 24711475 560745039 530710137 354495509 227865053 64543133 171689651 395345023 93421351 402227683 336083009 281520287 307593781 443353065 194066781 219449971 884644757 790432285 259222569 893916699 510138427 713486233 307431853 351004901 360385157 572173593 965838555 310272067 196527929 819478535 90215307 411197647 864146051 800522095 610930047 983332687 993832183 160663309 732374881 909248429 312870039 128867389 108848065 254787579 392994243 482449669 835491867 643115383 781540427 927942935 208966091 949541249 414526053 23358155 515112223 753892519 305549739 978530333 720530503 575077787 866530341 583667637 246814299 299256889 331287873 107366371 739042909 98034819 63835857 387272097 453579319 608263589 280666643 294682505 22814137 151726835 730116783 635810021 755652509 337423079 164377009 99718821 616413829 751476259 345547917 792358495 590022649 202036341 940679199 720521553 909706601 389030863 800446385 552232295 390604593 430139213 127619053 214679083 292463505 691379763 303252967 34723797 640713651 737062121 82822175 976147015 270890663 519146499 744615801 426233351 146809959 766765887 472934979 771884357 237964501 804701311 485243187 412269781 170112695 131472077 355014755 826328379 392126659 301293919 646658651 491614617 339397263 287084173 152353031 848252099 624439197 759720155 849311421 401675823 691477589 372018167 302336313 761642745 85660939 871642543 132500131 167778541 510350071 706444037 462588037 904364919 965373243 731061527 37952215 18892975 891324893 563348529 886951669 109446229 428010707 900885703 436285091 573556431 856889585 587660407 519259409 686158895 140097789 684580095 249373649 533001001 911652511 422932815 477585891 300531741 92187495 390891127 53128363 450400787 817736143 151132851 966211831 834843579 373623351 754799207 222488571 154912875 124791273 908326175 3924565 276059427 634097689 438264971 151594761 985109897 610803419 979844491 654829191 944731373 964555317 881486621 24699299 353589575 347195151 808602481 949339801 26072627 880737847 489373911 828673041 372767229 31200107 27530957 514500117 677337235 851820105 882574067 146819357 964571273 103543645 752549399 456440067 512658467 50521365 280870185 247109135 619988547 591766733 569043017 715776493 932285309 187669955 664821687 428789429 982020357 132725285 60528351 554130911 582750653 929323519 760955219 490829141 706319147 978146895 390263759 44533859 407110781 709983731 68420409 591129277 88853899 372274359 604805529 17256833 844699093 64855625 257192739 838078515 18190209 861456707 198968113 107545027 323560543 252864553 302819145 340761475 450397417 884315233 6191637 937688629 518180665 638943551 344537193 987985145 458587161 956198649 97142335 951251039 579827705 982105523 877022649 40394587 240990191 371426421 293519909 24395339 283140793 638658609 191882485 440616437 179977665 712046273 974759621 950011525 382946837 872268259 604018775 933315217 397960557 924460613 703262615 39202839 423888679 553484403 24380057 301665147 66492235 882097131 204249751 637234825 745189255 50572811 917145333 138722169 39262773 267780893 890771517 791592933 804053841 722036563 939171619 531077591 263254915 664744389 274500483 318481591 740255005 156104053 302762847 706813023 794821907 157237837 793263589 706368009 144846855 305472543 913444453 735040347 579721535 55528865 919597915 525019489 555949481 870453623 902923627 511928211 534305501 849196329 341609567 701197007 354452507 800762409 598293035 846000725 837739337 737696463 993940971 318641367 53246967 805341023 674888931 896923497 239686749 424942335 54951291 757531271 530390619 428034241 113520201 288806169 155640949 475846303 301600009 502324585 493091035 855131259 210810267 841937967 71151719 584154397 147597067 303970693 483326871 580199735 847628431 271098867 764332433 105874529 786084991 385680231 702953765 313384477 54006625 189014579 28265417 859588821 130655965 627749911 264701599 357887705 130095817 168726837 351124845 250054499 609855009 628849439 995041187 148790677 697732101 539621319 856583509 98634103 195310275 971794571 705089093 92229881 799150283 572355887 386914523 989038327 907012029 781358307 837032229 898405939 25961817 675680571 839971289 421544017 775390345 460178227 126318935 97559785 400819813 302217777 827463849 616071279 93998371 30736643 69255803 131226437 219760425 627272927 302660645 823466679 451045379 129139807 253234855 469554163 772761443 323293323 971524007 410154261 305720357 443012559 194975863 213627423 976126795 139981569 854534409 751470581 545799425 53736543 820747523 331969901 421159833 567492235 731685543 191045695 536406161 254540695 664569317 821996557 880533897 663619571 521767255 219925341 309611855 722888065 241944891 192438949 811199701 307341957 81033847 574762299 519038007 888564393 440681883 632477281 652991415 744497671 210628573 637544511 60432577 902045721 947395615 755896553 792270569 307131077 633783783 366406999 968743145 666385751 464773219 457533033 658382755 595286921 710191981 291512811 557511973 807517811 349218433 773526923 793914787 774720923 121897417 539016677 942573173 248407537 358563601 214946169 147494175 514638537 631966419 937927089 275615309 314052833 733654319 73069531 248124115 269793627 556100841 715851317 175503019 121370823 985580659 619910367 786419193 63520795 764916965 46659807 330982407 11911601 101104377 514063657 152043081 454944851 729988125 200075671 363761499 679009833 625421659 626092009 753974273 536291787 155286637 959378631 707444771 150466871 722549937 123566277 570823127 102699217 180804143 188545883 201448535 494394983 910825111 876333545 478190343 882977837 697324095 698975929 682933363 435191743 3176741 107368445 302859083 373511463 845789683 431447247 664857453 783778255 686869239 380793903 250226909 230024589 606705959 957614597 958058691 85089693 25342757 861815845 510164597 981801381 59488311 67886405 133549679 121491635 831811915 30536201 918791505 669021243 58951675 533988347 477725415 674223389 154378115 568904841 933596455 143693979 180688845 315625485 205351211 38711139 730160741 272625867 780430899 108540555 641243013 176381929 917429935 242722961 688604941 375541371 788443951 518234711 810376065 477125239 449642865 968790063 779336467 359115713 780523861 808804555 692963481 927398177 268757993 569707079 238677139 665907529 746548831 195419437 925514791 899496915 273675537 501586277 308445223 329400381 542256773 781521225 206232581 259211507 38350949 47421075 650345703 203301447 898276483 555420521 58560143 104032623 479794653 232630617 675599981 293197711 202844563 425442903 554907803 779778223 864521203 861893057 909953749 569054913 953773423 885066589 11623813 994935967 362056099 368393303 795075769 599655175 271779409 562452549 833908521 497602469 848877669 84569123 173366579 981643785 870292721 524743001 3218397 479341231 75535411 50259121 526690267 85924851 900084365 891716961 180650623 298607907 894647689 718528009 772493515 201642863 880599259 464021931 472638055 7401201 955981151 352909495 578483871 161536423 139694103 873255935 672777069 922200189 538850607 545095619 591391345 534575683 528339707 835602087 107458543 832187571 580704501 701039799 471344601 533285231 719281857 892772971 937401029 849948927 636286761 121209247 86447347 902420437 2063649 720285337 125871433 903462217 250130629 292221189 314644055 846020765 197065303 42147065 929942869 821228027 880278853 629283313 736396065 602058099 698255135 329618387 764062019 24768511 170184353 264697325 87022315 662689409 727700143 380018163 393115631 622101185 200216915 269814533 888143821 353535087 553332929 466432676 129887919 119848999 967084631 366631361 774260323 28540009 21145491 925525423 435177311 192641695 354706725 781873965 50502597 354604569 612811741 659522911 988341339 420720401 381441463 534206673 307000207 671944617 754710743 364460667 496108665 757450985 898952839 981793977 205917659 332859329 849674813 620525647 522209559 133851149 554733201 505110893 342264641 850872205 600428105 539788965 619839501 491519211 53396815 14538743 665620699 876516023 311523765 86262727 891964341 189789803 64283319 892180963 585739845 519303015 964690873 439451263 246067943 883572215 249976135 6221627 729418137 823930441 996295187 663948311 13096193 359429497 704260599 155976839 627007345 941351047 711106297 961621593 622677467 692350813 594701379 231361233 613870309 599139273 904886055 634606991 525554641 35507337 770806819 605475237 117594511 302627389 79220183 304663171 110773689 929637995 305565713 923531019 416189323 826403977 845559491 573461119 211716847 628124395 816027913 191900047 50133875 400535511 771999781 527766861 160295245 637526645 45333635 760415801 407667295 532817363 483662005 431985463 314239279 599274479 684954233 772102291 991013355 118799527 943065519 898969349 119230315 273331911 45005669 387264169 592132143 587735805 410355917 308276229 764604767 635938021 519682627 199102725 854677447 877257727 601840201 567496703 349418209 277370547 646706827 92328623 142579149 831815509 2296029 755640635 639039567 328742683 502980153 594748209 898654169 421797673 315224003 66014855 750828161 338226569 586923973 325418647 835595271 521202217 828229299 301920041 648106193 933724133 770027049 804481899 115277039 147239803 962661353 52501743 759354649 440743575 234874591 768581811 433249197 714734795 901653023 147295263 541778867 261839503 84609507 86328831 859546585 484089923 842847887 222801797 292697465 142960433 297964461 454218579 449625999 220323467 366804211 330135149 898008005 873626731 124881209 934680893 915863401 108688591 337285507 658972317 615087729 214895779 279293951 200527559 348433535 650386105 569427709 343700065 747552217 35852999 151510009 414920569 479975533 724585585 693506711 189180547 432396499 446023743 555896225 234553183 965234507 534777507 998054413 92233805 772093629 150240503 192889843 250779391 960974773 288609913 494689177 966484873 477948269 414458197 51481191 639032681 547882693 219189661 642309619 651623553 99386689 650369607 967688953 611442211 997106195 927781943 650854489 315589119 686680849 245846325 492522017 559591735 124013497 485407475 351273601 57911629 979327031 8259081 771567321 351012657 722429525 661546747 895700647 210320949 699991179 503027503 204620443 193562905 265580283 426465783 830030725 755770113 730454123 985840013 220847459 400853627 578144075 694345235 215084117 240241787 299702959 425139857 21009833 101973855 341351259 251531769 631132881 641548267 83767987 893987 343306343 492897359 271449541 863319761 108622641 312534815 453243469 690369197 451701017 550542935 876891047 985950281 743312947 174222943 109754329 288119067 571109815 91832065 683647125 468337797 677506317 950591091 426522161 452830419 871375037 586571861 359439021 833779765 557713787 815812265 381817521 528022467 445744417 354872029 983366793 892273791 23897527 672549063 236533039 576491603 963131491 322053029 963139907 242333455 11376761 728599323 22408201 236915053 142513271 87396405 457951347 949522447 923643135 658008171 327777815 835593853 818769371 492281497 50021427 711789607 803972351 6676485 386586289 307170665 926413191 753284953 82310945 601416323 382434485 426293167 662490037 347377823 789692661 475865985 97793105 214303437 687772891 499049909 987129723 488456455 830378017 44830873 333842275 739762991 257409707 349763297 145259229 841763851 956071811 994284717 446455917 639598673 399177181 130026109 67003701 369041303 112147477 778836037 856284681 798566239 979111599 580587093 4426845 977980945 795859283 843811947 350341459 869023745 647176151 581849775 445627057 566197351 564726069 107024043 779706341 623661157 140942993 813449303 666312455 563002881 325330485 382304525 918251991 470272817 273940119 312830103 970322619 549585099 305981263 805251101 197951429 800869775 658407971 150537529 805595561 629800747 763065851 402072291 503635143 332995373 215388141 296569477 739883047 272704015 218748979 470332651 344393849 458091057 533402929 210050377 787873555 266421471 879704179 987804733 413125877 161292103 403332011 420267725 910457797 875392901 295206835 878782821 52919507 513861015 792403857 442777307 662289429 943369835 675854189 946475883 606855981 326202575 921082271 613166525 83410529 978375291 358494621 618045915 457709985 11757333 457844493 317398587 172421505 257066273 803367611 188279485 780395589 602192659 73515417 609968547 383064271 85005893 408079297 621443739 120198067 606038519 283325305 374856123 897252389 935386705 163789355 837085313 185052423 245558119 88417129 518824657 774754269 906799663 443908593 278113783 242956251 382286733 360219811 182808491 752062675 831137099 733775245 65980169 651171911 487397655 833828065 735622039 312002653 95648139 153543163 913968191 149850853 967865131 172324445 928073307 500674135 501197149 305239219 81433253 449211091 238072693 918393807 396843587 812907805 601219497 428777903 824430019 106538919 719181853 227908213 158312987 524301701 628993499 931823467 603237285 516494203 64293329 603747333 282044201 65515245 24093145 684989663 128657619 964026603 976722871 502206139 794706233 602642221 973277201 551658373 99309657 475665681 571735929 91745105 219634325 38512799 160799083 899394903 126106559 442943877 969637701 576929535 301126151 44075547 544069969 696034001 209519887 64901219 796064705 544520579 832051929 411799295 402111917 922351341 12412629 153515075 165020697 66913555 833855701 256243491 151271659 363548961 365806617 400218177 521904117 660147819 331649093 188580067 456691697 967961963 730610791 692537335 530080129 941375685 480294387 753106709 770371117 520665667 57462727 770048381 830486375 657535451 296228649 104916757 389259143 276181669 129573573 639623021 155537105 713559013 887380401 718096573 572153963 269424649 395138665 203432677 782232423 148668321 930699733 650486377 757284799 988252265 419578943 817582457 414098261 499647557 287528029 459886831 750550769 898874943 479145551 498526025 232491845 53077901 812726935 391138221 538204649 347633799 852519203 631939819 770606687 209401267 495177291 243503737 391408913 555111099 206831047 275658105 458629199 236979569 700257217 904785329 416709971 9710289 712527813 878559375 164305215 676591103 762138567 997754925 201431579 663709511 3872037 508780103 611745241 801761563 347935651 85371207 545001809 723955477 858734193 597266233 415804741 288691963 912073507 585129177 299479391 132564919 896462005 744054913 150575919 132054107 311858317 8956733 138224431 95097635 176521593 1587641 316744127 656142453 153014445 58594125 734246443 898835417 333220553 937188089 836691363 352141571 574307023 526733411 717058111 248201421 58143021 648533723 850483713 107462205 981887673 809239129 696410065 368992125 472752559 684791933 666683523 440413407 276438199 670203275 983295439 171721185 364937179 154816371 896658263 815645221 194328979 917187279 148630947 770936437 239005115 357675485 512384291 411382725 502037143 934266243 222959923 14798383 291134935 746942033 30612243 209028601 866886029 184244605 877654251 505550479 509649209 733608937 66848463 708639615 108086975 860867355 604855735 601250697 949387117 155010625 861808773 637397903 85661943 96207669 484018431 50576795 447060603 509151091 392925915 864204257 856449407 723484451 839728301 249393085 327313135 396389911 968802555 169812145 218317345 385918659 376536365 844968297 800531921 595374409 855039123 17226937 43714855 339569773 55430501 259017883 518666925 294198433 65549769 34517299 738468699 522615547 532665539 463119819 548141451 552624699 460392263 922020825 329735685 662019529 462966063 123310069 731338487 935990961 579274811 185792227 977284339 397102253 153071379 862960783 722861049 924008219 40765515 781415693 577710189 886687235 92695387 45707161 680551963 255878933 804700067 711715219 537168699 719318693 201696621 931192711 629535081 521131703 897080557 593545257 38792875 267509743 533539127 345076567 541991533 988357789 646338385 97377551 318094979 922916791 924376865 274106497 862259245 764874719 446344827 983180029 451852049 436513883 436832789 425809151 69852729 233962521 489157267 129298219 803760411 392722611 237011839 24133965 335703701 974865765 673916999 453102935 46324205 609530391 978877253 884502115 79889361 868722267 597940925 845079991 635028307 569755237 964515285 703072187 15294705 912822807 484835233 453542663 509655443 872547317 294235671 19764561 831038339 144565297 501306139 917283967 461268345 756058529 802590069 861808029 701742481 530669253 663409111 440846813 379371599 539665091 678819291 732909465 94739875 483336299 347620095 966828375 206400479 280695605 344527793 752614593 645744323 425107009 348922429 134688683 186727541 318431059 755569119 121329421 997193341 969120219 605310393 426322959 827082967 335079411 336064467 663468793 942886619 650607959 829151263 771777087 989721169 206000241 77301623 698629499 302811237 270399823 125292185 931012723 964072107 765776553 241758001 972166161 114560549 539236061 376662735 880799593 394351667 534338289 272159727 909779637 619815335 365073817 835759855 25210455 204105137 741504551 509739289 391251933 626619635 518262173 456268701 945064185 913140847 358511523 498460313 855695495 426619539 27046277 639778313 14624649 75286583 875033405 550787289 66542125 550099859 285310059 362999257 722292417 818811217 478161747 41119427 29653701 960990077 526629351 638489401 128151003 138378379 379299517 423040963 950463181 244921945 667633173 900731603 504212625 919136557 986187989 507035073 231771455 559441585 350714253 321783759 587212571 221658879 510254453 231922471 55558545 655086481 774770539 784799705 304790069 868238415 971257591 51468511 339552193 280288387 329025865 267820315 153620249 708621795 178956855 525258325 780618311 4665231 471344447 573652541 836388737 399942409 163264139 835494255 305048095 36296511 6978537 452047469 448176551 552802695 268264399 823602331 812351681 266191517 13695071 219939151 354317891 249448873 648612447 62206657 484967975 789832503 107053629 588729107 614006929 112587321 941912337 957736781 896950477 379660049 347432349 407064671 800917067 571934851 293116227 645022757 601792939 289864377 617955607 328118879 191176619 883978829 271340237 299479479 372739131 854597945 648927173 566312637 666157419 604141027 636637705 275759851 295147129 539721753 19253571 162552225 620107461 866214415 745213391 906884907 722809565 143296867 267748267 328737719 420154225 402899483 6946685 201362529 734979169 78193571 363997591 500961321 691170733 260745169 702928107 490448633 42385535 673389027 162197533 578409633 200028719 659714939 592827507 125906393 205288755 421300649 418492637 199785287 964742707 693373411 957210353 936092783 530071799 976945925 506482157 970202823 428419441 193384531 78068155 926692515 709262017 513576059 720299497 381920329 87996455 895395477 275308205 443059425 188531727 716380441 619266537 627172219 208762123 890459889 953286691 954236431 15269593 756110953 982954377 136306307 324753755 242652213 201146099 477669275 20254619 764695155 377522913 207845899 240379085 304784809 199732859 44455789 893330253 619867075 327299213 80424769 885319069 53071125 256717457 100979695 316147049 807381857 219883943 455602635 82196099 739788487 301113747 245532683 872539625 877043927 389213127 376179669 425071805 195245445 751673945 186735917 315696969 963754033 652482313 353300487 622606849 272502941 917843005 432056637 321869953 538216951 139475461 488185229 562424461 436541909 388243737 864365733 498682125 161901365 128271831 849130513 120010519 805081467 95409479 183374927 617768677 277100915 933743127 676847037 252764379 916351061 477359009 891431333 773883011 85085885 738246881 475508025 1505681 479806383 551260033 396467859 577537761 179906971 565107919 689992113 163685751 383854421 162233025 148695935 944739707 80517401 864303353 471673551 671210819 605554573 130925501 178094423 249222729 382465215 981821691 382449851 117438513 39402275 857256779 888678277 772527047 665796759 304997101 518808099 462705659 292964193 684323529 395260399 986245357 806882605 894360427 235583019 581631195 62080529 298992141 15556355 200756533 933586315 343093647 736962179 767143307 188331901 963686773 520907175 699564185 158642487 154872049 250099025 728832323 478440559 584764377 123346249 328965013 61304385 825622955 886208321 592568257 96967729 765698705 13168081 435867937 276649261 869307483 611931005 834874171 735493773 303593851 154477483 143689913 566291211 886239253 631662509 595729517 867073997 912372975 62498749 929326675 845256031 905008761 780838909 845027473 702585529 383241671 402678133 283254381 833817655 270020509 117283095 253413215 298999967 640946527 592739003 992757249 155500573 303937051 434658851 210475797 879752007 383658381 569184761 937553031 631037465 480442127 378480335 269161577 618055929 44636845 356788763 682627065 121995703 13917203 48929601 89718423 478160515 470044569 56933511 16981713 708424445 467650879 330738211 59259225 753133357 162534317 190699307 640884235 528009851 609875247 959491233 673542377 737509567 426499775 659738735 475330847 621600055 790874365 159868005 609673217 567510917 608751917 268987709 302242311 522838715 607590465 160227737 363316185 863877195 221515727 415024897 518870847 250781459 541514517 674238693 438486573 134700631 402718717 399636897 697394623 982841543 229607445 566242679 30676279 766462839 427276181 953087371 282175747 908158179 699087451 220432627 408640945 298217457 547487983 490262951 574812417 272386287 684447617 621427081 16943317 413002897 317330661 572727649 349737015 90787573 129117597 524726751 738676317 866323617 191253713 223912095 742783903 724741505 4309327 636920609 447139969 432958443 864151181 720913871 702139055 110979997 354653613 571329273 421463037 809285817 642323061 285613527 175015781 740135633 451532371 451638671 215335947 795869141 16511327 598956071 531238459 262510887 797132633 199459215 222995557 281401481 511155367 409935523 435355175 857709355 340720475 400689699 649470789 339464351 607924777 431791031 88802471 523547109 853780337 309927667 297048421 598574177 535913019 938008143 43467189 466961633 839693623 968609323 260581885 295499929 971272635 195519443 890769863 117212711 42444487 346470517 471510217 478724241 964107265 34642989 282613211 475013187 614239417 64146683 205536259 918762001 267955941 399155143 31173483 858028093 193310247 207600997 390701157 684852583 496364229 507423115 367488109 308739487 253749423 920502751 174055721 469284187 192386681 311338213 297901919 503606389 608282213 884568337 698144775 686918453 136986459 473909693 314129723 596448585 734699497 644234281 947069245 951281859 499808581 452493437 796488567 776856867 626986577 198098637 996108161 660980299 700025489 442799119 200364049 733073805 655626551 473075497 731833871 462609563 492127771 413222879 670624643 660680339 422887609 584828901 164045473 720158457 848235833 730702805 874912963 406321853 186712939 658324525 287112559 740776243 362337223 407574105 225609039 100723991 899625581 445928363 477910839 533187983 606783521 703830105 2810655 83776297 132530003 550566025 334952751 843491545 742210333 51001151 412744367 376868607 115717181 800597359 183003411 561645149 83236377 405620977 226857719 571535649 690962881 917968777 723894557 790435809 75449581 564677085 753708401 287702681 93900539 712986751 782090759 707977649 161514481 761009899 882291737 986936051 923730307 895173247 296108299 493204119 305570819 15592325 998011239 884999225 318861685 328268335 444439521 669574109 450674811 372734869 831746133 118595827 979087209 129490107 539100357 386502477 526935347 190874503 318605919 772020267 123949179 507394507 419685489 248382769 388412549 467023937 752771451 303860589 316570691 105446795 849732127 173323347 793861965 26764081 290024489 70553793 460758751 747421861 178495881 599778301 428565217 301784641 964748125 300693171 646002915 436448835 801303785 267473399 990177565 526855639 419730581 943627851 623096173 802952717 758141175 291134607 5519453 290004703 135615433 239785235 114333207 25377839 787266287 855662221 648977783 330511045 824748405 695340823 458364155 892626771 131332747 152027963 330098121 123137905 534904465 478610145 918764721 630370465 333598725 298092129 560453417 640996173 535936151 116070265 567353427 554629061 522660375 596383309 905461237 11079493 629992321 46417001 691026813 494466281 239168507 498422213 861383941 845966015 699263947 507226557 701009481 771460791 229776233 23686679 460171187 239337897 580248175 993827839 864727887 774551639 36718237 15035657 764191705 465421931 587618019 807667253 622297003 778990453 998063697 460169961 413252049 859097071 949996325 639238127 10024183 186928185 579547071 807281789 932469365 363876255 146858413 843747633 970644299 458429777 692182689 746016017 880280863 942746983 648983415 771034761 200458049 513316835 478501167 133974127 333036457 758532015 190609401 167650561 736441335 800329115 593402407 26151651 455494255 698693985 739724083 209671713 639685889 41188513 486564031 180254003 409994823 262361063 705062297 421267443 659789951 282347937 719312563 915715755 576216207 724736299 992108073 631425283 202533127 16398789 775045181 784608533 75201309 912991641 909190235 757788763 609858483 610380471 929340951 809096379 217084495 854371863 769178153 573912451 358919199 358523551 500269433 590517351 322887421 556532243 949519887 388705413 448647781 459934761 311733791 32699747 733319295 322427767 315494149 44064237 436000029 249031293 730944069 395895161 249743539 478063785 503070855 709164227 295352163 15033161 295202977 414548209 322464241 489596055 156396685 325937811 927542991 803174579 360515181 270951065 227057939 164135079 673189265 837408101 22609277 953582951 820877671 263443897 661045107 629868743 515130509 801936323 842033159 554465933 581510085 4273179 94130413 496046433 186426109 283877561 617987973 263407057 775517765 354895879 341695447 188626267 685986521 364082641 167302035 170490717 424971293 953691723 677584653 413435939 719628955 423724819 762302025 33540059 68053769 244385325 472262123 646245279 835368767 960092425 49413187 824648819 280979779 486577019 312992327 366617661 597368381 30586559 437617305 634754769 548285315 997108859 891257983 748693223 752854929 414951869 394469095 347878687 258324231 650184699 586954603 261548803 422520241 609518607 218853191 198053893 892493189 189058369 175630947 623278207 36207003 402357821 322367569 155039919 317038905 999044121 625002821 342941121 145585353 136215379 836086049 29263047 699986141 238100687 359158377 639199671 576188721 409364697 111882063 242613877 268438955 306831401 436037801 191300043 118379347 794223323 53445367 954587239 34142043 950928755 795096415 794403299 631988771 91015137 389681329 721828803 765819435 129774199 38273125 274268781 602760991 633945845 971818393 431437363 74617041 933945727 957525527 344667729 966329407 917663651 308991305 242346467 248242825 144849237 312641355 297000185 667420157 156452339 724349913 838492029 268626701 898208067 192906077 244656719 226505557 912797809 814653413 448804395 879240855 376900883 380394537 873088189 179965887 753688613 254975109 923019159 179079135 246517519 468807685 365672751 499588405 144832155 55368021 522851817 469267491 960080385 673254351 655526157 654729779 705602523 36618351 616339917 241845529 279186739 517827295 207814209 993942449 838194801 213184619 264510059 980338941 414642797 612996877 539065653 917120809 476875109 633191013 407580015 421190793 599375357 174851255 508451029 830754967 686378051 720298485 410007811 604359413 827728043 120392373 220173447 692098163 572692243 226243383 753825745 104490495 245904319 289375329 916075577 343592887 267887711 124177603 158090497 347080669 747444487 162608021 323694675 22483935 931230515 438008245 490884159 95528779 736966857 44176555 529107903 903175395 972680471 117063079 85560245 141796227 123767251 794328191 691294697 948805949 663063063 583040177 178906637 285148735 300822891 696287335 738422969 379716071 750976699 907050351 527712367 701527481 767806815 733881407 416476311 119634525 44981775 837545209 577271431 831436457 539809269 484200035 420212851 548696729 763663771 521573099 210309757 447815245 712049145 801861033 39250353 663449361 55671659 743915357 318551805 707846235 957746357 829606255 298778173 826574019 473010183 633224427 785407281 541992207 430628853 499750285 728740995 539645735 929580155 395494063 908800707 420084003 652538367 294413915 237889387 96648249 597044303 17607233 889312219 980659663 593922975 896370359 317807711 284863601 27580301 654398397 515080997 842660049 260796447 140823033 935822665 758536393 773253313 663063995 155609035 252263007 169445705 986957819 178871445 805177021 144932083 512626519 672796023 250426165 80943975 269752599 247704875 385975877 638842799 904425515 205574737 921953421 954635075 97617449 696573043 493429211 292693245 983652943 49976581 613499937 835196453 797590151 560832605 946346105 313030505 696144991 720188091 163512873 183567835 305375245 897072461 224258459 571752955 877337459 910209825 276967779 968874669 745832215 389009455 773125947 83429439 901300519 575120477 472087813 972619109 171729019 280415855 473662927 725523005 655741843 351114009 750332107 434598731 718860695 966868469 685752917 552942719 659730771 997955715 293509359 801773613 952191553 470542635 45658181 8184849 374455681 413173825 366230571 336865875 430387927 184604413 994436507 735563389 789227445 130054271 22441911 208795781 520358961 877678801 863221455 31080395 22391819 106952165 675872593 124423185 371680681 536866965 192868059 140243077 839494427 798666143 120201007 850789053 163861273 819519153 519084345 301585335 436371457 4263767 934906381 735527637 508322011 133665807 673577445 508079337 330144853 334837047 379353893 884055333 151190473 65748505 217411927 676861479 506962995 382498279 376330289 117507827 57612605 72237243 274016907 338739705 226261557 11628691 378166633 657116683 666954513 439436893 994200313 803552617 66326387 192690917 514469771 747951287 74238881 659689449 684385435 283212291 570881929 57814791 934216141 417413059 896710083 689905353 946145259 584713169 808226959 456874913 161570795 866181749 457355989 553405159 893162981 292654427 617493793 591377375 963869215 519181977 972865197 228771503 549672961 423035819 402548825 754291049 530923809 751551097 996133801 276230919 328691771 763109965 474943439 608721515 912785455 374766815 576629409 341085021 30618377 631666505 729343389 234871183 183033599 961180437 477866733 255845275 858598251 759024427 325007967 975381503 163258829 656709859 577890411 871903783 139502293 321832187 135658799 308150115 359931219 389457559 649539443 813248495 28769605 890966085 111977895 329614823 911929035 566861049 623711967 700734553 809637171 72442129 785678303 95672885 703377391 41724243 638196745 841124691 419605913 991621611 94465137 740103031 263565559 960381805 356467405 706126663 225969651 666085851 923060345 285570389 324705951 413699477 751088513 902530331 304204345 118510699 551659409 413345787 486697507 479525011 626134273 532305981 265145063 240353703 4541905 17865233 8512313 133737903 416169641 202687635 937200371 51238425 184878549 109085381 83401243 507046071 824517711 143673483 775336923 454339783 744856247 287663037 372092295 707367921 560852561 815947535 955746713 239334209 473497103 823219491 782587059 788614699 127156615 773940613 659690149 257249163 478779895 194954149 513326429 931717803 212104521 808183771 668459001 461536309 837986059 937735785 245902267 444942141 718578549 840336503 537968911 6937667 38955109 743664923 210274441 876513835 957263971 588130375 541739491 686503747 450581405 321460195 659207423 91862593 344340717 561863349 432089325 369537855 210813135 18776429 523974875 406311621 639139437 45696423 157089575 37850815 65184405 993343203 185174099 340204931 482430653 106332043 107297293 483426509 205841927 698797551 774860325 140644549 969067063 216585033 71452055 935620853 419575489 409960121 531651975 984515413 468776887 900063819 403741759 373708609 143459035 339182573 415021621 655031933 193494163 973123707 826729729 965155897 161203441 366763701 201288295 742402055 185767081 95119939 418088789 384896231 56109083 42317497 277987547 678474813 632094287 755131023 32277813 471938263 463130613 807973925 87112903 230488041 157118051 86843591 165698845 212679185 314620567 675517859 191658473 51568723 966022203 915691221 844844549 725397791 967383199 625021533 887955575 620528969 7808437 774964515 304965479 698706189 902148897 195959291 122749227 935401235 697186601 261846173 103269695 103926629 361217979 293451433 593556291 646968953 827794289 143137961 383506437 224457775 540419719 855357201 687047799 955797705 864131559 458467125 353275059 384567285 286819359 74138715 415593727 659186123 140021349 617310377 72975557 901268419 598631835 551981107 691977623 630603207 490869573 982882289 231426611 320255779 883025557 699251395 328014201 817307019 514910563 397844083 615428471 975601181 705453865 417905843 362537567 82125917 961473045 638947357 661748109 192195899 748738033 147957551 399192195 143803401 147991351 238731095 403801581 294693767 842419719 499370465 112926877 854522075 251484965 842142987 554336913 512983183 768556289 586655475 805693929 885238681 853811893 379547811 228312051 221553239 89203455 310861069 267008035 861812111 970258245 122452489 771885839 657545581 460749975 93086043 842729857 586429575 792800941 616862121 587681119 416627931 492329189 206565255 177724093 585443531 779871557 663375979 829290713 894343721 239558017 100876729 255584533 787181351 664733675 6849465 101331963 857594721 395966087 654789277 286316095 439523553 579784695 604708221 405909437 538082063 585789583 439060829 636138105 23147461 395915075 195754531 629685147 200041021 872944821 483740577 557281401 526654493 865874985 460668051 464377229 22436977 352910481 862719383 621495163 126026417 199576451 54962231 417100813 241932731 940558911 880179171 433141561 204362447 51383469 615453433 344754199 186799263 613542489 149710261 948947947 448831039 427350397 791158595 479513379 260433963 158885367 474264243 180014159 814057803 978192465 620486145 156705067 604425193 1186485 666193673 769188763 364268733 344729599 283660441 284073129 276543457 58192045 291748705 286576523 609566173 646435301 523005689 155161753 440389279 207631991 857095907 438930009 531538553 932938201 503957897 610215539 675688747 622264621 322938685 927233727 653258967 393521721 42429237 124457011 273505039 632689771 869731987 363903477 968934341 436692445 334144355 584007761 627482199 730362443 474858389 169267127 732772489 697660959 307743233 566071751 697206667 866023781 410890601 745157697 791197937 922423513 397382007 158495759 27128247 876252373 643285435 512309321 535775043 253056613 319144111 415498021 173959779 577728565 63677621 739723531 701464141 726107549 186600723 760065409 208879003 85105565 710075135 571939903 33342293 612008923 495255183 300268063 683696103 608544167 331353029 95549475 174181927 553594105 818380683 790869623 563205715 972792175 874250417 505673069 16826637 52612435 160613105 759490691 15641703 894295695 381047787 207367001 425766097 674862527 27828779 909530301 391198253 761679649 570617887 506512801 325702847 339960729 609249059 475758625 303398449 608933307 412045431 340777599 998784669 344410301 727148613 334487079 345118589 984812413 160566429 952772269 893270199 780461955 392075385 504714443 390551447 424982013 125858489 272131939 487589847 126662339 609384745 163967621 626826895 893185367 35309943 960747615 884358469 485985243 628358207 379294799 596185321 801023011 939599361 412067287 421342927 455662755 647598117 605012899 670820277 824658813 969780735 180928647 139283645 266755445 596460487 141455997 745980023 125024509 652733853 362912681 749762521 717722923 872073867 153733973 746937661 229003455 936281477 365840117 18331501 63154463 205840479 889726757 141048465 659645789 437138655 685605033 402800961 821761837 316571053 716875113 816593787 78477295 550501719 216333179 294293923 300268459 277115739 190626841 902045575 517234703 486636823 328543911 735341913 874386805 368246999 873515441 267390139 437101531 32757961 424986599 796233649 79053287 156511751 68641065 819514791 238853609 254946709 349072245 684313203 865436375 724689753 309160443 464076113 19578707 639804711 289293835 649947111 999797411 976582583 553309729 224905539 528640949 821651881 8923361 461894873 824914465 104438407 670495255 886551433 760054057 649795011 873547699 839740053 481427631 328756663 585841365 780018859 742831687 404267681 45338811 731833569 657761829 214798255 628679125 582537141 7768107 932641773 765849779 87265289 18623709 468562777 471678739 174419503 598616173 850710993 580725461 591562967 439206321 702452767 729065223 119922211 382739241 639362293 509459675 50785943 766069755 618131947 248495787 137165853 851553015 956054149 721364733 733693711 971509141 653593385 904716155 913143591 21228787 127897641 948605431 703808139 477492441 529894081 949961071 876263625 485394103 824184847 126398723 599203797 416563363 674043933 38792449 118531853 870213211 279400669 282123227 932597815 559715401 741735719 206697261 17444479 244377723 416501181 711197881 206542203 162774953 749986377 71119723 853363239 444828719 589719133 158975063 390507499 129912601 761614959 371569077 551214481 790287635 759548131 673480685 732311631 777721207 90596097 199705223 563886789 777653569 868255227 840446775 637464565 239979545 142469609 394007257 570026575 655460177 763930317 624039535 819078821 304783581 947448721 332084773 160261943 512513631 740371719 840515663 649861289 522319387 48516325 83980903 966408455 647600643 272787149 881086993 585324233 964007085 818638667 68797975 226043339 614903385 940056271 754290029 529128019 266969069 830572721 361227311 631653389 445550073 946953267 756854433 480361741 588036533 439874943 434124843 215734485 544842751 75282085 868355171 340586821 871938655 983078561 732336643 962267053 808654853 12679759 298259439 302677441 205856965 759261053 425499185 188168353 888455715 169801691 133922559 459512271 823419459 940195841 258675633 717234233 88553205 429950065 943272395 363611957 235081391 16614037 502990331 698788225 504086419 953909693 14389009 218304065 615926375 243682851 436378889 658497025 780930969 425925607 435532295 524013497 624985153 52614165 31254359 305195973 813825823 590863261 387175017 650801385 868796827 309725781 828739549 184289109 884037825 619817477 97865841 785412507 349890637 987953999 892637205 121021371 879823257 183635657 766189785 998988825 748387503 928169963 136099321 148834435 402614079 281804311 936802011 694802221 881299359 680076179 830701573 408187319 9847759 497943701 21779503 43584033 434759285 129625139 118791987 902972895 192510945 594328941 721263377 636565695 162242827 197972017 444261113 40639493 401931409 813646925 130853949 939707217 371640763 903700091 32901461 745321397 619871097 185133915 714158311 42562721 185579359 426507385 23304895 432487671 541546161 514839875 902964431 467254265 912467795 961173525 922973235 774231127 228377813 626524463 437514797 273342755 349544301 432387001 126158121 474416861 680926461 416326343 926354361 342260329 21187081 869176913 269997467 284960275 133698757 702914103 541869745 906798227 557414915 580944707 216328197 533482501 721112133 108422697 33819339 77647087 267594419 475572861 985625949 115401021 25858073 414401477 248807491 508149573 569533425 520900711 680848675 544641219 747108699 201711287 273850321 573222877 648128027 214588909 992744267 923873825 427598243 294262569 436474035 695904133 174759945 302896757 751652947 193666403 513526027 505769923 484164767 51096451 357759253 382310381 593707315 139203347 681174577 284730291 59893713 332709 640509721 894793405 365241703 610902583 882820651 730037407 458773763 68031537 923933295 644129231 368577765 723244639 711784083 950790321 373393263 458462195 55760881 610474125 193502253 597834127 786762629 598010519 680398543 318544439 467225849 257754851 578379315 222739029 938530203 493272951 987033949 798503107 137302881 848045881 498342517 375305147 960636909 415174395 614171601 72625635 312350085 294972025 566008555 864703817 22274071 405823313 167467879 786808929 755111483 726483469 403974161 471676681 97353265 67452703 875211225 760042887 442343647 264411615 809779421 32767879 162049239 957043089 110495073 198647071 329255245 46733403 742262479 225138637 895682337 395950671 851152057 635485043 205464541 732181097 726354395 45238115 596251819 10999175 509259033 211473229 859099495 828561779 498070655 555501139 441034639 361956317 656465471 830408695 450414409 368495971 527335859 654887209 593029221 985678465 632863329 767043387 275747163 290591395 137082097 289001197 816003145 623498521 32605243 97986403 173354999 636332575 783954997 150845739 438461653 930425811 604223237 203273529 108864503 531725119 612832247 284045803 306783777 230888275 327420541 862179333 992505013 850080237 214477619 131001271 10345671 126405321 482686683 330929045 177257485 719910547 544892255 109083035 529948131 448155611 453532887 601060401 992586837 426634779 513219707 396259105 348883215 254386869 869477293 497227425 26224745 442683377 800876795 290326097 390077539 821237247 95037207 412870195 291412389 540868093 388104157 807532981 948540027 389829351 100998991 819421869 938193887 648517801 14269593 505369689 151794289 548029203 783474957 470994013 634656117 790657247 762807593 424616389 690083805 324280493 345789327 206466057 48985405 810207753 119221257 603081733 974765273 12611683 830141579 366085375 117694613 792608787 705616945 612571041 338023425 277781851 877143613 292462853 207304021 441946469 461426459 269901221 727021679 928975681 869469023 677886055 153779159 567772905 743147203 57319833 429956027 817086013 350041899 24401391 863304437 418095625 193208225 513373577 216061953 271995131 148163417 379078375 14604297 496725679 923095215 664403965 853944795 491478693 906058791 14947611 693471981 158497607 677960553 691438079 436710497 628993765 536884299 122920657 457190395 898060473 147912135 926402331 354399533 648186851 8965377 719467221 131948047 349129839 515322949 571073369 705302621 742597707 936091139 456305777 784582271 492921939 151183321 647195973 194530949 254952775 669360523 875533167 674321705 217414865 700468225 418426343 644931781 490133119 261600849 854576151 881395299 554975951 2236599 231298251 227550387 118214687 343642003 297235255 566334219 124190139 978993777 831399929 380259433 224253649 43345671 743788567 615662199 636123517 595120685 611440637 331425923 805067199 246995177 286925441 230673029 361407615 609186149 593799135 380655131 243714193 623155699 966034111 283042701 535333805 25550351 442625323 214458057 265101683 30422877 885020569 462868585 509626989 857722025 661263849 609302697 983874831 701168869 304510557 607128179 387966637 840755245 490342051 808232021 256680589 858504385 709240017 818409861 302850261 286581777 627563621 98590949 380765593 273395631 311831875 635378681 932824017 929023571 249987767 393253363 238995549 155819749 564385401 376972969 304434439 58709867 354930597 924861339 227254145 902848029 762149313 626559217 743035493 51953237 478152631 638910583 320731185 191282069 299005153 670754983 869187155 886382729 662989305 858599327 446351895 793663493 476686885 398404137 114915259 177304065 24398835 603841199 187006813 349210789 303946329 937819213 246152711 981135161 133172145 154898369 828178603 391063345 165965507 873763441 569065251 679615785 516428219 68840813 378510125 893637603 549126959 979386477 697333621 862414667 649031965 586088653 162182797 351914357 951303655 666099353 138992107 177508251 325005151 313781631 468455667 755878175 615021493 953511379 261446125 960811665 816169611 767394199 890610955 870293663 656509411 238266227 194529639 757617447 333715757 162571189 151543807 624654891 282567739 969762131 486647487 987514071 924900941 794044655 442542967 737645695 429035783 266334157 410738915 891215261 544391031 136483039 966522273 720484565 582966545 605758907 651290939 669309427 723248819 92200353 36724003 752804583 258207651 46126201 479483825 811892943 561794189 313593807 627011367 305008879 381802119 829176797 678267055 182295983 903505933 10360449 710946137 481531301 413733895 538078275 824891681 602229387 993187007 455723859 664469987 910741061 230248171 774091911 449119853 856863199 776936619 463678045 410161007 321965193 625522817 764223999 750839937 956305571 555441755 322614331 194044711 247277739 608651407 33371273 285966789 43548241 846169307 401336839 670805683 980729701 417878883 280681085 297979685 198074595 746331573 83663705 730112061 388973553 112726469 652650165 267359751 121507029 791673585 455489613 865541235 987717639 87711997 376176779 294438489 942439199 736747801 767508347 940934779 837913059 876359895 724706263 692987011 94227773 876572473 920614399 942663169 906841151 87174559 142104825 869913455 548779815 407105241 376770931 789536047 398027861 638426651 301582021 676664457 432949591 737538565 670411247 658409133 659889119 442300823 891694743 210758071 815275207 777631045 972250125 323239335 545809685 140844511 128262217 235855719 641467123 674127779 989913321 80118215 872061621 250712377 8395829 602489985 810349011 102248107 103829021 931117365 121299445 435750513 575370039 792130159 292460515 330572903 36614593 145995933 724376209 29968081 216914085 286038811 241382427 742306655 477172337 118088489 255700675 10533923 710980189 442297073 245603829 278816925 548549447 482442371 166752067 535195313 789932727 743358169 29842795 490015149 420271579 410397395 379147599 463140165 704355979 340991549 184443129 694519959 568240713 359677125 455620765 881732905 307027767 740425479 458055063 489724903 465274665 163707779 956152681 267604007 526346387 861199777 77743297 164502181 156289943 476786357 755204717 983948937 473134841 765229303 769422957 161459293 107977515 84363399 759826659 835556633 372809539 689028721 97297177 212358935 9369601 521964963 792724101 167753503 776296139 474779641 427658687 297518943 654599347 923859249 353133451 189493865 95135083 122781689 502379991 842807357 49781849 772526815 895720627 863952191 825369983 509641563 895203163 28426043 417938573 215742673 13401395 364409961 611102685 510248331 527536837 678562917 956457837 410745271 712758983 269199157 988300259 212050545 217921809 183103045 925497231 335818423 457703847 168670057 677790567 909263479 271041463 368469985 537981453 683291517 32709265 981462355 518078151 794129543 786440881 687447241 561339011 835867187 135363773 773902265 281718489 492716043 715342971 138582273 891285259 717489025 796888547 26978791 9740539 654596335 579285005 88316185 320569917 197958803 639776831 664128425 287724805 312394139 415558883 921246741 157111603 580068115 898246795 381479237 9423185 747908345 727260403 76208515 812545419 773138731 29021185 253008263 872896697 816318067 523038907 233022317 513387867 688999811 771497049 179376569 867621527 872588787 671105845 580459611 42837309 544398663 375477713 532835237 43265221 788174309 915041239 572475223 106142285 225933855 696749343 522664853 738831773 329552177 85718687 917008877 698574885 491349049 210061183 599515731 636067323 239420225 290703367 195907623 485568733 46321211 727508139 286306089 774185269 103721471 199703813 486169741 725927185 584243537 141234907 379244001 948630823 760528343 424339735 956470313 113424857 575964963 172154573 426036933 430873645 820572079 223160375 884484231 62033617 379354589 498178487 571935903 147174687 519389941 770998491 150657967 822683155 467703337 289726807 823157945 874614613 830077841 438026241 193553451 273461815 447134511 122863587 567049437 488126637 246415341 312810787 605932295 339477593 723876509 85168663 281042259 417217407 664556277 377697335 258174925 383139857 532157081 811130667 575276777 294367909 984635921 707272123 796816005 967649147 297514957 105517789 895945959 200831865 890263337 189849257 675925433 226889007 639235431 285625699 340633365 726806997 43410603 865223287 695645813 375287369 902001933 130704761 922975169 172832275 810117505 218963235 339759171 351256675 696790249 348658265 161809329 490749709 8469777 710258983 454738729 993450901 547729321 146702269 55869491 640009759 423718729 249635193 432079799 345433723 461830771 35999199 714189069 174917407 369879697 838153623 517705969 756118061 287227635 693527927 871091851 105248875 460542419 642989433 967577191 55247431 996160849 304312771 637274999 900062937 620309625 262198683 705010717 95239905 806906427 65681529 814389533 618122695 423043695 420073205 802601121 456297111 597205719 312826325 84572995 106703627 824488987 470747905 822064381 256285827 389949647 376716431 503530037 52484355 27761771 269719995 261702329 926797373 622763601 789054437 420946621 121882247 608640199 135269787 683532767 104762337 23533059 937525135 26637349 208275697 989846811 868269979 769430779 611604999 275959569 826079685 910433847 436903963 868486093 821196599 925991703 976951755 923272995 967301955 387996989 124755551 938352075 404819045 389749689 780138695 294049381 35373379 841980929 225381015 733314173 117309861 77660913 182530323 112506241 397948799 897009101 324624415 507129805 624771051 371594051 788863817 322040225 810247727 884872811 779236045 542076453 328267445 871741885 399537799 539656301 334745105 574180899 467513597 231667313 577236987 241419241 7543907 566200849 999425627 991772611 704770443 988180503 837302329 161860047 320198903 800850743 184445129 324297875 850905037 2704133 660466279 893743611 659819231 133275911 63030677 54764123 11352481 617978789 358662655 676719989 110768435 207818029 855730041 594826601 404768607 763855581 982498557 974384071 85468561 18365907 244579757 116266627 994547169 354231321 143408599 178032893 694087181 513487779 723490799 75107063 292621439 913635141 844765581 694964639 361440071 903266245 386302069 511934603 875060503 867685065 345548691 351328441 780771413 935205349 324690427 821411725 845398529 255220111 409246183 659594707 271375569 67764267 676107707 930830019 62181401 999852803 97160961 456413945 847868119 497350469 172120941 798482809 958914741 780158219 822434269 394305715 920988929 982740569 278004047 685440891 931142065 964618773 458543089 49718797 834779751 100598545 185797143 111509263 741910375 616865545 63354685 335761551 701050533 501608859 669990659 173119745 406619827 465125713 653106229 98397251 15963603 59091101 144954313 212265115 502045931 527754967 221278679 950868405 628991117 343695683 421310627 610633127 778746861 112258567 362304923 937007597 632189931 726463285 705581135 843889263 899901969 695560137 104610171 924906615 184842121 455243937 543387653 375334333 988736559 464061319 51013619 955837789 215856001 508089389 947687293 995090651 427990437 522933035 90564603 110547749 997000299 697620227 806789363 850530707 680600139 165442335 703639823 338790111 858978659 703988433 173907745 680360495 434697851 630508111 588316455 118139919 644514817 352893885 50092353 170935159 669140239 347299875 774803645 575088835 431665249 645444209 241741581 983907001 620857697 475362949 907745483 662091141 786779421 819814427 552064189 67384765 241550155 357906911 633869005 481826653 985158989 404088417 157052684 947672779 652226345 909748507 465379003 620823511 918877837 154274159 418960695 202465457 502263249 882370981 399123215 837653241 35185397 975454703 957183733 45774519 569062561 292700517 746633413 578327379 808398113 720954121 172832897 563227301 625835887 84942021 283883861 349208043 978658857 872314985 89428117 848587975 996173977 516932271 162047675 207053899 62594473 597838905 55463017 951928809 931034869 559385741 263851373 149480063 502156731 525111585 600647097 954806097 201281505 432840267 213599337 141445391 21716215 447753293 644776641 899635403 43714869 951504465 965940521 554483975 722726009 179537255 624300087 736215715 406092619 856053641 540836771 555998703 240414681 145780375 374903637 46623135 400657661 450862941 572846167 76477905 891429171 845582987 396322265 215767307 613067685 410162615 548579385 481350969 553514273 505812583 631162873 911610545 349557533 353914627 149158087 174852913 128708795 978717147 228527217 252781787 557127615 578540073 639048697 355468097 285419419 486711565 745332349 820159059 934994535 736454291 388137545 392218995 571510239 22738089 572790737 707807331 171279979 675344427 687804595 953117267 478402587 381883865 297721005 264078037 558601127 857582941 834269871 167023337 334428015 322894407 770386889 26079731 487485047 758380815 659820087 90049729 95471473 732837403 291525213 598092935 590676915 72252079 896492999 162681827 739779643 68497407 404599333 851847131 672738995 23077413 316605527 935663835 865190505 553640737 869857627 486854583 773769045 928449499 313988449 788212913 155607829 123433255 706373817 377972841 398855665 261836989 653405921 252246767 109232087 730717757 927387001 568707257 362216801 57387571 158351183 465230241 769097931 527316237 101966163 31026671 298025727 552331813 441623461 118828881 989836427 553675967 265537669 372366809 65175717 852443395 790890847 253369095 227008047 219291903 238759877 298356413 261906605 518529969 984568437 433111629 843317073 509723127 120768079 450357609 335390705 421344155 500029793 691501871 626717709 364078671 318772701 580349219 178077645 334397101 873881373 880819765 61242621 180229429 304811687 400483257 572915223 35768655 28442405 716864107 101029177 652387405 10986859 216924529 467849517 620904043 145528691 111268185 749140061 872082887 983106399 709053719 304028645 512531307 453691517 927737099 431774851 466027081 482461247 116750327 710738333 550002235 831121217 236635145 592098883 659714303 31160389 353491415 90979883 314228033 736560439 387095389 349680823 919746963 857286187 854502659 223937005 979597675 303808603 183736979 198410621 750962733 798022955 749463621 833019835 513949217 171527461 48559541 143559849 371875193 14591229 946607335 736601839 520107343 170477711 116099401 898381019 536870561 532044767 233222835 397232483 384289115 953277973 221632095 914471209 835794767 736067719 185846771 456315249 290351411 343253423 757970045 942849837 991545259 149240369 489220465 145349107 542785599 993934295 794806189 438696195 614956641 828555413 98447479 24268357 964766313 61343623 310159483 637125957 738762393 889349105 537380045 46432829 381768219 731918907 439830511 436446475 727263745 900767995 243661505 323012151 48673857 714372589 47552403 215405553 758196415 197893873 211276571 343883535 25748547 953188627 289423731 370172943 629194621 211486089 110396709 458239003 588589065 437076651 419307033 446635521 965375337 70459135 53144743 234679609 361985539 561925677 186967181 617243361 394898473 913692171 326658543 427439297 487510805 94535573 517950041 253232711 335747049 882752491 629616067 908544397 717322925 602833755 675107209 453631055 86225233 780238421 111089521 972513525 324541105 278887545 33084069 95274385 31124365 499652999 266059455 477070551 830247311 993656937 838633657 179114281 936578119 404671543 184401403 514261899 112112175 696579879 983168847 599866031 967813033 295171487 959754731 990396397 718377469 430975787 678398061 467101247 97840731 325020029 697496027 188601683 26972383 567103345 564913313 220202611 618201993 6418953 422995861 995801497 592015171 103517041 855901941 485415011 480948445 908048891 619478885 278860569 138144785 701823269 277285105 223272875 586661503 671092879 194447889 905807023 551660723 190114055 309700255 217603171 556125469 734360959 616929509 130087857 975739157 775050771 51664523 548476199 546671067 919616261 390265771 986523133 341515165 295610305 915875263 186129 119885929 378202075 148692653 613971947 604443449 795855373 373080003 112374201 680769773 17282361 894905013 202464851 390403409 159806829 766028449 899804475 613409811 159317725 914233613 180329619 240507855 610324193 631759077 42832431 796285701 644891389 308649343 265875075 344088349 386931165 120566679 341568945 772909931 398318165 345795667 712611453 394145831 904048735 115947587 355046233 918012273 449243167 497510999 22758747 665622101 696422111 990318833 952998211 583989185 738373139 584551123 247138935 822125969 188981847 940696107 133953543 891063173 328572527 799194001 609257899 72114245 881461315 235016445 87300291 628240997 66818537 932946137 320739155 396532571 586645147 690217201 322450699 940029581 660446653 922158969 609100357 343810623 516004315 816423951 740336383 393064613 911383461 938656951 229074909 19938521 506566393 71525089 888227635 816550873 334782427 298555489 317914103 840046995 753748339 908221043 549730503 696563667 272410391 323516093 791980779 755345751 762216259 41524813 528003409 665728189 759802519 941349017 320502673 342324111 734543585 226812027 605877483 259428673 574744593 797459771 721857863 441491495 651465031 281021317 527448115 816588935 829767105 446791279 775733221 709698951 180382703 590676087 123938365 595872825 155383393 154624129 669905861 613651097 704734933 695961305 551382185 457438341 889745195 228712503 793227201 560923847 780828273 696744631 422152589 134130193 204306905 186947293 994143539 339722237 476887485 67650201 206710147 990889993 450040995 649885245 506851317 753488033 889410101 42741129 538204583 641831447 849078853 707314337 892491873 102721441 198189521 862756627 38200723 393400419 666576377 965219539 79992147 594522213 705187083 414586687 249197919 941194137 681816441 921665053 903045153 464769239 586155231 539092633 665777575 439489763 644468991 10161225 992778407 211893091 727889605 85251113 385008515 251790313 322012995 261345185 215621441 134213359 760838839 370032507 123572879 823787223 384586115 342070511 182408391 485442281 883233585 484391575 682050789 610120791 78292341 731702653 821705873 97776441 259863851 921362953 295302429 562965907 593696085 457654035 700759165 196892747 519900191 358278361 521244753 729634355 661079005 794653695 695944419 709625093 341559305 480050835 692996127 202998883 708567111 413050121 786147485 885392085 216154465 945253695 17489053 714620619 819118155 644327801 723526917 94622627 314642721 914283879 389289573 306304665 513065509 419313437 699055605 306800601 968849093 898787351 508841619 915948915 970909841 308018235 434949575 595868769 644403269 15998679 212968641 906007429 719154885 959282593 214606165 958354597 302646299 885289907 443633415 82997623 447218299 670781077 420389371 1066129 291526979 102075699 471638527 438031477 441268209 202546917 785611151 530661517 231942453 31064163 294262983 463384617 249140191 144583383 552345197 340380035 212148715 423383243 583932661 561095357 173301117 901394231 757021553 493472989 69470175 181706871 596551331 260027609 979181703 920324431 224766451 972957319 729920525 107873775 246996589 824203689 751481655 293522155 276289995 566613225 202433007 905207359 789832045 277715669 504802375 625172049 200378199 636928235 164822907 250530031 112484155 194925195 418833647 734002253 279234927 146590717 973514543 422862857 170200563 497280881 228246765 784817705 780892525 954648067 179998723 154060825 938463789 69404851 542891639 649444271 378800427 101084009 26851187 965441575 794592517 693788665 954162761 176778025 285042947 144906523 341378935 469412799 600537621 696945519 68007837 538087777 161055183 643515009 432279689 978834665 600449909 761520575 310168109 802369951 106814699 458498949 866535845 468956209 628310463 778686995 831256627 369534385 983946797 719214225 624361539 261424799 52862481 194978835 219570791 518648799 603030001 861167249 587215453 13391295 850230783 534194155 830726149 344956659 490931987 401496301 96468589 164838809 968483753 109215301 696841415 315246133 962156777 321172879 209014639 115621047 915369381 358233161 748509927 735135091 539996497 777001185 634260187 143745573 827407629 39255459 932348191 479241461 22089379 80904653 797324461 931109741
LRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRLLRRLRLRLLRRLLRLLRRLRRRLLRLRLLLLRLRRRRLRLRLLLRRLLRRRLLLLRLRRRRRRRRLRRRLRRLLLRLRLLRLRLRRRLRLRLRLRRLLRRRRRLLRRLLLRLRRLLLRRRRRRRLLLRRRLRRRRRRLRRLLLLRLLRLLLLLLRLRLLLLRRRLLLRLLLRLLRRRLLRRLLLLRLLRLRLLLLLRRRRRRLRRLRRLRLLRRLLRRLLLLRRLLRRLRLRLRLRRLRLRRRRLRLLRRRLLRLRLLRLRLRRLRLRLRRLLRLRLLRLLLRRLRRLLRRLRLRRLLLRRLRRLLRLRRLRRLLRLLRLRRRLRLRLLLRLRRRRLRLLLLRLLRLLRLLLLLRLRRRRLRLRRRLRLLRLRLLRLLLRLRLLRRLLRRRLRLRRRLRLLRRRRRLRLRRRRRLLLRRLLLLLLLRLRLLLLLRRRRRLLRRLLRRRLLLRRLRLRLLLRLLRRLRLRLRLLLLLLRRLLLRLLRLLRRLLLRRLLLLRRLLLRLRLLLLRLLRRRRLLLLLLRRRRRLRLRRLRRRLRLRRRLLRRRLRLLLRRLLLRRRLLLLRRRRLLLLLLRRRLRRRRLRRLLLLRLRRLRRLLLLLLRRLLLLRLRRRLRLLRRRRRLLLLLRRRRRLLRRLLRRLRRLLRRRLLRRLRRRLLLLRRRLLRRRLRLLRRLLLRLLRRRRRLRRLRLLRLRLRRLRLLLLLLRLRRLLRRLRLRLRLLLRRLLLRRRRRRLLRRLRLRRLRRRRLLRRRRLRRLLLLRRRLLLLRLRRLRRLRRLLLRLRLLLLRRRLLRRLRRLLRLRLLRRLRLRRLLLRRLRRLRLLRLLRLRRRRRRRRLRRLRLLRLRLLLLLRLRRRRLRLRLRRRRRLRRLRLLRRLRRRLLLLRRLRLRLLRRRLRLLLLLRLRLRLRLLRLRRLRRLLRLLLRLLRLLLRLRLLRLRLRLLRRRRLLRRLRRLLLLRLRRLLLLLRLRRRLRRRLRLLLRRRRRLRRRRRLLRRLRLRRRLRRLRLRRLLLRRLRRRLLLRRRLRLLRLRRLLRLRLRLLRRRLRRLRLRLLLRLRLLLRLLRRRRLLLLLLLRRRLRLRRLRRLRLRRLRRRRLRLRLLRRLRRLLRLRRLLLRRRRLRRLLLLRRRLLLLLLLRLLRLRRLRLRLRLLLLLLLLRRLLLRLLRLLLLRRLRRLLRLLLLRRLLRRRLLLRRLRRLLRLLRLLLLRRLLRRRLRRLLRLLLLRLLLLLLRLLRLLLLRRLLLRRRLLRRRLLLLLLLRRLRRLRRLRLLRRLRRRRRLLRLRRLLLRRLLLLLLRLLRLLRLRRLLLRRRRLLLRRLRLLLLRRRRLRRRRRLRRLLLLLRRRRLLLRRRRRLRRRLRRLLLLLLRLLRLRRRRRRLRLLLRRLRRRLRRLRRRLRLRLRRLLLLRLLLRRRRLRLLLRLRLRRRRRLRLRRRRLRRLLLRLLRRRRLRLLRRLRRLLRRRLRRLRRRLLRLLLRLLRLLRRRRRRRRLLLRLLLRLLRRRRLRRLLLLRLRLLRRLLRLRLLRRLLLRRRRRLLRRLLLLRRRLLRRRLLRRRRLLLLRLRLRRLRLLRLRRLRLRRLRLRRLLRLLLRRLRRLLRLRRLRLRLRLRRRLLRRLRRLRRLLRRRRRRRLLRLLLLLLLRLRLRLRRLLRRLLRLRRRLLLLLLRLRRLRLLRRLLLLLLLRRRLLRLRRLRRLRLRRLRRRLLLLRLLLLLLRRRRLLLRLRRLRRLLRRLRLLRRRRRLRLLLLRLRLLRLRRLRLRRRRRLRLRRRLLRRLRRLRLLRLLRRLRLRRLRRRLRRRLLRRLLLLRLLRLRLRLLLRLRRRLLRLLRRRRRRRRLRRLRRLRRRRLRRRLRRRLRLLLLLLRLLRRRLRRLLLRLRLRLRRRLRLLRRRRLRRLRLRRLRRLRLLLRRRLLRRLRLRLLRRRLLLLRRRRRRRLRRRLLLRRLRLLRRRRLLLLRLLRRRLLLRLRRRRLLLLLLRLRLLLLLRLLRRLRRLLLLRRRRRLLLRLLLLRRLRRRRLLRRRLLRLRRLLLLLRRRLLLRRRRRLRLLRRLRRRLRLLRLLRRLRLRLLRRLLLLRRRLLLRRRRLRLRLLLRLRRLLLRLRLLRRLLRRRLRRLRLRRRLRLLRRRLRRRLRRLLLRLRLRRLRRRRRRLRLRLLLLRRLRLLLRLRRLLLRLLLLRLLLRLRRLRLLLRRLLRRLRRLRRLRLRLRLLRRRLRRRRRLRLLLLLRLRLRLRRRRLLRLLRRLRLRLRRLRRLRRLLRLRLRRLRLRLRLRLLRRRLRLLRRLRRLRRLRLRLRRLLRRLRRLRRRRRLRRRRLRRLRRRRRRRRRRRRRRLRLLLRLRRLLRRRLRRRRLLLLLLLLRLRLLRRLLRRRRLRRLRRLRLLRRLRRLLLRLRLLRLRLLLRLLRLLLLLLRRRRLRLLRRLLRRLLLRLLLLLRLLRRLLRLRLRRLRLRRRRRLRLRRLRRRLLLRRRRLLLRRLRLLRRRRLRRRRRLRLLLLLRLLRLLLLLRLLRRLRRRRLLRRRRLRRRRRLLLLRLLRLRRRRLLLLLRLLRRRLLLRLRLLRLLRRLRLRRLLLRRLLLRRLLRRLRRRLRRLLRRRLRRRLLRLLLRRRRLLRLLRRRRLLRRLRRLRLLLRRLRRRRLLRLRRLLRLRLRRRRRLLRRLRLRLRRRRLLRRLRLLRLLRLLRLLLRLLLLRLLLLLLLLRLRRLRRLLLLLLLRRLRLRLLRRLRLLLRLLRLRRLRRLRRRRLLLRRLLLLRRRRRLRLLRRLLLRLRRRRRRRRRRRRRRRLRRLRRLLRLLLLRRRRRRRRRRLRLLRRRRRRLRLRRLRRLRRLLRLRRRLRLLLLRLRLRLLLLLLLRRLLLRRRRLLLLLRLRLRRLRLLRLLRRRLLLRRLRRLLLLRLRRLRRRRLLRRRRLLLLLLRRLRRLRLRRLRRRLLLRRLLLLLLLLRLLRRLLLRRLRRLRRLRLRLRLLRLLLRRRLRLRRLLLRRRLLRRRRLRLRLRLLRLLRRRLRLLLLRRRRLRRRLRRLLRLRLLRLLLRLRRRLRLRLLRRRLRRLRRLRLLLRRLLLLRLRRRRRRRLRLLRRRLRRLRRRRLRRRRRLLRRLRRRRLLLRLLLLLRRRLLLLRRRLLRRRLLLLLLRRLRLLLRRRLLLLRLRLLRRRLLRLRLLLLRRRLLLRRRLLLRLLRRLLLLLLRRRRLRRLLLLRRLLLRRRRLRRRRLLRRLRRRLRLRRLRRRRRRLRLLLLRLRLRLLLRRLRRRLLLLRLRRRLLLLLRRLLLLRLLRLLLRLRRRLRLLRRLLRRRRLRRRLLLRLLRLLRRRRRRLLLLLLRRRRRLRRLLRLLRLLLRRLLLLRLRRLRLLRLRRRRLLLLLLLLRRRLLLLRLRLRLLLLRLLLRRLRRLRLRRRRLRLLLLRLLLLLRRRLLRRRLLLRRLLLLRLLRLLRLLLRLRRRLRLLRRRRRRLLLRLRRLRRLLLLLLRRLLRRRLRRRLLRRRRRLRLRRRLRLLRRRRRRRLRLRLRRLLRLLLLLRLLLLLLLLRLRLLLRLLRLRRRLLRRLRLLRLLLRLRLLLLLLRRLLRLRRRRRRLRRRLLLRRRRRRRLLLLRLLLLRLRLRRLRLRRLLRRRRRRLLRRLRRLLRLRRLLLRLLRLLRLRLRRRRLLRLLRRLRRRRLRLRLRLRRLLLLLRRRLLRLRLLRRLRLRLLLRRLLLLLLLRLLRLRRRRLLRLRLLRLLRLRLRLLLLLLRLRLRLLRLRRRRLLRLRLRRRLLRLRLRRLLRLLRRRLRLLLLLRLLRLLRRRLRRLRLLRLLRLLLLRLLRLLRRLLLRLLRRLRRLRRRRLLLRRLRRRRRRLLRLRRRLRLRRRRRLRRLLLRLRRLLRRLLLRLRRRLRLRRRLLLRRLLRLRLRLRRRLRRRLRRRRRRRRRRLRLRLRLLLLLRLRLLRRLLRLLLRRRLRLLLRLRRRRLRRLRRLLRRRLRLRLRRLRRLRRLRLRRLLLLRRLRRRLRLLRLRRLRLRLLLLRRRLRLLRLRLRRLRRRRRLRRRRRLLLLRLRRRLRLLRLRRLRRLRRRLRRRRLLLLLRRLLLRLLRLRRLLLLLRRRRRLRLRLLRRLLRRRRRRLLRRLLLRLLRLRLLLRRRRRRLRRLRLRLRRLRLRRRLRRLLRLRRLLLRLRLRLRRRLRRRLLRRLLLRRRRRRRLLRRRRRRRRLLLRLRLRRLLLRLRRRRLLRLLRLRLRLLRRLRRLLRLRLRRRLLRLRRRLLLLLLRRRLRRRRLLRRLLLLLRLLLRLLRRLLLLLRRRLRRRRLLLLRRLRLRLLLRRRLLLLRLLLRRLRRLRLLLRRLLLLLLLLLRRRLRLRLLLLRRLLRLLLLLRRLRRRLLRLLLLRRLRLLLRRLLRRLLRRRLLRRRLRLLRLRLRRLLRRRRLLLRRLLRLRRRLRRRRRRLLRRRLRLLLLRLRRRRLLRRRLRLRRRRLRLRLLLRLLLLRRRRRLLLRLLLLLRRLLRRLLRRLRLRRRRLLRLRRLLLLRLRLLRLLRRLRLRLRRRRRLRLRRLRRRRLLRLLLRLLRLLRLRRRRLRRRLLRRRRRRRRLLLRLRRRLRRRLLLRRRLRLLRRLRLLRRLRRLRLLRLLLRRLRRLRLRLRRRRLRRRLRLLLLLLLLLRLLRRLRRRRLRRLLRLLRLLRLRRLRLLRLRRRRLRLRRRLRLLRLRLLRLRRRLLRLRLLRLLRLRRLRLRRRRRLRLRLRRLRRLRLLLLRLLLLRLLLLLLRLLLRRLLLRRLRLRRLRRLLRLLLLRRLLRRLRRRRLLRRRLLLLRRRRRRLLLLRLRLRRLRLLRRLLLLLLLLRLLRRLRLLLLRLLRRLLLRLRRRLRLLRRLRLLLRRLRRLRRLRLRRRLRLLRRRRLRLLLLLRRRLLRRLLRRRLLRRRRRLRRRRRRLLLLLRRRLLLLLRRLLLLRLRLRRLRRLLLLRRRRRLRLRRRRLRLLLLLLRRLRLLLRRRRLRLRRLRRLRRLRRRRRRLLRLLRLLLLLLLLLLRLLRRRRLLLRRLRLRLRLRRRLRRRRRLLLLLLLRRLRLLRRLLLLRLRLRLLRLLRLRRLRLRRRLRRRRLRRLRLRLRLLLRRLLRRLRRLRRRLLLLLRRLRLLLLRLLRLRRLLLLRRRLLLRRLRRRRLLRLLLRRRRRRLRRRRRLLRRLLRLRRRRLRRRLLRRRRRLLRRRRRRLLLRLRRRLLRLLRRLLRRRLRLLRLLLLRRRLLRLRLLRRLRLRLRRLLLLRRRRRLRRRLRLRLRLLRLRRRRRLLRLRRLLLRRLRLRLRRLLRRLRLLRRRRLRRLLLRRLLRLRRRLLLLLRRRLLLRLRRRLRLRLRLLRRLRRLRRRRRLRLLLRLLRLRLRLLRRRLLLLLRRLRRLRLLLRRLLLLLRLRRLLRLRLRRRLLLRRRRLRRLRRLRRLRLLLLLRLRRLRRLLRRRLRLRRLRRRRLRLLRLLRRLLLRRRLLRRLRLRLRLRRRRLRLLLLLLRLLRRRRRRRRLRRRLLLLLLRRRRLLLRRLRLRRRRLRRRRRRLRLRRRRLLRLLLRRRRRRLLRLRRRLLLRLRLLLLRRRRLLLRLLRRRLRRRLLLRRLRLRLRRLRLLLRLLLRRLRLRLRRLRLLRLLRLLLRRRRLLLRRLRRRRLRLLLRRLRRRLLLRRLRRLLRLRRLRLLLLLLRRLRLLLLRRRRRLLRLLRRLRLRLLRRLLLRRRLLLRLRLLLLRLLRRLLLRRRLLRRLRLRLRRLLLLLRRRLLLLLLLLRLLRRRLLLLRLLRLRLRRRRRLLLLRRLRLRRRLLRLLRRRRLLLRRRRLLLLRLLRLRRRLRLRLLRLRRRLLRRLLLLRLLRLRLRLLLLRLLLRLLRLLRLLLLRLRRRLLLRLRLRLRRRRRRRLLLLLRRLLRRRLRLLLRLLLRLLRRLLRLRRRRLRLLLLRLRLLRLLRRRLLRLRLRLRRRLLLRRLLLLLLRLLRRLLLRLLRLRRRLLRLLLRRLLRRRRRLRLRRRLLLRRRLRLRLRLRRRLLLLRLLRLLRRLLLLLLRRLLRLLLLLLRLRRLLRLLRLLRRRRLLRLRRLRLLLRRLRRLLRRRLRLLRLRLRRLRRLRLRRRLLRRRLLRLRRLRLRLRRRRLRLLRRRLRLLRRLRRLRLRRRLRLRRLRRLLLLRLRRRRLLRRRLLRRRLLRRRLLLLLLRRLLRLRLLRRLRRLRLLLLLLRLLLLRRRRRLRRLLRRLLRLLLRRRRRRRRRRLRRLLLLLLLRLRRRRRRRLLLRLRLLLRRRRLLLLRRRRLRRRRRRRLLLRLRRRLRRRRLLLLRLLRRLLLRRLLLRRLRRRRRLLRLLLRLLLRLLRRRLLLLLLLLRLRRLLLRRLLLLLLRRRRLLLRRLLLLRLRRLRRRRRRLLLRLLLLRRLLLRRRLRLLLLLRRLLRRRLLLLLRLLRRLRRLLLLRRRLRLRLRLLLRRRLLRRRRLLRRRRRRRRLLLLRLRRRLRRRLLRRLLRLRRRLLLRRRRLLRRRLLLLLLLLRRRRRLLRRLLLRLRLRRLRLLLLRRRLRRLLLLLLRLRLLLRRLLRRRRRRLLLLLRLRLLLLLRRRLRRLLRRRLLRLLRRRRLLRLRRRLRLRRRRLRLRRRLLLLLRLRLRRLLLLLRRLLRLRLRRRLRLLRLLLLRRLLRRLRLRLLLRRLRRLRRRRRRLLLRLRLLLRRLRRLRLLLRRLRRLRLRRRLLRRLRRRLRRLRLRLLRRRRLLLRRRRLLLRLLLRRLRLRRLLLLLRLLLLLRRLLLLLLRLRLLLLLLLRLLLRLLRLLLRRRRLLRRRLLLLLLRRLRRRLLLRLRLLLLRRRLLRLRLRLRRRRRRRRRLRRRRRRRLLLRRRRLLRRLRRRRRLLLLRRLRLRRRRRLRRLRRRRLRLLLRLRLRLRLRRRLLLRRLLLRLRRRRLRLRLRRLLLRRLRLRLLRLLRRRRLRRLLLLRLLLRLRRRRRRRRRLRLRLRRLLRLLRLRLLLLRRRLLRLLRLRRRLLLLLLLRRRRLLRLRRRRLLLRRRRLLRLRRLRLRLLRLRLLLLLRRRLRRLRRLLRLRLRLRRRLLRLLRRLRLRRRLLLLLLLLRRRLRRRRLRRRLLRLLRLLRRLRLLLLLLLLRRRLLRLLLLRLRRRRLLLRLLLRRLLLLLLRRLRRRRLRRRRRRRRRLLLRRRLLLLRLLRLLRLLLLRLRRRLLLLRLRRRRLLLRLRRRLRLLRLLRRRLRLLRLLLRLRRLRLLRLRLLLRLLRLLRLRLRRLLLLRLLRLLRLLRRRRRLRLLRRRRRLRRLRLLRLLRRLRLRLLRLLRLRLRRLRLLLLRLRLLRRLRRLRLLLRLLLLLRRRLRRRRRLLLRLRLRRRRLRLLLLRRLRLLRRRLRRLRLLLLRLLRLRLLLRLRLLLRRRLRRRRLRRRRLRRRRLRLLRRLRRLLRRLLLRRLRLLLLRLRLRRRRLRRRLRRRRLLLRLLRRLLLLLLRRRLLLRLRLRRRRLRRRRLRLLRRRRRRRRRLLRLLRLLLRRRLLLLRLRRRLLRLLLRLRLLRLLRRLLLLLRRRRLRRRLLLRRRLRRRRLRRRRLLLLRLLRLRRRRLLLRRLRLLLLRRRLRRRRRLRLRLRLRRLRRLRRRRRRRLRLRLLLRLRLRRLLLRRLLLRRLLLRLRRRRRLRRRLLRLRLLRLLLLLRRRLRRLRRLRLRRLRRLLRRRLRLRRRRRRRRRLRLRLRRRRRLRRLLRRRRRRLLRLRRLRRLRLRRLLRRRLLRRRRLLRLLLRRRLRLLLLRLRRRLLRRLLLRLRRRRRRRLRLRLLRLLRLLRRRRRRLLRRLRRLRRLLRLRLRLRLRRRRLRLLLRRRRLLLRRRRRRRLRLRLRLLLLLRRRRLRLLRLRRLRLRRLLLLLLRRLLLRRLLRLLLRLRRRRRLRRLLRLLRLLRRRLLLRLLRRLLLRRLLRLRLRRLLLRLLLRLLLLLRRRLRLRLLRRRRLRRRRRLRLRRRLLRLLRRLRLLRRLRRLRLRRRRRLLRLRRLLRRRRRRRRLLRRLRRRLRLRLRLLLLLLLLLLRLRLRLLLRRLLRRRLRRLRRRRLRRRLLRLLLRRRLLRRLRRRRRRRLLLRRRLRLLLLLLRLLRRRLRRRRLLLLRRRRRRLRLLLLLLLRRRRRRLRLRLRRLLRRRLLRLLRRRLRRRRLLLLRRRRRLRLLLRLRRLRLRRRLRLLLRRRRLLRLRLLRLRLLLLLRRRLLRRLRLRLLRLLLRLLLRRRRRLRRRLRRLLLRRRRRRRLLLLLRLLLRRLRLLRRLRRRRRRRRLRRRLRRLLRRRRRLRLRLRRLLRLRLLRRRLRRRRRRLLRLLLLRLRRLRLRRRRRRRLLRLRLLRRRRRRRRRLLLLRLLRLRRRRLRRLLRLRRRLLRLRLLLRLLLRLLLLLRLLRLLLRLRRLRLLRRRRRLLRRLRLLLRLLRLLRRRLLLLLLLRRLRLRRRLRLRRRRRRRLRRLLLLLLRRRLRRRRLLRLLLRRRRLRLLRLLRRLLRRLLLLRRRLRRRLLLRLLLRLLLRLRRLRRLRLRRRLRRRLRLRLLRRLRRRRLRLLLLRLRRLLRLRLLLRLRRRRRLLRRRLRLLLLLLLRLLLLLLLLRRLLLRLRRRRRRLRLLRRRRLLRLRRRRRLRLRRRLRLLLLRLRLLLLRRRRLLLLRRRLRRRLLLRRRRLRLLLRRLRRLLLRLLLLRLRLLRLLLRLLRLLRLLLLRLLLLLRRLLLRRRRLLLRLLRRLLLLRLRLRLLLRLRRLRLRLRRRLRRRLRRRRRRRLLRRLRLRRRLLLLRRRLLLLLRRRRRRRLRRRRLLLLLRRLRLRRLLLLLRRRLLLLRRRRLLRLRRLRRRRRRLRRRRLRLLLRLRRRLRLRLLLRLLRRLRRLLRLRRRRRLRRRLRLLRRLRRRRLRLLRRLRRLRLRRLRLRRLRRLLLLLRRLRLLRRLRRRLRRLLRRLLLLRLRRRLLRRLRRRRLRRRRLLRRRRLRRRLLRRLLLLLLRLLLLRRLRLLLLRLRLLRLLRRLLRLRRRLLRLRRLLRLLLRRRRLLRLLRLLLRLLLLLRRRRRRLLLRRLRLLRRLLLLRLRLRRRRRRLRLLRRRRLRRLRLLLLRLRLLLLRLRRRLRLLRRRLLLRLRLRLRLRRRLLRLRLLRRLLLLLLLLLRLLRRLRRLRLRLRLLRRRLLRRRLRLLLLLLLRRRLLLLLRRRRLRLLLRLLLRRRRRRRRLLRLLRRLLLRRRLRRLLLRRLLRLRLRRRLRLLRRLLLLRLLRLRRRRLRLLRRRRRLLRLRLLLRRRLLRRRLLLRRLRLLLRLLLLLRLLRLLRRRLRLLLRRRLRRLLLRRLLRRLRRRRLLLLLRRLLRLRLLLRRLLLLLRLRRLLLLRRRLLLRLLRLRLLRRRRRLRLRRLLLLLRLRRLLLLLLLRRRLRRRRLLRLRRRRLRLLRRLRLLRLLRLRLLRRLRRLLLRLLLLLRLLRRRRLRLRLRLLRLRRRRRLLLLLLLRRLRRLRLRRLLLRRLRLRRLLLRRLLLLRRLLLLLLRLLRLRRLRRRRLLRRLLLLLRRRLLLLLRRLLRRLRRRRRLLLRLRRLLLRLRRLLRRLRLLLRLLRLLLLLLLLLRLRLRLLLLLRRRRLRRLLLLRLLRRRRRRLRLLRLRRRRLRLRLLLLLRLLRRRLLRLLRLRLLRLRLRLLRRLLLRRLRRRRRRRLLRLRRLLLRLRLRLLRRRRLLRRRRLRRLRRLRLLRLLLRRLLRRRLLLLRRRRRLRLRLLRRLRRLLLRLLRRRLLRLLRRLLRRLRRRLLRRRRLRLLRLRLRRLLLRRLRRLRLRRLLLLRLLLLLLRRLLRRLRLLRLLLLLRLLRRLLRRLRRRLRLLRRRRRRLLLRRRRRRLLRLRLRRLRRRLRLLRLRRRRLLLLLRLRLLRLRRLLRLLRLLRRRLRRRRRLRRRRLLRLRRRLRLLRLLLLLLRRRRLRRLLRRLRLLRRRRRRRRLRLLRRLRLRRRLLLRLRRRLLRRLRRRRRRRRLRLRLRRLRLRRLLLRLRRRLLRRRLRRRLLRRLLLLRLRRRRLRLLLLLRRRLLRLLRLLLRLRRLRRLRRLLRLRLRLRLLRRLRRRRLLLRLLRRRLRRLLRRLRLRRRRRLLRLRRLRRRRRRRRRLLRLLLLRRLLLLRLLLLRLLRRLLLRRRLRRRRLLRRRLRLRRLRLLRRRRLLLRRLLRRRLLRRLLRRRLLLRLLRRRRLLLLRLLRLLRRLRRLLRLLRRRLRRLLLLRLLRRRLLRRRLLLLLLLLLLLRRRLLRLRRRRLRLLRRRRRLLRLLRRRRLLRLRLLLRLLLLLRRLLLRRRRLRLRLRLRLRRLRLRRRLLRRLLRRLLRRLRLRLLLRLLLRRLRLRLRRRRLRLRLLLLRRRRRLRRLLLLRRRRRRLLLRLRLRLLRLLLLLLLLRLRLLRLLLRRLRRLLRRRRRRLRRLRLLLRRLLRRLRRRLLRLLRLRLRLLRRRLLRLLRRLRLRLLRLRRRRRRLRLRRRRLLLRLLLRRLRLRLRRLRRLRRLRRRRRRLRRLRRRLRRLRLLRRLLLRRRLRLRLLRRRRRRRRLRLLRRLLRLRLRLRLRLRLRRLRLLLLRLLLRRLRRLLRRRRLRRLRLLRLLRRLRRLRLRLLRLRLLLLRRLLRLLLLLLRRLRRRLLRLRLRRLRLRLRRLLRLLRRLLRLRRRRLRLRRRRLLRRRLLRRRLLRRLRRLLLRLLRLLRLRRLRRLRRLRLLLLLRLRRRRRLLLLLLRLRLRRLLRRRRRRLLRRRLLLRLRRRLRRLLLLLLRLLRRRLLLRLRLRRLRLRRRLRLLRLRRRRLRRRRLRRRRRLRRLLLRLLRLRLLLLLLRRLRLLRLLRLRRLRRRLRRLLLLLRRLLLRRRLRLRRLLRLRLRRLLRLRLRLRRRRRRLLLRRLLLLRRLLRRLRLRLRRLLLRLLRRLLLLRLRRLRRLLLLLLLLRLRLRLRLLLRLRLRLLRLLRLRRRLRLRLRLRLLRLLLRRLRLRRRRRLRRRLRRRRLRRRRRRRLLRRRRLRRLLRLLLLRLRRRRRRRLRRLRRLRRRRLLLLRLRLLLRRLRLLLRLLLLRLRLRLRLLLLLLLLRLRRRRRRRRRLLRLLRRRRLLLRLLRLRLRLLRLRRRLLLLLLRRRRLLLLLRRLLLRLLRLRRRRLRRRLRRRRLLLLRLLLLLLLLRLLRRRLLRRRRRLRRLRLRLRLLRLLLRLRRRLRRLLLLRRLLRRRLLRLRLRLLRLLRRRLRLLLRRLLRLRRRLRLLLRLRLRRLLLRLRRLLLRRRRLLRRRRLRRLLLLLRRRLLLRLRRRRLRRLRLLLLRLRRLRRRRRRLLRLLLLRRRLRRRLLRLLLLRRRRLLLLLLLLRRRRRRLLLLRRLRLLLRRRLLLRLRRLRRRRLLRLRLLLRRLRRRLRRLLLLLRRRRRLLLLLRRRRLRLLLLLRRLRLLRRRLRLRLRLRLLLLRRRRRRLRRRRLLLRLRLLRLRRLLLLRRLRRRLLLLRLLRRLLLLLLLLLRLRLLRLRLRLRRLLRLLLRLRRLRLRRLRLLRRLLLLLRRLRLRLLLLLLLLRRRLRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLLLRLRRRRLLRRRLRRRLLRRRLLLRLLRLRRLRRRRLRRRLLRLLLLLRRRRLRRLRRRLLRLLLRLLRLLRLLLLLRRRLRLRRLRRRLLLLRLRRLRRRLLLRRRRRRRRLRLRRRRLRRRRLLLRRRLRLRLRRRRRRLRRRRRRRLRLLRRLRRLLRLLRLRLRLLRLLLRRRRRLLLRRRRRLLLLLRRLRLLLRRRRLRRLRRLRRRRLRLRRRRRRRRRLRLRRRLLRRRRLRLLRRRLLLLRRRRRLRRRRRRLLRLLRLLLRLLRLLLLLLRLLRRRRLLRRLLRRRLRLRLRRRRRRLRLRRRLLLLRLRRLLRRRRLLRRRLLLRLLLLLRLRLLRLRRLRLLRLLRLRLRLLLLLLLLRLRLLRLRRRRLLLLRRRRRLLRLLLRLLLRLLRRLLLRRLLLRLRLLLRRLLLLRRRLLLLRLLLRRRLLLLLRLLLLLLRRLRRRLRRRLRLRRLRRRRRRRLRLRRRLLLRLRRRLRRLLLRRLLRLRRLLLRRRLRLRRRRLLRLLLLLRLRLLLRRLLLRLLLRRRRRRRLRLRLLLRLRLLLLRRLLLRLLRLLLLRRLRLLLRLLRRRLLLLRRLLLRLLRLRLRRLLRLRLRRLRLRLLLRRLRRRLRLLRLLRRRLRLLLLRLRLRLRRLRLRRRRRRRLLRRLRRLLLRRLRRRRLRLRLRLLLLRRRRLRRRRLLLLLLLLLLRLLLRRRLLRLLRRLRRLRLRRRRRLLRRRRRRLRLRLLLLLLRLRLLLRLLLRRLRRLRLRLRLLRLRRRLRRRLLLRRLLLRLRLRRRRRLRRRLLLRLRLRRRRRLRRLRRRRRLLRLLLLLRLRRLRLRLRLRRLRLRLRLRLRLRRRRRRLLRLLRRLRRLRRRRRLLLLRLRRRLLRRRRLRRLLLLLRLLRRLLLRLRLLLRRRLRRRRLLLLLRLRLRRLLRRRRLRRLLLLRRRRRRRLRLLLRLLLLRRLLLLRLRRRRLRRRLRLLLLRLLLRLLRLLLRLLRLRRRRLLRRRLLRRLLRLRRLRRRLRRLRRRLRRRLRRLRLLRLRRRRLRRRRRRRRRRLLRLRLLRLLLRLLRRRLRLRRRRLRLRRLRLRRLRRLLRLRLLLRLRLRRRLRRRRRLRLLLLRLRLRLRRLLRLRRLLLRRLRRRLRLRLLLLRLRRRRLRRRLRLRRLLLLRLRRRLLRLLRLRRLRRRLLLLRRLRRRLRRLLLLRLRLRLRLLRRRRRRLLLRLRLLRLLLRLRLLRLRLRRRLRLRRRRLRRLRLLRLLLRLLLRLLLRLRLRLRLLLRRRLLLLLRLLRRRRRRRLRLRRLRLRLRRLLRLLRLRLLRRRRLLLRLRLLRRLLLRLLRLLRRRRLLLRLRLRRRLLRLLLRLLLLRLLLLLLRLLLRLLLLRRLLLLRLLLLLRLLLLLRLLLRLRRRRLLRRLLLLLLRLLRRLLLRRLRLRRLLLLRRRLLRLLLRRLLRRLRLLLLRLLRLLLLRLRRRRRRLRRLRLLLRLLRRLLRLRLRRRLRLLRRRRLRLLLLLLRRLLRRLRLLRRLRRRRLLRRLLRRLRLLRRRLLRRLLLRLRRLRLRRRRLLRLLLRRRLLRLRRRLLLRLLRLLLLRLRLLLRLRRRLRLLLLLRLRRRRLLRRLLLRLLRLLLLLLLRLLRLLLRLRRLLRRLRRRLRLRRRRLRRRLLLLLLRLRRLRRLLRLRLLRLLLRLLRLLRLRLLRRRRRRLRRRLLRLRLRLRLLRLRRLRRLRLLLRRRLRLLRRLLLLLRRLLLLRRLLRLRRRLLRLRLRRRRLLRLRRLRRRRRLRRLLLLLRLLRLRRRRRLRRRLRLRRLLLLRRLRRRRLRLLRLRLLRRLRRLLRLRLRRLRLRLRLRLLLLLRLRRRRRRRRRRLLRRRRLRRLRRLLLLLRRRLRLRRLLRLLRRLLLLLRRLRLRLRRLRLRLLLLRRRRLRLLLLLRLLLLRLRLLLRLRLLLLRRLRLRLRLRRRLLRLRRRRRRRRLLLLRLRLLRLRLRLLRRRLRLLLRRLRRLLLLLRRLRRLLLLLRLLRLLLRRRLLLLRRRRRLLRRRLLLRLLRLLRLRLLRRLLRRRLRLRLLRRRRLLRLLLRRRLLRRRRLRRRLLLRRRLRLRLLLLLLLRLRLLLLRRRLLRLRRRLLRLRLLLRRLLLLRLRRLRRRLRLRRRLRRLLRRRLLLLLRRRRLLRLLRRLRLLLLRLRRRLLRLRRLLRLLLLLLLRRLRRLRRRRLLRRRRLLRLRRRRLLLLRRLLRRLRRRLRLLLLLLRRLRRRRRRRRLLRLLRRLLLRRLRRRRLRRLLLLRRRLRLRLLRRRLLRLLLRRRLRRRRLRRRLRLRLLRRLLRRRRLRRRLRLLLRRLLRRRLLRLLLLRLLRLLLLRLLRLRLRRLLLLLLRRRLRRRRLLLLRLRRLRLLRRRRLLLLRRRLLRRLLLRLLLRLRRLLRLRRLRLLRLLLLRRRLLRLLLRLRRRLLRLLLLLLRLLLRLRLLLLRRLRLLLRLLRLLLLRLLRRLLLRLRLRLRRRRRLRLLLLLRRLRRRLLRRLRRRRLRLLRRRLRLRRRRLRLLLLRLRLLRLLRRRRLLRLLLLRRRLLLLRLRLRRRLRRRRLLRRLRRLRRRLLRLLLRRRLRRLRRLRLRLLLLLRRRLRRRRRLRRLLLRLRRLLRLRRRRRLLLLRLLRRLRLLLRLRRLLRLLLLLRRRRLLRRRRLLRLLRRLRRLLRRLLRLRRRLLRLLLLLRLLRRLLLRRLRLRLLLLRRLRRRLLLLRRRLLRLLRRLLRLRLRLRLRLRLLRRLLLLRLRLRLLRLLRLLRRRLLRLRRRLLLLRLLLRLRLLRRLRRLRRLLLLLLLLLLRRRRRLRRLLRRLLRRLRRRRRRRLLRLLRRLLLLLRRRLRRRRRRLRLLRLRLLLRRLLLLRLLLRRLLRRLRRRLLLRRRLRLRRRRRRLLRLRRRRLLRRLRRRLLLRRRRLRRRLRLRLLRRLRRRLLLLLLLRRLRRLLLRRLLLLLLRRRLLRLRLRLLLRLLRLRRRLRRLLLLLLRRRRLRLRRRLRLRLLLRLRLRRRLRLLRRLLRLLRLLLLRLRRLLLRRLLLLLLRLLRRRRRRRRRRRRRRLLLLRRRRRLRRLLLRLLLRLRRRLLLLRRLLLRRRLLLRLLRRLRRLLLLRRLLLRLRLRRRLLRRLRRRRRRLRLLLLLRRLLRRLLLRRRRLRLLLLLRLRRLLRLLRRLRRRLRRRLLRRLLRRRLLLLRLLLLLRRRRLRLRRLRLRLRRLRLRLLLRLLLRLLRLLLRRLLRLRLLLRLRLLLRRLRLRLLLRRLRRLRRRRRRLLLLRRLLLLRRRRLRLRRRLRRRLLRLRRRLRLLLRRRLRLRLLLLLRRRLLLLRRRLLLRLLLLRLLLRRLLRLLRLRLLLRRLLLLLLRRLLLLLLLLRLRLRRLRRLLLLRRLLLRLLLLLLRRRLRRLLLRLLRLLLLRRRRRRLRLLLRLRRRRRRRLRRRRLRLRLLRRRRLRRRRRLRRRRLLLRLRRRRRRLRLRLRLRLRLRRLRRLRLRRLRRLRRLRRRLLRLLLRRRLRLLRRRRLLLRRRLRLLRLRRRRRLRLLLLLRLRLRLRRRRRRRRRRRLRLRLLLLRLRLRLRLRRRRLLRLRRLLRRLLLLLLLRLRRLRRLLLRLLRLLRLLLRRLLRRLLRRRRLRLLLRLLLRLRRLRLLRRLRLRLRRRLLRLRRRLRRRRRLLLLRLLLRLRLRRRRLLRRLLRLRRLLRRRRRLLLLLLRRRRRLRLLRLRLLRRLLLLLLLLLLLLLLLLRRRRRRRLLLLLRLRRLLRRRRRLLRRRRLRLLRLLLLRLRRRLRLRRLRLRRLLLRLRLRRLLLRLRRLRRRLRRLLLRLRRLRLLRLLLRLRRRRLRLLRLRRLRLLRRLRLLRLLLLRRRLRLLRRRRRLRRLLLRLLLRRLRLRRLLRRLLRLRLLRLLRLRLRLLRRRRLLRLLLLLLLLLLRLRRLLLRLLLRRRRLRRRRRRLLLRRLRLRRRLLRRLRRLLRRLLRRRLRLRLLRRLLRRRRRRLLLRRRLRRLRLLLLLRRRRLLRRLRLRRLLLLLLRLRLRLRRLRLRLRRRRLLLLLLRRLLLRLRRRRLLLRLRLRRRRLLRRRRRRLLRLRRRLRRLLRLLRLLLRRRRLLLRLRRRLRRRLLRLRLLRRRRRLLLRLLRRLRRRRLLRRRRLRLRRLRRRLRRLLLLLRLRRRRRLLLLRRLLRRRLRLRRRRRLRLLRRLRRLRLLRLRRRRLLRLRLRLRLRLLLLLLRRLLLRRLLLRRRRRRRLLLRRLRLRLLLLLRLRLLRLLLLLRRRLRRLRLLLRRRLLLRLLRRRRLRLRLRLRRRRRLRLLLRLRLLRLLRLLLRRRLRLRRRRRLRLLRRRLLLRLRLRLRLRLRLLLRRLRLRRRLLRLLRRRRRRRLRLRLLLRLLLRRLLRLRLLRRLRLLRRLRRLRRRLRLRRRRRLRLLRRRLLLLRRRRRLRLLLRLRLLRLRRRRRLRLLRLRRLLRRRLLLRLLLRLLLLRLLRLLRLLRRRRRRRRLLRLRRLRRLRLLLRLLRLLRRRLLLLLRLRRLRLLLLLRLLLLLRRRLRLRLRRRRRLRRLRRRRRLRRRLRLRRRLLLLRRLRRLRRRRRLLLLRRLLRRRRRRLLRRLLRLLLRLLRLRLRLLRLLLRLRLLLRLRRLLRLLLRRRLRLLRRRRLRRRLLRRLRLRLLLLLLLRRRRRLLLRRRRRRRRLLLLRLLRRRLRRLRLRLRRLRLRRLRLLLLLLLLRRRRRLRLRRLRRLRRLLRRLLRRRLRLLLLLRLLRLRRLRLLRRLRRLRLRLRLRLLLLLLRLLRRRLLRRLRLRLLRLRLRRRLLLLLLLLLLRLRLRRRLRLRRRLRRLLLRRRLRRRRLLLRRLLLRLLRLLRLLRRRRLRLLLRRRLRRLRRRRRRLRLRRRLLLLLRLLRRLLRLRRRRLRLLLLRLLRRRRRRRLRRRLRLRLRLLRLRLLRRRLLLRLRRLRLRRRRLLRLLRLRRRLLRLRLLRRRLLRLLRLLRRRRLLRRLRRLRLRRRRRRLLRRLRLRLRRLRRLRLRRRRLLLRLLLRLRRLLRLRRRLLRLLLRRLLLRRRRRLRRRLLLRLLLRRRRLRLLRRLRRRLRRRLLRRRRLRRRLLLRLLLRLLLRRRRLLLRRLRRRLRLRLRLRRRRRRRLLLLRLRRRRRRRRRRLRLLRLLRRLLRLLLRRLLLLLRLLLLLLRLLLRLRLLLLRLRLRLRRRRLLRLRRLLRLLRRRLRRRRRRLRRLRLRRRRRRRRLLRLLRLRLRRLRRLRLRRRLLLLRLLRLRRLLLRLLRRRLRLLLLLLLLLRRLRLRLLRLRLLLLRRLRRRRRLRRLLRRLLLLLRLRRRLLLLRRRLRRRLRRRLRLRRRRRRRLRRLRRRRLRRRLRRLRLRLLLRLRRRRRRRLLLRRLLLLLRRLRLLLLRLRLRRLRRLLLRRRLRRLRRLRRRRRRLRRLLLLLLLRLRRRLRLRLLLRLLLRLLRLRRLRRRLRRLRRRRRRRLRRRRRRLLLRRLLRRRLRRRLLRRLRRLLLLLRRLRLLRLLRRRLRRLLRRRLLLRLRRRLLLRRRRRLLRLRLRLRRRRLLRRRLRRLLLLLLRRLLLRRLRLLLRRRRLRRLLRRLLLLRRLRRRLLRLLRRLRRRRRLLRLLRRLLRLLLLRRRRRLRLLRRRLRRLRRLRLLRRLRLLLRRRLRLLLLLRLLLLRLLLLRLRLLLLRLRRLLLRLRRRLLLRLRLRRLLLRRLRLRLLRRRLLLRRLLLLRLRRRLRRLRRLLLRLLRRLLRRLRLLRRRLLLRLRLLLLLRRLLRRLLLRLLRRRRRLRRLLLLLRRRLLLLRLLRLLLLRLRRRLRRLRRLRLLRRLLRLLLLRRRRRRLRRLRRRRLLLRLRLLLRRLRLRRRLLLLLRRRLLRLLLLLRRLRLLRRRRLLLLLLRRRRLLRRRLLLRRRRRLLRLLLLLRLRLRLLLLRLRLRLRLRRLLRLRRRLLLRRLRLRRLRLRRRLLRRRRLRRLRLRLLLLLRLLRRRRRLLRRRRLRRRRRRLRLRLRLLLLLRLLLLLRLRRRLLLLLLLRRLLRLRRRRLRLRLLLLRRRRRLRLLLRLRRRRRRRLRRRLLRRLRLLRLLLRLLRLRRRLRLRLLRLLRLRRLRLRRLLRLLRRLLRRRLLLLLRRLLRRLRRRRRRLLRRRRLLLRLLLLLRRLLLLLRLLRLLRLLLLLLRLRLRRLLRLRLRRLLRLLLLLLLRRRRLLRRLLLLRRRRLLLLLLLLLLLLLRRLLRRLRLRLLRLRRLRLRRLLLLRLLLRLLRRLLLLRRLLLRLRLRRLRRRLLRRLRRLLLLRRLLLLRLRRLRLLRRLLRRRLRRRRLRLRLLRRRLLLRLLLLRRRLLRRLRRLLLRLRRRLLRLRLLRRRRRRLLRLLRRRLRRLRRRLRLLLRLLLRRLRRLLRRLRLLLRLLLLRRLLRLRRLLRRRLRLLLRLRLRLLLRRRRRRLLRLLLLRLRRRLRLLRLRRRRLLLLRRLLLLLLRRLRRRLRRLRRLRRLRLLLRRRRRLLLRLRLRLLRLRRRRLRRRRRRRLLLRLLLRRRLRRRRRLRLLRLRRLRLRLLLRLRLRLRRRLRRRRRLRLLRLRRRRLRLRRRLLRLLRRLLLRLRRRRRLLLLLLLLLRRRRLRLRLLLRRRLRRLRRLLLRLRLRRLLRLLLLLLRLLLRLRRLLRRRLRRRLLRRRLRRLRRRRLRRRRLLRLRLRRLRRRLRLRRRLLLRLLLRLLLLLRLRLLRRRLRLLRRRRLRLRLLLLLRRRLRRLRLLRRLRRLRRLLLRRRLLRLRLLRRRLRRRLLRLRLLLRRLLRLLLRRRRRLRLLRRRLRRLRLLRRLRRRLRRRLLLLLLLRLLLLLRRLRRLRRRLRRRRLLRRRLRRRLRRRRLRRLRLLLRLLLLLRRLLRRRRLLRLLRRLRLRRLRLRRRLLRLLRLRLLLRLRLRLLRRRLLRRLRLRRLRRRLRLRLLLLRRRLRLRLLLRLRRRLRRLLRRLLLRLRLLLRRLLLLRLLLRRLLRLRRRLLLLRRLRRLRRRRLLLRLRLLLLLRLRLRRRRLLLRLLRRLLLRLRRLLRLLLLRLLRRRRRRRLRRRLLLLRLLLRRLLLRLLRLRRRRRLRRRRRRLRLRRLRLRRRLLLRRLLLRRRLLLLLLRLLLRLLRLRLRRRLLLLRLRLRLRLRLRRRRLLRLRLLRRRLRRRLLRRLLLRLRLLRRLRLLRRLRRRRLRRRLLRLRLLLRLLLRRLRLLRRLRLLLRLRRRRLRLRRRLRRRLLLLRRRRLLLRLLRRRLLRRRLRRRRLRRLLRRLLRRLLLLLRLRRRLRLRRLRLLLLRLRRLRRRLLLRLLRLLLRLRLRRLLRRLLRRRRRLRRRLRLRLLLLLLLRLRLLRLRLRLRLRLLRLLRRLRLLRLRRRRRLRRRLRRLLLLRLRLLRLLRLLLLLLRLRLLRLLRLRLLRRLRRRLLLLLRLRRLRLLRRRRRRRRLLLLRRRRLLRRRLRLLRLRRRLLLRRLRLLRRLRRRLRLRLLRRLLRRLRRRLLLLRRRLRLRLRLLRRLLLRLLLRLLLLLRRRRRRRLRLRRRLRLRRRRRLLRLLLLRLRLRRRLRRRRRRRRRLLLRRLLRLLLLRRLRLRLLRRRLRRLLRRRLLRLRLLRRLRRRRLLLLRRRLRLLRLRLLLLLLLLRLRLLLRRRLLLLLLRLRRLRRRRRRRLRRLRRRRLLRRLRRLRLRRLLLRRRLLRLLLRRRLLLRLLRLLLRRLLRLRRRRLRRRLRRLRLLLLRRLLLLRLLRLRLRRRLRRRLRLLRRRRLLLLLLLLLLLRRLLRRLLLLLRLLLLLLLRLRLRRLRLRRRLLLRLLRLLLLLRLRLRLRLLLRLRLLRLRLRRLRLRRRRLLLRLRLRRLLRLRRRRRLLRLRRRRLRRRRRLLLLLRLRLRRRRRLLRLRRLRRRLRRRLLLRLLLRRLRLLLRLLLLRLRRRRRLLLRRRRLLRRRRLLLRLRRRRRRRLLRLRLLLRRLRRRLRRLLLLLRRLLRRLRLLLLRRLLLRLLLRRLRRLRRLLLLRLRRRLLLLLRLRRLLRRLRLLLRLRRRRLLRLLLRLLLLRLLLLRLLLRRLRRLLLLLLRRLLRRLRLLRLRLLRLLLRRRRLLLRLLRLLRRLLLLLRLLRLRLLLRLLLLRRRRRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLRRRRRLLLLRRRRRRRRLLRRLRLLRLLRLRRLRRRLRRRRLRRLLLLLRLLRRRLLRRRLLRRRLLLRLRLLRRLLLRLLLRRRLLRLRLLLLRLRLLRLRRLRRRLLRRRRLRLRRRRLLRRRRLLLRRRRLRLLRRRLRRRRLRLLRLRLLRRLRRLRRLLRLRLRLLRLLRRRRRRRRLRRRRRLLLRLRLLRLLRRRRRLRRLRLLRLRLLLLRRRLRRRRRLRRRRRRLRRRRRLLRLRRLRRLRRRRRLRLRRRRLLRLLRLLLLRRLLLLLLLLLLRRRRRLRRLLLRLLLLRLRRLRRRLRRRLLRRLRRRRRLLRRRRLLLRRLRLRRLLLLLRLLLLLRRLRRRLLLRLRLLLRRLLLLLRRRRLLLRRRRLLLLLRLLLLLRLLRRLLLLLRRRLLLRRRLLRLRLRRRLLRLLRLRLLLLRRLLRLRRLRLLRLRLLLLRLRRLRLRRRLRLLRRRRRRRRRRRLLRRLLRRLLLLLRLLRRLRLLRLLRLLLRRRLRLRRLRLLRRLLRLRLRRLRRRLLLRLLLRRLRRRLLLRRLLLLLRLLLLRRLLLRLRRLRLLLRRRRLRLLLRRLLLLLLRLRLRLLRLRLLRLLLLLLRLRRLRLLRRLLRRLLLLLLLLRRRRRLLLLRLRLRLRRRRLLRRRRLLLRRLLLRRLLRRLRRRRLRRRRRLLLLRRRLLLLRRLLLRLLLLRLRLRLRRRLLRLLRRLLLRLRRRRRLRLRRLRLRLRLRLLLLLLRLLRLLRLLLRLLRRRRRRLRLLRLLRRRRLRLLLLRRLLRRRRLRLRRLRRRRLLRLRLRRRLRLLRLLLRRRLLRRLLLLRRRLRRLLRLLRRRRLRLRRRLRRRLRRLRLRLLLRRLRRRRRLLLRLLLRLRLLLLRRRRLRRLLLLLRRLRRLLLRRRLLRLRRLLRRRLRLLLRLRLRRLLRRRRRRRLLLRLRRRLRLLRLLLRLRRLRRLLLLRLLRRRLRRLLRLLRLRLRLRLLRLLRRLLRRRRRRLLRLLLRRRLRRLLRLRRRLLRLRRRLLRRLLRLLRLRLLRRRLRRLRRRRRLLRLLLLRLRLLLLRLRLRLRLLRRRLLLRRRLRRRRRRLRRLRLLLRRRRRRRLRRRRRLRLLLLLLLLRLLRLLLLRRLLLRRLLRRLRLRLRLRRRRRLRLRLRLLRRRLLLLLLRRRRLLLRRLLRLRRRLLLRLLLLRRLLRLRLLRLLLLLLRLRRRRRLRLLLRLLRRLLLRLLLLLRRLLRRLRLRRRRLLRLRLLRLLRRLLLRRLLLLRLRLLLLLRLRLRLLRRLLLRRLRRRLRRLRLRRRLRRLRRLLRLRRLRRRRLRRLLLLLRRRLLRLLLLLLRRRLLRRLRLRLRLLRLRLRLLRLRLLLLLLRLLLRLLLRRRRLRLRLLLRRRLRLRLRRRLRRRLLRLLLRLRRRLLRLLRRLLLRRLRLRLLLLLRRRLLRLLLRRLLRLLRLLLRLLLRLLRLRLLRRRRRRRRLRRRRRLRRRLLRLRLRRLLRLRRRRRLRRRRLLLRRLLRLLRLLLRRLRRLLLRRLLLRLRLLRRRLLRRRLLLLRRLRLRRLRLLRLRLRLRLLLLRRLLLLRLLRLLLLRLRLLLRLRLRRRLLLRLRLRRRRLLLLLLRRLLRLLRLRLRRLRRLLLLLLRRLRRLRRLLRRLRLRLRLRLLLRRLRRRLLRRLLRRRRLLRLLRLLLLLRRLLLRRLLRRLRRRLLLLLRLLRRLRLRRLRRLRLLLRRRLRLLLLRLLLRRLRLLLRRLLRRLLLLLRLRLLRRLLLRLRRLRLRRRRRRLLLLLLLLRLRLLRLLRRRLRLRLLLLRRRLRLLRLRLRRLRLLRRLRRLRRLRLRRRLLRLRLLLLLLLLLRRRRLRRRRRLLRRRRLRRLRRLLLLLRRRRRLRRLLRRRLRLLLRLLRLRLLLRRLRLLRLLRLRRRLLLRLRLLLRLLRLRLLLRRRLLLLRLLRLRRRLLRRRLLLRLRRRRRRLRLLRLLLLLLRLLLLRLRLRRLLRLLRRLLLLRLRLRRRLLRLRLLLLLLRRRRLLLRRRRRLLRRRLLRRLLRLRRLRLLRRLLRRRLRLLLLLRLLLLRRLLRLRLLRRLRLRRLLLRRRRLRLLLLLLLLRRRLRLLLLRLLLRLRLRLLRLRRLLRLRRLLRLRRLRLLRRLRLRLRRLLLRLLRLLLRRRRLLLLLRRLLLLLRLLLRRLLRLRRRLRLLRLLLRRRLRRLLRRRLLRLRRLLRRRRRRLLLLRRLLRRLRRRLRLLLLLLLRLRRLRRRLRLLLLLRRLLLRRLRRRRRRRRLLLLRRLRLRLLRRLLLRLLLRLRLRRRRLRRRRRRLRLRRLLRRLRLRRRRRLLRRLRRLRRLRLLLLLRLRLLLLLRLLRLRLRRLLLRRRRRLLRRLRLRRLLLRRRLRLRRLRLRLLRRRLRRRLLRRRRLLLLRLRRLRLLRRLLLRLRLRRRLRLLLRLRLRLLRLLRRLLRRLLRLRLLLLRRRRLLLLLLLRLRLLLLLRLLRRLRLLRLRRRRLRLRLLLRLLRRLLLLRRRLRRLLLRRLRLRLRLRRRRLLLRLRRLLRLLLRRRRLRLLLLLLRRLLLRLRLRRRLRRRLLLRRLRRRLRRLLRLLRRRRLRLLLRLRRLLLLLLRRRLLRRRRLRRLRRRLRRRLRLLRRRRRLRLLLLRRLRLLRLRLRLRLRRLLLRRRRLLRRRLLLRRLLRLRRLLLLLRRLRRRLRRLLLLRLLLRLLLLRLRRLRLLRLRRLRRLLLLLRLLLRRLLLLLLRLRLRLLLLLRLLLRRLLLRLLLLLRRLLRLLLRLLLRLRRRLLRLLLLLRLLLLRRLLRLRRLLRRRLRLLRLRRRRLLRLLLRRRLRLRRRRRRRLLRLLRRLRLLLRRRLRLRRLLLRLLRLLLLLLRLLLLRRLLRRLLRRLRRRRRRRRLLRLRRRLRRLRRRRRLRRLRLRRRRLLLRLRLRRRRRRLRLRRRRRRLRLLRLLLRLRLLRLLLRRRRLRLRLLLLRLRLRLLLRLLRLLRRLRRLRRLLLRRRRRRLRRRLRLRLLLLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRRRLRLLLLRLRLLRLRRLRRRLRRRLRLLRRRRRLLRLRLLLLRLLLLLLRLLRRLLLLRRLLLRLRRRLRRLLRLLRLRRRLLRRRRLLRRRRLRRLLRRLRLRLRLLLRLLRLRLLRLLRLRLRRLRRRLRLLLRLLLRLLRRLLRRLLRLRLRLLLLLRLLRRLRRRLLLLRRRLRRLRRRLLLRLLLLRRRRLLRRLLLLRLLRRLLLLLLRLRRRLLLLLRRRRRRRLRRRLLLRRLRRLLRRRRRLRRRLRRRLLRLLRRRLLRLRRRLLLRLLLLLRLRLLRLLRRLLLLRRRLRLLLLRRRRLRRLRLRLLRLRLLRLRRLRRLLLRRRRRLRRLRRLLLLRRLLLRLRRLLRRRLLLRLLLRLLRLRRRLLRRRLRRLLRRLRRRLLRRLRLLRLLLRLRRRLRLRRRRLLRLRRRLRLLRRRRRLLRRLLRLRLRLRRLRRLLRRRLRLLRRRRRRLLRLRLRRLLLLLRRRRRLLRRLLRRRRLRLLRRRRLLLLLRLRRRLRRRLRLRRLRRLLLRLLLLRRRLRLRLRRLLLLRRRRLLLRRRLLLLRRLRRLRRLLLRLLRLLRLLRRRRLRRLLRRRLLLRLRRLLLRRRRLRLLRRLRLLRLRLRRLLRRLLRRRRLLRLRRLRLLLRLLLRRLLRRLLRLRLLLRLRLRRLLLLLRRRRRLRRRRRLLLLRLRLLLLLRLLRRRLRLLRRLRRRRLLLLRLRRLRRRLRRRLRRRRRRLRRRLLLRRLRRRRLRRLRLRRRRRRLRLRRLLLLRRRLLRRRRRLRRLRLRLLLLRLLLRLLRRLLRLRLLLLLRRLRRLRLRLLLLLRLRLRLLLRRLRLLRLLLRLRLRRLRLRRLLRRLLLLLLRRLLRLLLRRLRLRLLLRRLRLLLLRLLRLRLLLLRRLLLRRRLRLRRLRLLRRRRLRRLRLRLRLLRRRRRLRLRLLRLRLLRRRLRRRLLLLLLRRRLRRLRLLRLLLRRRLLLRLRLRRRLLLRRRLLLLLRRLLLRRRRRRRLLLLLLRLLLRRRRLLLLLRLLRRRRRRLRLRRLRLLRLRLRLRLLLRRRRLLLRLRRLRRRLLLRLRLRRLLLRLLLRRLRRLLRLLRRLRLLRRRRRLLRLLLRRLLRLRRLLLLLRRRRRRRLLLLRRRLRRLLRLRRRRRLRLLRRLRLLRLLRLRLRRLRRLLRRLRRRRLLLLLRRLRLRRRLLRRRRRRRLLLRRRRRRLRLLLRLRLLRLLLLLRRRLLRLRLLRRRRRLLLLLRLLRLLRLLRLLLRLRLRLLLRLLLLRRRRLLLRRRLRLRRRRRLLLLRRRLRLRLRRLLRRRLRLRLRLLRLRLLRLRLRLRLRRRRLLRRLLLRLLRRLLLRLRRLRRLRLLRLLRRRLRLRRLRLLLRLRRLLRRLRRLRRLRLLRRLLRLRLLRRRLLRRLRRLRLRLLLRLLRLLRRLLRLRLLRLLLLLRLRRRRRRRLRRLLLRRRRRLLLRRLLLLLRRRLLLLLLRLLRRRLLLLRRLLLRRRLRLRLLLRLLRLLLRLLLRLRLRRRLLRRRRLLRRLRRLRLRRRRRLLLLLRLLRRRRRRLLLRLLRLLLRLRLRRLRRLRRLLRLRRLLRLRRRLRLLLLLRRRLRRLRLLLLRLLRRRRLRLRLLLLLRRRRRLRRRLRLRRRRRLLLRRLLLRLLRLLLRLRRLRLRRLRLLLLLLLLRLRLLLRLLRLRRRLRLRRRRLRRRLRLLLRLRRLRLRRRLRLRLLRRLLRRLRLLLLRLLLRRRLRRLLRRLRRRRRRLRRRRLLLLLLLLLLLRRRLLRLLLLRRRLRRRLLRLRLRRRRLLRRLLRRLLLRRRRLRLLLLLLLLLLLRLRLLRRLRRRLRRRRLLLRLLRRLRRLRRLRRLLRRLLRRRLLRLRRRRRLRRRLRRRLLLRLLRLLRRRLRRRRLRRRLRRRRRLRLLRLRLRLRRRRLLRRRLLRLLRLLRRRRLLRRLLRRRRRRRLRLLLRRRLLRLRRLRRRLLRRRRLLRRLLRLRRRLLRLRRRLLLLLLRRLLLRRRRRRRLRLLLLRLRLRLRRRLLRRRLRRLLRRLLRRRRRLRLLRRRLLRLLRRRRLLLLLRRLRRRLLLLLRLLRRRLRLLLLLRRRRRRRRLRRLRRLRRLLLLLLRLRLRRRLLLLRLLRLRRRLRLRRLLRRLRLRLRLRRRLLRLLRLLLRRLRLLLRRRRRRRRRRRRRRLRRRRRLLRLLRRRLRRLRLRRRLLRLLLLRRLRLLLRLRRLLRRRRRRLLRLRLRRLRLRLRRRRLRRRRLLRLRRRLRLRRLRRLLLLLRRLRRLLLLLRRRLLRRLRRLLLLRRRRRLRLRRRLRRRLLRRLRRRLLRLRLRRRRLLLRLLLLRRLLLLRRRLLRLLRRRRLRRLRRLRLRLLLRLLRRLLRLRRRRRRLLLLLLLLRRRLRRLRLLLRLRLRLLRLRRRRLRLRRLRRRLRRRLRRRLRRLLLRLLLLRLLRRRLRRRRRRLLRRRLRLRLLRLRLRRRRRRLRRRLLLRLLLRLLLLRLRRLLRLRLRLLRLLRLLRRLRLLLRLLLLRLLRLRRLLLRRLRLLRRRLRLRRLLRLLRRRLLRLLRRLRRLRRLLRRLLRLRRLRLLRLRRLLLLLRLLRLRRRRLRRLRRLRLLLLRRRLLLLLLLLLLLLRRLLRLLLRLLRLLRLRLRLLRRRLLRRRRLRLRLRRLRLRLLRRRLLLRRRLRRRRRRRRLRLRRLLLRLLRLLRRRLRLLRRRLLRRLRLLRRLRRLLRRLLLLLRRLLLLLRRLLLLLRRRLLRLRLLLLLLRRLRRRLLRLLLLRLLLLLLRRLRLLRRLRLLRRLLRRRLLLLLRLRLRRLRRRLRRLLLLRRRLLRRLLLLLRLLRLRRLRLLLLLLRRLRLRRRLLLLRRRRRLRRLLLLLRLRRRLRLLRRRRRLRLRRRLRLLRRLLLRRRRLRRLRLRRRLLRRLRRRRLRRRLLRLLRRLLRRRLLLRRRRLRLLRRRRRLRRRLLLLRRLLRLLRRLRRRRLLRLLRRLRRLRRRRLRRRLLLLRRRLLRRLRRRLRRRLRRLLRLRLLRRLLLLLLLLRLLRRRLLLRRRLRLLRLLRLRRLRRRLLLLRRLLRRRRLRLLRRLLRRLRLRRLRLRRRLLLLRRLLLLLLRLLLRLRRLRRLRLLLLRLLLLLRRLRRRRLRLLLRLLRLLLLRRRRLLRRRRLRRRRRLLRLRRRLLLRLLRLLRRRLLLRRLLLRRLRLRRLLRLRRLLRLLRRLLLLLLLLLLRRLRRRRRRLRRRLRLLLLLRRLLRLRLRRLRLLRRLRRRRLRRRRLRRRLRRRRLLRRRLLLLLRRLRRRRRLLLRLRLRLRRLLLLRRRRRLLLLRLRRRRLLRRRRLRLLLRLRLRRRLRLLRRLLLLLRLRLLLRLLLRRLLLLLRLLLRLLLRLRLLLRRRRRRRRRLLRLRLLRRLLRRLRRLRRLRRRRLLLLLLLRRLRRRLRRRLRLRRLRLLLLLRRRLLRLLRRRRRRLRRRRLRLRRRRRLRLRRLLRRLLRLRRRLLLLRLRRLRLRLRRRRLLRLRRRLLRRRRLLLRRLLRRLRRLRRRRLLRLRLLRLLLRRLLRLLLLLLLLLRLRRRRRRRLLLLLLRRLRLLLLRLRLRRLRRLLLLLLRLLLRLLRLLRRRLRRRRRRLLRLLRRRRRLRLRLLLRLRLRRLRRLLRLRRLRLLRLLLRLLLLRRLRLRRRRLRLLRRRLLLLLLLLLLLRRLRRRLLLRLLRRLRRLLRRLRLLRLRLLLRRRRRRRLRLRRRLRRRLRLRLLRRRRLLLLLRRLLRLRLLLRLLRRLRLRLRLLRLLRRRLRLRLLRRLRRRLRLRRLLRRRLRRRRRRRRLRRLLRRLLLLLRLRLLRRLLRLRRRLRRRLLLLLRLLRLLRRLLRLLLLLRLRRRLLRRRLLLLRLLRRLRRRRRLLRLLRRLRLRLRLLLRLRRLLRLLLRLLLLRRRLRLRRLRRRRRLLRRRLRLRRRLLLLLRLRRLRLRLRRLRLRLLLLLRLRRRRRRLLLRLLLLLRRRLRLLRLRLLLLRLLRRRRRRRLRRLLLRLRLLLRRLLLLLRRRLRLLRLLRRRLLRLRRLLRLLRLLLLLRLLRRRLLLLLLLLLLLLLLLRLRLRRRLRLLRRRLLRLLRLRRLLRLRRLRLRRLLRRLLRLRLRRRLLRRRRLLLRLRRRRLRRLLLRRRLLLLRRLRRRRLLRRLRLLLRRLLRRRRRRRRLLRRLLLRLRLRLLRLLLLRRLRRRLLRLLLRRRLLRRRLRRLRLLLLLRLRLLLLRLLLRLRRLRRLRRRRLLRLLRLLLRLRRLLLLRLLLRLRRRLLRRLRLRLLRLRLLRRRLLRLRLLLLRRLLRLLRRRLLRRLRLRRRLRRRLLRLLLRLLRRLLLLLLLRLLRRLRLLLRLLRRLLRLRRLLRLLLLRLRRLRLLLLRRRRRLLLLLLRLRLLLRRLRRLRLRRLLLRRRLRLRRRRRRRRLRRRLRRRRRRLRRRLLLLRLLRLLRRRLLRRLLRLLLRRLLLLRRRLRRRRLLRRLRLRLLRRRLLRRRRLLRLLLLRRLLRRRLRRRRLLLRRLLRLLLLRRLRLRRLRRRRRLLLRLLLLRLRLRRRLLRRLRLRLLRRLRLLRLLLLLLRLRRRRLLLLLRRRLRLLLRRRRLRLRRRRRRLRLRRLRLLRLRRLLRRRRLLLLLRLRRLLLRRLLLLRRLRLLRRRLRRLLRLLLLRRLRRLRRRRLRRRLLLRRRRRRLLRRLLRRLRRLRRLRLLLLRLLRRLLLRLRRRRRLLLRLRLLLLRLRLLRRLRLRRRLRLRRLRLLLLLLLRRLLRRLRLRRLLRRLLRLLRLRLRRLLLRLLLLLRLRLRLRRRLRRLLRLLLRLRRRLLLLRLLRLRRRRRLLRLRRLRRLLLLRRRLRRRRRLLRLLLRLLLRRLLLRRRRLRLRRLLRRRRRRRLRLRLRRRRLLRLLLLLRRRLRRRRLRLLLLLRRLLRRLRRRLLLLRLLRLRRLRRRRLRRLLLLLLRRRLRLLLRLRLLLRLLLLLRLLRRRRLLRLRRRLLRLLLRLRRLRLRRRRRRRLLLRRRLRRRLRRLRLLLLRRRLRRRRLLLRLLLLRRLLLLLLLLLRLLRLLRLRLLRRLRLLRLRLRRRRLRLRLRRLRLRRLRLLRLLLLLRLRRRRRLLLRRRRRRRRLRLRRLRRRRLLLLRLRLRLLRRRRRRLRRLLRLLLRRRLLRRRLLRRRRLLRLRRLRRRLRLLLRRRRLLRLRLLRLLRRLLLLRRLRRRLLRRLRLRLRRRRLLLLLRLLLRRRRRRLLLLRLLRRRLRLLRRRLRRRRLRRRRRRRLLLRRLRLRRLRLRLRRLLRLRRLRLRLRLRRLLRRLRRRLRLRLLLLRLLLRRRLLLLRRLRRRRLRRRRRRLRLLRLRLLRRLLRLRRLRLLRLRLLRLLLLRLLRRLLRLLLLLLLLRRLRRLLLLLLLLLLLLRRLLRRRRRRLLRRLRRRRLLRRRLRRLLRRRRRRRRLRLLRLLLLRRLRLRRLLLLRLRLRRRLLRLRRRLRRLLRRLLLLLLLRLLLRRRLLRLLLLLRRRRLRLRRRRLRRRLRRLLLRLLRLRLLRLLRRLRLRRLRRLRLRLLLRLLRRLRLLLRLRRLRRRRLLLRRRLRLLLRLRLLLLLLRLLRRLRLLRRLLLRRRRLLRLRRLRLRRRLLRLRLLRLRRLLLLRLLLLLLRLRLLLRRRLRLRRRLRLRLRLLRRRLLRRLLRRRRRRLLLLRLRLLLLLLRLRLRRLLRLLRLLLLLRLRLLRLLRRLRRRLLLRLLRLLRRRLRRLLLLRLRLRRRRRLRRRLLLLRLLLLLRRRRRLRRRRLRRRRLLLLLRLLLLLLLRLRRRLLLRRRRRRLRLLRRRLRRRLLLRLRLRRRLRLLRLRLLLRLRRLRLLRRRLRLLLLLLRLLRRRLRLLLLLRRLLRRLLRLLRLRRRRLRLRLRLRLRRRLRRLRRRRRRLLLLLRLLLLLLLLRRRLLRLRLLRRLLRLLLLRRLRRLRRRLRRLRRLRRRLLLRLLRRRLRLLLRRRLRLRLLLLLRLRRLRRLRRRLRRRLLLLRRRLLRLRRLLRLLLRLRLLLLLLRRLRLLRRRRLLRRLLRRLRLLRRLLRRRRLRRRLLLRLLRLRRRRLLRLLRLRLRLLLLRLRRRRRRRRLRRLLRLLLRRLLRRLLRRLLLLLRRLRRLLLRRLRLLRRRLLRRRLLLLRLRLRLLRLLLLRLRLRRLRLLLRRRLLLRLRLLRLRLRRRRRRLRRLRLLLLRRRLRRRRRLLRRLLLLLLLLLRLLRRRLLLRLLRRRRLRRLRLLLRLRLRLRLLLRLRLLRRRLLRRLLRRRRRLRRLLLRLRRLLLLRLLLLRLLLRLRLRRLLRLLLRRRRLRRLRRLLRLRRLLLLLLLLRLRRRLLRLRLLRRRLLRLRLLRLLRRLLRRRRRLLRLLRLLLLRLLRRLLRLLLLRLLRRRRRRLRLLRLLLRLRRLLRLRRRRRLLLRRLRLRLRRRLRLLLLRLLLRRLLRLRRLRLRLLRLRRLLRRLLRRLLLRRLRLLLRRRLRRLRLLLLLRRRLRRRLLRRLRRRLLRLLLLLRRRRLRLLLRRRRRRRLRLLLLRLLLRRRRLRRRLRLRLLLLRLRLLLRLRRRRRLRLRRRRRLRLRRRLLRLRRLRRLRLLLLRRRLLLRLLRRRRLLRLLRLLRRLLLRRLLRLLLRRLLLLRRLLRRLLRRRRLLLRRRRLRLRLRLLLRRRRLLLLLRLRLLLLRLRRRRRLRLRLRLRLLLLRRLLLRLLLRRRLLLLLLRRLLRRLLRLRRRRRRRRLLLLLRRRRRLRRLRRRLLLRLLLLLLRRRRRRLLRLRRLRRRRLLRLLRRRLLLLRLLLRRLLLRLRLRRLLRLRLLLRLRLRRRLLLLLLLLLRRRRRLLRLLRRRLRLLLRLRLRRLLLLRRLLLLRRLRRLRRRLRLLLLRLLLLLRLLLRRLRLLRLLLRLLRLLLLLRRRRLLLLRRRLRRLLLLLRRLRLRRLRLLRRLLRLRLLLRRLLLLRRLRLRLRRLLRRRRLLLLLRRLRLRLRRRRLLRRLLRRRLRLLRRRLLRRLLRRLRRLLRLLRLLRRRLLRLRLLLRLRRLRRRLRRRLLRRRLRLLLRLRLRRRLLLRLRRLLRLLRLLRRLRRLRLRLLRRLLLRRLLLLLRRLLRLRLLRRRRLLRLLRLLRLLLLLRRRLLLRRRLRRLRLLRRLLRRRLRRLRRRLRLRLRRLLLRLRLLRLRRLLRLRLRRRLRRRRLRLRRRRLRLLLRLRLRRRRLRLLLLRLLLRRRLRLRRLRRLLRLRRRLRLLRLLLLRLLRLLLRRRLLRLLRLLRRLRRLLLLRRRLLLLRRLLLRRLLRLLLRLRLRRLLLRLLLRRRLLRRRLRLRRLRRRRRRRLLRLRRRLLRLRRRLRLLRRLLLLLRRLLRLLRLRLLRRRLRLRRLRRRLRRLRRLRLRRLRRRRRRLLLLRRRRLLLLRRRRLRLLRRRLRRRLLLRLLLLRRRRRLRRRLRRLLRRRLLLRRLLRLLLLLLLLRLRLRLRRRRRRRRLLRRLLRRRLLRRLRLRLLLLRRRRLLRRLRRRLRRLRRLLLLRRRLLRLLRRRLRRLRLLLRLRLLLLRLLRLLLLLRRLLRRLLLLRLLRLRRRRLLLLLLLRRRRLLLLRLLRRLLLLRLLRRLLRRRLLLRLRRLLLLLRRRLRRLLRRLLRLRLRLRRRRRRLRLRRLRLRRLRLRRLRLLLRLLRRRLLRLRLRRRLRRRLLLRRLRRRLLLRLLRRRLLRLLLLLLLLRLLLLRLRRLLLRRRRRLLLRRRLRRRLRLLLRRRRRRLLRLLRLRRLRLRLRLRLRRLLRLLLLLRLRLLRLRRLLRRLRLLLLLRLLRLRLRLLLLLRLLLRLLRLLLRRLRLLRLRLLRRLLLLRRLLLRLLRLLLLLRRRRLLRLRLLLLLRLLRRLLLLLRRLLRRLLLLRRRLRRRLRRRLLRLRRLLLLRRLLRRRRRRRRLRRLRLRRRLLLRRLLLRRLRRRLRLLRRLLRLRRLRRRLLRRLLRLRLLLLRRLLLLRLLLLLLRLRRLLLLRLLRLRRLRRRRRLLLRLLLLRRLRLRRLLRRLRLRRRRLLLLLLLRRLRRRLRLRRRRLRLRRLRRRRRLRLLRRRLLRRRRRRRLLLRRRRLRLRRRLLRLLLLLLLLRRLRRRRLLRRRLLLRRRRRLRLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRLRLRLLLLLLRLLLLRRLRRLLLRRRRLRLRLRLLLLLRRLLRRLLLLLRRRLLRLRLLLLLLLRRRRRLLLLLRLLRLRRLRLRLRRLRRRRLLRRLLRRLRRRLRLLRRLLRRLLLLLLRRRLRLRRRRRRRLLLRLLRLLRRLRLRRLLLLLRLRLLLRLRLRLLRRRLLLRRRLRLRRRRLLRRLLLLRRLRLLLRLLLLRLRRRLLLLLLRRRRLRRRLLRLRRLLRLLRRRLLRRRRRLLRLRRRLRRRLRRLLLRLLLRRLLRLRLRLLLRRLLLLRLLLRRLLRRRRLLRRRLLLLLLRRRRLRLLRRRRLRRRRRRRLRLRRLLRRRRRRLLRLLRLLLLLRRRLRLRRRLRRRLRLRLRLRLRLRRRRLLLRRLRLLLRRLLLLLLRRLLLLRLLLRLRRLLRRRRLRLLRLLRRLRLLRLRLLLLRRLLRLLLLRRRLRRLLRLRLRLLRRRRLLRRRLRLLRLRLRLRRRRRRLLRLLRRRRRRLLRRRRLLLRLRLRRRRLRLLLLRLLRLLLRLLLRLRRLRRLRLRLLLLLLRRRRLLLRRLRRLRRLRLRRRRLLRLRRRLRLLRRRRLLRLRLRRLLLRLRRLLLRRRLRLLLRLRRRLRLRLRRLLRLLRRRRLLRRRRRRRLLLRRLLRLLLLLLRLRRLLRLLRLRRRRRRLRRRLRRLRRRRLLLLRLRLRLRRRLLRRRRRLLRRLLLRRLLLLLLRRLRRRLLLRRRRRRRRLRLRLLRLRLRLRRLRRLRLLLRRRRLLLLRLRLLRRLLLRLRRLRRRLRLRRLLLRLLLRLLRRLRRLRLLLLLRRRLRLRRRLLLLLLLRLRRRLLLLLRLRRLLRLRRLRLLLRRLLRRLRLRLLRLRRRLLLLRRLLRLLLLRLRLRLLRLLLLRLLLLLRLLLRLRLLLRRLRLRRRRRLRRLLLRLLRLRRRRRRRLRLRRLLRLRRRLLRRLLLLRLRRLRRRLRLLRLLLRLRRLLLRRRRLRLLLRRRLLLLLRRRLLLRRRRLRRRLRLLLLLRRRRLLLLRRRRLRLLRLRLRLRRLRRLRLRLRLLLRLRRRLRLLRLRRRRRRRLLRLRLRRRLLRRRLRRLRRLLRLLRRLRLLLRRRLLLRLLLLRLLRLRRLRLRLRRLLLRRRRLLRRRLRRLLRRRRRRLLRLLRLRLLLLLRLLLLRRLRLLLRRRRRRRLLRLRLRLRRRLRLRLRLLLLLLLLLRRRRLRRLLRRRRLLLLLLLLLRLLLRRRLRRRRLRLRLLLRLLRLLRLRLRLLRLRRRLRLRLLLLRRRRRLLRRLRLLRLRRLLLLRLRLLRLLRRRLLRRRRRLRLRLLRRRLLRLRLRLRLLLLLLLRRLRLRLLRRLLLRLRRLLRLLLRLLRRLRLRLRRRRLLLRLRRLLLLLRRRLLLLLLLRLLLRRRRRRRLLLLLLRLLLLLLLRLLRLRRRRLLRRRLLLLLLLRLRLRLRRRLLRLLLRRRRRLLRRRLLLLLRRRLLRRLLRLLLRRLLLLRLRLLRRLLRRLRLLRLLLLRLLLLLRLRLLLRLLRRRRLLRRLLRLLLLRLLRLLLLLRLLRRLRLLLLLRRLLLRLLLRLRRRRRLRRRRRRRRLRRRRRRRRLRRLLLRLLRLLLLRLLLLRRRRRLLLRLLLLLLLRLLLRRRLLLRRRRRLLLRRLLLLRLRLLRRRRLLRLLLRRRRLLRLRLLLRLLLRRLRLRRRLRLRRLRLLLLLRLLLRLRRLLLRRRLRLRLRLLRLRLLRRLRLRLLLLRRLRLRLLRLRRRRRRLLRRLLRLRLRRLLRRLRRLLRLLLRRLRLRRRRLRLLLLRLRLRRRLLRRLLLRRRRLRLLLLLLLLRLLLRLLRRRLRLRRLRLRLLLRLRLRLRLLRRLLLLLRRLLRRRLRLLRRRLLLLLLLRRRLLLRLLLLLLRLLRRRRLRRLRRRRRRLRLRRRRLLLRRRLRRRLRRLLLRRLLRRRRLRRLRLRRRRRLLLLLLRLLRLLRLRRLLRRLLRRRRLLRRLLRLRLRLRLLRLRLLLLRLRRLLLRRLRLRRLRLRLLRLRLRLLRRLRLRRLRRRLLRLLRRLLRLRLLRRRLLRLLRRLRLLRLLRRLRRLRLLLRLRLRRRLRLLLLRLRRRRLRRLRRLRRRRRLRLLLLRLRLLLRLRRLRLRRLRRRLRLRRLLRRLLLRLRLLLRLRRLLLLLRLRLLLLLRRRLLRRRRRRRLRLRRRRRLLLLLRRLLRRLLLRRRLLRLRLRRRLRRLLRLRLRLRRRRRRLLRRRLRRLRRLLRRRLLRRRRLLRRRLRLRRRRLRRLLLLRRRRRRLLLLLRLRLLRLLLRLRLLLRRLLLRLRRRLLRRRLLLRRRRLLLLRRRRRRLLLRLLLLRLLRRRRLRLLRLLRRRRRRLLRRRRLRLLLRLRRLLLLLRRRRRLLLLLRRLLRRLLRLLRRLLLRRLLRLLLRRRRLLLRRLLLRLRRLLRRRLRRLLLLLRLLRLRRLRLRLLRLRRRRRRLRLLRRLLRLRLRLRRRLLRRRLLLLLLRRLLRLRLLRLLLLRRLLLLRLLRRRRLLLRRRRLRLLRLLRLLRRRLRLRRRRLLLRRLLRLLRRLRLRRLLRLRLLRRRLLRLLRLRRLRRLRLLLLLLLLRLLRLRRLRLRRRRRLRLLLLRLRLRLLLLLRLLRLRRLLRLLLRRRRLLRLRLRRLLLRLRRRRRLRLRLRLRRLRLLRLLRRLRRRLRRLRRRLRLRRLRLRLRRLLLLRRLLRLLRRRRLRLLRRRRRLRLLLRLLLRLRRRLLLLLRLLLLLRRLLRLRLLLRLLRLRLLRRRLLRLLLRRRLLLRLRRLRLLRRLRLRLRRLLLRLLRLRLRRRLRLRRRLRRLLLLRRRRRRRLLLRLRLLRLLRLRLLRLLLLRLRLRRLLRLLRRLRLLRRRLLLLRLLRRRRLLLRRRRRRRLRRLRLLRLRLRLRRRRRRRRLLRRRLRRLRRRRLLRLLRRLRRRRLLRRLLLRRRLLRLLRRLRRLRRRRLLRRLLLRLLRRLRRRRLRRRRRRLRRLRRRRLLRRRLLLRRLLLRRRRRRRLLRLLRLLRLRRLLRLLLLLRRLRLLRRRLLRRRRRRLRRLRRLRLLRRRLLLLRRRLLRLRRRRLLLLRLLLLLRLLRRRRRLLLLRRRLLLLLRLLLRLLRRRRRRLRRLRLLLLLLRLRRRLLRLLLRLLRLLLRLRLRLLRRRRLRRRLLLLRLRRRLRLRLLLLLRLRLLLLRLLRRRLRRLLLLRLRRLLRLLRRLLLRLLRLLLRRLRRRLRRLRRLLLLLLLLRRRLRRRLRRLLLLRLLRRRRLRLRRLLRRLRLRRLLRRRLLLLLRRLLRRRRLLLRRLLLRRLLLLRRRRLRLRLLRLRRLRLLRLRLLRLRLLRRLRRRLLRLLRRLRLLRLRLRLRLLLRRLLRLLRLLRRLLLLLLLRRLRRRRRRRLRLRLRLLRRLLRRLRLLLRRRRRRLRLLRLRRLLRRRRRRRLLLRRLRLLRLLRLRLLRLLLRRRRLRRRRRRLLLLRRRLRLLRLLRRLLRLRRLLLLLRLRRRRLRLRRLRLLRLRLLLLLRLRLLLRRLLRLLRLRRLRRLLRLRLLRLLLRLLLRRLLRRRRLRRLRLRLRRRLRLLLRRLRRLLLLLLLLRLLRLLRLLLLRLLLRLLLRLRRRRRRLRRLLLRLLRRRLRLRLRLLLRLRRLLLLRLLRLRLLRLLRLRRRLLLRRLLRLRLRRLLLRRRRLLLLLLLRLLLRRRLLRLRRLLLLRRRRLRRLLLRRRLRLLLLRRRRRRLRLRRRRRLRRLLRLLRRRRLLLLLRRRLRRRRLLRLLLLRRLLLRRLRLLRRRRRLLLRRRLLLLLRLRRLLRLLLRLRRLRRLLRLRLRRLLRRRRLLLRRRLLLLRLRLRRRLRLLRRRLRLRRLLRRLLLRLLRLRLLLRLRRLLLRLLLRLLRRRLRLRLLRLLLLLLRLRLRRRRLLRLRRRLRLLRRRLRRRRLRRRLRLLRLRRRLLRRLLRLLRLLRLRLRLRRLLLRLLLLLRLRRRRRLRLRLRLLLLRRLRRLLRLRLRLLRLLRLLRRLRLRLLRLRLRLRLRRLLLRLRRLLRLLRLLRLRLRLLRRLLRLLRLLLLLRLLLLRLLRLLLLLLLLLLLLLLRLRRRLRLLRRLLLRLLLLRRRRRRRRLRLRRLLRRLLLLRLLRLLRLRRLLRLLRRRLRLRRLRLRRRLRRLRRRRRRLLLLRLRRLLRRLLRRRLRRRRRLRRLLRRLRLRLLRLRLLLLLRLRLLRLLLRRRLLLLRRRLLRLRRLLLLRLLLLLRLRRRRRLRRLRRRRRLRRLLRLLLLRRLLLLRLLLLLRRRRLRRLRLLLLRRRRRLRRLLLRRRLRLRRLRRLLRLRLLRRRLLRRRLLRRLLRLLLRLLRRLLLRLLLRRLRRRLLLLRRLRRLLLLRRLLRLLRLRRRLLRLLLLRRLRLLRRLRLRLLLLLRRLLRLRLRLLLLRRLLRLRRLRRLRRLRRRLRRRRLRRRRRRRRLRLLRLLRRRRRRRLLRLRLRRLLRLRRRLRRLRLLRLLRLLLLRRRLLRRRRLLLLLRLRRLLRRRLRLLLLLLLLLLLLLLLRLLRLLRRLRRRRLLLLLLLLLLRLRRLLLLLLRLRLLRLLRLLRRLRLLLRLRRRRLRLRLRRRRRRRLLRRRLLLLRRRRRLRLRLLRLRRLRRLLLRRRLLRLLRRRRLRLLRLLLLRRLLLLRRRRRRLLRLLRLRLLRLLLRRRLLRRRRRRRRLRRLLRRRLLRLLRLLRLRLRLRRLRRRLLLRLRLLRRRLLLRRLLLLRLRLRLRRLRRLLLRLRRRRLLLLRLLLRLLRRLRLRRLRRRLRLLLRLRLRRLLLRLLRLLRLRRRLLRRRRLRLLLLLLLRLRRLLLRLLRLLLLRLLLLLRRLLRLLLLRRRLRRRRRLLLRRRRLLLRRLLLRRRRRRLLRLRRRLLLRRRRLRLRRLLLRRLRLRRRRLLLRRRLLLRRRLRRLLRRRRRRLLLLRLLRRRRLLRRRLLLLRLLLLRRLLRLLLRLRLLRLLLLLLRLRRRRLRLRLRRRLLRLLLRRRRLRLLLRRRRRLLRRRRLRRLRRRLRLLLRLRRLLRRLLLLRLLLRRRLRRLRRLLLLLLRRRRRRLLLLLRLLRRLRRLRRRLLRRRRLRLLRLRRLRLLLLRRRRRRRRLLLRRRRLRLRLRRRRLRRRLLRLLRLRLLLLRLRRRRLRRRRRLLLRRLLLRRRLLRRRRLRRLRRLRRRLRLLLRLRRLLLLLLRRRLRLLRLLRRRRRRLLRRLLLRLLLRRLLLLLRLRLLLRLRRLLLLLLLRLRLRLLRRLRRRRRLRRRRRRRRLRLRRRLRRLRLLLRRLLRLRRLRRRLRLRRRRRRLLRRLRLLLLLLRLLLRRRLLLLLLLRRRRLRRRRLRLRLLRLRLLRRLLLLLLRRLLRLLRRLRLLRRRLRRLRRLRLRLLLLRRLRRLLRLLLLRLRLRLRLLRRRRRLLLRRLRLRRLLRLRLRRRLLRRRRRRRLRRLRLLLLRRLRLRRLRRLRLRLRRRRRRLRLRLRRLRLLLLRRLRLRLLLRRLRLRLLRRLRRLLLRLRRRRRLRRLRRLLLRLLRLRRLRRLRRRRLRRLRRLLRRRLRRLLRLLRLLLLRRRLLRLLLLLLRRLRLLLRLRLLLLLRLLRRRLRLLRRLLRRRLRLLLRLRLLLRRRLLRRLRLRLRLLLRLLLRLLLLLLLLLLRLRLRLRRRRRLRLRRLLRRLRRRLLLRLRRRLRLLLLRLLRLLRRLLLRLRLRLLRLLRLLRLRLLRRRRLLRLLLRLRRLRLLRLRLRRRRLLLRLRRLRLRLLRLLLLLRLLLLLRRRRLRLLLRLRRLRLLRLLRLLLRLLLLRRRRRLLRRRLRRLRLLRRRRRLLLLLRLRLRRLLRRLLLLLLRRLLRRRLRRLRLRRRLLLLLLRLLRLRLRLLRLRLLLRLLRRLRLLRRRLRLRLRLLLRLLLRRLLRRRLLLLLLLRRLLLLLLLLRRRLRLRLLRRRLRLLLLRRLRRLRLRLRRLLRLLRRLRLRLLLRRLRLLLRRRRRRLLLRLLLLRRLLRRRRRLRRRLRRLLRRRRRLLLRLLLLRRRRLLRLRLRRRLLLRRRRLRRRLLRLLRLRRRLLRRRRRRRRRLLLRLRLRRRRLLRRLRRRRRLLRLLLRRLRRRRLLRLRRRLLRRLLRRLLLRRLLLRLRRLRLRLLRRLLLLRRRLLRRLRLLLRLLLLLLRRLLLRLRRRRLRLLLLRRLLLRLRLLLLRLRLRRRLRRRRLLLLLRRRLRRRRRLLRRLLRRLLRLRLLLLRRLRLLRRRRLRLRRLRRLLRLRLRLLLLLRLRLLRLLLLRRLRRRLRRLRRLRLLLLRLLLRRLLLLLLLLRRRLRLLLRLLLRRRLLLRLRRLLRLRRLLRLLRLRRLRRRLLRLLRLRLRLLLLRLLLRLRRRRRRRRRLRRLLRLLLLRLLRRLRRLRRLRLLRLRRLRLLLLRLRLLLRLRRLRLRRLRLLLRRLRLRRLRRLRLLRLRLLLLLRLRLRLLRLLRLRRRRLRRRRLRRRRRRLRRRLLRRRLLRLRLLRLLRRLRRRRLLRRLLRLLLLRRLLLRRRRLLLLLLRRRRLRLRLLRLRRLLRRRRRRRRLRRLLRLRRRRLRRLLRRRLRLLLRLRRLLRLRRRLLRLLRLLRLRLLLRLRRLLLLRLRRRRRLLLRRLLRRLLLRRLLLLLRLLLLLLRRRRRLLLRRRRRLLRRRRLRLRLLRLLRRRRLLLLLRLRLLLLRLRRRRRRLLRLRRRLLLLRLRLLRLLRLLRLLLLLLRRLRRLRRRRRRRRRRLRRLLLLRRRLLRLRLRLRLLLRLLLLLRRRRRRRLLRLRRLLRRRRLRLRLRRLRRLRLLRLRLLLRLLLLRLLRLRLRLRRRLLRRLLRLLRLLLRRRRRLLRLRRRRLRRLRLLRRRRLLLRRRLLRLLLLRRLRRRLLLLLLRLLLLLRRLLRRLRLLLLRLLLRRLLLLLRRLLLLLLRRRLRLLLRRLRRLLRRLLLRLRRLRRRRLLLRRLRLRRLLRLRLRLLRRRRLLLLLRLLLRLRLRLRRLRLLLLLRRLRLLRRRLLRLRLRLLRRLLRLRRLLLLRLLRRRLLRRLRLLLRRRRRLLLRRRLRLLLRLRLRLRRLLRLLRLLLLLRLRRRLRRLRLRLRRLLLRRRRRLLRLLRLRRRLLRRRRRLRLLRRLRLRLLLRRRLLLLRLLRLLRLLRLRRRRRLRLLRLLRRLLLRLRLLRLLLLRLRRLRRLLRRRLLLRRLLRLRLRLRLLLLRLRRRRRRLRRLLLLLLLLRLLLRRRRRRLLLLRRRLLRLRLLLLRLLLLLLRLRLLLLRRLRRRLLLLLLRRLRLLLRRRLRLRRRRLLLLRRRLRRLLLRLLLRRRLLRLRLRLLRLRRRLRRRLLRLRLRLLRLRRLRRLRRRLLLLRRRLLRLLLLRLRRRLLRLLLRRRLLRLLRRLRLLRLRRRRRRLLRLRRRRLLLLLRRLRRLLRLRLRRLLRRRLLLRRRLRLRRRRLRRLLRRRLLLRRLLRLRLRLLRRRRRLLLRRRRRRRRLRRLLLRRRRLRRLRLRLLLLLRRRRLLRLRLLLRRLRRLLLLRRRLLLLRRRRLRRLRLLLRLRLRRLRLLLRRLLRRRRLRRLRLRLRRRRLRRRLRRLRRLRRRRLRLLLRRRLRLRLRLLLLLLLRRRRRLLRRLLLRLRRRLRRRLRRLLRRLRLLLLRLRRRRLRLRRLRRLLLRRLRLRLRLLLRRRLLRRRRRRLRRLLRRRLRRLRLLLRRLRRRLLRRLLLLLRLRLLLRRRLLLRLRLRLRLLLRRRRLRRLRRLLRRRRRRLLRRLRRRRRRLRLLRRLRRLRRLLLLRRLRLLRLRRRLLRLLRRLLLRLRRLRLRLLRLLRLRLLLRRLLLRRLRLLRLRLRLLLLRLRRLLLRLRRLLRLLRLRLLLRLRLLRLLRRRRLRLLLLRRLLLRRLLLRRLLLRRRRRRLLRRLRLRRLLRLLRLRRRRRRLRRRRLLLLLRLLRRLLRRLRRRLLLLLLLLLLRLLRRRRRRRLRLLLLLLLRRRLRLRRRLLLLRRRRLLLLRLLLLLLLRRRLRLLLRLLLLRRRRLRRLLRRRLLRRRLLRLLLLLRRLRRRLRRRLRRLLLRRRRRRRRLRLLRRRLLRRRRRRLLLLRRRLLRRRRLRLLRLLLLLLRRRLRRRRLLRRRLLLRLRRRRRLLRRLLLRRRRRLRRLLRLLRRRRLLLRLRLRLRRRLLLRRLLLLRRLLLLLLLLRRRRLRLLLRLLLRRLLRRLRLLLRRRLLLLRRLLLRRRRRRRRLLLLLRRLLRRRLRLRLLRLRRRRLLLRLLRRRRRRLRLRRRLLRRLLLLLLRRRRRLRLRRRRRLLLRLLRRLLLRRLRRLLLLRRLRLLLRLRLLLLRLRLLLRRRRRLRLRLLRRRRRLLRRLRLRLLLRLRRLRRRRLLRRLLRLRLRRRLLRLLRLLLLLLRRRLRLRRRLLRLLRLRRRLLRLLRLRLLLRRLLRLLLRLLRLRLRRLLLLRRRLLLLRRRLRRRLLRLRLLRRRRRLRRRRRLLRRRRRRLRLRRRRRRRLRRRLRRLRRRLLLLRRLLLRRRRRRLLRLLLRRRLRLRRRRLLLRRLRLRLRLLLLLLLLLRLLLLLLLRRRLLLLRRLLRLLLLLRRRRLLRLRLLLLLRLLRLLLLRLRRRLRLRLRLRLLLRRRLLRRRLRLLLLRLRLRLLRRRLLRLRLRRLRRLLLLRLLRRRRLRRRLRLLLLLLLLLRLRLRLLRRLRRLRLRRRRLLLRRLRRLRLLLRRRRRRRLLLLRRLRLLLLRRRLLLLRRLRLLRLRLRRLRLRRRRRLLLRLLRLLRRLRLRLRLLLRRLRRLLRLRLLLRRRRRRRRLLLRLLLLRLLLRRLRRLRRLLRLRRRRRRRRLLLRRLRRRRLRLLLLRRRLRRRLLRRRRRRLLRLLLLRLLLLLLLLLRRRLLLRRRRLRRLRRLRRRRLRLLLRRRRLRLLLLRRRLRLLLRLRRLRRLLLRLRRLRRRLRLLRLRRLRLRRRLRRLRRLRLRLLRRRRLRRLRRLRRLLLLLRLRRLLLLLRLLRLRRLRRLLRLRLRRLRRLRLRLLRLRRRRLRLRRLLRLLRLRRRLRRRRRLLLRLLLLLRRRLRLRLLLLRLRRRRLLRLRRLLLRLLRLRRRRLRRLRLRRRLRLRRRLLLRLLLLRLLLLRLLLLRLRRLLRLLRRLLRRRLLRLRRRRLRLRLLLLRLLLRLLLLRRRLRRLLRRRRRRLLLRRRLRLRLLLLRLLLLRLRRLLLLLLLLLRRLRRLRRRLLLRRRRLRLLLRRLRRRLRLRRLRRLLRRRRRLLLLRLLLRRRLLLRLLLLRLLLLRRRRLRRLRLLLLRRRLLRLRRRRLLLRLLLLLRLRLRLRLLRLLRLLLLLLLRLRLRRRLRLRLLRRRLLRRRLLRRRLRLLLLLRLLLRRLRLRRLRRRRRLLLRLLRLLRLRLLRLLRRLLLRLRLLLLLLLLLRLRLRLLLLLRLLRRLLLLLLRRLRLLRLLRLRLLRRLLLRRLLLLRRLRRRLLLRLRRRRLRLLLRRLLRRRLRLLLLLLLRLRLRRLRRLRRLLLLLLRRLLRLLRLLRRLRLRLRLRLLLLRLRRRLLLLRRRLLLLLLLRLRLRLRRRRRLLLLRLRRLRLLRLRLLRRRRRRLLRRRLLRRLRRRLRLLLLLRLLRRLRRLRRLLLRRRLRRLLRRRLLRRLRLRLLRRRLRRRLRRRRRLLLRLRLRRLLLLRLLLLLRLRLLLRRLRRLLRLRRLLRLLRLRLLLLLRRLRLLRRLLLLLLLLRRLLRLLLRLRLRLRRRRRRRRRRLRLRLRRRLLRRLLLRLLRLLLLRLLLRRLRRRLLLRRLLRLLLLLLLRRRLLLRLRRRRRRLRRLLLRLLLLRRRRLLLLLLRLRRRRRRRLLLLLLRLRLRLLRRLLLRRLRRLLLRLLLLRRRRLLLLLRLRRRLRLLRLRLLLRLRRRLLLLRRLRLRRLRLRRRRRLLLRRLLRLRLRRLRRRLRRRLLLLLRLLLRLLRRRLLLLLLLRRRRRLRRRLLRLRRLLRLLLLLLLLRLLLRLLRRLLLLLRLRLRLLRRLRLRRLLLRLLLLLLRRLRRRRLRLLRLRLLLLLLLRRLRLRRLLLLLLLLLRRRRLRRLRLLLLRLLRRLRLLLRRLRLRRRLRRRLRRRRRLRRLRRRLRLLRLRRLLLLLRRLLRLRRRLRRLRRLLLRRRRRRRLLRLRLLLRLRLLLLLLLRLLRRRRRRLLLRLLLLRRLRRRLLLLRLRRLRRLLRRLLRRRRLLLRLLLRRRLRRRLRRRLRLLRLLRLRLLLRLLLRLRLRRLLRLLLLRLRRRRLRLLRRLRLRRRLRLLLLLRRLLLRLRRRRRRRLRRRRRRRRLLRRRLRLLLLLLRLRRLLLLRRLRLLLLLRLRLLLRLRRRRLRLRRRRLLLLRRRRLLLRLLLRRRLLLLRLRRRLLRLLRRRLRRRRLRLRRLRRRLRRLRRLRRRRLRRRRRLLRRRLLLLRRRLRRLLRRRRLRLRLRRRLRLLRLRLRLLLRLLLRLLLLLLLRRLLRLRLLLRRRRLLLRRRRRLLLLLLLRLLLLRRRRRLLRLRLLRRRRRLLLRRRRLLLLRRLRLLRLLLLLLRLLLLRLRRRLRLLLRLRLRRRLRRLLRLLRRLRLLLLLRLLLRLRRLLRLLLLRLRRLLRLLRLRLLRLRLLRLLRRRRRLLRLRRLLRLLLRLLRRLLRRRRLRLLLRRLLRLLLLRLLLLRRLLLLRLLLRRLLRRRRRRLRRRRLLRLRRRRLRLRRLRRLLRRLRLLLRRLRLLRRLRRRLLLLRRLRRLRRRLRRRRRLLLLLLRRRLLRLRRLLRRRRLRLRLLLLLLRLRRLLLLRLLRLRRRRLRLRRRRLRLLLRLRRLLLRRRLRLRLRLRLLLRRLRLRRLLRRRRRRRRRLRRLLRLLRLRLRLRRLLLRRLLLRLRRRRRRRLLLRRRRRLLLLRLRRRLRRRLLLLLLLLRRLRRLLRRRLLLRLLRRRLLRRLRLRLLLRLRRLLRRRRLRRLRLLLLRLRRLLLLLRRLRLRRRLLLRRLLLRRRLLRLRRRLRRRRRLRRLRRLLLRLRRRLLLRLLRRRLLRRLLRLLLLRRRRRLLRRLRLRRRLLRRRRRLRLLRRRRLLLRRRLRRLRLRRLLLLLRLRLLRRRRRLRLLRRRRRRRLLLRLLLLRRLRLLLLRLRRLLRLRRLRRLRLRRLLRLLRRRLRRRRRLRRLLLLRLRLRLRRLRLLLLLRRRRRRRLLRLLRLRLLRRRLLRLRLLRRRLLRRRRLLRRRRRRLRRLRLLRLLLLRRLLRRRRRLLLRRRRRLLRRLLRLLLLLRRRLRLLRRRLRLLRRLLRLRRRLRRLRRRRRRRRRLRLRLRRRRRLLLLRLLRRRRLRRLLLLLLRLRRLRLLLLRLRLRRRRRLRRLLLRRLRRLRLRRLRLRLRRLLRRRLLRLLLLLLLRRLRLLRRRLRLRLRRLLLLRRLLLLRLLRLLRLRRLRRRLLRRLLLRRRRLLLLLRLRLRRLLRLLRRRLRRLLLRRLRRLLRRLLRLLLRRLLLLRLRRLRLRLLRRRLLRLLRLRLLRRRRLRRRRRRLLRRLLRLRRLRRRRRLRRLLRRLLRLLLRLRRLLLLLLRRRLLLLLLRRLRLRLLRLLLRLRRLRLLLLRRRRRLRLRRLRLLRRLRRLRRLLLRLLLLLRLLLLRRLRLLLRLRRLRRRRRRLLLLRLLRRLLRLRRLLLLLLLLRLRRLLRLRLLLRRRLRLLLRRLLRLLLLLLLLRLRLRLLRLRLLRRRLRLLLRRLLLRLLLRRLLRRRRLRLLLLRLRRRRRLLLRRLRRLRRRLRLLRLLRLLRRLRLRLRLRRLLRLLLLRRRLRRLLLRLLRRLLRLRLLLLLRRLRLLRLLLLLLLLLRRLRRRRLLRRRRLRRRRLRRLLRRRLLLRLLLLRRLLLRLRLLRLRRLLLLRRRLLRRLLLRRLLRRLLLRRRLRRLLLLRRRRLRRLRRLLRLLRRLRRLLLRLLRRRRLRRLLLRRLLLRRRRRRRRRRRLLLRRLRLLLLRLRRLLLLLRRLRRLLLLRRLRLRRRLRRRRRLLRRRLLLLRLRLRLRLRLLRLRLLLRRLLRRLLRRLLRLRLRRRLRRRLLRLRLRLLLLRLRLRRRRLLLLLRLLRRRRLLLLLLRRRLRLRLRRLRRRRRRRRLRLRRLRRRLLRLLRRLLLLLLRLLRLRRRLLRRLLRLLLRRLRRLRLRLRRLLLRRLRRLLRLRLRRLRLLLLLLRLRLLLLRRRLRRRLLRLRLRLLRLLRLLRLLLLLLRLLRLLLRLLRLRRLLRRRLLLRLRLRRLLLLLLLLRLRRLLRRLRLRLRLRLRLRLLRLRRRRLRRRLLRLLRRLLLLRLLRLRRLRRLLRLLRLRLRRLRLRRRRLLRRLRRRRRRLLRLLLRRLRLRLLRLRLRLLRRLRRLLRRLRLLLLRLRLLLLRRLLLRRLLLRRLLRLLRRRLRRLRRLRLLRLLRLLRLRRRRRLRLLLLLRRRRRRLRLRLLRRLLLLLLRRLLLRRRLRLLLRLLRRRRRRLRRLLLRRRLRLRLLRLRLLLRLRRLRLLLLRLLLLRLLLLLRLLRRRLRRLRLRRRRRRLLRLRRLRRLRLLRLLLRLLRRRRRLLRRRLLLRLRLLRRLRLRLLRRLRLRLRLLLLLLRRRLLRRRRLLRRLLRLRLRLLRRRLRRLLRRRRLRLLRLLRRRRRRRRLRLRLRLRRRLRLRLRRLRRLRLLLRLRLRLRLRRLRRRLLRLRLLLLLRLLLRLLLLRLLLLLLLRRLLLLRLLRRLRRRRLRLLLLLLLRLLRLLRLLLLRRRRLRLRRRLLRLRRRLRRRRLRLRLRLRRRRRRRRLRLLLLLLLLLRRLRRLLLLRRRLRRLRLRLRRLRLLLRRRRRRLLLLRRRRRLLRRRLRRLRLLLLRLLLRLLLLRRRRLRRRRRRRRLRRLLLRRLLLLLRLLRLRLRLRRLRRRLRLLLRLLRRRRLLRRLLLRRLRLRLRRLRRLLLRLRRRLLRRLRLLLRLRRRLRLRLLRRRLRLLRRRLLLLRRLLLLRLLRRRRRLLLRRRLRLLLLRLLRLRRRRLRLLRLLLLLLRRLRRRRLLLRLLLRRLRRRRLLLLRRRRRRRRLLLLLLRRRRLLRLRRRLLLRRRLRLLRLLLLRRLRLRRRLLRLLLRLLRRRRRLLLLLRRRRRLLLLRLRRRRRLLRLRRLLLRLRLRLRLRRRRLLLLLLRLLLLRRRLRLRRLRLLRRRRLLRLLLRRRRLRRLLRRRRRRRRRLRLRRLRLRLRLLRRLRRRLRLLRLRLLRLRRLLRRRRRLLRLRLRRRRRRRRLLLRLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRRRLRLLLLRRLLLRLLLRRLLLRRRLRRLRLLRLLLLRLLLRRLRRRRRLLLLRLLRLLLRRLRRRLRRLRRLRRRRRLLLRLRLLRLLLRRRRLRLLRLLLRRRLLLLLLLLRLRLLLLRLLLLRRRLLLRLRLRLLLLLLRLLLLLLLRLRRLLRLLRRLRRLRLRLRRLRRRLLLLLRRRLLLLLRRRRRLLRLRRRLLLLRLLRLLRLLLLRLRLLLLLLLLLRLRLLLRRLLLLRLRRLLLRRRRLLLLLRLLLLLLRRLRRLRRRLRRLRRRRRRLRRLLLLRRLLRRLLLRLRLRLLLLLLRLRLLLRRRRLRLLRRLLLLRRLLLRRRLRRRRRLRLRRLRLLRLRRLRRLRLRLRRRRRRRRLRLRRLRLLLLRRRRLLLLLRRLRRRLRRRLRRLLRRRLLRRRLRLRRRLLRRRRLLLRRRRLRRRLLLRRRRRLRRRRRRLLRLLLRLLLRLRLLRLLLLLLLRLRLLLRRRLRLLLRLLRRRLLRRLRLLRRRLLLRLRLLLLRRLRRRRRLRLRRRLLRRRLRRRLLLLLLLRLRLRRRLRLRRRRLLRRRLRRLRRRRLLRLRRRLRRLLLRRRRLLRRRLRRLRLRLLRRLRLRLLRLRLRRRLLRLLLRLRRLRRLLLRLRRRRLRLRLRLLRLRLLLLLLLRRLLRLLRRRLLRLLLLRLRLRLRRRRLLLLRLLLLRRRRRRRRRRLRRRLLLRRLRRLLRLLRLRLLLLLRRLLLLLLRLRLRRRRRRLRLRRRLRRRLLRLLRLRLRLRRLRLLLRLLLRRRLLRRRLRLRLLLLLRLLLRRRLRLRLLLLLRLLRLLLLLRRLRRRRRLRLLRLRLRLRLLRLRLRLRLRLRLLLLLLRRLRRLLRLLRLLLLLRRRRLRLLLRRLLLLRLLRRRRRLRRLLRRRLRLRRRLLLRLLLLRRRRRLRLRLLRRLLLLRLLRRRRLLLLLLLRLRRRLRRRRLLRRRRLRLLLLRLLLRLRRRRLRRRLRRLRRRLRRLRLLLLRRLLLRRLLRRLRLLRLLLRLLRLLLRLLLRLLRLRRLRLLLLRLLLLLLLLLLRRLRLRRLRRRLRRLLLRLRLLLLRLRLLRLRLLRLLRRLRLRRRLRLRLLLRLLLLLRLRRRRLRLRLRLLRRLRLLRRRLLRLLLRLRLRRRRLRLLLLRLLLRLRLLRRRRLRLLLRRLRRLRLLRLLLRRRRLLRLLLRLLRRRRLRLRLRLRRLLLLLLRRRLRLRRLRRRLRLRRLRLRLLLRLRLLLLRLLRLRRLRRRLRRRLRRRLRLRLRLRRRLLLRRRRRLRRLLLLLLLRLRLLRLRLRLLRRLRRLRLRRLLLLRRRLRLRRLLRRRLRRLRRLLLLRRRLRLRLLLRRLRRRLRRRRLRRRRRRLRRRLRRRRLLRRRRLRRRRRLRRRRRLRRRLRLLLLRRLLRRRRRRLRRLLRRRLLRLRLLRRRRLLLRRLRRRLLRRLLRLRRRRLRRLRRRRLRLLLLLLRLLRLRRRLRRLLRRLRLRLLLRLRRLLLLRLRRRRRRLLRRLLRLRRLLRLLLLRRLLRRLLRLRRLLLRRLLRRRLRLLRLRLLLLRRLRRRLLLRRLRLLLRRRLRRLRRRRLRLRRRLRLLLRLRRRRRLRLLLLRRLLRRRLRRLRRRRRRRLRRLRRRLRLLRRLLRLLLRLRLLLLRLLLRRRRRRLRLLRLLRRLRLRRLRRRLRRLRRLRLRRLLLLLLRLLLRRLRLRLRLRRLRLLRLLRLRRRLLLRLRRLLRRRRRLLRRRRLLRRLRLLLRRLRLRLLLLRRLRLLRLLLLLRLLRRRRRLRRLRLLLLLRLLLRLRLLRRRRLLRLLLLRLRRLRLRRLLRLLRRLRLRLLRLRLRLRLRRRRRLRLLLLLLLLLLRRLLLLRLLRLLRRRRRLLLRLRLLRRLRRLLRRRRRLLRLRLRLLRLRLRRRRLLLLRLRRRRRLRRRRLRLRRRLRLRRRRLLRLRLRLRLLLRRLRLLLLLLLLRRRRLRLRRLRLRLRRLLLRLRRRLLRLLRRRRRLLRLLRRRRRLRRLRRRLLLRRRRLLLLLRRLLLRRRLRRLRRLRLRRLLRRLLLRLRLRRLLLLRRLRRRLLLRRLLLLRLLLRRRLLLRLRLRRRRRRRLRLRRRRLLLRRLRLLLRRLRLRRRLLRRRRLRLLRLLLRLRLLLRLLRRLLLRRRRRLLLLRRLRRLLRLRRRRLRLLLRRLRLLRRLRRRRRRRLLRLLRLLLLRRLLLLRRLRLLLLRRRRLLRRLLRLLLRLRRRRRRLLRLLLLLLLLRRLRRLLRRRLLRLLLLRLLRRRRLLLRLRLRRLLLRRLRRRLLLRLLLLRLLLRLRLRRLLRRLLLLRLLLRLRRRLLRRLLLRRLRRRRLRRLRRRRLRRLRLRLLRRRRRRLLLRLLLLRRRRLRLLRLRRLLLLRRRRLLLRRLLRRRLRRRLRLLRRLRLLRLRRLRRRRLLLRRLRRRLRLLLRRLRRRRRRLRRRLRLRRRRLLRLRRRLRRLRRRRLRRLLRRRLRLRLRLLLLLRLRRRRRLLRLLLRRLLRLLLLRLRRLLLRLRLLLLRLRRRRLRLRRLRRLLLLRRLRRRRLLLRRRRLRLRLLLRLLLLRRLLRLLRLLLRRLRRRLLLRLLRLLRLRLRRRRRLLLRLLLLLRLLRRRLRLLRRLRLLLLLRRRRLRRLLRLRRRLRLLRRLRRRRRLLLLRRLLLLRRLRRLLRLLRRLLRRLRLLLRRLRRRRRLRRLLRRRLLRLRLRRRRLLRLLLRRRRLLLRRLRRLLRRLRLRLRLRLRLRRLLRRRRLRLRLRRLRRLRRLLLRRLRLLLRRRRLRRRLRLRRLLRLLRLLRRRRRRRRRRLLLLLRLLRRLLRRLLRLLLLLLLRRLRRLLRRRRRLLLRLLLLLLRLRRLRLRRRLLRRRRLRRRLLRRLLRLLLRRRLLLRLRLLLLLLRRLRLLLLRRLLRLLLRRRLLLLRLLLRLRLRRLLRLLLRRRRRRRLLRLLRRRLLRRRRRRLLLRRLRLRLRRRLRRLRLLLRLLRRRRRRLLLLRLRLLLRLRLRRRLRLRLLLRLRRLLRRLRRLRRRRLRLLRRRLLRRRRRRLRRLLLLLLLLLLLLLLRRRRLLLLLRLLRRRLRRRLRLLLRRRRLLRRRLLLRRRLRRLLRLLRRRRLLRRRLRLRLLLRRLLRLLLLLLRLRRRRRLLRRLLRRRLLLLRLRRRRRLRLLRRLRRLLRLLLRLLLRRLLRRLLLRRRRLRRRRRLLLLRLRLLRLRLRLLRLRLRRRLRRRLRRLRRRLLRRLRLRRRLRLRRRLLRLRLRRRLLRLLRLLLLLLRRRRLLRRRRLLLLRLRLLLRLLLRRLRLLLRLRRRLLLRLRLRRRRRLLLRRRRLLLRRRLRRRRLRRRLLRRLRRLRLRRRLLRRRRRRLLRRRRRRRRLRLRLLRLLRRRRLLRRRLRRRRRRLLLRLLRRRLRRLRRRRLLLLLLRLRRRLRLLLLLLLRLLLLRLRLRRLLLLRLLLLLRLLLLRRRLRLLLLLLRLRLRLRLRLRLLRLLRLRLLRLLRLLRLLLRRLRRRLLLRLRRLLLLRRRLLLRLRRLRLLLLLRLRRRRRLRLRLRLLLLLLLLLLLRLRLRRRRLRLRLRLRLLLLRRLRLLRRLLRRRRRRRLRLLRLLRRRLRRLRRLRRRLLRRLLRRLLLLRLRRRLRRRLRLLRLRRLLRLRLRLLLRRLRLLLRLLLLLRRRRLRRRLRLRLLLLRRLLRRLRLLRRLLLLLRRRRRRLLLLLRLRRLRLRRLLRRRRRRRRRRRRRRRRLLLLLLLRRRRRLRLLRRLLLLLRRLLLLRLRRLRRRRLRLLLRLRLLRLRLLRRRLRLRLLRRRLRLLRLLLRLLRRRLRLLRLRRLRRRLRLLLLRLRRLRLLRLRRLLRLRRLRRRRLLLRLRRLLLLLRLLRRRLRRRLLRLRLLRRLLRRLRLRRLRRLRLRLRRLLLLRRLRRRRRRRRRRLRLLRRRLRRRLLLLRLLLLLLRRRLLRLRLLLRRLLRLLRRLLRRLLLRLRLRRLLRRLLLLLLRRRLLLRLLRLRRRRRLLLLRRLLRLRLLRRRRRRLRLRLRLLRLRLRLLLLRRRRRRLLRRRLRLLLLRRRLRLRLLLLRRLLLLLLRRLRLLLRLLRRLRRLRRRLLLLRRRLRLLLRLLLRRLRLRRLLLLLRRRLRRLLRLLLLRRLLLLRLRLLRLLLRLLRRRRRLRLLLLLRRRRLLRRLLLRLRLLLLLRLRRLLRLLRLRRLRLLLLRRLRLRLRLRLRRRRRRLLRRRLLRRRLLLLLLLRRRLLRLRLRRRRRLRLRRLRRRRRLLLRLLRLRRRLLLRRRLRRLLLLRLRLRLRLLLLLRLRRRLRLRRLRRLRRRLLLRLRLLLLLRLRRLLLRRRLRLRLRLRLRLRRRLLRLRLLLRRLRRLLLLLLLRLRLRRRLRRRLLRRLRLRRLLRLRRLLRLLRLLLRLRLLLLLRLRRLLLRRRRLLLLLRLRRRLRLRRLRLLLLLRLRRLRLLRRLLLRRRLRRRLRRRRLRRLRRLRRLLLLLLLLRRLRLLRLLRLRRRLRRLRRLLLRRRRRLRLLRLRRRRRLRRRRRLLLRLRLRLLLLLRLLRLLLLLRLLLRLRLLLRRRRLLRLLRLLLLLRRRRLLRRLLLLLLRRLLRRLRRRLRRLRLRLRRLRRRLRLRRRLRLLRRLRRRLLLRLRRLLLLRLLLRRLLRLRLRRRRRRRLLLLLRRRLLLLLLLLRRRRLRRLLLRLLRLRLRLLRLRLLRLRRRRRRRRLLLLLRLRLLRLLRLLRRLLRRLLLRLRRRRRLRRLRLLRLRRLLRLLRLRLRLRLRRRRRRLRRLLLRRLLRLRLRRLRLRLLLRRRRRRRRRRLRLRLLLRLRLLLRLLRRRLLLRLLLLRRRLLRRRLRRLRRLRRLLLLRLRRRLLLRLLRLLLLLLRLRLLLRRRRRLRRLLRRLRLLLLRLRRRRLRRLLLLLLLRLLLRLRLRLRRLRLRRLLLRRRLRLLRLRLLLLRRLRRLRLLLRRLRLRRLLLRRLRRLRRLLLLRRLLRLLRLRLLLLLLRRLLRLRLRLLRLLRLRLLLLRRRLRRRLRLLRRLRLLLRRLRRRLLRRRLLLLLRLLLRRRLRRRLLLLRLRRLLRLLLRLLLRRLLLLRLLLRRRLRRRLRRRLLLLRRRLLRLLLRLRLRLRLLLLLLLRRRRLRLLLLLLLLLLRLRRLRRLLRRLRRRLLRRRRRLRRRRRRLRRRLRLRRRRLRLRLRLLLLRRLRLLRRLRRLLLRLLLLLLRLLRLRLLLLLLLLRRLRRLRLRLLRLLRLRLLLRRRRLRRLRLLRRRLRRLLLRLRRRRRRRRRLLRLRLRRLRLRRRRLLRLLLLLRLLRRLLRRRRRLRLLLRRRRLLLRLLLRLLLRLRLLLLLLLRLLRLLLLRLLLRLLRLRLRRRLRLLLLLLLRRRLLRRRRRLLRLRRRRLRLRLLRLLRRRLLLRLLRLLRLLLLLLRLLRRRRRRRLRLLLRLRLRRRLRRRLRRLRLLRLLLRLLRLLLLLLLRLLLLLLRRRLLRRLLLRLLLRRLLRLLRRRRRLLRLRRLRRLLLRLLRRLLLRRRLRLLLRRRLLLLLRRLRLRLRLLLLRRLLLRLLRRRRRRLLRRRLLRLRRRLLLLRLLRRLLRRRRLLRLLLRRLRRLLRLLLLLRRLRRLLRRLRRRRLLLLLRLRRLLLRLLRLLRLRRLLRLRRRLLLRLRRRRRLRRRRLRRRRLRLRRRRLRLLRRRLRLLLRRRLRLRLLRRRLLRLRLRRLLLRRRLLRRRRLRLLLRLLRLLRRRLRRLLRRLLRLRRLLLRRRLRLRRRRRLLRRLLRRRLRRLLLLLRLLRRRRRLLLRRRRLRRLRRRRLRLLLRLLRLLRLRRLLRRLRRRRLLLLLLRLLRLLLLRRRLRLRRRLLRLRLLLRRRRRLLLRRLRRRRRLLRLRRLLLLRRRRRRLLLLRRLLLRRRLLLLLRRLRRRRRLRLRLRRRRLRLRLRLRLLRRLRLLLRRRLLRLRLLRLRLLLRRLLLLRLLRLRLRRRRRLRRLLLLLRRLLLLRLLLLLLRLRLRLRRRRRLRRRRRLRLLLRRRRRRRLLRRLRLLLLRLRLRRRRLLLLLRLRRRLRLLLLLLLRLLLRRLLRLRRLRRRLRRLRLLLRLRLRRLRRLRLLRLRLLRRLRRLLRRLLLRRRRRLLRRLLRLLLLLLRRLLLLRRRLRRRRRLLRRRRRLRRLRRLRRRRRRLRLRLLRRLRLRLLRRLRRRRRRRLLLLRRLLRRRRLLLLRRRRRRRRRRRRRLLRRLLRLRLRRLRLLRLRLLRRRRLRRRLRRLLRRRRLLRRRLRLRLLRLLLRRLLRLLRRRRLLRRRRLRLLRLRRLLRRLLLRLLLLRLRLRRLLLRRRLRRRRLLLRRLLRLLRRRLRLLLRRLRLRRLLLLLLRRLRRLLLRLLRLLLRLRRRLRRRLLRLLRRLLRLRRRLRRRRLLRRLRLLRRLLLRLRRRLRLRLRRRLLLLLLRRLRRRRLRLLLRLRRLRLLLLRRRRLLRRRRRRLLRLLLRLLRLLRLLRLRRRLLLLLRRRLRLRLRRLRLLLLRLLLLLLLRRRLRRRLLLRLLLLLRLRRLRLLRLRLRRRLRLRLRLLLRLLLLLRLRRLRLLLLRLRLLLRRLRRLLRRRLRLLLLLRRRRRRRRRLLLLRLRLRRRLLLRLLRLLRRRLRLRLLRRLRRRRRRLRRRLRLLRRLLLRLLLRRLLLRLLRLLLLRLLLLRRLRLRLLRLLLRLRLLLRRRLRRRLRRRRRLRLRRLLLRLRRLLLLRLRLRRRRRLLLRLLRLRRLLRLLRLLRRRLLLRRLRLRRLLLRLLLRRLRLRRRLLRRLRRRLLLLLRLRRLLLRLLRLRRLLRLLLRLLLRRRRRRRLRRRRRLLRLLRLLLRLLLLRRLLLRLLLRLLLLRLLRLRRRLRRRRRLLRRLLLLRRLRRLLRLRLLRLRLLLRRLRRLRLRRRLRLRLRRLLLRRLLRLRLLRLLLRLRLRRRRLLLRLRLRRRLRLLLRLLRRLLRRRLRLRRRLLRRRRLRRRLLRRLRLLLRRRRLLRLLRLLLLRRRLRLRRRRRLRLRLLLLRRRLRRLLRRRLRLLRRLRRRRLRRLLLLLLLRLLLRRRRLRRRLLRRRLRRLRLLLLLRLLLLLLRLRLLRLRLLLRRRLLRRRLLLRRRRRRLRRRLRRLRLRLLLRRRRLRLRLRLRLRLLLLRRLRLRRLLLRLLLRRLLRRRLRLRRLLRLRRLLRLLLLRLLLRRLRLRRRLRRRLLRLRRLLRLRRRLRLLLLRLRLLLRLLLRRRRLLLLRRRLRRLLLRRLLLRLLLLRLLRRLLRRLLRRRRRLRLLLRLRLLRLRRRRLRLLRLLLRRRLRRLRRRLRLRLLRRLLRRLLLLLRLLLRLRLRRRRRRRLRLRRLRLRLRLRLRRLRRLLRLRRLRLLLLLRLLLRLLRRRRLRLRRLRRLRRRRRRLRLRRLRRLRLRRLLRLLLRRRRRLRLLRLRRLLLLLLLLRRRRLLLLRRLLLRLRRLRLLLRRRLLRLRRLLRLLLRLRLRRLLRRLLRLLLRRRRLLLRLRLRLRRLLRRRLRRRLRRRRRLLLLLLLRLRLLLRLRLLLLLRRLRRRRLRLRLLLRLLLLLLLLLRRRLLRRLRRRRLLRLRLRRLLLRLLRRLLLRRLRLRRLLRLLLLRRRRLLLRLRRLRLRRRRRRRRLRLRRRLLLRRRRRRLRLLRLLLLLLLRLLRLLLLRRLLRLLRLRLLRRRLLLRRLRRRLLLRRRLRRLRRRLLRRLRLLLLRLLLRLLRLRRRRLLRRRRLRRLRLRLLLRLLLRLRRLLLLRRRRRRRRRRRLLRRLLRRRRRLRRRRRRRLRLRLLRLRLLLRRRLRRLRRRRRLRLRLRLRRRLRLRRLRLRLLRLRLLLLRRRLRLRLLRRLRLLLLLRRLRLLLLRLLLLLRRRRRLRLRLLLLLRRLRLLRLLLRLLLRRRLRRRLLRLRRRLRRRRLRLLLLLRRRLLLLRRLLLLRRRLRLLLLLLLRRLRLRRRLLRLLLRLLRRRRRLLRRLLRLRRRRLLRRRLRRRLLRLLRLLRRRRLRLLLRRRRRLRLLRRLLRLRRRLRLLLLRRLRRRLRRRRLRRRRLRRRLLRLLRRRRRRLLRRLLRLRRLRLRRLRRRLLLLRRRLRRLRRLLRRRRRLRRLRLRRRLRRRRLLLLLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRLLLLLRRRRLLLLLLLLRRLLRLRRLRRLRLLRLLLRLLLLRLLRRRRRLRRLLLRRLLLRRLLLRRRLRLRRLLRRRLRRRLLLRRLRLRRRRLRLRRLRLLRLLLRRLLLLRLRLLLLRRLLLLRRRLLLLRLRRLLLRLLLLRLRRLRLRRLLRLLRLLRRLRLRLRRLRRLLLLLLLLRLLLLLRRRLRLRRLRRLLLLLRLLRLRRLRLRRRRLLLRLLLLLRLLLLLLRLLLLLRRLRLLRLLRLLLLLRLRLLLLRRLRRLRRRRLLRRRRRRRRRRLLLLLRLLRRRLRRRRLRLLRLLLRLLLRRLLRLLLLLRRLLLLRRRLLRLRLLRRRRRLRRRRRLLRLLLRRRLRLRRRLLRRRRRLLLLRRRLLLLRRRRRLRRRRRLRRLLRRRRRLLLRRRLLLRRLRLRLLLRRLRRLRLRRRRLLRRLRLLRLRRLRLRRRRLRLLRLRLLLRLRRLLLLLLLLLLLRRLLRRLLRRRRRLRRLLRLRRLRRLRRRLLLRLRLLRLRRLLRRLRLRLLRLLLRRRLRRRLLRLLLRRRLLRRRRRLRRRRLLRRRLRLLRLRRRLLLLRLRRRLLRRRRRRLRLRLRRLRLRRLRRRRRRLRLLRLRRLLRRLLRRRRRRRRLLLLLRRRRLRLRLRLLLLRRLLLLRRRLLRRRLLRRLLRLLLLRLLLLLRRRRLLLRRRRLLRRRLRRRRLRLRLRLLLRRLRRLLRRRLRLLLLLRLRLLRLRLRLRLRRRRRRLRRLRRLRRRLRRLLLLLLRLRRLRRLLLLRLRRRRLLRRLLLLRLRLLRLLLLRRLRLRLLLRLRRLRRRLLLRRLLRRRRLLLRLLRRLRRLLLLRLRLLLRLLLRLLRLRLRRRLLRLLLLLRRRLRRRLRLRRRRLLLLRLLRRRRRLLRLLRRRLLLRRLRLLRRLLLRLRRRLRLRLLRRLLLLLLLRRRLRLLLRLRRLRRRLRLLRLLRRRRLRRLLLRLLRRLRRLRLRLRLRRLRRLLRRLLLLLLRRLRRRLLLRLLRRLRLLLRRLRLLLRRLLRRLRRLRLRRLLLRLLRLLLLLRRLRRRRLRLRRRRLRLRLRLRRLLLRRRLLLRLLLLLLRLLRLRRRLLLLLLLRLLLLLRLRRRRRRRRLRRLRRRRLLRRRLLRRLLRLRLRLRLLLLLRLRLRLRRLLLRRRRRRLLLLRRRLLRRLRLLLRRRLRRRRLLRRLRLRRLRRRRRRLRLLLLLRLRRRLRRLLRRRLRRRRRLLRRLLRLRLLLLRRLRLRRLRRLLRRRLLRRRRLRLRRRRRLRLRLRRLLRRRLLRLLLRLLRLRLLLRLLRLLRRLRLLRLLLLRLLRRRRRLLLRRLRRRRRRLLLRRLLRLRLRLRRLRLRLRRLRLRRRRRRLRRRLRRRLLLLRLRLRRRLLLRLRLRLLLRLLLRRLRRRLRLLLRRLRRLLRRRLLRLRLRRRRRLLLRRLRRRLLRRLRRLRRRLRRRLRRLRLRRLLLLLLLLRLLLLLRLLLRRLRLRLLRRLRLLLLLRLLLLRRRLLRRLRRLRRRLLRLLRRRLLRRRLRLRRLLLRRLLLRRRRLLRLRLLRLRRLRLRLRLRRRRLLRRRRLRRLRRRRLRLRRRLRLRLLLRRRLRLRLLLLRRRRRRLLRRLRRLRLRLLRLLRRRRRRLLRLLRLLRRLLRLRLRLRLRRRLLRLLLRRLLRRLLLLRRLRRLRRRRRLLRRRLLRRLLRLLLRRRRRLRRLLRLRLLRLLRLRRRLLLRLRRRRLRRRLLRLRRRLLRRLLRRRRRLRLRRLLRRRLRLLRLRLLLLLLRRRRRRRRLRLRRLRRLLLRLRLRRRRLLLRLRRLRLRLLRLRRLLRLLRLLRLRLLLRRLRLRRRRRRRRRLLLLRLLLLLRRLLLLRLLRLLRRRRRLLLLLRLLRRLLLRLRRRLRRLRLRRRLLRLRRLRRLRLLLRRRLRLRRRLRRLRLRRRLLLRRRRLRRLRLLLRRLLLRRRLRLLLLLLRLRRLRRRRRRLRRRRLRLRLLRRLRRLLRRRRLRLRLLLRRLRLRRRRRRLLLLRRRLLLLLRRLLLRRLLRRLRLLRLRRLLRRLLLRLRRRRRLRRRRLLRRLRLRRLLRLRLLRRRLLLLRLRRRRRRRRLLLRLRRRRLRRRLRLRLRRLRLLRRLRLLRRLRLLRLRRLLRLRLRLLRRRLRRLRRRLLLLRRRRRLLRRRRRLRRRLLRRLRLLLRLRRLRRRLLLRLLRRLLLRRLRLLRRLLLLLLRRRRLLRRLLRLLLRLRRRRRRRLRLLRLLLRLRRRRRLLRRRLLRLLLLLLLLRRRRLLRLRLRRLLRRRLRRRLRLRLLLLRLLLLLLRLRLLRRLLRLRLLLLLRRLLRLLRLLRLRRRRRLRLRRRRRLRRLRLRLLRRRLLLLLRRLLRLRLLRRRLLLRLRLLRLRLRRLLLRLLLRRLLLLRRRRLRLLRLRRLLRRRLRLRLLLRLRRRLRLRLRRLRRLLRRLLRRLRLRRRRLLLLRRRRRRRLRLRRRRRLRRLLRLRRLRLLLLRLRLRRRLRRLLRRRRLLLRLLRRRLLRLRLRLRLLLLRRRLRLLRRLRRRLLLLRLRRRRRRLLRRRLRLRLLLRLLLRRRLLRLLLRLLRRLRRLLLLRLRRRLRLLRRRRRRLLLRRLLLLRLLRLLLRLLLRLRRLLLLLRLRRRRLLRLRRLRLRLRLRLLRRRLLLLRRLLLRRRLLRRLRLLRRRRRLLRLLLRLLRRRRLRRRLRRRRLRLLRLRRLRLLRLLRRRRRLRRRLLRRRRRRLRLRLRRRRRLRRRLLRRRLRRRRRLLRRLRRRLRRRLRLLLRRLRRRRRLRRRRLLRRLRLLRRLLLRLRRLRLLLLRRLRRRLLLRLRLLLLLLLRRLRRLLRLRRRLLLRLRLLRRRLRRLRRRRRRLRRRRLLRRLLRRLLRLLLLLLLLRRLRLLLRLLRLLLLLRLLRLRLLLLRRRLRLRLLLLLLRLRLLLLLLRLRRLRRRLRLRRLRRRLLLLRLRLRRRRLRLRLRRRLRRLRRLLRLLRLLRRRLLLLLLRLLLRLRLRRRRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLLLRLRRRRLRLRRLRLLRLLLRLLLRLRRLLLLLRRLRLRRRRLRRRRRRLRRLLRRRRLLRRRLRLLLRLLRRLRRLRLLLRRLLLLRRLLLLRLLRRLLRLRLRLRRRLRRLRLRRLRRLRLRLLRLLLRLRRRLRRRLRRLLRRLLRRLRLRLRRRRRLRRLLRLLLRRRRLLLRLLRLLLRRRLRRRRLLLLRRLLRRRRLRRLLRRRRRRLRLLLRRRRRLLLLLLLRLLLRRRLLRLLRRLLLLLRLLLRLLLRRLRRLLLRRLRLLLRRRLRRRRRLRLRRLRRLLRRRRLLLRLRRRRLLLLRLLRLRLRRLRLRRLRLLRLLRRRLLLLLRLLRLLRRRRLLRRRLRLLRRLLLRRRLRRRLRRLRLLLRRLLLRLLRRLLRLLLRRLLRLRRLRRRLRLLLRLRLLLLRRLRLLLRLRRLLLLLRRLLRRLRLRLRLLRLLRRLLLRLRRLLLLLLRRLRLRLLRRRRRLLLLLRRLLRRLLLLRLRRLLLLRRRRRLRLLLRLLLRLRLLRLLRRRLRRRRLLLRLRLRLLRRRRLLLLRRRLLLRRRRLLRLLRLLRRRLRRLRRLRRLLLLRLLRRLLLRRRLRLLRRRLLLLRLRRLLRLRRLRLRLLRRLLRRLLLLRRLRLLRLRRRLRRRLLRRLLRRLRLRRRLRLRLLRRRRRLLLLLRLLLLLRRRRLRLRRRRRLRRLLLRLRRLLRLLLLRRRRLRLLRLLLRLLLRLLLLLLRLLLRRRLLRLLLLRLLRLRLLLLLLRLRLLRRRRLLLRRLLLLLRLLRLRLRRRRLRRRLRRLLRRLRLRRRRRLLRLLRLRLRRRRRLRLRLRRRLLRLRRLRRRLRLRLLRLRLLRRLLRRRRRRLLRRLRRRLLRLRLRRRLLRLRRRRLRRLRLRRRRLLRRRLLLRLRLLRLRRLLLLRLLRLRLRLRRLLLLLRLRLRRLRLRRLLLRLLLRRRRRRLLLRLLRLRRLRRRLLLRRRLRLRLLLRRRLLLRRRRRLLRRRLLLLLLLRRRRRRLRRRLLLLRRRRRLRRLLLLLLRLRLLRLRRLRLRLRLRRRLLLLRRRLRLLRLLLRRRLRLRLLRRRLRRRLLRLLRRLRRLLRLRRLLLLLRRLRRRLLRRLRLLRRRRRLLLLLLLRRRRLLLRLLRRLRLLLLLRLRRLLRLRRLRRLRLRLLRLLRRLLRLLLLRRRRRLLRLRLLLRRLLLLLLLRRRLLLLLLRLRRRLRLRRLRRRRRLLLRRLRLRRLLLLLRRRRRLRRLRRLRRLRRRLRLRLRRRLRRRRLLLLRRRLLLRLRLLLLLRRRRLLLRLRLRLLRRLLLRLRLRLRRLRLRRLRLRLRLRLLLLRRLLRRRLRRLLRRRLRLLRLLRLRRLRRLLLRLRLLRLRRRLRLLRRLLRLLRLLRLRRLLRRLRLRRLLLRRLLRLLRLRLRRRLRRLRRLLRRLRLRRLRRRRRLRLLLLLLLRLLRRRLLLLLRRRLLRRRRRLLLRRRRRRLRRLLLRRRRLLRRRLLLRLRLRRRLRRLRRRLRRRLRLRLLLRRLLLLRRLLRLLRLRLLLLLRRRRRLRRLLLLLLRRRLRRLRRRLRLRLLRLLRLLRRLRLLRRLRLLLRLRRRRRLLLRLLRLRRRRLRRLLLLRLRLRRRRRLLLLLRLLLRLRLLLLLRRRLLRRRLRRLRRRLRLLRLRLLRLRRRRRRRRLRLRRRLRRLRLLLRLRLLLLRLLLRLRRRLRLLRLRLLLRLRLRRLLRRLLRLRRRRLRRRLLLRLLRRLLRLLLLLLRLLLLRRRRRRRRRRRLLLRRLRRRRLLLRLLLRRLRLRLLLLRRLLRRLLRRRLLLLRLRRRRRRRRRRRLRLRRLLRLLLRLLLLRRRLRRLLRLLRLLRLLRRLLRRLLLRRLRLLLLLRLLLRLLLRRRLRRLRRLLLRLLLLRLLLRLLLLLRLRRLRLRLRLLLLRRLLLRRLRRLRRLLLLRRLLRRLLLLLLLRLRRRLLLRRLRLLRLLLRRLLLLRRLLRRLRLLLRRLRLLLRRRRRRLLRRRLLLLLLLRLRRRRLRLRLRLLLRRLLLRLLRRLLRRLLLLLRLRRLLLRRLRRLLLLRRRRRLLRLLLRRRRRLRRLLLRLRRRRRLLLLLLLLRLLRLLRLLRRRRRRLRLRLLLRRRRLRRLRLLLRLRLLRRLLRLRLRLRLLLRRLRRLRRRLLRLRRRLLLLLLLLLLLLLLRLLLLLRRLRRLLLRLLRLRLLLRRLRRRRLLRLRRRLRLLRRLLLLLLRRLRLRLLRLRLRLLLLRLLLLRRLRLLLRLRLLRLLRRRRRLLRLLRRRRRLLLRRLLRLLRRRRLLLLLRLRLLLRLLLRRLLRLLLRRLRLRLLLLRRRLRRRRLLRRRRLLLRRLRRLLLLRLLRLLRLRLRRRLRRLLRRLRLLLLLLRRRRRRRRLLLRLLRLRRRLRLRLRRLRLLLLRLRLLRLLLRLLLRLLLRLLRRRLRRRRLRRLLLRLLLLLLRRLLLRLRLRRLRLRLLLLLLRLLLRRRLRRRLRRRRLRLLRRLRLRLRRLRRLRRLLRLRRRLRRRRLRRLRLLRRRLLRLRRLLLRLRLLRRLRRLLLRRLRRLLRLLRLLRRLLRRLRLLRLRRLRLLRRRRRLRRLRLLLLRLLRLLRLRRRRLLLRRRRRRRRRRRRLLRRLRRRLRRLRRLRLRLRRLLLRRLLLLRLRLRLLRLRLRRLLLRRRLLLRLLLLLLLLRLRLLRRRLRRLRRLLLRLRRLLLRRLLRLRRLLRLLRRLLRRRRRLLRRRRRLLRRRRRLLLRRLRLRRRRRRLLRLLLRRLRRRRLRRRRRRLLRLRRLLRLRRLLRRLLLRRRRRLRLRLLRLLLRLLRRRRLLLRRLLRRRRRLRRLRLLRLRRRRRRLLRLRLLLRRRRLLLLLRLLRRRRRLRLLLRLRRLLLLLRLRLLLRLRRLLRRRLLLLRLLRLRLLLRRLLRLLLLRLLLRRLRRLLRRLLLRRRLLLLRLRRLLLLLRLLLRRRRLLRRLRRLLRLLLLRRLRRLLRLLRLLLLRLLLRRRRLLLRRLLRLLLRLLLRLLRRLRLRRLLRRRRRRRRLRRLLLRRRLLLRLRRLRRLRLLRLLLRRRRLLRRLLLLRLRRLLRRLLRLRLLRLRLLLRRRRLLRRRRRRLRRRLRLLRLLRLRRRRLRRRRRLLRLLLLRLRRRLRRLRRRRLLLLRRLLLLRLLLLLRRLRLLLRRRLRRLRRLLLRRRLLRRRLLRLRLLRRLRLLRRLRRLLRRRRRRRRRRLLRLLLLLLRLLLRLRRRRRLLRRLRLRLLRLRRLLRLLLLRLLLLRLLLRLLLLRRLLLRRRRRLLRLLLLLRRRLRLRLRLLRRRRLLLLLRRRRLRLLLLRRLLLLRLRRRLRLRLLLRLRRLLRRRRRLRLRRRLRRRLLRRRRRLRRRLRRRLRLRRRLLLLLLLLLRRLRLRRLLRRLLRLLRLLRLLLLRRRRRRRLLRLLLRLLLRLRLLRLRRRRRLLLRRLRRLLLLLLRLLLLRLRLLLLLRLRLLRRLLRRLRLLLRRRRLRLLRLRLRLLLLRRLRLLLRRLLLLRRRLLRRLLRLLRLLLLRRLRLRRLRRRLLRRLRRRRRRRRRLRLLLLLLLRRRRRRLLRLRRRRLRLRLLRLLRRRRRRLRRRLRRLRRLLLRLLLLLLRRLRRLLLLLRLRLRRRLRLRLLRLLRRLRLLRLRRLRRRLRRRRLLRLRLLLLRLRRLLLRRRRRRRRRRRLLRLLLRRRLRRLLRLLRRLLRLRRLRLRRRLLLLLLLRLRLLLRLLLRLRLRRLLLLRRRRRLLRRLRLRRRLRRLLRLRLRLRRLRRLLLRLRLRRLLRLLLRLRLLRRLLLRLLLLLLLLRLLRRLLRRRRRLRLRRLLRRLRLLLRLLLRRRRRLRRLRRLLRRLRRRRRLRLLLRRLLLRRRRLRRLLRLLLLLRRLRRLLRLRLRLRRRLRLLRRLRRRLRRRRLLLRLRLLRLLLLLRRLLLRLRLLLRRRRRLRLLRLRLRLLRLRLRRRRRLRLLLLLLRRRLRRRRRLLLRLRRLRLRRRRLRRLLLLLLLRLLRRRLRLRRRLLRRRRRLLLRLRRLRRLLLRRLRLLRRLRRLRRRRRLRRLLLRRRRRRRRRRRRRRRLRLRLLLRLRRLLLRRLRRLRLLRRLRLLRLRLLRRLLRRLRLRLLLRRLLLLRRRLRLLLLRLLRRRLLLRRRRLLRLLLLRRLLRLRRRLLRRLLLLLLLLRRLLRRRLRLRLRRLRRRRLLRLLLRRLRRRLLLRRLLLRLLRLRRRRRLRLRRRRLRRRLRLLRLLRLLLLRRLRRLRRRLRLLRRRRLRRRLRLLLRRLLRLRLRRLRLRRLLLRRLRLRRRRLLRRLRRLLLRRLLRLRLLLRLLLRRLRRRLRRLLRRRRRRRLRRLLRLRRRLRRLLRRLRLLRRLRRRRLRLLRLRRRRLLLLLRRRRRRLRLRRRLLRLLRLRLLRRRLLLRLRLLLLLLLLRLLLRLLLLLLRLLLRRRRLRRLRRLLLRRLLRRLRRRLLRRRRLLLRLLLLRRLLRLRLRRLLLRRLLLLRRLRRRRLLRRLLLRLLLLRRRLLRRLRRRRLLRLRLLRLLLLLRRRLRRRRLRLRLLLRRLLRLRLRRLLRLRRLRRRRRRLRLLLLRRRRRLLLRLRRRLLLLRLRLLLLLLRLRLLRLRRLRLLRRLLLLRRRRRLRLLRRRLLRRRRLLRLRRLLLRLLRRLRRRRLLRLLRLLLLRLLLRRRLLLLLLRRLLRRLLRLLRLLRLRRRRLRRLLRRRLRLLLLLRRRLRLRRRRLRLRRLLRLRLLLRLRLLRLRRRRRRRLLRRLLRLRLLRRLLRRLRRLRLRLLRRRLRRRRRLRLRLRLLLRLLRRLRRRLRLLLRRRRLRRLRLLLLLRRLRLLRLLRRRRLLLRLLLLLRRLRRRLRRRLLRRRLLLLRLRLLRRLLLLLLLRLRLRLLLLRRLRRRRRLLLRLLLLRLRRRRRLLRRLLRLLLRRRRLRRLRLLRLLLLRLLRRRRRRLLLRLRRRLRLRRRLRRRRRLRRLLLLRRLRLLLRRLRRRLRLLRLRLLLLLLLRRRLLLRLLLRLLRLRRRRLLLRLLLLRRRLRRRRLLRRRRRRRRRLRRLRRLRLRRLLRLRRLRLRLLLLRLRLRLLRLRLLRLRRLRRRRRLRLLLLLRRRLLLLLLLLRLRLLRLLLLRRRRLRLRLRRLLLLLLRLLRRLRRRLLLRRLLLRRLLLLRRLRLLRLLLRLRRRLLLLRRLRLRRLRRLLRRRRLLRLLLRRLLRLRLRLLLLRRRRRLRRRLLLLLLRRRRLRRLLLRLRRLLLRLLLLRLLLLLLLRRRLLRLRLLRLRLRLLRRLRLLRLRLRLRLLRRLLRLLLRLRLRRRRLRRRLLLRRRRLLRLLLLRLLLLLLRLRRLRLRRLLRRLRLLRLRRLRLRRLRRRRLRRLLRRLRRRRRRRRLLRLLRRRRRRRRRRRRLLRRLLLLLLRRLLRLLLLRRLLLRLLRRLLLLLLLLRLRRLRRRRLLRLRLLRRRRLRLRLLLRRLRLLLRLLRRLLRRRRRRRLRRRLLLRRLRRRRRLLLLRLRLLLLRLLLRLLRRRLRRLRLRRLRRLLRLRLLRLLRLRLRRRLRRLLRLRRRLRLLRLLLLRRRLLLRLRRRLRLRRRRRRLRRLLRLRRLLRRRLLLLRRLRLLRLRLLLRRLRLRRLRLLRRRRLRRRRRRLRLRRRLLLRLRLLLRLRLRLRRLLLRRLLRRLLLLLLRRRRLRLRRRRRRLRLRLLRRLRRLRRRRRLRLRRLRRLLRLLLRRRLRRLRRLLLRLLRRRRLRLRLLLLLRLLLRRRRLRRRRRLLLLLRLLLLRLLLLRRRRRLRRRRRRRLRLLLRRRLLLLLLRLRRLLLRLLLRRRLRLRLLLRLRRLRLRRRLRLLRLRRLLLRLRRRRRRLRRLLLRLRRRRRLLRRLLRRLRRLRLLLLRLRLRLRLRLLLRLLRLLLLLLRRRRRLRRRRRRRRLLLRRLRLRRLLRRLRRRRLLRLLRLLLRLLRLLRLLLRRRLRRLLLRLRRRLLLRLRLRRRRRLRLLRLLRLLLRLLLRRRRLLLRRLRLLRRLRRRLRLRRRRRRLLRLRRLLLLRRLLRRLLRLRRLLRRLLLLRLLLRRRLRRLRLLLLRRLRRLRLRLRRRRLRLLLLLLLLRLLRRLRRRLLRRLLRRLLRRRRRLLRLLRRRLLRLRRLLLRRLLLRRRRLRLRLRRLRRRRLRLRLLRLRRRLLLRRRLRLRRLRLRLLLLLLRLLRLRRRRLLLRLLLLLRRLLRRRRRRRRRLRRLLLRRRLRRLLLLRLLRLRRRLRLRLRLRRRLRLRRLLLRRLLRRLLLLLRLLRRRLRLLRRRRLRRRRLRRRLRLRLLRRLRRRLLLLRLLRLLRRLRLLRRRRRRRRLRLLLRRLRLRRLLLRRLRLRRLRRLLRRLLLLLRRLRRLRRRRLRRLLRRLRRRRLRRLLLLLLRLRRLRRRLRLLRRLRLLLLLRRRLLRLRLRLLLRLRRRRLRRRLLRRLRLLRLRLRRLRLLRRLLRRLLRRRLLRLRRRLLLRLLRLRRRRRLLLRLLLRRLLRLLLRRLRRRRRLLLLRLRRRLLLLLLLRLRRRRLRRRLLLLRLLLRLRLRRRRLRLRRRLRLLLLLRLRLLLLLRLRLLLRRLRLLRLLRLRRRRLLLRRRLRRLLLLRRLRRLRRLLRRRLLRRLRRRLLRRRRLLRRLLRRLLLLRRRLLLLRLRLRLRRRLLLLRRRRRLRLRRRRLRLLLLLRLRLRLRLRRRRLLRRRLRRRLLLRRRRRRLLRRLLRRLRLLLLLLLLRRRRRLLLLLRLLRLLLRRRLRRRRRRLLLLLLRRLRLLRLLLLRRLRRLLLRRRRLRRRLLRRRLRLRLLRRLRLRRRLRLRLLLRRRRRRRRRLLLLLRRLRRLLLRLRRRLRLRLLRRRRLLRRRRLLRLLRLLLRLRRRRLRRRRRLRRRLLRLRRLRRRLRRLRRRRRLLLLRRRRLLLRLLRRRRRLLRLRLLRLRRLLRRLRLRRRLLRRRRLLRLRLRLLRRLLLLRRRRRLLRLRLRLLLLRRLLRRLLLRLRRLLLRRLLRRLLRLLRRLRRLRRLLLRRLRLRRRLRLLRLLLRLLLRRLLLRLRRRLRLRLLLRRRLRLLRRLRRLRRLLRLLRLRLRRLLRRRLLRRRRRLLRRLRLRRLLLLRRLRRLRRLRRRRRLLLRRRLLLRLLRLRRLLRRLLLRLLRLLLRLRLRLLRRRLRLRRLRLLRRLRLRLLLRLLLLRLRLLLLRLRRRLRLRLLLLRLRRRRLRRRLLLRLRLLRLLRRLRLLLRLRRLRRRRLRRLRRRLLLRRLRRLRRLLRLLRRRRLLLRRRRLLRRRLLRRLRRRLRLRLLRRRLRRRLLLRRLLLRLRLLRLLLLLLLRRLRLLLRRLRLLLRLRRLLRRRRRLLRRLRRLRLRRLLLRLRLLRLLLRLLRLLRLRLLRLLLLLLRRRRLLLLRRRRLLLLRLRRLLLRLLLRRRLRRRRLLLLLRLLLRLLRRLLLRRRLLRRLRRRRRRRRLRLRLRLLLLLLLLRRLLRRLLLRRLLRLRLRRRRLLLLRRLLRLLLRLLRLLRRRRLLLRRLRRLLLRLLRLRRRLRLRRRRLRRLRRRRRLLRRLLRRRRLRRLRLLLLRRRRRRRLLLLRRRRLRRLLRRRRLRRLLRRLLLRRRLRLLRRRRRLLLRLLRRLLRRLRLRLRLLLLLLRLRLLRLRLLRLRLLRLRRRLRRLLLRRLRLRLLLRLLLRRRLLRLLLRRRLRRLLLRRLRRRRRRRRLRRRRLRLLRRRLLLLLRRRLLLRLLLRLRRRLLLLLLRRLRRLRLLRLRLRLRLRLLRRLRRRRRLRLRRLRLLRRLLRLRRRRRLRRLRLRLRRRRRLRRRLRRLRRRLLRLRRLRLRRLLRRRRLLRRRLRRLRRRRRLLLLRRLRLRRRRRLRRLLRRRRRLLRRLLRRRRLLLRLLLRLLLRRLRLLRRRRLLRRLLLLLLLLRLLRLRLLLRRRLLRRRLLRLLLRLRRLLRRLRLLRLLLRRLLRRLRLRRRRLLRRRRLRRRRRRLRLLRRRRLRRLRLLRLLLLLRRRLRRRRLLRLRLLRRLLRLRLLLLRRRRRRRLLRLLLRLRLLLLRLRLLRLLLLLRLRRLLLRRLLLLLLLRRRLLLLRLRLLLRRLRRRRRRRRLLRLLLLRRLLLRRRLLLLLRLRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLRLRLRRRRRRLRRRRLLRLLRRRLLLLRLRLRLRRRRRLLRRLLRRRRRLLLRRLRLRRRRRRRLLLLLRRRRRLRRLRLLRLRLRLLRLLLLRRLLRRLLRLLLRLRRLLRRLLRRRRRRLLLRLRLLLLLLLRRRLRRLRRLLRLRLLRRRRRLRLRRRLRLRLRRLLLRRRLLLRLRLLLLRRLLRRRRLLRLRRRLRRRRLRLLLRRRRRRLLLLRLLLRRLRLLRRLRRLLLRRLLLLLRRLRLLLRLLLRLLRRRLRRRLLRRLRLRLRRRLLRRRRLRRRLLRRLLLLRRLLLRRRRRRLLLLRLRRLLLLRLLLLLLLRLRLLRRLLLLLLRRLRRLRRRRRLLLRLRLLLRLLLRLRLRLRLRLRLLLLRRRLLRLRRRLLRRRRRRLLRRRRLRRRLRLLRRLLLLRLRRLRRLLRLRRLRLRRRRLLRRLRRRRLLLRLLRRLRLRLRRLLLLRRLLLRLRRLRLRLRLLLLLLRRLRRLLLLLLRRLLLLRRRLRLRLLLLRLRRRRLRRLRRRLRRRLRLLRLLRLRLRRRRRRLLLLRRRLLRLLRLLRLRLLLLRRLRLLLRLRRLLLLRRLRLRLLRRRLRLLRRRLLLRLRRRLRLLLRLRLRLLRRLRRLLLLRRLLLLLLLRRRLLRRLRRRRRRLRLLRRLRRLRLLLLLLRLLLRLLRLLLLRRRRLRLRLRLLLRRLLLLLRRLLRRRLLRRRRRRLLRLLLRRRLLLLLLLLRLRLRRLRLRLRLLRLLRLRRRLLLLRRRRLRLRRLLRRRLRLLRLLLRLRLLRRRLRRRLRRLLRLLRLRRRRRLLLRLRLLLRRRRRRRLRLLLRRRRRLRLLRRLRLLRLRRRLLRRLLRLRLRRLRLLLRRRRLLRRLRRRRLRLRLRRLRRRRLRRRRRLRRRLRLRRRLLRLRLLLLLRLLRRRLRRLRLLLLLLLRLRLLRRLRLLLRRLLRRRRLRLLRLLLRLRRLRRRLRLLRRRLLLLRLRRRLLLRRRRRLLLRRRLLLLRLLLRLRRRRRLLLLRRRRLLLLRLRRLRLRLRLLRLLRLRLRLRRRLRLLLRLRRLRLLLLLLLRRLRLRLLLRRLLLRLLRLLRRLRRLLRLRRRLLLRRRLRRRRLRRLRLLRLRLRLLRRRLLLLRRLLLRLLRRLLLLLLRRLRRLRLRRRRRLRRRRLLRLRRRLLLLLLLRRLRLRLRLLLRLRLRLRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRLLRRLRLRLLRRLLRLLRRLRRRLLRLRLLLLRLRRRRLRLRLLLRRLLRRRLLLLRLRRRRRRRRLRRRLRRLLLRLRLLRLRLRRRLRLRLRLRRLLRRRRRLLRRLLLRLRRLLLRRRRRRRLLLRRRLRRRRRRLRRLLLLRLLRLLLLLLRLRLLLLRRRLLLRLLLRLLRRRLLRRLLLLRLLRLRLLLLLRRRRRRLRRLRRLRLLRRLLRRLLLLRRLLRRLRLRLRLRRLRLRRRRLRLLRRRLLRLRLLRLRLRRLRLRLRRLLRLRLLRLLLRRLRRLLRRLRLRRLLLRRLRRLLRLRRLRRLLRLLRLRRRLRLRLLLRLRRRRLRLLLLRLLRLLRLLLLLRLRRRRLRLRRRLRLLRLRLLRLLLRLRLLRRLLRRRLRLRRRLRLLRRRRRLRLRRRRRLLLRRLLLLLLLRLRLLLLLRRRRRLLRRLLRRRLLLRRLRLRLLLRLLRRLRLRLRLLLLLLRRLLLRLLRLLRRLLLRRLLLLRRLLLRLRLLLLRLLRRRRLLLLLLRRRRRLRLRRLRRRLRLRRRLLRRRLRLLLRRLLLRRRLLLLRRRRLLLLLLRRRLRRRRLRRLLLLRLRRLRRLLLLLLRRLLLLRLRRRLRLLRRRRRLLLLLRRRRRLLRRLLRRLRRLLRRRLLRRLRRRLLLLRRRLLRRRLRLLRRLLLRLLRRRRRLRRLRLLRLRLRRLRLLLLLLRLRRLLRRLRLRLRLLLRRLLLRRRRRRLLRRLRLRRLRRRRLLRRRRLRRLLLLRRRLLLLRLRRLRRLRRLLLRLRLLLLRRRLLRRLRRLLRLRLLRRLRLRRLLLRRLRRLRLLRLLRLRRRRRRRRLRRLRLLRLRLLLLLRLRRRRLRLRLRRRRRLRRLRLLRRLRRRLLLLRRLRLRLLRRRLRLLLLLRLRLRLRLLRLRRLRRLLRLLLRLLRLLLRLRLLRLRLRLLRRRRLLRRLRRLLLLRLRRLLLLLRLRRRLRRRLRLLLRRRRRLRRRRRLLRRLRLRRRLRRLRLRRLLLRRLRRRLLLRRRLRLLRLRRLLRLRLRLLRRRLRRLRLRLLLRLRLLLRLLRRRRLLLLLLLRRRLRLRRLRRLRLRRLRRRRLRLRLLRRLRRLLRLRRLLLRRRRLRRLLLLRRRLLLLLLLRLLRLRRLRLRLRLLLLLLLLRRLLLRLLRLLLLRRLRRLLRLLLLRRLLRRRLLLRRLRRLLRLLRLLLLRRLLRRRLRRLLRLLLLRLLLLLLRLLRLLLLRRLLLRRRLLRRRLLLLLLLRRLRRLRRLRLLRRLRRRRRLLRLRRLLLRRLLLLLLRLLRLLRLRRLLLRRRRLLLRRLRLLLLRRRRLRRRRRLRRLLLLLRRRRLLLRRRRRLRRRLRRLLLLLLRLLRLRRRRRRLRLLLRRLRRRLRRLRRRLRLRLRRLLLLRLLLRRRRLRLLLRLRLRRRRRLRLRRRRLRRLLLRLLRRRRLRLLRRLRRLLRRRLRRLRRRLLRLLLRLLRLLRRRRRRRRLLLRLLLRLLRRRRLRRLLLLRLRLLRRLLRLRLLRRLLLRRRRRLLRRLLLLRRRLLRRRLLRRRRLLLLRLRLRRLRLLRLRRLRLRRLRLRRLLRLLLRRLRRLLRLRRLRLRLRLRRRLLRRLRRLRRLLRRRRRRRLLRLLLLLLLRLRLRLRRLLRRLLRLRRRLLLLLLRLRRLRLLRRLLLLLLLRRRLLRLRRLRRLRLRRLRRRLLLLRLLLLLLRRRRLLLRLRRLRRLLRRLRLLRRRRRLRLLLLRLRLLRLRRLRLRRRRRLRLRRRLLRRLRRLRLLRLLRRLRLRRLRRRLRRRLLRRLLLLRLLRLRLRLLLRLRRRLLRLLRRRRRRRRLRRLRRLRRRRLRRRLRRRLRLLLLLLRLLRRRLRRLLLRLRLRLRRRLRLLRRRRLRRLRLRRLRRLRLLLRRRLLRRLRLRLLRRRLLLLRRRRRRRLRRRLLLRRLRLLRRRRLLLLRLLRRRLLLRLRRRRLLLLLLRLRLLLLLRLLRRLRRLLLLRRRRRLLLRLLLLRRLRRRRLLRRRLLRLRRLLLLLRRRLLLRRRRRLRLLRRLRRRLRLLRLLRRLRLRLLRRLLLLRRRLLLRRRRLRLRLLLRLRRLLLRLRLLRRLLRRRLRRLRLRRRLRLLRRRLRRRLRRLLLRLRLRRLRRRRRRLRLRLLLLRRLRLLLRLRRLLLRLLLLRLLLRLRRLRLLLRRLLRRLRRLRRLRLRLRLLRRRLRRRRRLRLLLLLRLRLRLRRRRLLRLLRRLRLRLRRLRRLRRLLRLRLRRLRLRLRLRLLRRRLRLLRRLRRLRRLRLRLRRLLRRLRRLRRRRRLRRRRLRRLRRRRRRRRRRRRRRLRLLLRLRRLLRRRLRRRRLLLLLLLLRLRLLRRLLRRRRLRRLRRLRLLRRLRRLLLRLRLLRLRLLLRLLRLLLLLLRRRRLRLLRRLLRRLLLRLLLLLRLLRRLLRLRLRRLRLRRRRRLRLRRLRRRLLLRRRRLLLRRLRLLRRRRLRRRRRLRLLLLLRLLRLLLLLRLLRRLRRRRLLRRRRLRRRRRLLLLRLLRLRRRRLLLLLRLLRRRLLLRLRLLRLLRRLRLRRLLLRRLLLRRLLRRLRRRLRRLLRRRLRRRLLRLLLRRRRLLRLLRRRRLLRRLRRLRLLLRRLRRRRLLRLRRLLRLRLRRRRRLLRRLRLRLRRRRLLRRLRLLRLLRLLRLLLRLLLLRLLLLLLLLRLRRLRRLLLLLLLRRLRLRLLRRLRLLLRLLRLRRLRRLRRRRLLLRRLLLLRRRRRLRLLRRLLLRLRRRRRRRRRRRRRRRLRRLRRLLRLLLLRRRRRRRRRRLRLLRRRRRRLRLRRLRRLRRLLRLRRRLRLLLLRLRLRLLLLLLLRRLLLRRRRLLLLLRLRLRRLRLLRLLRRRLLLRRLRRLLLLRLRRLRRRRLLRRRRLLLLLLRRLRRLRLRRLRRRLLLRRLLLLLLLLRLLRRLLLRRLRRLRRLRLRLRLLRLLLRRRLRLRRLLLRRRLLRRRRLRLRLRLLRLLRRRLRLLLLRRRRLRRRLRRLLRLRLLRLLLRLRRRLRLRLLRRRLRRLRRLRLLLRRLLLLRLRRRRRRRLRLLRRRLRRLRRRRLRRRRRLLRRLRRRRLLLRLLLLLRRRLLLLRRRLLRRRLLLLLLRRLRLLLRRRLLLLRLRLLRRRLLRLRLLLLRRRLLLRRRLLLRLLRRLLLLLLRRRRLRRLLLLRRLLLRRRRLRRRRLLRRLRRRLRLRRLRRRRRRLRLLLLRLRLRLLLRRLRRRLLLLRLRRRLLLLLRRLLLLRLLRLLLRLRRRLRLLRRLLRRRRLRRRLLLRLLRLLRRRRRRLLLLLLRRRRRLRRLLRLLRLLLRRLLLLRLRRLRLLRLRRRRLLLLLLLLRRRLLLLRLRLRLLLLRLLLRRLRRLRLRRRRLRLLLLRLLLLLRRRLLRRRLLLRRLLLLRLLRLLRLLLRLRRRLRLLRRRRRRLLLRLRRLRRLLLLLLRRLLRRRLRRRLLRRRRRLRLRRRLRLLRRRRRRRLRLRLRRLLRLLLLLRLLLLLLLLRLRLLLRLLRLRRRLLRRLRLLRLLLRLRLLLLLLRRLLRLRRRRRRLRRRLLLRRRRRRRLLLLRLLLLRLRLRRLRLRRLLRRRRRRLLRRLRRLLRLRRLLLRLLRLLRLRLRRRRLLRLLRRLRRRRLRLRLRLRRLLLLLRRRLLRLRLLRRLRLRLLLRRLLLLLLLRLLRLRRRRLLRLRLLRLLRLRLRLLLLLLRLRLRLLRLRRRRLLRLRLRRRLLRLRLRRLLRLLRRRLRLLLLLRLLRLLRRRLRRLRLLRLLRLLLLRLLRLLRRLLLRLLRRLRRLRRRRLLLRRLRRRRRRLLRLRRRLRLRRRRRLRRLLLRLRRLLRRLLLRLRRRLRLRRRLLLRRLLRLRLRLRRRLRRRLRRRRRRRRRRLRLRLRLLLLLRLRLLRRLLRLLLRRRLRLLLRLRRRRLRRLRRLLRRRLRLRLRRLRRLRRLRLRRLLLLRRLRRRLRLLRLRRLRLRLLLLRRRLRLLRLRLRRLRRRRRLRRRRRLLLLRLRRRLRLLRLRRLRRLRRRLRRRRLLLLLRRLLLRLLRLRRLLLLLRRRRRLRLRLLRRLLRRRRRRLLRRLLLRLLRLRLLLRRRRRRLRRLRLRLRRLRLRRRLRRLLRLRRLLLRLRLRLRRRLRRRLLRRLLLRRRRRRRLLRRRRRRRRLLLRLRLRRLLLRLRRRRLLRLLRLRLRLLRRLRRLLRLRLRRRLLRLRRRLLLLLLRRRLRRRRLLRRLLLLLRLLLRLLRRLLLLLRRRLRRRRLLLLRRLRLRLLLRRRLLLLRLLLRRLRRLRLLLRRLLLLLLLLLRRRLRLRLLLLRRLLRLLLLLRRLRRRLLRLLLLRRLRLLLRRLLRRLLRRRLLRRRLRLLRLRLRRLLRRRRLLLRRLLRLRRRLRRRRRRLLRRRLRLLLLRLRRRRLLRRRLRLRRRRLRLRLLLRLLLLRRRRRLLLRLLLLLRRLLRRLLRRLRLRRRRLLRLRRLLLLRLRLLRLLRRLRLRLRRRRRLRLRRLRRRRLLRLLLRLLRLLRLRRRRLRRRLLRRRRRRRRLLLRLRRRLRRRLLLRRRLRLLRRLRLLRRLRRLRLLRLLLRRLRRLRLRLRRRRLRRRLRLLLLLLLLLRLLRRLRRRRLRRLLRLLRLLRLRRLRLLRLRRRRLRLRRRLRLLRLRLLRLRRRLLRLRLLRLLRLRRLRLRRRRRLRLRLRRLRRLRLLLLRLLLLRLLLLLLRLLLRRLLLRRLRLRRLRRLLRLLLLRRLLRRLRRRRLLRRRLLLLRRRRRRLLLLRLRLRRLRLLRRLLLLLLLLRLLRRLRLLLLRLLRRLLLRLRRRLRLLRRLRLLLRRLRRLRRLRLRRRLRLLRRRRLRLLLLLRRRLLRRLLRRRLLRRRRRLRRRRRRLLLLLRRRLLLLLRRLLLLRLRLRRLRRLLLLRRRRRLRLRRRRLRLLLLLLRRLRLLLRRRRLRLRRLRRLRRLRRRRRRLLRLLRLLLLLLLLLLRLLRRRRLLLRRLRLRLRLRRRLRRRRRLLLLLLLRRLRLLRRLLLLRLRLRLLRLLRLRRLRLRRRLRRRRLRRLRLRLRLLLRRLLRRLRRLRRRLLLLLRRLRLLLLRLLRLRRLLLLRRRLLLRRLRRRRLLRLLLRRRRRRLRRRRRLLRRLLRLRRRRLRRRLLRRRRRLLRRRRRRLLLRLRRRLLRLLRRLLRRRLRLLRLLLLRRRLLRLRLLRRLRLRLRRLLLLRRRRRLRRRLRLRLRLLRLRRRRRLLRLRRLLLRRLRLRLRRLLRRLRLLRRRRLRRLLLRRLLRLRRRLLLLLRRRLLLRLRRRLRLRLRLLRRLRRLRRRRRLRLLLRLLRLRLRLLRRRLLLLLRRLRRLRLLLRRLLLLLRLRRLLRLRLRRRLLLRRRRLRRLRRLRRLRLLLLLRLRRLRRLLRRRLRLRRLRRRRLRLLRLLRRLLLRRRLLRRLRLRLRLRRRRLRLLLLLLRLLRRRRRRRRLRRRLLLLLLRRRRLLLRRLRLRRRRLRRRRRRLRLRRRRLLRLLLRRRRRRLLRLRRRLLLRLRLLLLRRRRLLLRLLRRRLRRRLLLRRLRLRLRRLRLLLRLLLRRLRLRLRRLRLLRLLRLLLRRRRLLLRRLRRRRLRLLLRRLRRRLLLRRLRRLLRLRRLRLLLLLLRRLRLLLLRRRRRLLRLLRRLRLRLLRRLLLRRRLLLRLRLLLLRLLRRLLLRRRLLRRLRLRLRRLLLLLRRRLLLLLLLLRLLRRRLLLLRLLRLRLRRRRRLLLLRRLRLRRRLLRLLRRRRLLLRRRRLLLLRLLRLRRRLRLRLLRLRRRLLRRLLLLRLLRLRLRLLLLRLLLRLLRLLRLLLLRLRRRLLLRLRLRLRRRRRRRLLLLLRRLLRRRLRLLLRLLLRLLRRLLRLRRRRLRLLLLRLRLLRLLRRRLLRLRLRLRRRLLLRRLLLLLLRLLRRLLLRLLRLRRRLLRLLLRRLLRRRRRLRLRRRLLLRRRLRLRLRLRRRLLLLRLLRLLRRLLLLLLRRLLRLLLLLLRLRRLLRLLRLLRRRRLLRLRRLRLLLRRLRRLLRRRLRLLRLRLRRLRRLRLRRRLLRRRLLRLRRLRLRLRRRRLRLLRRRLRLLRRLRRLRLRRRLRLRRLRRLLLLRLRRRRLLRRRLLRRRLLRRRLLLLLLRRLLRLRLLRRLRRLRLLLLLLRLLLLRRRRRLRRLLRRLLRLLLRRRRRRRRRRLRRLLLLLLLRLRRRRRRRLLLRLRLLLRRRRLLLLRRRRLRRRRRRRLLLRLRRRLRRRRLLLLRLLRRLLLRRLLLRRLRRRRRLLRLLLRLLLRLLRRRLLLLLLLLRLRRLLLRRLLLLLLRRRRLLLRRLLLLRLRRLRRRRRRLLLRLLLLRRLLLRRRLRLLLLLRRLLRRRLLLLLRLLRRLRRLLLLRRRLRLRLRLLLRRRLLRRRRLLRRRRRRRRLLLLRLRRRLRRRLLRRLLRLRRRLLLRRRRLLRRRLLLLLLLLRRRRRLLRRLLLRLRLRRLRLLLLRRRLRRLLLLLLRLRLLLRRLLRRRRRRLLLLLRLRLLLLLRRRLRRLLRRRLLRLLRRRRLLRLRRRLRLRRRRLRLRRRLLLLLRLRLRRLLLLLRRLLRLRLRRRLRLLRLLLLRRLLRRLRLRLLLRRLRRLRRRRRRLLLRLRLLLRRLRRLRLLLRRLRRLRLRRRLLRRLRRRLRRLRLRLLRRRRLLLRRRRLLLRLLLRRLRLRRLLLLLRLLLLLRRLLLLLLRLRLLLLLLLRLLLRLLRLLLRRRRLLRRRLLLLLLRRLRRRLLLRLRLLLLRRRLLRLRLRLRRRRRRRRRLRRRRRRRLLLRRRRLLRRLRRRRRLLLLRRLRLRRRRRLRRLRRRRLRLLLRLRLRLRLRRRLLLRRLLLRLRRRRLRLRLRRLLLRRLRLRLLRLLRRRRLRRLLLLRLLLRLRRRRRRRRRLRLRLRRLLRLLRLRLLLLRRRLLRLLRLRRRLLLLLLLRRRRLLRLRRRRLLLRRRRLLRLRRLRLRLLRLRLLLLLRRRLRRLRRLLRLRLRLRRRLLRLLRRLRLRRRLLLLLLLLRRRLRRRRLRRRLLRLLRLLRRLRLLLLLLLLRRRLLRLLLLRLRRRRLLLRLLLRRLLLLLLRRLRRRRLRRRRRRRRRLLLRRRLLLLRLLRLLRLLLLRLRRRLLLLRLRRRRLLLRLRRRLRLLRLLRRRLRLLRLLLRLRRLRLLRLRLLLRLLRLLRLRLRRLLLLRLLRLLRLLRRRRRLRLLRRRRRLRRLRLLRLLRRLRLRLLRLLRLRLRRLRLLLLRLRLLRRLRRLRLLLRLLLLLRRRLRRRRRLLLRLRLRRRRLRLLLLRRLRLLRRRLRRLRLLLLRLLRLRLLLRLRLLLRRRLRRRRLRRRRLRRRRLRLLRRLRRLLRRLLLRRLRLLLLRLRLRRRRLRRRLRRRRLLLRLLRRLLLLLLRRRLLLRLRLRRRRLRRRRLRLLRRRRRRRRRLLRLLRLLLRRRLLLLRLRRRLLRLLLRLRLLRLLRRLLLLLRRRRLRRRLLLRRRLRRRRLRRRRLLLLRLLRLRRRRLLLRRLRLLLLRRRLRRRRRLRLRLRLRRLRRLRRRRRRRLRLRLLLRLRLRRLLLRRLLLRRLLLRLRRRRRLRRRLLRLRLLRLLLLLRRRLRRLRRLRLRRLRRLLRRRLRLRRRRRRRRRLRLRLRRRRRLRRLLRRRRRRLLRLRRLRRLRLRRLLRRRLLRRRRLLRLLLRRRLRLLLLRLRRRLLRRLLLRLRRRRRRRLRLRLLRLLRLLRRRRRRLLRRLRRLRRLLRLRLRLRLRRRRLRLLLRRRRLLLRRRRRRRLRLRLRLLLLLRRRRLRLLRLRRLRLRRLLLLLLRRLLLRRLLRLLLRLRRRRRLRRLLRLLRLLRRRLLLRLLRRLLLRRLLRLRLRRLLLRLLLRLLLLLRRRLRLRLLRRRRLRRRRRLRLRRRLLRLLRRLRLLRRLRRLRLRRRRRLLRLRRLLRRRRRRRRLLRRLRRRLRLRLRLLLLLLLLLLRLRLRLLLRRLLRRRLRRLRRRRLRRRLLRLLLRRRLLRRLRRRRRRRLLLRRRLRLLLLLLRLLRRRLRRRRLLLLRRRRRRLRLLLLLLLRRRRRRLRLRLRRLLRRRLLRLLRRRLRRRRLLLLRRRRRLRLLLRLRRLRLRRRLRLLLRRRRLLRLRLLRLRLLLLLRRRLLRRLRLRLLRLLLRLLLRRRRRLRRRLRRLLLRRRRRRRLLLLLRLLLRRLRLLRRLRRRRRRRRLRRRLRRLLRRRRRLRLRLRRLLRLRLLRRRLRRRRRRLLRLLLLRLRRLRLRRRRRRRLLRLRLLRRRRRRRRRLLLLRLLRLRRRRLRRLLRLRRRLLRLRLLLRLLLRLLLLLRLLRLLLRLRRLRLLRRRRRLLRRLRLLLRLLRLLRRRLLLLLLLRRLRLRRRLRLRRRRRRRLRRLLLLLLRRRLRRRRLLRLLLRRRRLRLLRLLRRLLRRLLLLRRRLRRRLLLRLLLRLLLRLRRLRRLRLRRRLRRRLRLRLLRRLRRRRLRLLLLRLRRLLRLRLLLRLRRRRRLLRRRLRLLLLLLLRLLLLLLLLRRLLLRLRRRRRRLRLLRRRRLLRLRRRRRLRLRRRLRLLLLRLRLLLLRRRRLLLLRRRLRRRLLLRRRRLRLLLRRLRRLLLRLLLLRLRLLRLLLRLLRLLRLLLLRLLLLLRRLLLRRRRLLLRLLRRLLLLRLRLRLLLRLRRLRLRLRRRLRRRLRRRRRRRLLRRLRLRRRLLLLRRRLLLLLRRRRRRRLRRRRLLLLLRRLRLRRLLLLLRRRLLLLRRRRLLRLRRLRRRRRRLRRRRLRLLLRLRRRLRLRLLLRLLRRLRRLLRLRRRRRLRRRLRLLRRLRRRRLRLLRRLRRLRLRRLRLRRLRRLLLLLRRLRLLRRLRRRLRRLLRRLLLLRLRRRLLRRLRRRRLRRRRLLRRRRLRRRLLRRLLLLLLRLLLLRRLRLLLLRLRLLRLLRRLLRLRRRLLRLRRLLRLLLRRRRLLRLLRLLLRLLLLLRRRRRRLLLRRLRLLRRLLLLRLRLRRRRRRLRLLRRRRLRRLRLLLLRLRLLLLRLRRRLRLLRRRLLLRLRLRLRLRRRLLRLRLLRRLLLLLLLLLRLLRRLRRLRLRLRLLRRRLLRRRLRLLLLLLLRRRLLLLLRRRRLRLLLRLLLRRRRRRRRLLRLLRRLLLRRRLRRLLLRRLLRLRLRRRLRLLRRLLLLRLLRLRRRRLRLLRRRRRLLRLRLLLRRRLLRRRLLLRRLRLLLRLLLLLRLLRLLRRRLRLLLRRRLRRLLLRRLLRRLRRRRLLLLLRRLLRLRLLLRRLLLLLRLRRLLLLRRRLLLRLLRLRLLRRRRRLRLRRLLLLLRLRRLLLLLLLRRRLRRRRLLRLRRRRLRLLRRLRLLRLLRLRLLRRLRRLLLRLLLLLRLLRRRRLRLRLRLLRLRRRRRLLLLLLLRRLRRLRLRRLLLRRLRLRRLLLRRLLLLRRLLLLLLRLLRLRRLRRRRLLRRLLLLLRRRLLLLLRRLLRRLRRRRRLLLRLRRLLLRLRRLLRRLRLLLRLLRLLLLLLLLLRLRLRLLLLLRRRRLRRLLLLRLLRRRRRRLRLLRLRRRRLRLRLLLLLRLLRRRLLRLLRLRLLRLRLRLLRRLLLRRLRRRRRRRLLRLRRLLLRLRLRLLRRRRLLRRRRLRRLRRLRLLRLLLRRLLRRRLLLLRRRRRLRLRLLRRLRRLLLRLLRRRLLRLLRRLLRRLRRRLLRRRRLRLLRLRLRRLLLRRLRRLRLRRLLLLRLLLLLLRRLLRRLRLLRLLLLLRLLRRLLRRLRRRLRLLRRRRRRLLLRRRRRRLLRLRLRRLRRRLRLLRLRRRRLLLLLRLRLLRLRRLLRLLRLLRRRLRRRRRLRRRRLLRLRRRLRLLRLLLLLLRRRRLRRLLRRLRLLRRRRRRRRLRLLRRLRLRRRLLLRLRRRLLRRLRRRRRRRRLRLRLRRLRLRRLLLRLRRRLLRRRLRRRLLRRLLLLRLRRRRLRLLLLLRRRLLRLLRLLLRLRRLRRLRRLLRLRLRLRLLRRLRRRRLLLRLLRRRLRRLLRRLRLRRRRRLLRLRRLRRRRRRRRRLLRLLLLRRLLLLRLLLLRLLRRLLLRRRLRRRRLLRRRLRLRRLRLLRRRRLLLRRLLRRRLLRRLLRRRLLLRLLRRRRLLLLRLLRLLRRLRRLLRLLRRRLRRLLLLRLLRRRLLRRRLLLLLLLLLLLRRRLLRLRRRRLRLLRRRRRLLRLLRRRRLLRLRLLLRLLLLLRRLLLRRRRLRLRLRLRLRRLRLRRRLLRRLLRRLLRRLRLRLLLRLLLRRLRLRLRRRRLRLRLLLLRRRRRLRRLLLLRRRRRRLLLRLRLRLLRLLLLLLLLRLRLLRLLLRRLRRLLRRRRRRLRRLRLLLRRLLRRLRRRLLRLLRLRLRLLRRRLLRLLRRLRLRLLRLRRRRRRLRLRRRRLLLRLLLRRLRLRLRRLRRLRRLRRRRRRLRRLRRRLRRLRLLRRLLLRRRLRLRLLRRRRRRRRLRLLRRLLRLRLRLRLRLRLRRLRLLLLRLLLRRLRRLLRRRRLRRLRLLRLLRRLRRLRLRLLRLRLLLLRRLLRLLLLLLRRLRRRLLRLRLRRLRLRLRRLLRLLRRLLRLRRRRLRLRRRRLLRRRLLRRRLLRRLRRLLLRLLRLLRLRRLRRLRRLRLLLLLRLRRRRRLLLLLLRLRLRRLLRRRRRRLLRRRLLLRLRRRLRRLLLLLLRLLRRRLLLRLRLRRLRLRRRLRLLRLRRRRLRRRRLRRRRRLRRLLLRLLRLRLLLLLLRRLRLLRLLRLRRLRRRLRRLLLLLRRLLLRRRLRLRRLLRLRLRRLLRLRLRLRRRRRRLLLRRLLLLRRLLRRLRLRLRRLLLRLLRRLLLLRLRRLRRLLLLLLLLRLRLRLRLLLRLRLRLLRLLRLRRRLRLRLRLRLLRLLLRRLRLRRRRRLRRRLRRRRLRRRRRRRLLRRRRLRRLLRLLLLRLRRRRRRRLRRLRRLRRRRLLLLRLRLLLRRLRLLLRLLLLRLRLRLRLLLLLLLLRLRRRRRRRRRLLRLLRRRRLLLRLLRLRLRLLRLRRRLLLLLLRRRRLLLLLRRLLLRLLRLRRRRLRRRLRRRRLLLLRLLLLLLLLRLLRRRLLRRRRRLRRLRLRLRLLRLLLRLRRRLRRLLLLRRLLRRRLLRLRLRLLRLLRRRLRLLLRRLLRLRRRLRLLLRLRLRRLLLRLRRLLLRRRRLLRRRRLRRLLLLLRRRLLLRLRRRRLRRLRLLLLRLRRLRRRRRRLLRLLLLRRRLRRRLLRLLLLRRRRLLLLLLLLRRRRRRLLLLRRLRLLLRRRLLLRLRRLRRRRLLRLRLLLRRLRRRLRRLLLLLRRRRRLLLLLRRRRLRLLLLLRRLRLLRRRLRLRLRLRLLLLRRRRRRLRRRRLLLRLRLLRLRRLLLLRRLRRRLLLLRLLRRLLLLLLLLLRLRLLRLRLRLRRLLRLLLRLRRLRLRRLRLLRRLLLLLRRLRLRLLLLLLLLRRRLRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLLLRLRRRRLLRRRLRRRLLRRRLLLRLLRLRRLRRRRLRRRLLRLLLLLRRRRLRRLRRRLLRLLLRLLRLLRLLLLLRRRLRLRRLRRRLLLLRLRRLRRRLLLRRRRRRRRLRLRRRRLRRRRLLLRRRLRLRLRRRRRRLRRRRRRRLRLLRRLRRLLRLLRLRLRLLRLLLRRRRRLLLRRRRRLLLLLRRLRLLLRRRRLRRLRRLRRRRLRLRRRRRRRRRLRLRRRLLRRRRLRLLRRRLLLLRRRRRLRRRRRRLLRLLRLLLRLLRLLLLLLRLLRRRRLLRRLLRRRLRLRLRRRRRRLRLRRRLLLLRLRRLLRRRRLLRRRLLLRLLLLLRLRLLRLRRLRLLRLLRLRLRLLLLLLLLRLRLLRLRRRRLLLLRRRRRLLRLLLRLLLRLLRRLLLRRLLLRLRLLLRRLLLLRRRLLLLRLLLRRRLLLLLRLLLLLLRRLRRRLRRRLRLRRLRRRRRRRLRLRRRLLLRLRRRLRRLLLRRLLRLRRLLLRRRLRLRRRRLLRLLLLLRLRLLLRRLLLRLLLRRRRRRRLRLRLLLRLRLLLLRRLLLRLLRLLLLRRLRLLLRLLRRRLLLLRRLLLRLLRLRLRRLLRLRLRRLRLRLLLRRLRRRLRLLRLLRRRLRLLLLRLRLRLRRLRLRRRRRRRLLRRLRRLLLRRLRRRRLRLRLRLLLLRRRRLRRRRLLLLLLLLLLRLLLRRRLLRLLRRLRRLRLRRRRRLLRRRRRRLRLRLLLLLLRLRLLLRLLLRRLRRLRLRLRLLRLRRRLRRRLLLRRLLLRLRLRRRRRLRRRLLLRLRLRRRRRLRRLRRRRRLLRLLLLLRLRRLRLRLRLRRLRLRLRLRLRLRRRRRRLLRLLRRLRRLRRRRRLLLLRLRRRLLRRRRLRRLLLLLRLLRRLLLRLRLLLRRRLRRRRLLLLLRLRLRRLLRRRRLRRLLLLRRRRRRRLRLLLRLLLLRRLLLLRLRRRRLRRRLRLLLLRLLLRLLRLLLRLLRLRRRRLLRRRLLRRLLRLRRLRRRLRRLRRRLRRRLRRLRLLRLRRRRLRRRRRRRRRRLLRLRLLRLLLRLLRRRLRLRRRRLRLRRLRLRRLRRLLRLRLLLRLRLRRRLRRRRRLRLLLLRLRLRLRRLLRLRRLLLRRLRRRLRLRLLLLRLRRRRLRRRLRLRRLLLLRLRRRLLRLLRLRRLRRRLLLLRRLRRRLRRLLLLRLRLRLRLLRRRRRRLLLRLRLLRLLLRLRLLRLRLRRRLRLRRRRLRRLRLLRLLLRLLLRLLLRLRLRLRLLLRRRLLLLLRLLRRRRRRRLRLRRLRLRLRRLLRLLRLRLLRRRRLLLRLRLLRRLLLRLLRLLRRRRLLLRLRLRRRLLRLLLRLLLLRLLLLLLRLLLRLLLLRRLLLLRLLLLLRLLLLLRLLLRLRRRRLLRRLLLLLLRLLRRLLLRRLRLRRLLLLRRRLLRLLLRRLLRRLRLLLLRLLRLLLLRLRRRRRRLRRLRLLLRLLRRLLRLRLRRRLRLLRRRRLRLLLLLLRRLLRRLRLLRRLRRRRLLRRLLRRLRLLRRRLLRRLLLRLRRLRLRRRRLLRLLLRRRLLRLRRRLLLRLLRLLLLRLRLLLRLRRRLRLLLLLRLRRRRLLRRLLLRLLRLLLLLLLRLLRLLLRLRRLLRRLRRRLRLRRRRLRRRLLLLLLRLRRLRRLLRLRLLRLLLRLLRLLRLRLLRRRRRRLRRRLLRLRLRLRLLRLRRLRRLRLLLRRRLRLLRRLLLLLRRLLLLRRLLRLRRRLLRLRLRRRRLLRLRRLRRRRRLRRLLLLLRLLRLRRRRRLRRRLRLRRLLLLRRLRRRRLRLLRLRLLRRLRRLLRLRLRRLRLRLRLRLLLLLRLRRRRRRRRRRLLRRRRLRRLRRLLLLLRRRLRLRRLLRLLRRLLLLLRRLRLRLRRLRLRLLLLRRRRLRLLLLLRLLLLRLRLLLRLRLLLLRRLRLRLRLRRRLLRLRRRRRRRRLLLLRLRLLRLRLRLLRRRLRLLLRRLRRLLLLLRRLRRLLLLLRLLRLLLRRRLLLLRRRRRLLRRRLLLRLLRLLRLRLLRRLLRRRLRLRLLRRRRLLRLLLRRRLLRRRRLRRRLLLRRRLRLRLLLLLLLRLRLLLLRRRLLRLRRRLLRLRLLLRRLLLLRLRRLRRRLRLRRRLRRLLRRRLLLLLRRRRLLRLLRRLRLLLLRLRRRLLRLRRLLRLLLLLLLRRLRRLRRRRLLRRRRLLRLRRRRLLLLRRLLRRLRRRLRLLLLLLRRLRRRRRRRRLLRLLRRLLLRRLRRRRLRRLLLLRRRLRLRLLRRRLLRLLLRRRLRRRRLRRRLRLRLLRRLLRRRRLRRRLRLLLRRLLRRRLLRLLLLRLLRLLLLRLLRLRLRRLLLLLLRRRLRRRRLLLLRLRRLRLLRRRRLLLLRRRLLRRLLLRLLLRLRRLLRLRRLRLLRLLLLRRRLLRLLLRLRRRLLRLLLLLLRLLLRLRLLLLRRLRLLLRLLRLLLLRLLRRLLLRLRLRLRRRRRLRLLLLLRRLRRRLLRRLRRRRLRLLRRRLRLRRRRLRLLLLRLRLLRLLRRRRLLRLLLLRRRLLLLRLRLRRRLRRRRLLRRLRRLRRRLLRLLLRRRLRRLRRLRLRLLLLLRRRLRRRRRLRRLLLRLRRLLRLRRRRRLLLLRLLRRLRLLLRLRRLLRLLLLLRRRRLLRRRRLLRLLRRLRRLLRRLLRLRRRLLRLLLLLRLLRRLLLRRLRLRLLLLRRLRRRLLLLRRRLLRLLRRLLRLRLRLRLRLRLLRRLLLLRLRLRLLRLLRLLRRRLLRLRRRLLLLRLLLRLRLLRRLRRLRRLLLLLLLLLLRRRRRLRRLLRRLLRRLRRRRRRRLLRLLRRLLLLLRRRLRRRRRRLRLLRLRLLLRRLLLLRLLLRRLLRRLRRRLLLRRRLRLRRRRRRLLRLRRRRLLRRLRRRLLLRRRRLRRRLRLRLLRRLRRRLLLLLLLRRLRRLLLRRLLLLLLRRRLLRLRLRLLLRLLRLRRRLRRLLLLLLRRRRLRLRRRLRLRLLLRLRLRRRLRLLRRLLRLLRLLLLRLRRLLLRRLLLLLLRLLRRRRRRRRRRRRRRLLLLRRRRRLRRLLLRLLLRLRRRLLLLRRLLLRRRLLLRLLRRLRRLLLLRRLLLRLRLRRRLLRRLRRRRRRLRLLLLLRRLLRRLLLRRRRLRLLLLLRLRRLLRLLRRLRRRLRRRLLRRLLRRRLLLLRLLLLLRRRRLRLRRLRLRLRRLRLRLLLRLLLRLLRLLLRRLLRLRLLLRLRLLLRRLRLRLLLRRLRRLRRRRRRLLLLRRLLLLRRRRLRLRRRLRRRLLRLRRRLRLLLRRRLRLRLLLLLRRRLLLLRRRLLLRLLLLRLLLRRLLRLLRLRLLLRRLLLLLLRRLLLLLLLLRLRLRRLRRLLLLRRLLLRLLLLLLRRRLRRLLLRLLRLLLLRRRRRRLRLLLRLRRRRRRRLRRRRLRLRLLRRRRLRRRRRLRRRRLLLRLRRRRRRLRLRLRLRLRLRRLRRLRLRRLRRLRRLRRRLLRLLLRRRLRLLRRRRLLLRRRLRLLRLRRRRRLRLLLLLRLRLRLRRRRRRRRRRRLRLRLLLLRLRLRLRLRRRRLLRLRRLLRRLLLLLLLRLRRLRRLLLRLLRLLRLLLRRLLRRLLRRRRLRLLLRLLLRLRRLRLLRRLRLRLRRRLLRLRRRLRRRRRLLLLRLLLRLRLRRRRLLRRLLRLRRLLRRRRRLLLLLLRRRRRLRLLRLRLLRRLLLLLLLLLLLLLLLLRRRRRRRLLLLLRLRRLLRRRRRLLRRRRLRLLRLLLLRLRRRLRLRRLRLRRLLLRLRLRRLLLRLRRLRRRLRRLLLRLRRLRLLRLLLRLRRRRLRLLRLRRLRLLRRLRLLRLLLLRRRLRLLRRRRRLRRLLLRLLLRRLRLRRLLRRLLRLRLLRLLRLRLRLLRRRRLLRLLLLLLLLLLRLRRLLLRLLLRRRRLRRRRRRLLLRRLRLRRRLLRRLRRLLRRLLRRRLRLRLLRRLLRRRRRRLLLRRRLRRLRLLLLLRRRRLLRRLRLRRLLLLLLRLRLRLRRLRLRLRRRRLLLLLLRRLLLRLRRRRLLLRLRLRRRRLLRRRRRRLLRLRRRLRRLLRLLRLLLRRRRLLLRLRRRLRRRLLRLRLLRRRRRLLLRLLRRLRRRRLLRRRRLRLRRLRRRLRRLLLLLRLRRRRRLLLLRRLLRRRLRLRRRRRLRLLRRLRRLRLLRLRRRRLLRLRLRLRLRLLLLLLRRLLLRRLLLRRRRRRRLLLRRLRLRLLLLLRLRLLRLLLLLRRRLRRLRLLLRRRLLLRLLRRRRLRLRLRLRRRRRLRLLLRLRLLRLLRLLLRRRLRLRRRRRLRLLRRRLLLRLRLRLRLRLRLLLRRLRLRRRLLRLLRRRRRRRLRLRLLLRLLLRRLLRLRLLRRLRLLRRLRRLRRRLRLRRRRRLRLLRRRLLLLRRRRRLRLLLRLRLLRLRRRRRLRLLRLRRLLRRRLLLRLLLRLLLLRLLRLLRLLRRRRRRRRLLRLRRLRRLRLLLRLLRLLRRRLLLLLRLRRLRLLLLLRLLLLLRRRLRLRLRRRRRLRRLRRRRRLRRRLRLRRRLLLLRRLRRLRRRRRLLLLRRLLRRRRRRLLRRLLRLLLRLLRLRLRLLRLLLRLRLLLRLRRLLRLLLRRRLRLLRRRRLRRRLLRRLRLRLLLLLLLRRRRRLLLRRRRRRRRLLLLRLLRRRLRRLRLRLRRLRLRRLRLLLLLLLLRRRRRLRLRRLRRLRRLLRRLLRRRLRLLLLLRLLRLRRLRLLRRLRRLRLRLRLRLLLLLLRLLRRRLLRRLRLRLLRLRLRRRLLLLLLLLLLRLRLRRRLRLRRRLRRLLLRRRLRRRRLLLRRLLLRLLRLLRLLRRRRLRLLLRRRLRRLRRRRRRLRLRRRLLLLLRLLRRLLRLRRRRLRLLLLRLLRRRRRRRLRRRLRLRLRLLRLRLLRRRLLLRLRRLRLRRRRLLRLLRLRRRLLRLRLLRRRLLRLLRLLRRRRLLRRLRRLRLRRRRRRLLRRLRLRLRRLRRLRLRRRRLLLRLLLRLRRLLRLRRRLLRLLLRRLLLRRRRRLRRRLLLRLLLRRRRLRLLRRLRRRLRRRLLRRRRLRRRLLLRLLLRLLLRRRRLLLRRLRRRLRLRLRLRRRRRRRLLLLRLRRRRRRRRRRLRLLRLLRRLLRLLLRRLLLLLRLLLLLLRLLLRLRLLLLRLRLRLRRRRLLRLRRLLRLLRRRLRRRRRRLRRLRLRRRRRRRRLLRLLRLRLRRLRRLRLRRRLLLLRLLRLRRLLLRLLRRRLRLLLLLLLLLRRLRLRLLRLRLLLLRRLRRRRRLRRLLRRLLLLLRLRRRLLLLRRRLRRRLRRRLRLRRRRRRRLRRLRRRRLRRRLRRLRLRLLLRLRRRRRRRLLLRRLLLLLRRLRLLLLRLRLRRLRRLLLRRRLRRLRRLRRRRRRLRRLLLLLLLRLRRRLRLRLLLRLLLRLLRLRRLRRRLRRLRRRRRRRLRRRRRRLLLRRLLRRRLRRRLLRRLRRLLLLLRRLRLLRLLRRRLRRLLRRRLLLRLRRRLLLRRRRRLLRLRLRLRRRRLLRRRLRRLLLLLLRRLLLRRLRLLLRRRRLRRLLRRLLLLRRLRRRLLRLLRRLRRRRRLLRLLRRLLRLLLLRRRRRLRLLRRRLRRLRRLRLLRRLRLLLRRRLRLLLLLRLLLLRLLLLRLRLLLLRLRRLLLRLRRRLLLRLRLRRLLLRRLRLRLLRRRLLLRRLLLLRLRRRLRRLRRLLLRLLRRLLRRLRLLRRRLLLRLRLLLLLRRLLRRLLLRLLRRRRRLRRLLLLLRRRLLLLRLLRLLLLRLRRRLRRLRRLRLLRRLLRLLLLRRRRRRLRRLRRRRLLLRLRLLLRRLRLRRRLLLLLRRRLLRLLLLLRRLRLLRRRRLLLLLLRRRRLLRRRLLLRRRRRLLRLLLLLRLRLRLLLLRLRLRLRLRRLLRLRRRLLLRRLRLRRLRLRRRLLRRRRLRRLRLRLLLLLRLLRRRRRLLRRRRLRRRRRRLRLRLRLLLLLRLLLLLRLRRRLLLLLLLRRLLRLRRRRLRLRLLLLRRRRRLRLLLRLRRRRRRRLRRRLLRRLRLLRLLLRLLRLRRRLRLRLLRLLRLRRLRLRRLLRLLRRLLRRRLLLLLRRLLRRLRRRRRRLLRRRRLLLRLLLLLRRLLLLLRLLRLLRLLLLLLRLRLRRLLRLRLRRLLRLLLLLLLRRRRLLRRLLLLRRRRLLLLLLLLLLLLLRRLLRRLRLRLLRLRRLRLRRLLLLRLLLRLLRRLLLLRRLLLRLRLRRLRRRLLRRLRRLLLLRRLLLLRLRRLRLLRRLLRRRLRRRRLRLRLLRRRLLLRLLLLRRRLLRRLRRLLLRLRRRLLRLRLLRRRRRRLLRLLRRRLRRLRRRLRLLLRLLLRRLRRLLRRLRLLLRLLLLRRLLRLRRLLRRRLRLLLRLRLRLLLRRRRRRLLRLLLLRLRRRLRLLRLRRRRLLLLRRLLLLLLRRLRRRLRRLRRLRRLRLLLRRRRRLLLRLRLRLLRLRRRRLRRRRRRRLLLRLLLRRRLRRRRRLRLLRLRRLRLRLLLRLRLRLRRRLRRRRRLRLLRLRRRRLRLRRRLLRLLRRLLLRLRRRRRLLLLLLLLLRRRRLRLRLLLRRRLRRLRRLLLRLRLRRLLRLLLLLLRLLLRLRRLLRRRLRRRLLRRRLRRLRRRRLRRRRLLRLRLRRLRRRLRLRRRLLLRLLLRLLLLLRLRLLRRRLRLLRRRRLRLRLLLLLRRRLRRLRLLRRLRRLRRLLLRRRLLRLRLLRRRLRRRLLRLRLLLRRLLRLLLRRRRRLRLLRRRLRRLRLLRRLRRRLRRRLLLLLLLRLLLLLRRLRRLRRRLRRRRLLRRRLRRRLRRRRLRRLRLLLRLLLLLRRLLRRRRLLRLLRRLRLRRLRLRRRLLRLLRLRLLLRLRLRLLRRRLLRRLRLRRLRRRLRLRLLLLRRRLRLRLLLRLRRRLRRLLRRLLLRLRLLLRRLLLLRLLLRRLLRLRRRLLLLRRLRRLRRRRLLLRLRLLLLLRLRLRRRRLLLRLLRRLLLRLRRLLRLLLLRLLRRRRRRRLRRRLLLLRLLLRRLLLRLLRLRRRRRLRRRRRRLRLRRLRLRRRLLLRRLLLRRRLLLLLLRLLLRLLRLRLRRRLLLLRLRLRLRLRLRRRRLLRLRLLRRRLRRRLLRRLLLRLRLLRRLRLLRRLRRRRLRRRLLRLRLLLRLLLRRLRLLRRLRLLLRLRRRRLRLRRRLRRRLLLLRRRRLLLRLLRRRLLRRRLRRRRLRRLLRRLLRRLLLLLRLRRRLRLRRLRLLLLRLRRLRRRLLLRLLRLLLRLRLRRLLRRLLRRRRRLRRRLRLRLLLLLLLRLRLLRLRLRLRLRLLRLLRRLRLLRLRRRRRLRRRLRRLLLLRLRLLRLLRLLLLLLRLRLLRLLRLRLLRRLRRRLLLLLRLRRLRLLRRRRRRRRLLLLRRRRLLRRRLRLLRLRRRLLLRRLRLLRRLRRRLRLRLLRRLLRRLRRRLLLLRRRLRLRLRLLRRLLLRLLLRLLLLLRRRRRRRLRLRRRLRLRRRRRLLRLLLLRLRLRRRLRRRRRRRRRLLLRRLLRLLLLRRLRLRLLRRRLRRLLRRRLLRLRLLRRLRRRRLLLLRRRLRLLRLRLLLLLLLLRLRLLLRRRLLLLLLRLRRLRRRRRRRLRRLRRRRLLRRLRRLRLRRLLLRRRLLRLLLRRRLLLRLLRLLLRRLLRLRRRRLRRRLRRLRLLLLRRLLLLRLLRLRLRRRLRRRLRLLRRRRLLLLLLLLLLLRRLLRRLLLLLRLLLLLLLRLRLRRLRLRRRLLLRLLRLLLLLRLRLRLRLLLRLRLLRLRLRRLRLRRRRLLLRLRLRRLLRLRRRRRLLRLRRRRLRRRRRLLLLLRLRLRRRRRLLRLRRLRRRLRRRLLLRLLLRRLRLLLRLLLLRLRRRRRLLLRRRRLLRRRRLLLRLRRRRRRRLLRLRLLLRRLRRRLRRLLLLLRRLLRRLRLLLLRRLLLRLLLRRLRRLRRLLLLRLRRRLLLLLRLRRLLRRLRLLLRLRRRRLLRLLLRLLLLRLLLLRLLLRRLRRLLLLLLRRLLRRLRLLRLRLLRLLLRRRRLLLRLLRLLRRLLLLLRLLRLRLLLRLLLLRRRRRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLRRRRRLLLLRRRRRRRRLLRRLRLLRLLRLRRLRRRLRRRRLRRLLLLLRLLRRRLLRRRLLRRRLLLRLRLLRRLLLRLLLRRRLLRLRLLLLRLRLLRLRRLRRRLLRRRRLRLRRRRLLRRRRLLLRRRRLRLLRRRLRRRRLRLLRLRLLRRLRRLRRLLRLRLRLLRLLRRRRRRRRLRRRRRLLLRLRLLRLLRRRRRLRRLRLLRLRLLLLRRRLRRRRRLRRRRRRLRRRRRLLRLRRLRRLRRRRRLRLRRRRLLRLLRLLLLRRLLLLLLLLLLRRRRRLRRLLLRLLLLRLRRLRRRLRRRLLRRLRRRRRLLRRRRLLLRRLRLRRLLLLLRLLLLLRRLRRRLLLRLRLLLRRLLLLLRRRRLLLRRRRLLLLLRLLLLLRLLRRLLLLLRRRLLLRRRLLRLRLRRRLLRLLRLRLLLLRRLLRLRRLRLLRLRLLLLRLRRLRLRRRLRLLRRRRRRRRRRRLLRRLLRRLLLLLRLLRRLRLLRLLRLLLRRRLRLRRLRLLRRLLRLRLRRLRRRLLLRLLLRRLRRRLLLRRLLLLLRLLLLRRLLLRLRRLRLLLRRRRLRLLLRRLLLLLLRLRLRLLRLRLLRLLLLLLRLRRLRLLRRLLRRLLLLLLLLRRRRRLLLLRLRLRLRRRRLLRRRRLLLRRLLLRRLLRRLRRRRLRRRRRLLLLRRRLLLLRRLLLRLLLLRLRLRLRRRLLRLLRRLLLRLRRRRRLRLRRLRLRLRLRLLLLLLRLLRLLRLLLRLLRRRRRRLRLLRLLRRRRLRLLLLRRLLRRRRLRLRRLRRRRLLRLRLRRRLRLLRLLLRRRLLRRLLLLRRRLRRLLRLLRRRRLRLRRRLRRRLRRLRLRLLLRRLRRRRRLLLRLLLRLRLLLLRRRRLRRLLLLLRRLRRLLLRRRLLRLRRLLRRRLRLLLRLRLRRLLRRRRRRRLLLRLRRRLRLLRLLLRLRRLRRLLLLRLLRRRLRRLLRLLRLRLRLRLLRLLRRLLRRRRRRLLRLLLRRRLRRLLRLRRRLLRLRRRLLRRLLRLLRLRLLRRRLRRLRRRRRLLRLLLLRLRLLLLRLRLRLRLLRRRLLLRRRLRRRRRRLRRLRLLLRRRRRRRLRRRRRLRLLLLLLLLRLLRLLLLRRLLLRRLLRRLRLRLRLRRRRRLRLRLRLLRRRLLLLLLRRRRLLLRRLLRLRRRLLLRLLLLRRLLRLRLLRLLLLLLRLRRRRRLRLLLRLLRRLLLRLLLLLRRLLRRLRLRRRRLLRLRLLRLLRRLLLRRLLLLRLRLLLLLRLRLRLLRRLLLRRLRRRLRRLRLRRRLRRLRRLLRLRRLRRRRLRRLLLLLRRRLLRLLLLLLRRRLLRRLRLRLRLLRLRLRLLRLRLLLLLLRLLLRLLLRRRRLRLRLLLRRRLRLRLRRRLRRRLLRLLLRLRRRLLRLLRRLLLRRLRLRLLLLLRRRLLRLLLRRLLRLLRLLLRLLLRLLRLRLLRRRRRRRRLRRRRRLRRRLLRLRLRRLLRLRRRRRLRRRRLLLRRLLRLLRLLLRRLRRLLLRRLLLRLRLLRRRLLRRRLLLLRRLRLRRLRLLRLRLRLRLLLLRRLLLLRLLRLLLLRLRLLLRLRLRRRLLLRLRLRRRRLLLLLLRRLLRLLRLRLRRLRRLLLLLLRRLRRLRRLLRRLRLRLRLRLLLRRLRRRLLRRLLRRRRLLRLLRLLLLLRRLLLRRLLRRLRRRLLLLLRLLRRLRLRRLRRLRLLLRRRLRLLLLRLLLRRLRLLLRRLLRRLLLLLRLRLLRRLLLRLRRLRLRRRRRRLLLLLLLLRLRLLRLLRRRLRLRLLLLRRRLRLLRLRLRRLRLLRRLRRLRRLRLRRRLLRLRLLLLLLLLLRRRRLRRRRRLLRRRRLRRLRRLLLLLRRRRRLRRLLRRRLRLLLRLLRLRLLLRRLRLLRLLRLRRRLLLRLRLLLRLLRLRLLLRRRLLLLRLLRLRRRLLRRRLLLRLRRRRRRLRLLRLLLLLLRLLLLRLRLRRLLRLLRRLLLLRLRLRRRLLRLRLLLLLLRRRRLLLRRRRRLLRRRLLRRLLRLRRLRLLRRLLRRRLRLLLLLRLLLLRRLLRLRLLRRLRLRRLLLRRRRLRLLLLLLLLRRRLRLLLLRLLLRLRLRLLRLRRLLRLRRLLRLRRLRLLRRLRLRLRRLLLRLLRLLLRRRRLLLLLRRLLLLLRLLLRRLLRLRRRLRLLRLLLRRRLRRLLRRRLLRLRRLLRRRRRRLLLLRRLLRRLRRRLRLLLLLLLRLRRLRRRLRLLLLLRRLLLRRLRRRRRRRRLLLLRRLRLRLLRRLLLRLLLRLRLRRRRLRRRRRRLRLRRLLRRLRLRRRRRLLRRLRRLRRLRLLLLLRLRLLLLLRLLRLRLRRLLLRRRRRLLRRLRLRRLLLRRRLRLRRLRLRLLRRRLRRRLLRRRRLLLLRLRRLRLLRRLLLRLRLRRRLRLLLRLRLRLLRLLRRLLRRLLRLRLLLLRRRRLLLLLLLRLRLLLLLRLLRRLRLLRLRRRRLRLRLLLRLLRRLLLLRRRLRRLLLRRLRLRLRLRRRRLLLRLRRLLRLLLRRRRLRLLLLLLRRLLLRLRLRRRLRRRLLLRRLRRRLRRLLRLLRRRRLRLLLRLRRLLLLLLRRRLLRRRRLRRLRRRLRRRLRLLRRRRRLRLLLLRRLRLLRLRLRLRLRRLLLRRRRLLRRRLLLRRLLRLRRLLLLLRRLRRRLRRLLLLRLLLRLLLLRLRRLRLLRLRRLRRLLLLLRLLLRRLLLLLLRLRLRLLLLLRLLLRRLLLRLLLLLRRLLRLLLRLLLRLRRRLLRLLLLLRLLLLRRLLRLRRLLRRRLRLLRLRRRRLLRLLLRRRLRLRRRRRRRLLRLLRRLRLLLRRRLRLRRLLLRLLRLLLLLLRLLLLRRLLRRLLRRLRRRRRRRRLLRLRRRLRRLRRRRRLRRLRLRRRRLLLRLRLRRRRRRLRLRRRRRRLRLLRLLLRLRLLRLLLRRRRLRLRLLLLRLRLRLLLRLLRLLRRLRRLRRLLLRRRRRRLRRRLRLRLLLLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRRRLRLLLLRLRLLRLRRLRRRLRRRLRLLRRRRRLLRLRLLLLRLLLLLLRLLRRLLLLRRLLLRLRRRLRRLLRLLRLRRRLLRRRRLLRRRRLRRLLRRLRLRLRLLLRLLRLRLLRLLRLRLRRLRRRLRLLLRLLLRLLRRLLRRLLRLRLRLLLLLRLLRRLRRRLLLLRRRLRRLRRRLLLRLLLLRRRRLLRRLLLLRLLRRLLLLLLRLRRRLLLLLRRRRRRRLRRRLLLRRLRRLLRRRRRLRRRLRRRLLRLLRRRLLRLRRRLLLRLLLLLRLRLLRLLRRLLLLRRRLRLLLLRRRRLRRLRLRLLRLRLLRLRRLRRLLLRRRRRLRRLRRLLLLRRLLLRLRRLLRRRLLLRLLLRLLRLRRRLLRRRLRRLLRRLRRRLLRRLRLLRLLLRLRRRLRLRRRRLLRLRRRLRLLRRRRRLLRRLLRLRLRLRRLRRLLRRRLRLLRRRRRRLLRLRLRRLLLLLRRRRRLLRRLLRRRRLRLLRRRRLLLLLRLRRRLRRRLRLRRLRRLLLRLLLLRRRLRLRLRRLLLLRRRRLLLRRRLLLLRRLRRLRRLLLRLLRLLRLLRRRRLRRLLRRRLLLRLRRLLLRRRRLRLLRRLRLLRLRLRRLLRRLLRRRRLLRLRRLRLLLRLLLRRLLRRLLRLRLLLRLRLRRLLLLLRRRRRLRRRRRLLLLRLRLLLLLRLLRRRLRLLRRLRRRRLLLLRLRRLRRRLRRRLRRRRRRLRRRLLLRRLRRRRLRRLRLRRRRRRLRLRRLLLLRRRLLRRRRRLRRLRLRLLLLRLLLRLLRRLLRLRLLLLLRRLRRLRLRLLLLLRLRLRLLLRRLRLLRLLLRLRLRRLRLRRLLRRLLLLLLRRLLRLLLRRLRLRLLLRRLRLLLLRLLRLRLLLLRRLLLRRRLRLRRLRLLRRRRLRRLRLRLRLLRRRRRLRLRLLRLRLLRRRLRRRLLLLLLRRRLRRLRLLRLLLRRRLLLRLRLRRRLLLRRRLLLLLRRLLLRRRRRRRLLLLLLRLLLRRRRLLLLLRLLRRRRRRLRLRRLRLLRLRLRLRLLLRRRRLLLRLRRLRRRLLLRLRLRRLLLRLLLRRLRRLLRLLRRLRLLRRRRRLLRLLLRRLLRLRRLLLLLRRRRRRRLLLLRRRLRRLLRLRRRRRLRLLRRLRLLRLLRLRLRRLRRLLRRLRRRRLLLLLRRLRLRRRLLRRRRRRRLLLRRRRRRLRLLLRLRLLRLLLLLRRRLLRLRLLRRRRRLLLLLRLLRLLRLLRLLLRLRLRLLLRLLLLRRRRLLLRRRLRLRRRRRLLLLRRRLRLRLRRLLRRRLRLRLRLLRLRLLRLRLRLRLRRRRLLRRLLLRLLRRLLLRLRRLRRLRLLRLLRRRLRLRRLRLLLRLRRLLRRLRRLRRLRLLRRLLRLRLLRRRLLRRLRRLRLRLLLRLLRLLRRLLRLRLLRLLLLLRLRRRRRRRLRRLLLRRRRRLLLRRLLLLLRRRLLLLLLRLLRRRLLLLRRLLLRRRLRLRLLLRLLRLLLRLLLRLRLRRRLLRRRRLLRRLRRLRLRRRRRLLLLLRLLRRRRRRLLLRLLRLLLRLRLRRLRRLRRLLRLRRLLRLRRRLRLLLLLRRRLRRLRLLLLRLLRRRRLRLRLLLLLRRRRRLRRRLRLRRRRRLLLRRLLLRLLRLLLRLRRLRLRRLRLLLLLLLLRLRLLLRLLRLRRRLRLRRRRLRRRLRLLLRLRRLRLRRRLRLRLLRRLLRRLRLLLLRLLLRRRLRRLLRRLRRRRRRLRRRRLLLLLLLLLLLRRRLLRLLLLRRRLRRRLLRLRLRRRRLLRRLLRRLLLRRRRLRLLLLLLLLLLLRLRLLRRLRRRLRRRRLLLRLLRRLRRLRRLRRLLRRLLRRRLLRLRRRRRLRRRLRRRLLLRLLRLLRRRLRRRRLRRRLRRRRRLRLLRLRLRLRRRRLLRRRLLRLLRLLRRRRLLRRLLRRRRRRRLRLLLRRRLLRLRRLRRRLLRRRRLLRRLLRLRRRLLRLRRRLLLLLLRRLLLRRRRRRRLRLLLLRLRLRLRRRLLRRRLRRLLRRLLRRRRRLRLLRRRLLRLLRRRRLLLLLRRLRRRLLLLLRLLRRRLRLLLLLRRRRRRRRLRRLRRLRRLLLLLLRLRLRRRLLLLRLLRLRRRLRLRRLLRRLRLRLRLRRRLLRLLRLLLRRLRLLLRRRRRRRRRRRRRRLRRRRRLLRLLRRRLRRLRLRRRLLRLLLLRRLRLLLRLRRLLRRRRRRLLRLRLRRLRLRLRRRRLRRRRLLRLRRRLRLRRLRRLLLLLRRLRRLLLLLRRRLLRRLRRLLLLRRRRRLRLRRRLRRRLLRRLRRRLLRLRLRRRRLLLRLLLLRRLLLLRRRLLRLLRRRRLRRLRRLRLRLLLRLLRRLLRLRRRRRRLLLLLLLLRRRLRRLRLLLRLRLRLLRLRRRRLRLRRLRRRLRRRLRRRLRRLLLRLLLLRLLRRRLRRRRRRLLRRRLRLRLLRLRLRRRRRRLRRRLLLRLLLRLLLLRLRRLLRLRLRLLRLLRLLRRLRLLLRLLLLRLLRLRRLLLRRLRLLRRRLRLRRLLRLLRRRLLRLLRRLRRLRRLLRRLLRLRRLRLLRLRRLLLLLRLLRLRRRRLRRLRRLRLLLLRRRLLLLLLLLLLLLRRLLRLLLRLLRLLRLRLRLLRRRLLRRRRLRLRLRRLRLRLLRRRLLLRRRLRRRRRRRRLRLRRLLLRLLRLLRRRLRLLRRRLLRRLRLLRRLRRLLRRLLLLLRRLLLLLRRLLLLLRRRLLRLRLLLLLLRRLRRRLLRLLLLRLLLLLLRRLRLLRRLRLLRRLLRRRLLLLLRLRLRRLRRRLRRLLLLRRRLLRRLLLLLRLLRLRRLRLLLLLLRRLRLRRRLLLLRRRRRLRRLLLLLRLRRRLRLLRRRRRLRLRRRLRLLRRLLLRRRRLRRLRLRRRLLRRLRRRRLRRRLLRLLRRLLRRRLLLRRRRLRLLRRRRRLRRRLLLLRRLLRLLRRLRRRRLLRLLRRLRRLRRRRLRRRLLLLRRRLLRRLRRRLRRRLRRLLRLRLLRRLLLLLLLLRLLRRRLLLRRRLRLLRLLRLRRLRRRLLLLRRLLRRRRLRLLRRLLRRLRLRRLRLRRRLLLLRRLLLLLLRLLLRLRRLRRLRLLLLRLLLLLRRLRRRRLRLLLRLLRLLLLRRRRLLRRRRLRRRRRLLRLRRRLLLRLLRLLRRRLLLRRLLLRRLRLRRLLRLRRLLRLLRRLLLLLLLLLLRRLRRRRRRLRRRLRLLLLLRRLLRLRLRRLRLLRRLRRRRLRRRRLRRRLRRRRLLRRRLLLLLRRLRRRRRLLLRLRLRLRRLLLLRRRRRLLLLRLRRRRLLRRRRLRLLLRLRLRRRLRLLRRLLLLLRLRLLLRLLLRRLLLLLRLLLRLLLRLRLLLRRRRRRRRRLLRLRLLRRLLRRLRRLRRLRRRRLLLLLLLRRLRRRLRRRLRLRRLRLLLLLRRRLLRLLRRRRRRLRRRRLRLRRRRRLRLRRLLRRLLRLRRRLLLLRLRRLRLRLRRRRLLRLRRRLLRRRRLLLRRLLRRLRRLRRRRLLRLRLLRLLLRRLLRLLLLLLLLLRLRRRRRRRLLLLLLRRLRLLLLRLRLRRLRRLLLLLLRLLLRLLRLLRRRLRRRRRRLLRLLRRRRRLRLRLLLRLRLRRLRRLLRLRRLRLLRLLLRLLLLRRLRLRRRRLRLLRRRLLLLLLLLLLLRRLRRRLLLRLLRRLRRLLRRLRLLRLRLLLRRRRRRRLRLRRRLRRRLRLRLLRRRRLLLLLRRLLRLRLLLRLLRRLRLRLRLLRLLRRRLRLRLLRRLRRRLRLRRLLRRRLRRRRRRRRLRRLLRRLLLLLRLRLLRRLLRLRRRLRRRLLLLLRLLRLLRRLLRLLLLLRLRRRLLRRRLLLLRLLRRLRRRRRLLRLLRRLRLRLRLLLRLRRLLRLLLRLLLLRRRLRLRRLRRRRRLLRRRLRLRRRLLLLLRLRRLRLRLRRLRLRLLLLLRLRRRRRRLLLRLLLLLRRRLRLLRLRLLLLRLLRRRRRRRLRRLLLRLRLLLRRLLLLLRRRLRLLRLLRRRLLRLRRLLRLLRLLLLLRLLRRRLLLLLLLLLLLLLLLRLRLRRRLRLLRRRLLRLLRLRRLLRLRRLRLRRLLRRLLRLRLRRRLLRRRRLLLRLRRRRLRRLLLRRRLLLLRRLRRRRLLRRLRLLLRRLLRRRRRRRRLLRRLLLRLRLRLLRLLLLRRLRRRLLRLLLRRRLLRRRLRRLRLLLLLRLRLLLLRLLLRLRRLRRLRRRRLLRLLRLLLRLRRLLLLRLLLRLRRRLLRRLRLRLLRLRLLRRRLLRLRLLLLRRLLRLLRRRLLRRLRLRRRLRRRLLRLLLRLLRRLLLLLLLRLLRRLRLLLRLLRRLLRLRRLLRLLLLRLRRLRLLLLRRRRRLLLLLLRLRLLLRRLRRLRLRRLLLRRRLRLRRRRRRRRLRRRLRRRRRRLRRRLLLLRLLRLLRRRLLRRLLRLLLRRLLLLRRRLRRRRLLRRLRLRLLRRRLLRRRRLLRLLLLRRLLRRRLRRRRLLLRRLLRLLLLRRLRLRRLRRRRRLLLRLLLLRLRLRRRLLRRLRLRLLRRLRLLRLLLLLLRLRRRRLLLLLRRRLRLLLRRRRLRLRRRRRRLRLRRLRLLRLRRLLRRRRLLLLLRLRRLLLRRLLLLRRLRLLRRRLRRLLRLLLLRRLRRLRRRRLRRRLLLRRRRRRLLRRLLRRLRRLRRLRLLLLRLLRRLLLRLRRRRRLLLRLRLLLLRLRLLRRLRLRRRLRLRRLRLLLLLLLRRLLRRLRLRRLLRRLLRLLRLRLRRLLLRLLLLLRLRLRLRRRLRRLLRLLLRLRRRLLLLRLLRLRRRRRLLRLRRLRRLLLLRRRLRRRRRLLRLLLRLLLRRLLLRRRRLRLRRLLRRRRRRRLRLRLRRRRLLRLLLLLRRRLRRRRLRLLLLLRRLLRRLRRRLLLLRLLRLRRLRRRRLRRLLLLLLRRRLRLLLRLRLLLRLLLLLRLLRRRRLLRLRRRLLRLLLRLRRLRLRRRRRRRLLLRRRLRRRLRRLRLLLLRRRLRRRRLLLRLLLLRRLLLLLLLLLRLLRLLRLRLLRRLRLLRLRLRRRRLRLRLRRLRLRRLRLLRLLLLLRLRRRRRLLLRRRRRRRRLRLRRLRRRRLLLLRLRLRLLRRRRRRLRRLLRLLLRRRLLRRRLLRRRRLLRLRRLRRRLRLLLRRRRLLRLRLLRLLRRLLLLRRLRRRLLRRLRLRLRRRRLLLLLRLLLRRRRRRLLLLRLLRRRLRLLRRRLRRRRLRRRRRRRLLLRRLRLRRLRLRLRRLLRLRRLRLRLRLRRLLRRLRRRLRLRLLLLRLLLRRRLLLLRRLRRRRLRRRRRRLRLLRLRLLRRLLRLRRLRLLRLRLLRLLLLRLLRRLLRLLLLLLLLRRLRRLLLLLLLLLLLLRRLLRRRRRRLLRRLRRRRLLRRRLRRLLRRRRRRRRLRLLRLLLLRRLRLRRLLLLRLRLRRRLLRLRRRLRRLLRRLLLLLLLRLLLRRRLLRLLLLLRRRRLRLRRRRLRRRLRRLLLRLLRLRLLRLLRRLRLRRLRRLRLRLLLRLLRRLRLLLRLRRLRRRRLLLRRRLRLLLRLRLLLLLLRLLRRLRLLRRLLLRRRRLLRLRRLRLRRRLLRLRLLRLRRLLLLRLLLLLLRLRLLLRRRLRLRRRLRLRLRLLRRRLLRRLLRRRRRRLLLLRLRLLLLLLRLRLRRLLRLLRLLLLLRLRLLRLLRRLRRRLLLRLLRLLRRRLRRLLLLRLRLRRRRRLRRRLLLLRLLLLLRRRRRLRRRRLRRRRLLLLLRLLLLLLLRLRRRLLLRRRRRRLRLLRRRLRRRLLLRLRLRRRLRLLRLRLLLRLRRLRLLRRRLRLLLLLLRLLRRRLRLLLLLRRLLRRLLRLLRLRRRRLRLRLRLRLRRRLRRLRRRRRRLLLLLRLLLLLLLLRRRLLRLRLLRRLLRLLLLRRLRRLRRRLRRLRRLRRRLLLRLLRRRLRLLLRRRLRLRLLLLLRLRRLRRLRRRLRRRLLLLRRRLLRLRRLLRLLLRLRLLLLLLRRLRLLRRRRLLRRLLRRLRLLRRLLRRRRLRRRLLLRLLRLRRRRLLRLLRLRLRLLLLRLRRRRRRRRLRRLLRLLLRRLLRRLLRRLLLLLRRLRRLLLRRLRLLRRRLLRRRLLLLRLRLRLLRLLLLRLRLRRLRLLLRRRLLLRLRLLRLRLRRRRRRLRRLRLLLLRRRLRRRRRLLRRLLLLLLLLLRLLRRRLLLRLLRRRRLRRLRLLLRLRLRLRLLLRLRLLRRRLLRRLLRRRRRLRRLLLRLRRLLLLRLLLLRLLLRLRLRRLLRLLLRRRRLRRLRRLLRLRRLLLLLLLLRLRRRLLRLRLLRRRLLRLRLLRLLRRLLRRRRRLLRLLRLLLLRLLRRLLRLLLLRLLRRRRRRLRLLRLLLRLRRLLRLRRRRRLLLRRLRLRLRRRLRLLLLRLLLRRLLRLRRLRLRLLRLRRLLRRLLRRLLLRRLRLLLRRRLRRLRLLLLLRRRLRRRLLRRLRRRLLRLLLLLRRRRLRLLLRRRRRRRLRLLLLRLLLRRRRLRRRLRLRLLLLRLRLLLRLRRRRRLRLRRRRRLRLRRRLLRLRRLRRLRLLLLRRRLLLRLLRRRRLLRLLRLLRRLLLRRLLRLLLRRLLLLRRLLRRLLRRRRLLLRRRRLRLRLRLLLRRRRLLLLLRLRLLLLRLRRRRRLRLRLRLRLLLLRRLLLRLLLRRRLLLLLLRRLLRRLLRLRRRRRRRRLLLLLRRRRRLRRLRRRLLLRLLLLLLRRRRRRLLRLRRLRRRRLLRLLRRRLLLLRLLLRRLLLRLRLRRLLRLRLLLRLRLRRRLLLLLLLLLRRRRRLLRLLRRRLRLLLRLRLRRLLLLRRLLLLRRLRRLRRRLRLLLLRLLLLLRLLLRRLRLLRLLLRLLRLLLLLRRRRLLLLRRRLRRLLLLLRRLRLRRLRLLRRLLRLRLLLRRLLLLRRLRLRLRRLLRRRRLLLLLRRLRLRLRRRRLLRRLLRRRLRLLRRRLLRRLLRRLRRLLRLLRLLRRRLLRLRLLLRLRRLRRRLRRRLLRRRLRLLLRLRLRRRLLLRLRRLLRLLRLLRRLRRLRLRLLRRLLLRRLLLLLRRLLRLRLLRRRRLLRLLRLLRLLLLLRRRLLLRRRLRRLRLLRRLLRRRLRRLRRRLRLRLRRLLLRLRLLRLRRLLRLRLRRRLRRRRLRLRRRRLRLLLRLRLRRRRLRLLLLRLLLRRRLRLRRLRRLLRLRRRLRLLRLLLLRLLRLLLRRRLLRLLRLLRRLRRLLLLRRRLLLLRRLLLRRLLRLLLRLRLRRLLLRLLLRRRLLRRRLRLRRLRRRRRRRLLRLRRRLLRLRRRLRLLRRLLLLLRRLLRLLRLRLLRRRLRLRRLRRRLRRLRRLRLRRLRRRRRRLLLLRRRRLLLLRRRRLRLLRRRLRRRLLLRLLLLRRRRRLRRRLRRLLRRRLLLRRLLRLLLLLLLLRLRLRLRRRRRRRRLLRRLLRRRLLRRLRLRLLLLRRRRLLRRLRRRLRRLRRLLLLRRRLLRLLRRRLRRLRLLLRLRLLLLRLLRLLLLLRRLLRRLLLLRLLRLRRRRLLLLLLLRRRRLLLLRLLRRLLLLRLLRRLLRRRLLLRLRRLLLLLRRRLRRLLRRLLRLRLRLRRRRRRLRLRRLRLRRLRLRRLRLLLRLLRRRLLRLRLRRRLRRRLLLRRLRRRLLLRLLRRRLLRLLLLLLLLRLLLLRLRRLLLRRRRRLLLRRRLRRRLRLLLRRRRRRLLRLLRLRRLRLRLRLRLRRLLRLLLLLRLRLLRLRRLLRRLRLLLLLRLLRLRLRLLLLLRLLLRLLRLLLRRLRLLRLRLLRRLLLLRRLLLRLLRLLLLLRRRRLLRLRLLLLLRLLRRLLLLLRRLLRRLLLLRRRLRRRLRRRLLRLRRLLLLRRLLRRRRRRRRLRRLRLRRRLLLRRLLLRRLRRRLRLLRRLLRLRRLRRRLLRRLLRLRLLLLRRLLLLRLLLLLLRLRRLLLLRLLRLRRLRRRRRLLLRLLLLRRLRLRRLLRRLRLRRRRLLLLLLLRRLRRRLRLRRRRLRLRRLRRRRRLRLLRRRLLRRRRRRRLLLRRRRLRLRRRLLRLLLLLLLLRRLRRRRLLRRRLLLRRRRRLRLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRLRLRLLLLLLRLLLLRRLRRLLLRRRRLRLRLRLLLLLRRLLRRLLLLLRRRLLRLRLLLLLLLRRRRRLLLLLRLLRLRRLRLRLRRLRRRRLLRRLLRRLRRRLRLLRRLLRRLLLLLLRRRLRLRRRRRRRLLLRLLRLLRRLRLRRLLLLLRLRLLLRLRLRLLRRRLLLRRRLRLRRRRLLRRLLLLRRLRLLLRLLLLRLRRRLLLLLLRRRRLRRRLLRLRRLLRLLRRRLLRRRRRLLRLRRRLRRRLRRLLLRLLLRRLLRLRLRLLLRRLLLLRLLLRRLLRRRRLLRRRLLLLLLRRRRLRLLRRRRLRRRRRRRLRLRRLLRRRRRRLLRLLRLLLLLRRRLRLRRRLRRRLRLRLRLRLRLRRRRLLLRRLRLLLRRLLLLLLRRLLLLRLLLRLRRLLRRRRLRLLRLLRRLRLLRLRLLLLRRLLRLLLLRRRLRRLLRLRLRLLRRRRLLRRRLRLLRLRLRLRRRRRRLLRLLRRRRRRLLRRRRLLLRLRLRRRRLRLLLLRLLRLLLRLLLRLRRLRRLRLRLLLLLLRRRRLLLRRLRRLRRLRLRRRRLLRLRRRLRLLRRRRLLRLRLRRLLLRLRRLLLRRRLRLLLRLRRRLRLRLRRLLRLLRRRRLLRRRRRRRLLLRRLLRLLLLLLRLRRLLRLLRLRRRRRRLRRRLRRLRRRRLLLLRLRLRLRRRLLRRRRRLLRRLLLRRLLLLLLRRLRRRLLLRRRRRRRRLRLRLLRLRLRLRRLRRLRLLLRRRRLLLLRLRLLRRLLLRLRRLRRRLRLRRLLLRLLLRLLRRLRRLRLLLLLRRRLRLRRRLLLLLLLRLRRRLLLLLRLRRLLRLRRLRLLLRRLLRRLRLRLLRLRRRLLLLRRLLRLLLLRLRLRLLRLLLLRLLLLLRLLLRLRLLLRRLRLRRRRRLRRLLLRLLRLRRRRRRRLRLRRLLRLRRRLLRRLLLLRLRRLRRRLRLLRLLLRLRRLLLRRRRLRLLLRRRLLLLLRRRLLLRRRRLRRRLRLLLLLRRRRLLLLRRRRLRLLRLRLRLRRLRRLRLRLRLLLRLRRRLRLLRLRRRRRRRLLRLRLRRRLLRRRLRRLRRLLRLLRRLRLLLRRRLLLRLLLLRLLRLRRLRLRLRRLLLRRRRLLRRRLRRLLRRRRRRLLRLLRLRLLLLLRLLLLRRLRLLLRRRRRRRLLRLRLRLRRRLRLRLRLLLLLLLLLRRRRLRRLLRRRRLLLLLLLLLRLLLRRRLRRRRLRLRLLLRLLRLLRLRLRLLRLRRRLRLRLLLLRRRRRLLRRLRLLRLRRLLLLRLRLLRLLRRRLLRRRRRLRLRLLRRRLLRLRLRLRLLLLLLLRRLRLRLLRRLLLRLRRLLRLLLRLLRRLRLRLRRRRLLLRLRRLLLLLRRRLLLLLLLRLLLRRRRRRRLLLLLLRLLLLLLLRLLRLRRRRLLRRRLLLLLLLRLRLRLRRRLLRLLLRRRRRLLRRRLLLLLRRRLLRRLLRLLLRRLLLLRLRLLRRLLRRLRLLRLLLLRLLLLLRLRLLLRLLRRRRLLRRLLRLLLLRLLRLLLLLRLLRRLRLLLLLRRLLLRLLLRLRRRRRLRRRRRRRRLRRRRRRRRLRRLLLRLLRLLLLRLLLLRRRRRLLLRLLLLLLLRLLLRRRLLLRRRRRLLLRRLLLLRLRLLRRRRLLRLLLRRRRLLRLRLLLRLLLRRLRLRRRLRLRRLRLLLLLRLLLRLRRLLLRRRLRLRLRLLRLRLLRRLRLRLLLLRRLRLRLLRLRRRRRRLLRRLLRLRLRRLLRRLRRLLRLLLRRLRLRRRRLRLLLLRLRLRRRLLRRLLLRRRRLRLLLLLLLLRLLLRLLRRRLRLRRLRLRLLLRLRLRLRLLRRLLLLLRRLLRRRLRLLRRRLLLLLLLRRRLLLRLLLLLLRLLRRRRLRRLRRRRRRLRLRRRRLLLRRRLRRRLRRLLLRRLLRRRRLRRLRLRRRRRLLLLLLRLLRLLRLRRLLRRLLRRRRLLRRLLRLRLRLRLLRLRLLLLRLRRLLLRRLRLRRLRLRLLRLRLRLLRRLRLRRLRRRLLRLLRRLLRLRLLRRRLLRLLRRLRLLRLLRRLRRLRLLLRLRLRRRLRLLLLRLRRRRLRRLRRLRRRRRLRLLLLRLRLLLRLRRLRLRRLRRRLRLRRLLRRLLLRLRLLLRLRRLLLLLRLRLLLLLRRRLLRRRRRRRLRLRRRRRLLLLLRRLLRRLLLRRRLLRLRLRRRLRRLLRLRLRLRRRRRRLLRRRLRRLRRLLRRRLLRRRRLLRRRLRLRRRRLRRLLLLRRRRRRLLLLLRLRLLRLLLRLRLLLRRLLLRLRRRLLRRRLLLRRRRLLLLRRRRRRLLLRLLLLRLLRRRRLRLLRLLRRRRRRLLRRRRLRLLLRLRRLLLLLRRRRRLLLLLRRLLRRLLRLLRRLLLRRLLRLLLRRRRLLLRRLLLRLRRLLRRRLRRLLLLLRLLRLRRLRLRLLRLRRRRRRLRLLRRLLRLRLRLRRRLLRRRLLLLLLRRLLRLRLLRLLLLRRLLLLRLLRRRRLLLRRRRLRLLRLLRLLRRRLRLRRRRLLLRRLLRLLRRLRLRRLLRLRLLRRRLLRLLRLRRLRRLRLLLLLLLLRLLRLRRLRLRRRRRLRLLLLRLRLRLLLLLRLLRLRRLLRLLLRRRRLLRLRLRRLLLRLRRRRRLRLRLRLRRLRLLRLLRRLRRRLRRLRRRLRLRRLRLRLRRLLLLRRLLRLLRRRRLRLLRRRRRLRLLLRLLLRLRRRLLLLLRLLLLLRRLLRLRLLLRLLRLRLLRRRLLRLLLRRRLLLRLRRLRLLRRLRLRLRRLLLRLLRLRLRRRLRLRRRLRRLLLLRRRRRRRLLLRLRLLRLLRLRLLRLLLLRLRLRRLLRLLRRLRLLRRRLLLLRLLRRRRLLLRRRRRRRLRRLRLLRLRLRLRRRRRRRRLLRRRLRRLRRRRLLRLLRRLRRRRLLRRLLLRRRLLRLLRRLRRLRRRRLLRRLLLRLLRRLRRRRLRRRRRRLRRLRRRRLLRRRLLLRRLLLRRRRRRRLLRLLRLLRLRRLLRLLLLLRRLRLLRRRLLRRRRRRLRRLRRLRLLRRRLLLLRRRLLRLRRRRLLLLRLLLLLRLLRRRRRLLLLRRRLLLLLRLLLRLLRRRRRRLRRLRLLLLLLRLRRRLLRLLLRLLRLLLRLRLRLLRRRRLRRRLLLLRLRRRLRLRLLLLLRLRLLLLRLLRRRLRRLLLLRLRRLLRLLRRLLLRLLRLLLRRLRRRLRRLRRLLLLLLLLRRRLRRRLRRLLLLRLLRRRRLRLRRLLRRLRLRRLLRRRLLLLLRRLLRRRRLLLRRLLLRRLLLLRRRRLRLRLLRLRRLRLLRLRLLRLRLLRRLRRRLLRLLRRLRLLRLRLRLRLLLRRLLRLLRLLRRLLLLLLLRRLRRRRRRRLRLRLRLLRRLLRRLRLLLRRRRRRLRLLRLRRLLRRRRRRRLLLRRLRLLRLLRLRLLRLLLRRRRLRRRRRRLLLLRRRLRLLRLLRRLLRLRRLLLLLRLRRRRLRLRRLRLLRLRLLLLLRLRLLLRRLLRLLRLRRLRRLLRLRLLRLLLRLLLRRLLRRRRLRRLRLRLRRRLRLLLRRLRRLLLLLLLLRLLRLLRLLLLRLLLRLLLRLRRRRRRLRRLLLRLLRRRLRLRLRLLLRLRRLLLLRLLRLRLLRLLRLRRRLLLRRLLRLRLRRLLLRRRRLLLLLLLRLLLRRRLLRLRRLLLLRRRRLRRLLLRRRLRLLLLRRRRRRLRLRRRRRLRRLLRLLRRRRLLLLLRRRLRRRRLLRLLLLRRLLLRRLRLLRRRRRLLLRRRLLLLLRLRRLLRLLLRLRRLRRLLRLRLRRLLRRRRLLLRRRLLLLRLRLRRRLRLLRRRLRLRRLLRRLLLRLLRLRLLLRLRRLLLRLLLRLLRRRLRLRLLRLLLLLLRLRLRRRRLLRLRRRLRLLRRRLRRRRLRRRLRLLRLRRRLLRRLLRLLRLLRLRLRLRRLLLRLLLLLRLRRRRRLRLRLRLLLLRRLRRLLRLRLRLLRLLRLLRRLRLRLLRLRLRLRLRRLLLRLRRLLRLLRLLRLRLRLLRRLLRLLRLLLLLRLLLLRLLRLLLLLLLLLLLLLLRLRRRLRLLRRLLLRLLLLRRRRRRRRLRLRRLLRRLLLLRLLRLLRLRRLLRLLRRRLRLRRLRLRRRLRRLRRRRRRLLLLRLRRLLRRLLRRRLRRRRRLRRLLRRLRLRLLRLRLLLLLRLRLLRLLLRRRLLLLRRRLLRLRRLLLLRLLLLLRLRRRRRLRRLRRRRRLRRLLRLLLLRRLLLLRLLLLLRRRRLRRLRLLLLRRRRRLRRLLLRRRLRLRRLRRLLRLRLLRRRLLRRRLLRRLLRLLLRLLRRLLLRLLLRRLRRRLLLLRRLRRLLLLRRLLRLLRLRRRLLRLLLLRRLRLLRRLRLRLLLLLRRLLRLRLRLLLLRRLLRLRRLRRLRRLRRRLRRRRLRRRRRRRRLRLLRLLRRRRRRRLLRLRLRRLLRLRRRLRRLRLLRLLRLLLLRRRLLRRRRLLLLLRLRRLLRRRLRLLLLLLLLLLLLLLLRLLRLLRRLRRRRLLLLLLLLLLRLRRLLLLLLRLRLLRLLRLLRRLRLLLRLRRRRLRLRLRRRRRRRLLRRRLLLLRRRRRLRLRLLRLRRLRRLLLRRRLLRLLRRRRLRLLRLLLLRRLLLLRRRRRRLLRLLRLRLLRLLLRRRLLRRRRRRRRLRRLLRRRLLRLLRLLRLRLRLRRLRRRLLLRLRLLRRRLLLRRLLLLRLRLRLRRLRRLLLRLRRRRLLLLRLLLRLLRRLRLRRLRRRLRLLLRLRLRRLLLRLLRLLRLRRRLLRRRRLRLLLLLLLRLRRLLLRLLRLLLLRLLLLLRRLLRLLLLRRRLRRRRRLLLRRRRLLLRRLLLRRRRRRLLRLRRRLLLRRRRLRLRRLLLRRLRLRRRRLLLRRRLLLRRRLRRLLRRRRRRLLLLRLLRRRRLLRRRLLLLRLLLLRRLLRLLLRLRLLRLLLLLLRLRRRRLRLRLRRRLLRLLLRRRRLRLLLRRRRRLLRRRRLRRLRRRLRLLLRLRRLLRRLLLLRLLLRRRLRRLRRLLLLLLRRRRRRLLLLLRLLRRLRRLRRRLLRRRRLRLLRLRRLRLLLLRRRRRRRRLLLRRRRLRLRLRRRRLRRRLLRLLRLRLLLLRLRRRRLRRRRRLLLRRLLLRRRLLRRRRLRRLRRLRRRLRLLLRLRRLLLLLLRRRLRLLRLLRRRRRRLLRRLLLRLLLRRLLLLLRLRLLLRLRRLLLLLLLRLRLRLLRRLRRRRRLRRRRRRRRLRLRRRLRRLRLLLRRLLRLRRLRRRLRLRRRRRRLLRRLRLLLLLLRLLLRRRLLLLLLLRRRRLRRRRLRLRLLRLRLLRRLLLLLLRRLLRLLRRLRLLRRRLRRLRRLRLRLLLLRRLRRLLRLLLLRLRLRLRLLRRRRRLLLRRLRLRRLLRLRLRRRLLRRRRRRRLRRLRLLLLRRLRLRRLRRLRLRLRRRRRRLRLRLRRLRLLLLRRLRLRLLLRRLRLRLLRRLRRLLLRLRRRRRLRRLRRLLLRLLRLRRLRRLRRRRLRRLRRLLRRRLRRLLRLLRLLLLRRRLLRLLLLLLRRLRLLLRLRLLLLLRLLRRRLRLLRRLLRRRLRLLLRLRLLLRRRLLRRLRLRLRLLLRLLLRLLLLLLLLLLRLRLRLRRRRRLRLRRLLRRLRRRLLLRLRRRLRLLLLRLLRLLRRLLLRLRLRLLRLLRLLRLRLLRRRRLLRLLLRLRRLRLLRLRLRRRRLLLRLRRLRLRLLRLLLLLRLLLLLRRRRLRLLLRLRRLRLLRLLRLLLRLLLLRRRRRLLRRRLRRLRLLRRRRRLLLLLRLRLRRLLRRLLLLLLRRLLRRRLRRLRLRRRLLLLLLRLLRLRLRLLRLRLLLRLLRRLRLLRRRLRLRLRLLLRLLLRRLLRRRLLLLLLLRRLLLLLLLLRRRLRLRLLRRRLRLLLLRRLRRLRLRLRRLLRLLRRLRLRLLLRRLRLLLRRRRRRLLLRLLLLRRLLRRRRRLRRRLRRLLRRRRRLLLRLLLLRRRRLLRLRLRRRLLLRRRRLRRRLLRLLRLRRRLLRRRRRRRRRLLLRLRLRRRRLLRRLRRRRRLLRLLLRRLRRRRLLRLRRRLLRRLLRRLLLRRLLLRLRRLRLRLLRRLLLLRRRLLRRLRLLLRLLLLLLRRLLLRLRRRRLRLLLLRRLLLRLRLLLLRLRLRRRLRRRRLLLLLRRRLRRRRRLLRRLLRRLLRLRLLLLRRLRLLRRRRLRLRRLRRLLRLRLRLLLLLRLRLLRLLLLRRLRRRLRRLRRLRLLLLRLLLRRLLLLLLLLRRRLRLLLRLLLRRRLLLRLRRLLRLRRLLRLLRLRRLRRRLLRLLRLRLRLLLLRLLLRLRRRRRRRRRLRRLLRLLLLRLLRRLRRLRRLRLLRLRRLRLLLLRLRLLLRLRRLRLRRLRLLLRRLRLRRLRRLRLLRLRLLLLLRLRLRLLRLLRLRRRRLRRRRLRRRRRRLRRRLLRRRLLRLRLLRLLRRLRRRRLLRRLLRLLLLRRLLLRRRRLLLLLLRRRRLRLRLLRLRRLLRRRRRRRRLRRLLRLRRRRLRRLLRRRLRLLLRLRRLLRLRRRLLRLLRLLRLRLLLRLRRLLLLRLRRRRRLLLRRLLRRLLLRRLLLLLRLLLLLLRRRRRLLLRRRRRLLRRRRLRLRLLRLLRRRRLLLLLRLRLLLLRLRRRRRRLLRLRRRLLLLRLRLLRLLRLLRLLLLLLRRLRRLRRRRRRRRRRLRRLLLLRRRLLRLRLRLRLLLRLLLLLRRRRRRRLLRLRRLLRRRRLRLRLRRLRRLRLLRLRLLLRLLLLRLLRLRLRLRRRLLRRLLRLLRLLLRRRRRLLRLRRRRLRRLRLLRRRRLLLRRRLLRLLLLRRLRRRLLLLLLRLLLLLRRLLRRLRLLLLRLLLRRLLLLLRRLLLLLLRRRLRLLLRRLRRLLRRLLLRLRRLRRRRLLLRRLRLRRLLRLRLRLLRRRRLLLLLRLLLRLRLRLRRLRLLLLLRRLRLLRRRLLRLRLRLLRRLLRLRRLLLLRLLRRRLLRRLRLLLRRRRRLLLRRRLRLLLRLRLRLRRLLRLLRLLLLLRLRRRLRRLRLRLRRLLLRRRRRLLRLLRLRRRLLRRRRRLRLLRRLRLRLLLRRRLLLLRLLRLLRLLRLRRRRRLRLLRLLRRLLLRLRLLRLLLLRLRRLRRLLRRRLLLRRLLRLRLRLRLLLLRLRRRRRRLRRLLLLLLLLRLLLRRRRRRLLLLRRRLLRLRLLLLRLLLLLLRLRLLLLRRLRRRLLLLLLRRLRLLLRRRLRLRRRRLLLLRRRLRRLLLRLLLRRRLLRLRLRLLRLRRRLRRRLLRLRLRLLRLRRLRRLRRRLLLLRRRLLRLLLLRLRRRLLRLLLRRRLLRLLRRLRLLRLRRRRRRLLRLRRRRLLLLLRRLRRLLRLRLRRLLRRRLLLRRRLRLRRRRLRRLLRRRLLLRRLLRLRLRLLRRRRRLLLRRRRRRRRLRRLLLRRRRLRRLRLRLLLLLRRRRLLRLRLLLRRLRRLLLLRRRLLLLRRRRLRRLRLLLRLRLRRLRLLLRRLLRRRRLRRLRLRLRRRRLRRRLRRLRRLRRRRLRLLLRRRLRLRLRLLLLLLLRRRRRLLRRLLLRLRRRLRRRLRRLLRRLRLLLLRLRRRRLRLRRLRRLLLRRLRLRLRLLLRRRLLRRRRRRLRRLLRRRLRRLRLLLRRLRRRLLRRLLLLLRLRLLLRRRLLLRLRLRLRLLLRRRRLRRLRRLLRRRRRRLLRRLRRRRRRLRLLRRLRRLRRLLLLRRLRLLRLRRRLLRLLRRLLLRLRRLRLRLLRLLRLRLLLRRLLLRRLRLLRLRLRLLLLRLRRLLLRLRRLLRLLRLRLLLRLRLLRLLRRRRLRLLLLRRLLLRRLLLRRLLLRRRRRRLLRRLRLRRLLRLLRLRRRRRRLRRRRLLLLLRLLRRLLRRLRRRLLLLLLLLLLRLLRRRRRRRLRLLLLLLLRRRLRLRRRLLLLRRRRLLLLRLLLLLLLRRRLRLLLRLLLLRRRRLRRLLRRRLLRRRLLRLLLLLRRLRRRLRRRLRRLLLRRRRRRRRLRLLRRRLLRRRRRRLLLLRRRLLRRRRLRLLRLLLLLLRRRLRRRRLLRRRLLLRLRRRRRLLRRLLLRRRRRLRRLLRLLRRRRLLLRLRLRLRRRLLLRRLLLLRRLLLLLLLLRRRRLRLLLRLLLRRLLRRLRLLLRRRLLLLRRLLLRRRRRRRRLLLLLRRLLRRRLRLRLLRLRRRRLLLRLLRRRRRRLRLRRRLLRRLLLLLLRRRRRLRLRRRRRLLLRLLRRLLLRRLRRLLLLRRLRLLLRLRLLLLRLRLLLRRRRRLRLRLLRRRRRLLRRLRLRLLLRLRRLRRRRLLRRLLRLRLRRRLLRLLRLLLLLLRRRLRLRRRLLRLLRLRRRLLRLLRLRLLLRRLLRLLLRLLRLRLRRLLLLRRRLLLLRRRLRRRLLRLRLLRRRRRLRRRRRLLRRRRRRLRLRRRRRRRLRRRLRRLRRRLLLLRRLLLRRRRRRLLRLLLRRRLRLRRRRLLLRRLRLRLRLLLLLLLLLRLLLLLLLRRRLLLLRRLLRLLLLLRRRRLLRLRLLLLLRLLRLLLLRLRRRLRLRLRLRLLLRRRLLRRRLRLLLLRLRLRLLRRRLLRLRLRRLRRLLLLRLLRRRRLRRRLRLLLLLLLLLRLRLRLLRRLRRLRLRRRRLLLRRLRRLRLLLRRRRRRRLLLLRRLRLLLLRRRLLLLRRLRLLRLRLRRLRLRRRRRLLLRLLRLLRRLRLRLRLLLRRLRRLLRLRLLLRRRRRRRRLLLRLLLLRLLLRRLRRLRRLLRLRRRRRRRRLLLRRLRRRRLRLLLLRRRLRRRLLRRRRRRLLRLLLLRLLLLLLLLLRRRLLLRRRRLRRLRRLRRRRLRLLLRRRRLRLLLLRRRLRLLLRLRRLRRLLLRLRRLRRRLRLLRLRRLRLRRRLRRLRRLRLRLLRRRRLRRLRRLRRLLLLLRLRRLLLLLRLLRLRRLRRLLRLRLRRLRRLRLRLLRLRRRRLRLRRLLRLLRLRRRLRRRRRLLLRLLLLLRRRLRLRLLLLRLRRRRLLRLRRLLLRLLRLRRRRLRRLRLRRRLRLRRRLLLRLLLLRLLLLRLLLLRLRRLLRLLRRLLRRRLLRLRRRRLRLRLLLLRLLLRLLLLRRRLRRLLRRRRRRLLLRRRLRLRLLLLRLLLLRLRRLLLLLLLLLRRLRRLRRRLLLRRRRLRLLLRRLRRRLRLRRLRRLLRRRRRLLLLRLLLRRRLLLRLLLLRLLLLRRRRLRRLRLLLLRRRLLRLRRRRLLLRLLLLLRLRLRLRLLRLLRLLLLLLLRLRLRRRLRLRLLRRRLLRRRLLRRRLRLLLLLRLLLRRLRLRRLRRRRRLLLRLLRLLRLRLLRLLRRLLLRLRLLLLLLLLLRLRLRLLLLLRLLRRLLLLLLRRLRLLRLLRLRLLRRLLLRRLLLLRRLRRRLLLRLRRRRLRLLLRRLLRRRLRLLLLLLLRLRLRRLRRLRRLLLLLLRRLLRLLRLLRRLRLRLRLRLLLLRLRRRLLLLRRRLLLLLLLRLRLRLRRRRRLLLLRLRRLRLLRLRLLRRRRRRLLRRRLLRRLRRRLRLLLLLRLLRRLRRLRRLLLRRRLRRLLRRRLLRRLRLRLLRRRLRRRLRRRRRLLLRLRLRRLLLLRLLLLLRLRLLLRRLRRLLRLRRLLRLLRLRLLLLLRRLRLLRRLLLLLLLLRRLLRLLLRLRLRLRRRRRRRRRRLRLRLRRRLLRRLLLRLLRLLLLRLLLRRLRRRLLLRRLLRLLLLLLLRRRLLLRLRRRRRRLRRLLLRLLLLRRRRLLLLLLRLRRRRRRRLLLLLLRLRLRLLRRLLLRRLRRLLLRLLLLRRRRLLLLLRLRRRLRLLRLRLLLRLRRRLLLLRRLRLRRLRLRRRRRLLLRRLLRLRLRRLRRRLRRRLLLLLRLLLRLLRRRLLLLLLLRRRRRLRRRLLRLRRLLRLLLLLLLLRLLLRLLRRLLLLLRLRLRLLRRLRLRRLLLRLLLLLLRRLRRRRLRLLRLRLLLLLLLRRLRLRRLLLLLLLLLRRRRLRRLRLLLLRLLRRLRLLLRRLRLRRRLRRRLRRRRRLRRLRRRLRLLRLRRLLLLLRRLLRLRRRLRRLRRLLLRRRRRRRLLRLRLLLRLRLLLLLLLRLLRRRRRRLLLRLLLLRRLRRRLLLLRLRRLRRLLRRLLRRRRLLLRLLLRRRLRRRLRRRLRLLRLLRLRLLLRLLLRLRLRRLLRLLLLRLRRRRLRLLRRLRLRRRLRLLLLLRRLLLRLRRRRRRRLRRRRRRRRLLRRRLRLLLLLLRLRRLLLLRRLRLLLLLRLRLLLRLRRRRLRLRRRRLLLLRRRRLLLRLLLRRRLLLLRLRRRLLRLLRRRLRRRRLRLRRLRRRLRRLRRLRRRRLRRRRRLLRRRLLLLRRRLRRLLRRRRLRLRLRRRLRLLRLRLRLLLRLLLRLLLLLLLRRLLRLRLLLRRRRLLLRRRRRLLLLLLLRLLLLRRRRRLLRLRLLRRRRRLLLRRRRLLLLRRLRLLRLLLLLLRLLLLRLRRRLRLLLRLRLRRRLRRLLRLLRRLRLLLLLRLLLRLRRLLRLLLLRLRRLLRLLRLRLLRLRLLRLLRRRRRLLRLRRLLRLLLRLLRRLLRRRRLRLLLRRLLRLLLLRLLLLRRLLLLRLLLRRLLRRRRRRLRRRRLLRLRRRRLRLRRLRRLLRRLRLLLRRLRLLRRLRRRLLLLRRLRRLRRRLRRRRRLLLLLLRRRLLRLRRLLRRRRLRLRLLLLLLRLRRLLLLRLLRLRRRRLRLRRRRLRLLLRLRRLLLRRRLRLRLRLRLLLRRLRLRRLLRRRRRRRRRLRRLLRLLRLRLRLRRLLLRRLLLRLRRRRRRRLLLRRRRRLLLLRLRRRLRRRLLLLLLLLRRLRRLLRRRLLLRLLRRRLLRRLRLRLLLRLRRLLRRRRLRRLRLLLLRLRRLLLLLRRLRLRRRLLLRRLLLRRRLLRLRRRLRRRRRLRRLRRLLLRLRRRLLLRLLRRRLLRRLLRLLLLRRRRRLLRRLRLRRRLLRRRRRLRLLRRRRLLLRRRLRRLRLRRLLLLLRLRLLRRRRRLRLLRRRRRRRLLLRLLLLRRLRLLLLRLRRLLRLRRLRRLRLRRLLRLLRRRLRRRRRLRRLLLLRLRLRLRRLRLLLLLRRRRRRRLLRLLRLRLLRRRLLRLRLLRRRLLRRRRLLRRRRRRLRRLRLLRLLLLRRLLRRRRRLLLRRRRRLLRRLLRLLLLLRRRLRLLRRRLRLLRRLLRLRRRLRRLRRRRRRRRRLRLRLRRRRRLLLLRLLRRRRLRRLLLLLLRLRRLRLLLLRLRLRRRRRLRRLLLRRLRRLRLRRLRLRLRRLLRRRLLRLLLLLLLRRLRLLRRRLRLRLRRLLLLRRLLLLRLLRLLRLRRLRRRLLRRLLLRRRRLLLLLRLRLRRLLRLLRRRLRRLLLRRLRRLLRRLLRLLLRRLLLLRLRRLRLRLLRRRLLRLLRLRLLRRRRLRRRRRRLLRRLLRLRRLRRRRRLRRLLRRLLRLLLRLRRLLLLLLRRRLLLLLLRRLRLRLLRLLLRLRRLRLLLLRRRRRLRLRRLRLLRRLRRLRRLLLRLLLLLRLLLLRRLRLLLRLRRLRRRRRRLLLLRLLRRLLRLRRLLLLLLLLRLRRLLRLRLLLRRRLRLLLRRLLRLLLLLLLLRLRLRLLRLRLLRRRLRLLLRRLLLRLLLRRLLRRRRLRLLLLRLRRRRRLLLRRLRRLRRRLRLLRLLRLLRRLRLRLRLRRLLRLLLLRRRLRRLLLRLLRRLLRLRLLLLLRRLRLLRLLLLLLLLLRRLRRRRLLRRRRLRRRRLRRLLRRRLLLRLLLLRRLLLRLRLLRLRRLLLLRRRLLRRLLLRRLLRRLLLRRRLRRLLLLRRRRLRRLRRLLRLLRRLRRLLLRLLRRRRLRRLLLRRLLLRRRRRRRRRRRLLLRRLRLLLLRLRRLLLLLRRLRRLLLLRRLRLRRRLRRRRRLLRRRLLLLRLRLRLRLRLLRLRLLLRRLLRRLLRRLLRLRLRRRLRRRLLRLRLRLLLLRLRLRRRRLLLLLRLLRRRRLLLLLLRRRLRLRLRRLRRRRRRRRLRLRRLRRRLLRLLRRLLLLLLRLLRLRRRLLRRLLRLLLRRLRRLRLRLRRLLLRRLRRLLRLRLRRLRLLLLLLRLRLLLLRRRLRRRLLRLRLRLLRLLRLLRLLLLLLRLLRLLLRLLRLRRLLRRRLLLRLRLRRLLLLLLLLRLRRLLRRLRLRLRLRLRLRLLRLRRRRLRRRLLRLLRRLLLLRLLRLRRLRRLLRLLRLRLRRLRLRRRRLLRRLRRRRRRLLRLLLRRLRLRLLRLRLRLLRRLRRLLRRLRLLLLRLRLLLLRRLLLRRLLLRRLLRLLRRRLRRLRRLRLLRLLRLLRLRRRRRLRLLLLLRRRRRRLRLRLLRRLLLLLLRRLLLRRRLRLLLRLLRRRRRRLRRLLLRRRLRLRLLRLRLLLRLRRLRLLLLRLLLLRLLLLLRLLRRRLRRLRLRRRRRRLLRLRRLRRLRLLRLLLRLLRRRRRLLRRRLLLRLRLLRRLRLRLLRRLRLRLRLLLLLLRRRLLRRRRLLRRLLRLRLRLLRRRLRRLLRRRRLRLLRLLRRRRRRRRLRLRLRLRRRLRLRLRRLRRLRLLLRLRLRLRLRRLRRRLLRLRLLLLLRLLLRLLLLRLLLLLLLRRLLLLRLLRRLRRRRLRLLLLLLLRLLRLLRLLLLRRRRLRLRRRLLRLRRRLRRRRLRLRLRLRRRRRRRRLRLLLLLLLLLRRLRRLLLLRRRLRRLRLRLRRLRLLLRRRRRRLLLLRRRRRLLRRRLRRLRLLLLRLLLRLLLLRRRRLRRRRRRRRLRRLLLRRLLLLLRLLRLRLRLRRLRRRLRLLLRLLRRRRLLRRLLLRRLRLRLRRLRRLLLRLRRRLLRRLRLLLRLRRRLRLRLLRRRLRLLRRRLLLLRRLLLLRLLRRRRRLLLRRRLRLLLLRLLRLRRRRLRLLRLLLLLLRRLRRRRLLLRLLLRRLRRRRLLLLRRRRRRRRLLLLLLRRRRLLRLRRRLLLRRRLRLLRLLLLRRLRLRRRLLRLLLRLLRRRRRLLLLLRRRRRLLLLRLRRRRRLLRLRRLLLRLRLRLRLRRRRLLLLLLRLLLLRRRLRLRRLRLLRRRRLLRLLLRRRRLRRLLRRRRRRRRRLRLRRLRLRLRLLRRLRRRLRLLRLRLLRLRRLLRRRRRLLRLRLRRRRRRRRLLLRLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRRRLRLLLLRRLLLRLLLRRLLLRRRLRRLRLLRLLLLRLLLRRLRRRRRLLLLRLLRLLLRRLRRRLRRLRRLRRRRRLLLRLRLLRLLLRRRRLRLLRLLLRRRLLLLLLLLRLRLLLLRLLLLRRRLLLRLRLRLLLLLLRLLLLLLLRLRRLLRLLRRLRRLRLRLRRLRRRLLLLLRRRLLLLLRRRRRLLRLRRRLLLLRLLRLLRLLLLRLRLLLLLLLLLRLRLLLRRLLLLRLRRLLLRRRRLLLLLRLLLLLLRRLRRLRRRLRRLRRRRRRLRRLLLLRRLLRRLLLRLRLRLLLLLLRLRLLLRRRRLRLLRRLLLLRRLLLRRRLRRRRRLRLRRLRLLRLRRLRRLRLRLRRRRRRRRLRLRRLRLLLLRRRRLLLLLRRLRRRLRRRLRRLLRRRLLRRRLRLRRRLLRRRRLLLRRRRLRRRLLLRRRRRLRRRRRRLLRLLLRLLLRLRLLRLLLLLLLRLRLLLRRRLRLLLRLLRRRLLRRLRLLRRRLLLRLRLLLLRRLRRRRRLRLRRRLLRRRLRRRLLLLLLLRLRLRRRLRLRRRRLLRRRLRRLRRRRLLRLRRRLRRLLLRRRRLLRRRLRRLRLRLLRRLRLRLLRLRLRRRLLRLLLRLRRLRRLLLRLRRRRLRLRLRLLRLRLLLLLLLRRLLRLLRRRLLRLLLLRLRLRLRRRRLLLLRLLLLRRRRRRRRRRLRRRLLLRRLRRLLRLLRLRLLLLLRRLLLLLLRLRLRRRRRRLRLRRRLRRRLLRLLRLRLRLRRLRLLLRLLLRRRLLRRRLRLRLLLLLRLLLRRRLRLRLLLLLRLLRLLLLLRRLRRRRRLRLLRLRLRLRLLRLRLRLRLRLRLLLLLLRRLRRLLRLLRLLLLLRRRRLRLLLRRLLLLRLLRRRRRLRRLLRRRLRLRRRLLLRLLLLRRRRRLRLRLLRRLLLLRLLRRRRLLLLLLLRLRRRLRRRRLLRRRRLRLLLLRLLLRLRRRRLRRRLRRLRRRLRRLRLLLLRRLLLRRLLRRLRLLRLLLRLLRLLLRLLLRLLRLRRLRLLLLRLLLLLLLLLLRRLRLRRLRRRLRRLLLRLRLLLLRLRLLRLRLLRLLRRLRLRRRLRLRLLLRLLLLLRLRRRRLRLRLRLLRRLRLLRRRLLRLLLRLRLRRRRLRLLLLRLLLRLRLLRRRRLRLLLRRLRRLRLLRLLLRRRRLLRLLLRLLRRRRLRLRLRLRRLLLLLLRRRLRLRRLRRRLRLRRLRLRLLLRLRLLLLRLLRLRRLRRRLRRRLRRRLRLRLRLRRRLLLRRRRRLRRLLLLLLLRLRLLRLRLRLLRRLRRLRLRRLLLLRRRLRLRRLLRRRLRRLRRLLLLRRRLRLRLLLRRLRRRLRRRRLRRRRRRLRRRLRRRRLLRRRRLRRRRRLRRRRRLRRRLRLLLLRRLLRRRRRRLRRLLRRRLLRLRLLRRRRLLLRRLRRRLLRRLLRLRRRRLRRLRRRRLRLLLLLLRLLRLRRRLRRLLRRLRLRLLLRLRRLLLLRLRRRRRRLLRRLLRLRRLLRLLLLRRLLRRLLRLRRLLLRRLLRRRLRLLRLRLLLLRRLRRRLLLRRLRLLLRRRLRRLRRRRLRLRRRLRLLLRLRRRRRLRLLLLRRLLRRRLRRLRRRRRRRLRRLRRRLRLLRRLLRLLLRLRLLLLRLLLRRRRRRLRLLRLLRRLRLRRLRRRLRRLRRLRLRRLLLLLLRLLLRRLRLRLRLRRLRLLRLLRLRRRLLLRLRRLLRRRRRLLRRRRLLRRLRLLLRRLRLRLLLLRRLRLLRLLLLLRLLRRRRRLRRLRLLLLLRLLLRLRLLRRRRLLRLLLLRLRRLRLRRLLRLLRRLRLRLLRLRLRLRLRRRRRLRLLLLLLLLLLRRLLLLRLLRLLRRRRRLLLRLRLLRRLRRLLRRRRRLLRLRLRLLRLRLRRRRLLLLRLRRRRRLRRRRLRLRRRLRLRRRRLLRLRLRLRLLLRRLRLLLLLLLLRRRRLRLRRLRLRLRRLLLRLRRRLLRLLRRRRRLLRLLRRRRRLRRLRRRLLLRRRRLLLLLRRLLLRRRLRRLRRLRLRRLLRRLLLRLRLRRLLLLRRLRRRLLLRRLLLLRLLLRRRLLLRLRLRRRRRRRLRLRRRRLLLRRLRLLLRRLRLRRRLLRRRRLRLLRLLLRLRLLLRLLRRLLLRRRRRLLLLRRLRRLLRLRRRRLRLLLRRLRLLRRLRRRRRRRLLRLLRLLLLRRLLLLRRLRLLLLRRRRLLRRLLRLLLRLRRRRRRLLRLLLLLLLLRRLRRLLRRRLLRLLLLRLLRRRRLLLRLRLRRLLLRRLRRRLLLRLLLLRLLLRLRLRRLLRRLLLLRLLLRLRRRLLRRLLLRRLRRRRLRRLRRRRLRRLRLRLLRRRRRRLLLRLLLLRRRRLRLLRLRRLLLLRRRRLLLRRLLRRRLRRRLRLLRRLRLLRLRRLRRRRLLLRRLRRRLRLLLRRLRRRRRRLRRRLRLRRRRLLRLRRRLRRLRRRRLRRLLRRRLRLRLRLLLLLRLRRRRRLLRLLLRRLLRLLLLRLRRLLLRLRLLLLRLRRRRLRLRRLRRLLLLRRLRRRRLLLRRRRLRLRLLLRLLLLRRLLRLLRLLLRRLRRRLLLRLLRLLRLRLRRRRRLLLRLLLLLRLLRRRLRLLRRLRLLLLLRRRRLRRLLRLRRRLRLLRRLRRRRRLLLLRRLLLLRRLRRLLRLLRRLLRRLRLLLRRLRRRRRLRRLLRRRLLRLRLRRRRLLRLLLRRRRLLLRRLRRLLRRLRLRLRLRLRLRRLLRRRRLRLRLRRLRRLRRLLLRRLRLLLRRRRLRRRLRLRRLLRLLRLLRRRRRRRRRRLLLLLRLLRRLLRRLLRLLLLLLLRRLRRLLRRRRRLLLRLLLLLLRLRRLRLRRRLLRRRRLRRRLLRRLLRLLLRRRLLLRLRLLLLLLRRLRLLLLRRLLRLLLRRRLLLLRLLLRLRLRRLLRLLLRRRRRRRLLRLLRRRLLRRRRRRLLLRRLRLRLRRRLRRLRLLLRLLRRRRRRLLLLRLRLLLRLRLRRRLRLRLLLRLRRLLRRLRRLRRRRLRLLRRRLLRRRRRRLRRLLLLLLLLLLLLLLRRRRLLLLLRLLRRRLRRRLRLLLRRRRLLRRRLLLRRRLRRLLRLLRRRRLLRRRLRLRLLLRRLLRLLLLLLRLRRRRRLLRRLLRRRLLLLRLRRRRRLRLLRRLRRLLRLLLRLLLRRLLRRLLLRRRRLRRRRRLLLLRLRLLRLRLRLLRLRLRRRLRRRLRRLRRRLLRRLRLRRRLRLRRRLLRLRLRRRLLRLLRLLLLLLRRRRLLRRRRLLLLRLRLLLRLLLRRLRLLLRLRRRLLLRLRLRRRRRLLLRRRRLLLRRRLRRRRLRRRLLRRLRRLRLRRRLLRRRRRRLLRRRRRRRRLRLRLLRLLRRRRLLRRRLRRRRRRLLLRLLRRRLRRLRRRRLLLLLLRLRRRLRLLLLLLLRLLLLRLRLRRLLLLRLLLLLRLLLLRRRLRLLLLLLRLRLRLRLRLRLLRLLRLRLLRLLRLLRLLLRRLRRRLLLRLRRLLLLRRRLLLRLRRLRLLLLLRLRRRRRLRLRLRLLLLLLLLLLLRLRLRRRRLRLRLRLRLLLLRRLRLLRRLLRRRRRRRLRLLRLLRRRLRRLRRLRRRLLRRLLRRLLLLRLRRRLRRRLRLLRLRRLLRLRLRLLLRRLRLLLRLLLLLRRRRLRRRLRLRLLLLRRLLRRLRLLRRLLLLLRRRRRRLLLLLRLRRLRLRRLLRRRRRRRRRRRRRRRRLLLLLLLRRRRRLRLLRRLLLLLRRLLLLRLRRLRRRRLRLLLRLRLLRLRLLRRRLRLRLLRRRLRLLRLLLRLLRRRLRLLRLRRLRRRLRLLLLRLRRLRLLRLRRLLRLRRLRRRRLLLRLRRLLLLLRLLRRRLRRRLLRLRLLRRLLRRLRLRRLRRLRLRLRRLLLLRRLRRRRRRRRRRLRLLRRRLRRRLLLLRLLLLLLRRRLLRLRLLLRRLLRLLRRLLRRLLLRLRLRRLLRRLLLLLLRRRLLLRLLRLRRRRRLLLLRRLLRLRLLRRRRRRLRLRLRLLRLRLRLLLLRRRRRRLLRRRLRLLLLRRRLRLRLLLLRRLLLLLLRRLRLLLRLLRRLRRLRRRLLLLRRRLRLLLRLLLRRLRLRRLLLLLRRRLRRLLRLLLLRRLLLLRLRLLRLLLRLLRRRRRLRLLLLLRRRRLLRRLLLRLRLLLLLRLRRLLRLLRLRRLRLLLLRRLRLRLRLRLRRRRRRLLRRRLLRRRLLLLLLLRRRLLRLRLRRRRRLRLRRLRRRRRLLLRLLRLRRRLLLRRRLRRLLLLRLRLRLRLLLLLRLRRRLRLRRLRRLRRRLLLRLRLLLLLRLRRLLLRRRLRLRLRLRLRLRRRLLRLRLLLRRLRRLLLLLLLRLRLRRRLRRRLLRRLRLRRLLRLRRLLRLLRLLLRLRLLLLLRLRRLLLRRRRLLLLLRLRRRLRLRRLRLLLLLRLRRLRLLRRLLLRRRLRRRLRRRRLRRLRRLRRLLLLLLLLRRLRLLRLLRLRRRLRRLRRLLLRRRRRLRLLRLRRRRRLRRRRRLLLRLRLRLLLLLRLLRLLLLLRLLLRLRLLLRRRRLLRLLRLLLLLRRRRLLRRLLLLLLRRLLRRLRRRLRRLRLRLRRLRRRLRLRRRLRLLRRLRRRLLLRLRRLLLLRLLLRRLLRLRLRRRRRRRLLLLLRRRLLLLLLLLRRRRLRRLLLRLLRLRLRLLRLRLLRLRRRRRRRRLLLLLRLRLLRLLRLLRRLLRRLLLRLRRRRRLRRLRLLRLRRLLRLLRLRLRLRLRRRRRRLRRLLLRRLLRLRLRRLRLRLLLRRRRRRRRRRLRLRLLLRLRLLLRLLRRRLLLRLLLLRRRLLRRRLRRLRRLRRLLLLRLRRRLLLRLLRLLLLLLRLRLLLRRRRRLRRLLRRLRLLLLRLRRRRLRRLLLLLLLRLLLRLRLRLRRLRLRRLLLRRRLRLLRLRLLLLRRLRRLRLLLRRLRLRRLLLRRLRRLRRLLLLRRLLRLLRLRLLLLLLRRLLRLRLRLLRLLRLRLLLLRRRLRRRLRLLRRLRLLLRRLRRRLLRRRLLLLLRLLLRRRLRRRLLLLRLRRLLRLLLRLLLRRLLLLRLLLRRRLRRRLRRRLLLLRRRLLRLLLRLRLRLRLLLLLLLRRRRLRLLLLLLLLLLRLRRLRRLLRRLRRRLLRRRRRLRRRRRRLRRRLRLRRRRLRLRLRLLLLRRLRLLRRLRRLLLRLLLLLLRLLRLRLLLLLLLLRRLRRLRLRLLRLLRLRLLLRRRRLRRLRLLRRRLRRLLLRLRRRRRRRRRLLRLRLRRLRLRRRRLLRLLLLLRLLRRLLRRRRRLRLLLRRRRLLLRLLLRLLLRLRLLLLLLLRLLRLLLLRLLLRLLRLRLRRRLRLLLLLLLRRRLLRRRRRLLRLRRRRLRLRLLRLLRRRLLLRLLRLLRLLLLLLRLLRRRRRRRLRLLLRLRLRRRLRRRLRRLRLLRLLLRLLRLLLLLLLRLLLLLLRRRLLRRLLLRLLLRRLLRLLRRRRRLLRLRRLRRLLLRLLRRLLLRRRLRLLLRRRLLLLLRRLRLRLRLLLLRRLLLRLLRRRRRRLLRRRLLRLRRRLLLLRLLRRLLRRRRLLRLLLRRLRRLLRLLLLLRRLRRLLRRLRRRRLLLLLRLRRLLLRLLRLLRLRRLLRLRRRLLLRLRRRRRLRRRRLRRRRLRLRRRRLRLLRRRLRLLLRRRLRLRLLRRRLLRLRLRRLLLRRRLLRRRRLRLLLRLLRLLRRRLRRLLRRLLRLRRLLLRRRLRLRRRRRLLRRLLRRRLRRLLLLLRLLRRRRRLLLRRRRLRRLRRRRLRLLLRLLRLLRLRRLLRRLRRRRLLLLLLRLLRLLLLRRRLRLRRRLLRLRLLLRRRRRLLLRRLRRRRRLLRLRRLLLLRRRRRRLLLLRRLLLRRRLLLLLRRLRRRRRLRLRLRRRRLRLRLRLRLLRRLRLLLRRRLLRLRLLRLRLLLRRLLLLRLLRLRLRRRRRLRRLLLLLRRLLLLRLLLLLLRLRLRLRRRRRLRRRRRLRLLLRRRRRRRLLRRLRLLLLRLRLRRRRLLLLLRLRRRLRLLLLLLLRLLLRRLLRLRRLRRRLRRLRLLLRLRLRRLRRLRLLRLRLLRRLRRLLRRLLLRRRRRLLRRLLRLLLLLLRRLLLLRRRLRRRRRLLRRRRRLRRLRRLRRRRRRLRLRLLRRLRLRLLRRLRRRRRRRLLLLRRLLRRRRLLLLRRRRRRRRRRRRRLLRRLLRLRLRRLRLLRLRLLRRRRLRRRLRRLLRRRRLLRRRLRLRLLRLLLRRLLRLLRRRRLLRRRRLRLLRLRRLLRRLLLRLLLLRLRLRRLLLRRRLRRRRLLLRRLLRLLRRRLRLLLRRLRLRRLLLLLLRRLRRLLLRLLRLLLRLRRRLRRRLLRLLRRLLRLRRRLRRRRLLRRLRLLRRLLLRLRRRLRLRLRRRLLLLLLRRLRRRRLRLLLRLRRLRLLLLRRRRLLRRRRRRLLRLLLRLLRLLRLLRLRRRLLLLLRRRLRLRLRRLRLLLLRLLLLLLLRRRLRRRLLLRLLLLLRLRRLRLLRLRLRRRLRLRLRLLLRLLLLLRLRRLRLLLLRLRLLLRRLRRLLRRRLRLLLLLRRRRRRRRRLLLLRLRLRRRLLLRLLRLLRRRLRLRLLRRLRRRRRRLRRRLRLLRRLLLRLLLRRLLLRLLRLLLLRLLLLRRLRLRLLRLLLRLRLLLRRRLRRRLRRRRRLRLRRLLLRLRRLLLLRLRLRRRRRLLLRLLRLRRLLRLLRLLRRRLLLRRLRLRRLLLRLLLRRLRLRRRLLRRLRRRLLLLLRLRRLLLRLLRLRRLLRLLLRLLLRRRRRRRLRRRRRLLRLLRLLLRLLLLRRLLLRLLLRLLLLRLLRLRRRLRRRRRLLRRLLLLRRLRRLLRLRLLRLRLLLRRLRRLRLRRRLRLRLRRLLLRRLLRLRLLRLLLRLRLRRRRLLLRLRLRRRLRLLLRLLRRLLRRRLRLRRRLLRRRRLRRRLLRRLRLLLRRRRLLRLLRLLLLRRRLRLRRRRRLRLRLLLLRRRLRRLLRRRLRLLRRLRRRRLRRLLLLLLLRLLLRRRRLRRRLLRRRLRRLRLLLLLRLLLLLLRLRLLRLRLLLRRRLLRRRLLLRRRRRRLRRRLRRLRLRLLLRRRRLRLRLRLRLRLLLLRRLRLRRLLLRLLLRRLLRRRLRLRRLLRLRRLLRLLLLRLLLRRLRLRRRLRRRLLRLRRLLRLRRRLRLLLLRLRLLLRLLLRRRRLLLLRRRLRRLLLRRLLLRLLLLRLLRRLLRRLLRRRRRLRLLLRLRLLRLRRRRLRLLRLLLRRRLRRLRRRLRLRLLRRLLRRLLLLLRLLLRLRLRRRRRRRLRLRRLRLRLRLRLRRLRRLLRLRRLRLLLLLRLLLRLLRRRRLRLRRLRRLRRRRRRLRLRRLRRLRLRRLLRLLLRRRRRLRLLRLRRLLLLLLLLRRRRLLLLRRLLLRLRRLRLLLRRRLLRLRRLLRLLLRLRLRRLLRRLLRLLLRRRRLLLRLRLRLRRLLRRRLRRRLRRRRRLLLLLLLRLRLLLRLRLLLLLRRLRRRRLRLRLLLRLLLLLLLLLRRRLLRRLRRRRLLRLRLRRLLLRLLRRLLLRRLRLRRLLRLLLLRRRRLLLRLRRLRLRRRRRRRRLRLRRRLLLRRRRRRLRLLRLLLLLLLRLLRLLLLRRLLRLLRLRLLRRRLLLRRLRRRLLLRRRLRRLRRRLLRRLRLLLLRLLLRLLRLRRRRLLRRRRLRRLRLRLLLRLLLRLRRLLLLRRRRRRRRRRRLLRRLLRRRRRLRRRRRRRLRLRLLRLRLLLRRRLRRLRRRRRLRLRLRLRRRLRLRRLRLRLLRLRLLLLRRRLRLRLLRRLRLLLLLRRLRLLLLRLLLLLRRRRRLRLRLLLLLRRLRLLRLLLRLLLRRRLRRRLLRLRRRLRRRRLRLLLLLRRRLLLLRRLLLLRRRLRLLLLLLLRRLRLRRRLLRLLLRLLRRRRRLLRRLLRLRRRRLLRRRLRRRLLRLLRLLRRRRLRLLLRRRRRLRLLRRLLRLRRRLRLLLLRRLRRRLRRRRLRRRRLRRRLLRLLRRRRRRLLRRLLRLRRLRLRRLRRRLLLLRRRLRRLRRLLRRRRRLRRLRLRRRLRRRRLLLLLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRLLLLLRRRRLLLLLLLLRRLLRLRRLRRLRLLRLLLRLLLLRLLRRRRRLRRLLLRRLLLRRLLLRRRLRLRRLLRRRLRRRLLLRRLRLRRRRLRLRRLRLLRLLLRRLLLLRLRLLLLRRLLLLRRRLLLLRLRRLLLRLLLLRLRRLRLRRLLRLLRLLRRLRLRLRRLRRLLLLLLLLRLLLLLRRRLRLRRLRRLLLLLRLLRLRRLRLRRRRLLLRLLLLLRLLLLLLRLLLLLRRLRLLRLLRLLLLLRLRLLLLRRLRRLRRRRLLRRRRRRRRRRLLLLLRLLRRRLRRRRLRLLRLLLRLLLRRLLRLLLLLRRLLLLRRRLLRLRLLRRRRRLRRRRRLLRLLLRRRLRLRRRLLRRRRRLLLLRRRLLLLRRRRRLRRRRRLRRLLRRRRRLLLRRRLLLRRLRLRLLLRRLRRLRLRRRRLLRRLRLLRLRRLRLRRRRLRLLRLRLLLRLRRLLLLLLLLLLLRRLLRRLLRRRRRLRRLLRLRRLRRLRRRLLLRLRLLRLRRLLRRLRLRLLRLLLRRRLRRRLLRLLLRRRLLRRRRRLRRRRLLRRRLRLLRLRRRLLLLRLRRRLLRRRRRRLRLRLRRLRLRRLRRRRRRLRLLRLRRLLRRLLRRRRRRRRLLLLLRRRRLRLRLRLLLLRRLLLLRRRLLRRRLLRRLLRLLLLRLLLLLRRRRLLLRRRRLLRRRLRRRRLRLRLRLLLRRLRRLLRRRLRLLLLLRLRLLRLRLRLRLRRRRRRLRRLRRLRRRLRRLLLLLLRLRRLRRLLLLRLRRRRLLRRLLLLRLRLLRLLLLRRLRLRLLLRLRRLRRRLLLRRLLRRRRLLLRLLRRLRRLLLLRLRLLLRLLLRLLRLRLRRRLLRLLLLLRRRLRRRLRLRRRRLLLLRLLRRRRRLLRLLRRRLLLRRLRLLRRLLLRLRRRLRLRLLRRLLLLLLLRRRLRLLLRLRRLRRRLRLLRLLRRRRLRRLLLRLLRRLRRLRLRLRLRRLRRLLRRLLLLLLRRLRRRLLLRLLRRLRLLLRRLRLLLRRLLRRLRRLRLRRLLLRLLRLLLLLRRLRRRRLRLRRRRLRLRLRLRRLLLRRRLLLRLLLLLLRLLRLRRRLLLLLLLRLLLLLRLRRRRRRRRLRRLRRRRLLRRRLLRRLLRLRLRLRLLLLLRLRLRLRRLLLRRRRRRLLLLRRRLLRRLRLLLRRRLRRRRLLRRLRLRRLRRRRRRLRLLLLLRLRRRLRRLLRRRLRRRRRLLRRLLRLRLLLLRRLRLRRLRRLLRRRLLRRRRLRLRRRRRLRLRLRRLLRRRLLRLLLRLLRLRLLLRLLRLLRRLRLLRLLLLRLLRRRRRLLLRRLRRRRRRLLLRRLLRLRLRLRRLRLRLRRLRLRRRRRRLRRRLRRRLLLLRLRLRRRLLLRLRLRLLLRLLLRRLRRRLRLLLRRLRRLLRRRLLRLRLRRRRRLLLRRLRRRLLRRLRRLRRRLRRRLRRLRLRRLLLLLLLLRLLLLLRLLLRRLRLRLLRRLRLLLLLRLLLLRRRLLRRLRRLRRRLLRLLRRRLLRRRLRLRRLLLRRLLLRRRRLLRLRLLRLRRLRLRLRLRRRRLLRRRRLRRLRRRRLRLRRRLRLRLLLRRRLRLRLLLLRRRRRRLLRRLRRLRLRLLRLLRRRRRRLLRLLRLLRRLLRLRLRLRLRRRLLRLLLRRLLRRLLLLRRLRRLRRRRRLLRRRLLRRLLRLLLRRRRRLRRLLRLRLLRLLRLRRRLLLRLRRRRLRRRLLRLRRRLLRRLLRRRRRLRLRRLLRRRLRLLRLRLLLLLLRRRRRRRRLRLRRLRRLLLRLRLRRRRLLLRLRRLRLRLLRLRRLLRLLRLLRLRLLLRRLRLRRRRRRRRRLLLLRLLLLLRRLLLLRLLRLLRRRRRLLLLLRLLRRLLLRLRRRLRRLRLRRRLLRLRRLRRLRLLLRRRLRLRRRLRRLRLRRRLLLRRRRLRRLRLLLRRLLLRRRLRLLLLLLRLRRLRRRRRRLRRRRLRLRLLRRLRRLLRRRRLRLRLLLRRLRLRRRRRRLLLLRRRLLLLLRRLLLRRLLRRLRLLRLRRLLRRLLLRLRRRRRLRRRRLLRRLRLRRLLRLRLLRRRLLLLRLRRRRRRRRLLLRLRRRRLRRRLRLRLRRLRLLRRLRLLRRLRLLRLRRLLRLRLRLLRRRLRRLRRRLLLLRRRRRLLRRRRRLRRRLLRRLRLLLRLRRLRRRLLLRLLRRLLLRRLRLLRRLLLLLLRRRRLLRRLLRLLLRLRRRRRRRLRLLRLLLRLRRRRRLLRRRLLRLLLLLLLLRRRRLLRLRLRRLLRRRLRRRLRLRLLLLRLLLLLLRLRLLRRLLRLRLLLLLRRLLRLLRLLRLRRRRRLRLRRRRRLRRLRLRLLRRRLLLLLRRLLRLRLLRRRLLLRLRLLRLRLRRLLLRLLLRRLLLLRRRRLRLLRLRRLLRRRLRLRLLLRLRRRLRLRLRRLRRLLRRLLRRLRLRRRRLLLLRRRRRRRLRLRRRRRLRRLLRLRRLRLLLLRLRLRRRLRRLLRRRRLLLRLLRRRLLRLRLRLRLLLLRRRLRLLRRLRRRLLLLRLRRRRRRLLRRRLRLRLLLRLLLRRRLLRLLLRLLRRLRRLLLLRLRRRLRLLRRRRRRLLLRRLLLLRLLRLLLRLLLRLRRLLLLLRLRRRRLLRLRRLRLRLRLRLLRRRLLLLRRLLLRRRLLRRLRLLRRRRRLLRLLLRLLRRRRLRRRLRRRRLRLLRLRRLRLLRLLRRRRRLRRRLLRRRRRRLRLRLRRRRRLRRRLLRRRLRRRRRLLRRLRRRLRRRLRLLLRRLRRRRRLRRRRLLRRLRLLRRLLLRLRRLRLLLLRRLRRRLLLRLRLLLLLLLRRLRRLLRLRRRLLLRLRLLRRRLRRLRRRRRRLRRRRLLRRLLRRLLRLLLLLLLLRRLRLLLRLLRLLLLLRLLRLRLLLLRRRLRLRLLLLLLRLRLLLLLLRLRRLRRRLRLRRLRRRLLLLRLRLRRRRLRLRLRRRLRRLRRLLRLLRLLRRRLLLLLLRLLLRLRLRRRRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLLLRLRRRRLRLRRLRLLRLLLRLLLRLRRLLLLLRRLRLRRRRLRRRRRRLRRLLRRRRLLRRRLRLLLRLLRRLRRLRLLLRRLLLLRRLLLLRLLRRLLRLRLRLRRRLRRLRLRRLRRLRLRLLRLLLRLRRRLRRRLRRLLRRLLRRLRLRLRRRRRLRRLLRLLLRRRRLLLRLLRLLLRRRLRRRRLLLLRRLLRRRRLRRLLRRRRRRLRLLLRRRRRLLLLLLLRLLLRRRLLRLLRRLLLLLRLLLRLLLRRLRRLLLRRLRLLLRRRLRRRRRLRLRRLRRLLRRRRLLLRLRRRRLLLLRLLRLRLRRLRLRRLRLLRLLRRRLLLLLRLLRLLRRRRLLRRRLRLLRRLLLRRRLRRRLRRLRLLLRRLLLRLLRRLLRLLLRRLLRLRRLRRRLRLLLRLRLLLLRRLRLLLRLRRLLLLLRRLLRRLRLRLRLLRLLRRLLLRLRRLLLLLLRRLRLRLLRRRRRLLLLLRRLLRRLLLLRLRRLLLLRRRRRLRLLLRLLLRLRLLRLLRRRLRRRRLLLRLRLRLLRRRRLLLLRRRLLLRRRRLLRLLRLLRRRLRRLRRLRRLLLLRLLRRLLLRRRLRLLRRRLLLLRLRRLLRLRRLRLRLLRRLLRRLLLLRRLRLLRLRRRLRRRLLRRLLRRLRLRRRLRLRLLRRRRRLLLLLRLLLLLRRRRLRLRRRRRLRRLLLRLRRLLRLLLLRRRRLRLLRLLLRLLLRLLLLLLRLLLRRRLLRLLLLRLLRLRLLLLLLRLRLLRRRRLLLRRLLLLLRLLRLRLRRRRLRRRLRRLLRRLRLRRRRRLLRLLRLRLRRRRRLRLRLRRRLLRLRRLRRRLRLRLLRLRLLRRLLRRRRRRLLRRLRRRLLRLRLRRRLLRLRRRRLRRLRLRRRRLLRRRLLLRLRLLRLRRLLLLRLLRLRLRLRRLLLLLRLRLRRLRLRRLLLRLLLRRRRRRLLLRLLRLRRLRRRLLLRRRLRLRLLLRRRLLLRRRRRLLRRRLLLLLLLRRRRRRLRRRLLLLRRRRRLRRLLLLLLRLRLLRLRRLRLRLRLRRRLLLLRRRLRLLRLLLRRRLRLRLLRRRLRRRLLRLLRRLRRLLRLRRLLLLLRRLRRRLLRRLRLLRRRRRLLLLLLLRRRRLLLRLLRRLRLLLLLRLRRLLRLRRLRRLRLRLLRLLRRLLRLLLLRRRRRLLRLRLLLRRLLLLLLLRRRLLLLLLRLRRRLRLRRLRRRRRLLLRRLRLRRLLLLLRRRRRLRRLRRLRRLRRRLRLRLRRRLRRRRLLLLRRRLLLRLRLLLLLRRRRLLLRLRLRLLRRLLLRLRLRLRRLRLRRLRLRLRLRLLLLRRLLRRRLRRLLRRRLRLLRLLRLRRLRRLLLRLRLLRLRRRLRLLRRLLRLLRLLRLRRLLRRLRLRRLLLRRLLRLLRLRLRRRLRRLRRLLRRLRLRRLRRRRRLRLLLLLLLRLLRRRLLLLLRRRLLRRRRRLLLRRRRRRLRRLLLRRRRLLRRRLLLRLRLRRRLRRLRRRLRRRLRLRLLLRRLLLLRRLLRLLRLRLLLLLRRRRRLRRLLLLLLRRRLRRLRRRLRLRLLRLLRLLRRLRLLRRLRLLLRLRRRRRLLLRLLRLRRRRLRRLLLLRLRLRRRRRLLLLLRLLLRLRLLLLLRRRLLRRRLRRLRRRLRLLRLRLLRLRRRRRRRRLRLRRRLRRLRLLLRLRLLLLRLLLRLRRRLRLLRLRLLLRLRLRRLLRRLLRLRRRRLRRRLLLRLLRRLLRLLLLLLRLLLLRRRRRRRRRRRLLLRRLRRRRLLLRLLLRRLRLRLLLLRRLLRRLLRRRLLLLRLRRRRRRRRRRRLRLRRLLRLLLRLLLLRRRLRRLLRLLRLLRLLRRLLRRLLLRRLRLLLLLRLLLRLLLRRRLRRLRRLLLRLLLLRLLLRLLLLLRLRRLRLRLRLLLLRRLLLRRLRRLRRLLLLRRLLRRLLLLLLLRLRRRLLLRRLRLLRLLLRRLLLLRRLLRRLRLLLRRLRLLLRRRRRRLLRRRLLLLLLLRLRRRRLRLRLRLLLRRLLLRLLRRLLRRLLLLLRLRRLLLRRLRRLLLLRRRRRLLRLLLRRRRRLRRLLLRLRRRRRLLLLLLLLRLLRLLRLLRRRRRRLRLRLLLRRRRLRRLRLLLRLRLLRRLLRLRLRLRLLLRRLRRLRRRLLRLRRRLLLLLLLLLLLLLLRLLLLLRRLRRLLLRLLRLRLLLRRLRRRRLLRLRRRLRLLRRLLLLLLRRLRLRLLRLRLRLLLLRLLLLRRLRLLLRLRLLRLLRRRRRLLRLLRRRRRLLLRRLLRLLRRRRLLLLLRLRLLLRLLLRRLLRLLLRRLRLRLLLLRRRLRRRRLLRRRRLLLRRLRRLLLLRLLRLLRLRLRRRLRRLLRRLRLLLLLLRRRRRRRRLLLRLLRLRRRLRLRLRRLRLLLLRLRLLRLLLRLLLRLLLRLLRRRLRRRRLRRLLLRLLLLLLRRLLLRLRLRRLRLRLLLLLLRLLLRRRLRRRLRRRRLRLLRRLRLRLRRLRRLRRLLRLRRRLRRRRLRRLRLLRRRLLRLRRLLLRLRLLRRLRRLLLRRLRRLLRLLRLLRRLLRRLRLLRLRRLRLLRRRRRLRRLRLLLLRLLRLLRLRRRRLLLRRRRRRRRRRRRLLRRLRRRLRRLRRLRLRLRRLLLRRLLLLRLRLRLLRLRLRRLLLRRRLLLRLLLLLLLLRLRLLRRRLRRLRRLLLRLRRLLLRRLLRLRRLLRLLRRLLRRRRRLLRRRRRLLRRRRRLLLRRLRLRRRRRRLLRLLLRRLRRRRLRRRRRRLLRLRRLLRLRRLLRRLLLRRRRRLRLRLLRLLLRLLRRRRLLLRRLLRRRRRLRRLRLLRLRRRRRRLLRLRLLLRRRRLLLLLRLLRRRRRLRLLLRLRRLLLLLRLRLLLRLRRLLRRRLLLLRLLRLRLLLRRLLRLLLLRLLLRRLRRLLRRLLLRRRLLLLRLRRLLLLLRLLLRRRRLLRRLRRLLRLLLLRRLRRLLRLLRLLLLRLLLRRRRLLLRRLLRLLLRLLLRLLRRLRLRRLLRRRRRRRRLRRLLLRRRLLLRLRRLRRLRLLRLLLRRRRLLRRLLLLRLRRLLRRLLRLRLLRLRLLLRRRRLLRRRRRRLRRRLRLLRLLRLRRRRLRRRRRLLRLLLLRLRRRLRRLRRRRLLLLRRLLLLRLLLLLRRLRLLLRRRLRRLRRLLLRRRLLRRRLLRLRLLRRLRLLRRLRRLLRRRRRRRRRRLLRLLLLLLRLLLRLRRRRRLLRRLRLRLLRLRRLLRLLLLRLLLLRLLLRLLLLRRLLLRRRRRLLRLLLLLRRRLRLRLRLLRRRRLLLLLRRRRLRLLLLRRLLLLRLRRRLRLRLLLRLRRLLRRRRRLRLRRRLRRRLLRRRRRLRRRLRRRLRLRRRLLLLLLLLLRRLRLRRLLRRLLRLLRLLRLLLLRRRRRRRLLRLLLRLLLRLRLLRLRRRRRLLLRRLRRLLLLLLRLLLLRLRLLLLLRLRLLRRLLRRLRLLLRRRRLRLLRLRLRLLLLRRLRLLLRRLLLLRRRLLRRLLRLLRLLLLRRLRLRRLRRRLLRRLRRRRRRRRRLRLLLLLLLRRRRRRLLRLRRRRLRLRLLRLLRRRRRRLRRRLRRLRRLLLRLLLLLLRRLRRLLLLLRLRLRRRLRLRLLRLLRRLRLLRLRRLRRRLRRRRLLRLRLLLLRLRRLLLRRRRRRRRRRRLLRLLLRRRLRRLLRLLRRLLRLRRLRLRRRLLLLLLLRLRLLLRLLLRLRLRRLLLLRRRRRLLRRLRLRRRLRRLLRLRLRLRRLRRLLLRLRLRRLLRLLLRLRLLRRLLLRLLLLLLLLRLLRRLLRRRRRLRLRRLLRRLRLLLRLLLRRRRRLRRLRRLLRRLRRRRRLRLLLRRLLLRRRRLRRLLRLLLLLRRLRRLLRLRLRLRRRLRLLRRLRRRLRRRRLLLRLRLLRLLLLLRRLLLRLRLLLRRRRRLRLLRLRLRLLRLRLRRRRRLRLLLLLLRRRLRRRRRLLLRLRRLRLRRRRLRRLLLLLLLRLLRRRLRLRRRLLRRRRRLLLRLRRLRRLLLRRLRLLRRLRRLRRRRRLRRLLLRRRRRRRRRRRRRRRLRLRLLLRLRRLLLRRLRRLRLLRRLRLLRLRLLRRLLRRLRLRLLLRRLLLLRRRLRLLLLRLLRRRLLLRRRRLLRLLLLRRLLRLRRRLLRRLLLLLLLLRRLLRRRLRLRLRRLRRRRLLRLLLRRLRRRLLLRRLLLRLLRLRRRRRLRLRRRRLRRRLRLLRLLRLLLLRRLRRLRRRLRLLRRRRLRRRLRLLLRRLLRLRLRRLRLRRLLLRRLRLRRRRLLRRLRRLLLRRLLRLRLLLRLLLRRLRRRLRRLLRRRRRRRLRRLLRLRRRLRRLLRRLRLLRRLRRRRLRLLRLRRRRLLLLLRRRRRRLRLRRRLLRLLRLRLLRRRLLLRLRLLLLLLLLRLLLRLLLLLLRLLLRRRRLRRLRRLLLRRLLRRLRRRLLRRRRLLLRLLLLRRLLRLRLRRLLLRRLLLLRRLRRRRLLRRLLLRLLLLRRRLLRRLRRRRLLRLRLLRLLLLLRRRLRRRRLRLRLLLRRLLRLRLRRLLRLRRLRRRRRRLRLLLLRRRRRLLLRLRRRLLLLRLRLLLLLLRLRLLRLRRLRLLRRLLLLRRRRRLRLLRRRLLRRRRLLRLRRLLLRLLRRLRRRRLLRLLRLLLLRLLLRRRLLLLLLRRLLRRLLRLLRLLRLRRRRLRRLLRRRLRLLLLLRRRLRLRRRRLRLRRLLRLRLLLRLRLLRLRRRRRRRLLRRLLRLRLLRRLLRRLRRLRLRLLRRRLRRRRRLRLRLRLLLRLLRRLRRRLRLLLRRRRLRRLRLLLLLRRLRLLRLLRRRRLLLRLLLLLRRLRRRLRRRLLRRRLLLLRLRLLRRLLLLLLLRLRLRLLLLRRLRRRRRLLLRLLLLRLRRRRRLLRRLLRLLLRRRRLRRLRLLRLLLLRLLRRRRRRLLLRLRRRLRLRRRLRRRRRLRRLLLLRRLRLLLRRLRRRLRLLRLRLLLLLLLRRRLLLRLLLRLLRLRRRRLLLRLLLLRRRLRRRRLLRRRRRRRRRLRRLRRLRLRRLLRLRRLRLRLLLLRLRLRLLRLRLLRLRRLRRRRRLRLLLLLRRRLLLLLLLLRLRLLRLLLLRRRRLRLRLRRLLLLLLRLLRRLRRRLLLRRLLLRRLLLLRRLRLLRLLLRLRRRLLLLRRLRLRRLRRLLRRRRLLRLLLRRLLRLRLRLLLLRRRRRLRRRLLLLLLRRRRLRRLLLRLRRLLLRLLLLRLLLLLLLRRRLLRLRLLRLRLRLLRRLRLLRLRLRLRLLRRLLRLLLRLRLRRRRLRRRLLLRRRRLLRLLLLRLLLLLLRLRRLRLRRLLRRLRLLRLRRLRLRRLRRRRLRRLLRRLRRRRRRRRLLRLLRRRRRRRRRRRRLLRRLLLLLLRRLLRLLLLRRLLLRLLRRLLLLLLLLRLRRLRRRRLLRLRLLRRRRLRLRLLLRRLRLLLRLLRRLLRRRRRRRLRRRLLLRRLRRRRRLLLLRLRLLLLRLLLRLLRRRLRRLRLRRLRRLLRLRLLRLLRLRLRRRLRRLLRLRRRLRLLRLLLLRRRLLLRLRRRLRLRRRRRRLRRLLRLRRLLRRRLLLLRRLRLLRLRLLLRRLRLRRLRLLRRRRLRRRRRRLRLRRRLLLRLRLLLRLRLRLRRLLLRRLLRRLLLLLLRRRRLRLRRRRRRLRLRLLRRLRRLRRRRRLRLRRLRRLLRLLLRRRLRRLRRLLLRLLRRRRLRLRLLLLLRLLLRRRRLRRRRRLLLLLRLLLLRLLLLRRRRRLRRRRRRRLRLLLRRRLLLLLLRLRRLLLRLLLRRRLRLRLLLRLRRLRLRRRLRLLRLRRLLLRLRRRRRRLRRLLLRLRRRRRLLRRLLRRLRRLRLLLLRLRLRLRLRLLLRLLRLLLLLLRRRRRLRRRRRRRRLLLRRLRLRRLLRRLRRRRLLRLLRLLLRLLRLLRLLLRRRLRRLLLRLRRRLLLRLRLRRRRRLRLLRLLRLLLRLLLRRRRLLLRRLRLLRRLRRRLRLRRRRRRLLRLRRLLLLRRLLRRLLRLRRLLRRLLLLRLLLRRRLRRLRLLLLRRLRRLRLRLRRRRLRLLLLLLLLRLLRRLRRRLLRRLLRRLLRRRRRLLRLLRRRLLRLRRLLLRRLLLRRRRLRLRLRRLRRRRLRLRLLRLRRRLLLRRRLRLRRLRLRLLLLLLRLLRLRRRRLLLRLLLLLRRLLRRRRRRRRRLRRLLLRRRLRRLLLLRLLRLRRRLRLRLRLRRRLRLRRLLLRRLLRRLLLLLRLLRRRLRLLRRRRLRRRRLRRRLRLRLLRRLRRRLLLLRLLRLLRRLRLLRRRRRRRRLRLLLRRLRLRRLLLRRLRLRRLRRLLRRLLLLLRRLRRLRRRRLRRLLRRLRRRRLRRLLLLLLRLRRLRRRLRLLRRLRLLLLLRRRLLRLRLRLLLRLRRRRLRRRLLRRLRLLRLRLRRLRLLRRLLRRLLRRRLLRLRRRLLLRLLRLRRRRRLLLRLLLRRLLRLLLRRLRRRRRLLLLRLRRRLLLLLLLRLRRRRLRRRLLLLRLLLRLRLRRRRLRLRRRLRLLLLLRLRLLLLLRLRLLLRRLRLLRLLRLRRRRLLLRRRLRRLLLLRRLRRLRRLLRRRLLRRLRRRLLRRRRLLRRLLRRLLLLRRRLLLLRLRLRLRRRLLLLRRRRRLRLRRRRLRLLLLLRLRLRLRLRRRRLLRRRLRRRLLLRRRRRRLLRRLLRRLRLLLLLLLLRRRRRLLLLLRLLRLLLRRRLRRRRRRLLLLLLRRLRLLRLLLLRRLRRLLLRRRRLRRRLLRRRLRLRLLRRLRLRRRLRLRLLLRRRRRRRRRLLLLLRRLRRLLLRLRRRLRLRLLRRRRLLRRRRLLRLLRLLLRLRRRRLRRRRRLRRRLLRLRRLRRRLRRLRRRRRLLLLRRRRLLLRLLRRRRRLLRLRLLRLRRLLRRLRLRRRLLRRRRLLRLRLRLLRRLLLLRRRRRLLRLRLRLLLLRRLLRRLLLRLRRLLLRRLLRRLLRLLRRLRRLRRLLLRRLRLRRRLRLLRLLLRLLLRRLLLRLRRRLRLRLLLRRRLRLLRRLRRLRRLLRLLRLRLRRLLRRRLLRRRRRLLRRLRLRRLLLLRRLRRLRRLRRRRRLLLRRRLLLRLLRLRRLLRRLLLRLLRLLLRLRLRLLRRRLRLRRLRLLRRLRLRLLLRLLLLRLRLLLLRLRRRLRLRLLLLRLRRRRLRRRLLLRLRLLRLLRRLRLLLRLRRLRRRRLRRLRRRLLLRRLRRLRRLLRLLRRRRLLLRRRRLLRRRLLRRLRRRLRLRLLRRRLRRRLLLRRLLLRLRLLRLLLLLLLRRLRLLLRRLRLLLRLRRLLRRRRRLLRRLRRLRLRRLLLRLRLLRLLLRLLRLLRLRLLRLLLLLLRRRRLLLLRRRRLLLLRLRRLLLRLLLRRRLRRRRLLLLLRLLLRLLRRLLLRRRLLRRLRRRRRRRRLRLRLRLLLLLLLLRRLLRRLLLRRLLRLRLRRRRLLLLRRLLRLLLRLLRLLRRRRLLLRRLRRLLLRLLRLRRRLRLRRRRLRRLRRRRRLLRRLLRRRRLRRLRLLLLRRRRRRRLLLLRRRRLRRLLRRRRLRRLLRRLLLRRRLRLLRRRRRLLLRLLRRLLRRLRLRLRLLLLLLRLRLLRLRLLRLRLLRLRRRLRRLLLRRLRLRLLLRLLLRRRLLRLLLRRRLRRLLLRRLRRRRRRRRLRRRRLRLLRRRLLLLLRRRLLLRLLLRLRRRLLLLLLRRLRRLRLLRLRLRLRLRLLRRLRRRRRLRLRRLRLLRRLLRLRRRRRLRRLRLRLRRRRRLRRRLRRLRRRLLRLRRLRLRRLLRRRRLLRRRLRRLRRRRRLLLLRRLRLRRRRRLRRLLRRRRRLLRRLLRRRRLLLRLLLRLLLRRLRLLRRRRLLRRLLLLLLLLRLLRLRLLLRRRLLRRRLLRLLLRLRRLLRRLRLLRLLLRRLLRRLRLRRRRLLRRRRLRRRRRRLRLLRRRRLRRLRLLRLLLLLRRRLRRRRLLRLRLLRRLLRLRLLLLRRRRRRRLLRLLLRLRLLLLRLRLLRLLLLLRLRRLLLRRLLLLLLLRRRLLLLRLRLLLRRLRRRRRRRRLLRLLLLRRLLLRRRLLLLLRLRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLRLRLRRRRRRLRRRRLLRLLRRRLLLLRLRLRLRRRRRLLRRLLRRRRRLLLRRLRLRRRRRRRLLLLLRRRRRLRRLRLLRLRLRLLRLLLLRRLLRRLLRLLLRLRRLLRRLLRRRRRRLLLRLRLLLLLLLRRRLRRLRRLLRLRLLRRRRRLRLRRRLRLRLRRLLLRRRLLLRLRLLLLRRLLRRRRLLRLRRRLRRRRLRLLLRRRRRRLLLLRLLLRRLRLLRRLRRLLLRRLLLLLRRLRLLLRLLLRLLRRRLRRRLLRRLRLRLRRRLLRRRRLRRRLLRRLLLLRRLLLRRRRRRLLLLRLRRLLLLRLLLLLLLRLRLLRRLLLLLLRRLRRLRRRRRLLLRLRLLLRLLLRLRLRLRLRLRLLLLRRRLLRLRRRLLRRRRRRLLRRRRLRRRLRLLRRLLLLRLRRLRRLLRLRRLRLRRRRLLRRLRRRRLLLRLLRRLRLRLRRLLLLRRLLLRLRRLRLRLRLLLLLLRRLRRLLLLLLRRLLLLRRRLRLRLLLLRLRRRRLRRLRRRLRRRLRLLRLLRLRLRRRRRRLLLLRRRLLRLLRLLRLRLLLLRRLRLLLRLRRLLLLRRLRLRLLRRRLRLLRRRLLLRLRRRLRLLLRLRLRLLRRLRRLLLLRRLLLLLLLRRRLLRRLRRRRRRLRLLRRLRRLRLLLLLLRLLLRLLRLLLLRRRRLRLRLRLLLRRLLLLLRRLLRRRLLRRRRRRLLRLLLRRRLLLLLLLLRLRLRRLRLRLRLLRLLRLRRRLLLLRRRRLRLRRLLRRRLRLLRLLLRLRLLRRRLRRRLRRLLRLLRLRRRRRLLLRLRLLLRRRRRRRLRLLLRRRRRLRLLRRLRLLRLRRRLLRRLLRLRLRRLRLLLRRRRLLRRLRRRRLRLRLRRLRRRRLRRRRRLRRRLRLRRRLLRLRLLLLLRLLRRRLRRLRLLLLLLLRLRLLRRLRLLLRRLLRRRRLRLLRLLLRLRRLRRRLRLLRRRLLLLRLRRRLLLRRRRRLLLRRRLLLLRLLLRLRRRRRLLLLRRRRLLLLRLRRLRLRLRLLRLLRLRLRLRRRLRLLLRLRRLRLLLLLLLRRLRLRLLLRRLLLRLLRLLRRLRRLLRLRRRLLLRRRLRRRRLRRLRLLRLRLRLLRRRLLLLRRLLLRLLRRLLLLLLRRLRRLRLRRRRRLRRRRLLRLRRRLLLLLLLRRLRLRLRLLLRLRLRLRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRLLRRLRLRLLRRLLRLLRRLRRRLLRLRLLLLRLRRRRLRLRLLLRRLLRRRLLLLRLRRRRRRRRLRRRLRRLLLRLRLLRLRLRRRLRLRLRLRRLLRRRRRLLRRLLLRLRRLLLRRRRRRRLLLRRRLRRRRRRLRRLLLLRLLRLLLLLLRLRLLLLRRRLLLRLLLRLLRRRLLRRLLLLRLLRLRLLLLLRRRRRRLRRLRRLRLLRRLLRRLLLLRRLLRRLRLRLRLRRLRLRRRRLRLLRRRLLRLRLLRLRLRRLRLRLRRLLRLRLLRLLLRRLRRLLRRLRLRRLLLRRLRRLLRLRRLRRLLRLLRLRRRLRLRLLLRLRRRRLRLLLLRLLRLLRLLLLLRLRRRRLRLRRRLRLLRLRLLRLLLRLRLLRRLLRRRLRLRRRLRLLRRRRRLRLRRRRRLLLRRLLLLLLLRLRLLLLLRRRRRLLRRLLRRRLLLRRLRLRLLLRLLRRLRLRLRLLLLLLRRLLLRLLRLLRRLLLRRLLLLRRLLLRLRLLLLRLLRRRRLLLLLLRRRRRLRLRRLRRRLRLRRRLLRRRLRLLLRRLLLRRRLLLLRRRRLLLLLLRRRLRRRRLRRLLLLRLRRLRRLLLLLLRRLLLLRLRRRLRLLRRRRRLLLLLRRRRRLLRRLLRRLRRLLRRRLLRRLRRRLLLLRRRLLRRRLRLLRRLLLRLLRRRRRLRRLRLLRLRLRRLRLLLLLLRLRRLLRRLRLRLRLLLRRLLLRRRRRRLLRRLRLRRLRRRRLLRRRRLRRLLLLRRRLLLLRLRRLRRLRRLLLRLRLLLLRRRLLRRLRRLLRLRLLRRLRLRRLLLRRLRRLRLLRLLRLRRRRRRRRLRRLRLLRLRLLLLLRLRRRRLRLRLRRRRRLRRLRLLRRLRRRLLLLRRLRLRLLRRRLRLLLLLRLRLRLRLLRLRRLRRLLRLLLRLLRLLLRLRLLRLRLRLLRRRRLLRRLRRLLLLRLRRLLLLLRLRRRLRRRLRLLLRRRRRLRRRRRLLRRLRLRRRLRRLRLRRLLLRRLRRRLLLRRRLRLLRLRRLLRLRLRLLRRRLRRLRLRLLLRLRLLLRLLRRRRLLLLLLLRRRLRLRRLRRLRLRRLRRRRLRLRLLRRLRRLLRLRRLLLRRRRLRRLLLLRRRLLLLLLLRLLRLRRLRLRLRLLLLLLLLRRLLLRLLRLLLLRRLRRLLRLLLLRRLLRRRLLLRRLRRLLRLLRLLLLRRLLRRRLRRLLRLLLLRLLLLLLRLLRLLLLRRLLLRRRLLRRRLLLLLLLRRLRRLRRLRLLRRLRRRRRLLRLRRLLLRRLLLLLLRLLRLLRLRRLLLRRRRLLLRRLRLLLLRRRRLRRRRRLRRLLLLLRRRRLLLRRRRRLRRRLRRLLLLLLRLLRLRRRRRRLRLLLRRLRRRLRRLRRRLRLRLRRLLLLRLLLRRRRLRLLLRLRLRRRRRLRLRRRRLRRLLLRLLRRRRLRLLRRLRRLLRRRLRRLRRRLLRLLLRLLRLLRRRRRRRRLLLRLLLRLLRRRRLRRLLLLRLRLLRRLLRLRLLRRLLLRRRRRLLRRLLLLRRRLLRRRLLRRRRLLLLRLRLRRLRLLRLRRLRLRRLRLRRLLRLLLRRLRRLLRLRRLRLRLRLRRRLLRRLRRLRRLLRRRRRRRLLRLLLLLLLRLRLRLRRLLRRLLRLRRRLLLLLLRLRRLRLLRRLLLLLLLRRRLLRLRRLRRLRLRRLRRRLLLLRLLLLLLRRRRLLLRLRRLRRLLRRLRLLRRRRRLRLLLLRLRLLRLRRLRLRRRRRLRLRRRLLRRLRRLRLLRLLRRLRLRRLRRRLRRRLLRRLLLLRLLRLRLRLLLRLRRRLLRLLRRRRRRRRLRRLRRLRRRRLRRRLRRRLRLLLLLLRLLRRRLRRLLLRLRLRLRRRLRLLRRRRLRRLRLRRLRRLRLLLRRRLLRRLRLRLLRRRLLLLRRRRRRRLRRRLLLRRLRLLRRRRLLLLRLLRRRLLLRLRRRRLLLLLLRLRLLLLLRLLRRLRRLLLLRRRRRLLLRLLLLRRLRRRRLLRRRLLRLRRLLLLLRRRLLLRRRRRLRLLRRLRRRLRLLRLLRRLRLRLLRRLLLLRRRLLLRRRRLRLRLLLRLRRLLLRLRLLRRLLRRRLRRLRLRRRLRLLRRRLRRRLRRLLLRLRLRRLRRRRRRLRLRLLLLRRLRLLLRLRRLLLRLLLLRLLLRLRRLRLLLRRLLRRLRRLRRLRLRLRLLRRRLRRRRRLRLLLLLRLRLRLRRRRLLRLLRRLRLRLRRLRRLRRLLRLRLRRLRLRLRLRLLRRRLRLLRRLRRLRRLRLRLRRLLRRLRRLRRRRRLRRRRLRRLRRRRRRRRRRRRRRLRLLLRLRRLLRRRLRRRRLLLLLLLLRLRLLRRLLRRRRLRRLRRLRLLRRLRRLLLRLRLLRLRLLLRLLRLLLLLLRRRRLRLLRRLLRRLLLRLLLLLRLLRRLLRLRLRRLRLRRRRRLRLRRLRRRLLLRRRRLLLRRLRLLRRRRLRRRRRLRLLLLLRLLRLLLLLRLLRRLRRRRLLRRRRLRRRRRLLLLRLLRLRRRRLLLLLRLLRRRLLLRLRLLRLLRRLRLRRLLLRRLLLRRLLRRLRRRLRRLLRRRLRRRLLRLLLRRRRLLRLLRRRRLLRRLRRLRLLLRRLRRRRLLRLRRLLRLRLRRRRRLLRRLRLRLRRRRLLRRLRLLRLLRLLRLLLRLLLLRLLLLLLLLRLRRLRRLLLLLLLRRLRLRLLRRLRLLLRLLRLRRLRRLRRRRLLLRRLLLLRRRRRLRLLRRLLLRLRRRRRRRRRRRRRRRLRRLRRLLRLLLLRRRRRRRRRRLRLLRRRRRRLRLRRLRRLRRLLRLRRRLRLLLLRLRLRLLLLLLLRRLLLRRRRLLLLLRLRLRRLRLLRLLRRRLLLRRLRRLLLLRLRRLRRRRLLRRRRLLLLLLRRLRRLRLRRLRRRLLLRRLLLLLLLLRLLRRLLLRRLRRLRRLRLRLRLLRLLLRRRLRLRRLLLRRRLLRRRRLRLRLRLLRLLRRRLRLLLLRRRRLRRRLRRLLRLRLLRLLLRLRRRLRLRLLRRRLRRLRRLRLLLRRLLLLRLRRRRRRRLRLLRRRLRRLRRRRLRRRRRLLRRLRRRRLLLRLLLLLRRRLLLLRRRLLRRRLLLLLLRRLRLLLRRRLLLLRLRLLRRRLLRLRLLLLRRRLLLRRRLLLRLLRRLLLLLLRRRRLRRLLLLRRLLLRRRRLRRRRLLRRLRRRLRLRRLRRRRRRLRLLLLRLRLRLLLRRLRRRLLLLRLRRRLLLLLRRLLLLRLLRLLLRLRRRLRLLRRLLRRRRLRRRLLLRLLRLLRRRRRRLLLLLLRRRRRLRRLLRLLRLLLRRLLLLRLRRLRLLRLRRRRLLLLLLLLRRRLLLLRLRLRLLLLRLLLRRLRRLRLRRRRLRLLLLRLLLLLRRRLLRRRLLLRRLLLLRLLRLLRLLLRLRRRLRLLRRRRRRLLLRLRRLRRLLLLLLRRLLRRRLRRRLLRRRRRLRLRRRLRLLRRRRRRRLRLRLRRLLRLLLLLRLLLLLLLLRLRLLLRLLRLRRRLLRRLRLLRLLLRLRLLLLLLRRLLRLRRRRRRLRRRLLLRRRRRRRLLLLRLLLLRLRLRRLRLRRLLRRRRRRLLRRLRRLLRLRRLLLRLLRLLRLRLRRRRLLRLLRRLRRRRLRLRLRLRRLLLLLRRRLLRLRLLRRLRLRLLLRRLLLLLLLRLLRLRRRRLLRLRLLRLLRLRLRLLLLLLRLRLRLLRLRRRRLLRLRLRRRLLRLRLRRLLRLLRRRLRLLLLLRLLRLLRRRLRRLRLLRLLRLLLLRLLRLLRRLLLRLLRRLRRLRRRRLLLRRLRRRRRRLLRLRRRLRLRRRRRLRRLLLRLRRLLRRLLLRLRRRLRLRRRLLLRRLLRLRLRLRRRLRRRLRRRRRRRRRRLRLRLRLLLLLRLRLLRRLLRLLLRRRLRLLLRLRRRRLRRLRRLLRRRLRLRLRRLRRLRRLRLRRLLLLRRLRRRLRLLRLRRLRLRLLLLRRRLRLLRLRLRRLRRRRRLRRRRRLLLLRLRRRLRLLRLRRLRRLRRRLRRRRLLLLLRRLLLRLLRLRRLLLLLRRRRRLRLRLLRRLLRRRRRRLLRRLLLRLLRLRLLLRRRRRRLRRLRLRLRRLRLRRRLRRLLRLRRLLLRLRLRLRRRLRRRLLRRLLLRRRRRRRLLRRRRRRRRLLLRLRLRRLLLRLRRRRLLRLLRLRLRLLRRLRRLLRLRLRRRLLRLRRRLLLLLLRRRLRRRRLLRRLLLLLRLLLRLLRRLLLLLRRRLRRRRLLLLRRLRLRLLLRRRLLLLRLLLRRLRRLRLLLRRLLLLLLLLLRRRLRLRLLLLRRLLRLLLLLRRLRRRLLRLLLLRRLRLLLRRLLRRLLRRRLLRRRLRLLRLRLRRLLRRRRLLLRRLLRLRRRLRRRRRRLLRRRLRLLLLRLRRRRLLRRRLRLRRRRLRLRLLLRLLLLRRRRRLLLRLLLLLRRLLRRLLRRLRLRRRRLLRLRRLLLLRLRLLRLLRRLRLRLRRRRRLRLRRLRRRRLLRLLLRLLRLLRLRRRRLRRRLLRRRRRRRRLLLRLRRRLRRRLLLRRRLRLLRRLRLLRRLRRLRLLRLLLRRLRRLRLRLRRRRLRRRLRLLLLLLLLLRLLRRLRRRRLRRLLRLLRLLRLRRLRLLRLRRRRLRLRRRLRLLRLRLLRLRRRLLRLRLLRLLRLRRLRLRRRRRLRLRLRRLRRLRLLLLRLLLLRLLLLLLRLLLRRLLLRRLRLRRLRRLLRLLLLRRLLRRLRRRRLLRRRLLLLRRRRRRLLLLRLRLRRLRLLRRLLLLLLLLRLLRRLRLLLLRLLRRLLLRLRRRLRLLRRLRLLLRRLRRLRRLRLRRRLRLLRRRRLRLLLLLRRRLLRRLLRRRLLRRRRRLRRRRRRLLLLLRRRLLLLLRRLLLLRLRLRRLRRLLLLRRRRRLRLRRRRLRLLLLLLRRLRLLLRRRRLRLRRLRRLRRLRRRRRRLLRLLRLLLLLLLLLLRLLRRRRLLLRRLRLRLRLRRRLRRRRRLLLLLLLRRLRLLRRLLLLRLRLRLLRLLRLRRLRLRRRLRRRRLRRLRLRLRLLLRRLLRRLRRLRRRLLLLLRRLRLLLLRLLRLRRLLLLRRRLLLRRLRRRRLLRLLLRRRRRRLRRRRRLLRRLLRLRRRRLRRRLLRRRRRLLRRRRRRLLLRLRRRLLRLLRRLLRRRLRLLRLLLLRRRLLRLRLLRRLRLRLRRLLLLRRRRRLRRRLRLRLRLLRLRRRRRLLRLRRLLLRRLRLRLRRLLRRLRLLRRRRLRRLLLRRLLRLRRRLLLLLRRRLLLRLRRRLRLRLRLLRRLRRLRRRRRLRLLLRLLRLRLRLLRRRLLLLLRRLRRLRLLLRRLLLLLRLRRLLRLRLRRRLLLRRRRLRRLRRLRRLRLLLLLRLRRLRRLLRRRLRLRRLRRRRLRLLRLLRRLLLRRRLLRRLRLRLRLRRRRLRLLLLLLRLLRRRRRRRRLRRRLLLLLLRRRRLLLRRLRLRRRRLRRRRRRLRLRRRRLLRLLLRRRRRRLLRLRRRLLLRLRLLLLRRRRLLLRLLRRRLRRRLLLRRLRLRLRRLRLLLRLLLRRLRLRLRRLRLLRLLRLLLRRRRLLLRRLRRRRLRLLLRRLRRRLLLRRLRRLLRLRRLRLLLLLLRRLRLLLLRRRRRLLRLLRRLRLRLLRRLLLRRRLLLRLRLLLLRLLRRLLLRRRLLRRLRLRLRRLLLLLRRRLLLLLLLLRLLRRRLLLLRLLRLRLRRRRRLLLLRRLRLRRRLLRLLRRRRLLLRRRRLLLLRLLRLRRRLRLRLLRLRRRLLRRLLLLRLLRLRLRLLLLRLLLRLLRLLRLLLLRLRRRLLLRLRLRLRRRRRRRLLLLLRRLLRRRLRLLLRLLLRLLRRLLRLRRRRLRLLLLRLRLLRLLRRRLLRLRLRLRRRLLLRRLLLLLLRLLRRLLLRLLRLRRRLLRLLLRRLLRRRRRLRLRRRLLLRRRLRLRLRLRRRLLLLRLLRLLRRLLLLLLRRLLRLLLLLLRLRRLLRLLRLLRRRRLLRLRRLRLLLRRLRRLLRRRLRLLRLRLRRLRRLRLRRRLLRRRLLRLRRLRLRLRRRRLRLLRRRLRLLRRLRRLRLRRRLRLRRLRRLLLLRLRRRRLLRRRLLRRRLLRRRLLLLLLRRLLRLRLLRRLRRLRLLLLLLRLLLLRRRRRLRRLLRRLLRLLLRRRRRRRRRRLRRLLLLLLLRLRRRRRRRLLLRLRLLLRRRRLLLLRRRRLRRRRRRRLLLRLRRRLRRRRLLLLRLLRRLLLRRLLLRRLRRRRRLLRLLLRLLLRLLRRRLLLLLLLLRLRRLLLRRLLLLLLRRRRLLLRRLLLLRLRRLRRRRRRLLLRLLLLRRLLLRRRLRLLLLLRRLLRRRLLLLLRLLRRLRRLLLLRRRLRLRLRLLLRRRLLRRRRLLRRRRRRRRLLLLRLRRRLRRRLLRRLLRLRRRLLLRRRRLLRRRLLLLLLLLRRRRRLLRRLLLRLRLRRLRLLLLRRRLRRLLLLLLRLRLLLRRLLRRRRRRLLLLLRLRLLLLLRRRLRRLLRRRLLRLLRRRRLLRLRRRLRLRRRRLRLRRRLLLLLRLRLRRLLLLLRRLLRLRLRRRLRLLRLLLLRRLLRRLRLRLLLRRLRRLRRRRRRLLLRLRLLLRRLRRLRLLLRRLRRLRLRRRLLRRLRRRLRRLRLRLLRRRRLLLRRRRLLLRLLLRRLRLRRLLLLLRLLLLLRRLLLLLLRLRLLLLLLLRLLLRLLRLLLRRRRLLRRRLLLLLLRRLRRRLLLRLRLLLLRRRLLRLRLRLRRRRRRRRRLRRRRRRRLLLRRRRLLRRLRRRRRLLLLRRLRLRRRRRLRRLRRRRLRLLLRLRLRLRLRRRLLLRRLLLRLRRRRLRLRLRRLLLRRLRLRLLRLLRRRRLRRLLLLRLLLRLRRRRRRRRRLRLRLRRLLRLLRLRLLLLRRRLLRLLRLRRRLLLLLLLRRRRLLRLRRRRLLLRRRRLLRLRRLRLRLLRLRLLLLLRRRLRRLRRLLRLRLRLRRRLLRLLRRLRLRRRLLLLLLLLRRRLRRRRLRRRLLRLLRLLRRLRLLLLLLLLRRRLLRLLLLRLRRRRLLLRLLLRRLLLLLLRRLRRRRLRRRRRRRRRLLLRRRLLLLRLLRLLRLLLLRLRRRLLLLRLRRRRLLLRLRRRLRLLRLLRRRLRLLRLLLRLRRLRLLRLRLLLRLLRLLRLRLRRLLLLRLLRLLRLLRRRRRLRLLRRRRRLRRLRLLRLLRRLRLRLLRLLRLRLRRLRLLLLRLRLLRRLRRLRLLLRLLLLLRRRLRRRRRLLLRLRLRRRRLRLLLLRRLRLLRRRLRRLRLLLLRLLRLRLLLRLRLLLRRRLRRRRLRRRRLRRRRLRLLRRLRRLLRRLLLRRLRLLLLRLRLRRRRLRRRLRRRRLLLRLLRRLLLLLLRRRLLLRLRLRRRRLRRRRLRLLRRRRRRRRRLLRLLRLLLRRRLLLLRLRRRLLRLLLRLRLLRLLRRLLLLLRRRRLRRRLLLRRRLRRRRLRRRRLLLLRLLRLRRRRLLLRRLRLLLLRRRLRRRRRLRLRLRLRRLRRLRRRRRRRLRLRLLLRLRLRRLLLRRLLLRRLLLRLRRRRRLRRRLLRLRLLRLLLLLRRRLRRLRRLRLRRLRRLLRRRLRLRRRRRRRRRLRLRLRRRRRLRRLLRRRRRRLLRLRRLRRLRLRRLLRRRLLRRRRLLRLLLRRRLRLLLLRLRRRLLRRLLLRLRRRRRRRLRLRLLRLLRLLRRRRRRLLRRLRRLRRLLRLRLRLRLRRRRLRLLLRRRRLLLRRRRRRRLRLRLRLLLLLRRRRLRLLRLRRLRLRRLLLLLLRRLLLRRLLRLLLRLRRRRRLRRLLRLLRLLRRRLLLRLLRRLLLRRLLRLRLRRLLLRLLLRLLLLLRRRLRLRLLRRRRLRRRRRLRLRRRLLRLLRRLRLLRRLRRLRLRRRRRLLRLRRLLRRRRRRRRLLRRLRRRLRLRLRLLLLLLLLLLRLRLRLLLRRLLRRRLRRLRRRRLRRRLLRLLLRRRLLRRLRRRRRRRLLLRRRLRLLLLLLRLLRRRLRRRRLLLLRRRRRRLRLLLLLLLRRRRRRLRLRLRRLLRRRLLRLLRRRLRRRRLLLLRRRRRLRLLLRLRRLRLRRRLRLLLRRRRLLRLRLLRLRLLLLLRRRLLRRLRLRLLRLLLRLLLRRRRRLRRRLRRLLLRRRRRRRLLLLLRLLLRRLRLLRRLRRRRRRRRLRRRLRRLLRRRRRLRLRLRRLLRLRLLRRRLRRRRRRLLRLLLLRLRRLRLRRRRRRRLLRLRLLRRRRRRRRRLLLLRLLRLRRRRLRRLLRLRRRLLRLRLLLRLLLRLLLLLRLLRLLLRLRRLRLLRRRRRLLRRLRLLLRLLRLLRRRLLLLLLLRRLRLRRRLRLRRRRRRRLRRLLLLLLRRRLRRRRLLRLLLRRRRLRLLRLLRRLLRRLLLLRRRLRRRLLLRLLLRLLLRLRRLRRLRLRRRLRRRLRLRLLRRLRRRRLRLLLLRLRRLLRLRLLLRLRRRRRLLRRRLRLLLLLLLRLLLLLLLLRRLLLRLRRRRRRLRLLRRRRLLRLRRRRRLRLRRRLRLLLLRLRLLLLRRRRLLLLRRRLRRRLLLRRRRLRLLLRRLRRLLLRLLLLRLRLLRLLLRLLRLLRLLLLRLLLLLRRLLLRRRRLLLRLLRRLLLLRLRLRLLLRLRRLRLRLRRRLRRRLRRRRRRRLLRRLRLRRRLLLLRRRLLLLLRRRRRRRLRRRRLLLLLRRLRLRRLLLLLRRRLLLLRRRRLLRLRRLRRRRRRLRRRRLRLLLRLRRRLRLRLLLRLLRRLRRLLRLRRRRRLRRRLRLLRRLRRRRLRLLRRLRRLRLRRLRLRRLRRLLLLLRRLRLLRRLRRRLRRLLRRLLLLRLRRRLLRRLRRRRLRRRRLLRRRRLRRRLLRRLLLLLLRLLLLRRLRLLLLRLRLLRLLRRLLRLRRRLLRLRRLLRLLLRRRRLLRLLRLLLRLLLLLRRRRRRLLLRRLRLLRRLLLLRLRLRRRRRRLRLLRRRRLRRLRLLLLRLRLLLLRLRRRLRLLRRRLLLRLRLRLRLRRRLLRLRLLRRLLLLLLLLLRLLRRLRRLRLRLRLLRRRLLRRRLRLLLLLLLRRRLLLLLRRRRLRLLLRLLLRRRRRRRRLLRLLRRLLLRRRLRRLLLRRLLRLRLRRRLRLLRRLLLLRLLRLRRRRLRLLRRRRRLLRLRLLLRRRLLRRRLLLRRLRLLLRLLLLLRLLRLLRRRLRLLLRRRLRRLLLRRLLRRLRRRRLLLLLRRLLRLRLLLRRLLLLLRLRRLLLLRRRLLLRLLRLRLLRRRRRLRLRRLLLLLRLRRLLLLLLLRRRLRRRRLLRLRRRRLRLLRRLRLLRLLRLRLLRRLRRLLLRLLLLLRLLRRRRLRLRLRLLRLRRRRRLLLLLLLRRLRRLRLRRLLLRRLRLRRLLLRRLLLLRRLLLLLLRLLRLRRLRRRRLLRRLLLLLRRRLLLLLRRLLRRLRRRRRLLLRLRRLLLRLRRLLRRLRLLLRLLRLLLLLLLLLRLRLRLLLLLRRRRLRRLLLLRLLRRRRRRLRLLRLRRRRLRLRLLLLLRLLRRRLLRLLRLRLLRLRLRLLRRLLLRRLRRRRRRRLLRLRRLLLRLRLRLLRRRRLLRRRRLRRLRRLRLLRLLLRRLLRRRLLLLRRRRRLRLRLLRRLRRLLLRLLRRRLLRLLRRLLRRLRRRLLRRRRLRLLRLRLRRLLLRRLRRLRLRRLLLLRLLLLLLRRLLRRLRLLRLLLLLRLLRRLLRRLRRRLRLLRRRRRRLLLRRRRRRLLRLRLRRLRRRLRLLRLRRRRLLLLLRLRLLRLRRLLRLLRLLRRRLRRRRRLRRRRLLRLRRRLRLLRLLLLLLRRRRLRRLLRRLRLLRRRRRRRRLRLLRRLRLRRRLLLRLRRRLLRRLRRRRRRRRLRLRLRRLRLRRLLLRLRRRLLRRRLRRRLLRRLLLLRLRRRRLRLLLLLRRRLLRLLRLLLRLRRLRRLRRLLRLRLRLRLLRRLRRRRLLLRLLRRRLRRLLRRLRLRRRRRLLRLRRLRRRRRRRRRLLRLLLLRRLLLLRLLLLRLLRRLLLRRRLRRRRLLRRRLRLRRLRLLRRRRLLLRRLLRRRLLRRLLRRRLLLRLLRRRRLLLLRLLRLLRRLRRLLRLLRRRLRRLLLLRLLRRRLLRRRLLLLLLLLLLLRRRLLRLRRRRLRLLRRRRRLLRLLRRRRLLRLRLLLRLLLLLRRLLLRRRRLRLRLRLRLRRLRLRRRLLRRLLRRLLRRLRLRLLLRLLLRRLRLRLRRRRLRLRLLLLRRRRRLRRLLLLRRRRRRLLLRLRLRLLRLLLLLLLLRLRLLRLLLRRLRRLLRRRRRRLRRLRLLLRRLLRRLRRRLLRLLRLRLRLLRRRLLRLLRRLRLRLLRLRRRRRRLRLRRRRLLLRLLLRRLRLRLRRLRRLRRLRRRRRRLRRLRRRLRRLRLLRRLLLRRRLRLRLLRRRRRRRRLRLLRRLLRLRLRLRLRLRLRRLRLLLLRLLLRRLRRLLRRRRLRRLRLLRLLRRLRRLRLRLLRLRLLLLRRLLRLLLLLLRRLRRRLLRLRLRRLRLRLRRLLRLLRRLLRLRRRRLRLRRRRLLRRRLLRRRLLRRLRRLLLRLLRLLRLRRLRRLRRLRLLLLLRLRRRRRLLLLLLRLRLRRLLRRRRRRLLRRRLLLRLRRRLRRLLLLLLRLLRRRLLLRLRLRRLRLRRRLRLLRLRRRRLRRRRLRRRRRLRRLLLRLLRLRLLLLLLRRLRLLRLLRLRRLRRRLRRLLLLLRRLLLRRRLRLRRLLRLRLRRLLRLRLRLRRRRRRLLLRRLLLLRRLLRRLRLRLRRLLLRLLRRLLLLRLRRLRRLLLLLLLLRLRLRLRLLLRLRLRLLRLLRLRRRLRLRLRLRLLRLLLRRLRLRRRRRLRRRLRRRRLRRRRRRRLLRRRRLRRLLRLLLLRLRRRRRRRLRRLRRLRRRRLLLLRLRLLLRRLRLLLRLLLLRLRLRLRLLLLLLLLRLRRRRRRRRRLLRLLRRRRLLLRLLRLRLRLLRLRRRLLLLLLRRRRLLLLLRRLLLRLLRLRRRRLRRRLRRRRLLLLRLLLLLLLLRLLRRRLLRRRRRLRRLRLRLRLLRLLLRLRRRLRRLLLLRRLLRRRLLRLRLRLLRLLRRRLRLLLRRLLRLRRRLRLLLRLRLRRLLLRLRRLLLRRRRLLRRRRLRRLLLLLRRRLLLRLRRRRLRRLRLLLLRLRRLRRRRRRLLRLLLLRRRLRRRLLRLLLLRRRRLLLLLLLLRRRRRRLLLLRRLRLLLRRRLLLRLRRLRRRRLLRLRLLLRRLRRRLRRLLLLLRRRRRLLLLLRRRRLRLLLLLRRLRLLRRRLRLRLRLRLLLLRRRRRRLRRRRLLLRLRLLRLRRLLLLRRLRRRLLLLRLLRRLLLLLLLLLRLRLLRLRLRLRRLLRLLLRLRRLRLRRLRLLRRLLLLLRRLRLRLLLLLLLLRRRLRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLLLRLRRRRLLRRRLRRRLLRRRLLLRLLRLRRLRRRRLRRRLLRLLLLLRRRRLRRLRRRLLRLLLRLLRLLRLLLLLRRRLRLRRLRRRLLLLRLRRLRRRLLLRRRRRRRRLRLRRRRLRRRRLLLRRRLRLRLRRRRRRLRRRRRRRLRLLRRLRRLLRLLRLRLRLLRLLLRRRRRLLLRRRRRLLLLLRRLRLLLRRRRLRRLRRLRRRRLRLRRRRRRRRRLRLRRRLLRRRRLRLLRRRLLLLRRRRRLRRRRRRLLRLLRLLLRLLRLLLLLLRLLRRRRLLRRLLRRRLRLRLRRRRRRLRLRRRLLLLRLRRLLRRRRLLRRRLLLRLLLLLRLRLLRLRRLRLLRLLRLRLRLLLLLLLLRLRLLRLRRRRLLLLRRRRRLLRLLLRLLLRLLRRLLLRRLLLRLRLLLRRLLLLRRRLLLLRLLLRRRLLLLLRLLLLLLRRLRRRLRRRLRLRRLRRRRRRRLRLRRRLLLRLRRRLRRLLLRRLLRLRRLLLRRRLRLRRRRLLRLLLLLRLRLLLRRLLLRLLLRRRRRRRLRLRLLLRLRLLLLRRLLLRLLRLLLLRRLRLLLRLLRRRLLLLRRLLLRLLRLRLRRLLRLRLRRLRLRLLLRRLRRRLRLLRLLRRRLRLLLLRLRLRLRRLRLRRRRRRRLLRRLRRLLLRRLRRRRLRLRLRLLLLRRRRLRRRRLLLLLLLLLLRLLLRRRLLRLLRRLRRLRLRRRRRLLRRRRRRLRLRLLLLLLRLRLLLRLLLRRLRRLRLRLRLLRLRRRLRRRLLLRRLLLRLRLRRRRRLRRRLLLRLRLRRRRRLRRLRRRRRLLRLLLLLRLRRLRLRLRLRRLRLRLRLRLRLRRRRRRLLRLLRRLRRLRRRRRLLLLRLRRRLLRRRRLRRLLLLLRLLRRLLLRLRLLLRRRLRRRRLLLLLRLRLRRLLRRRRLRRLLLLRRRRRRRLRLLLRLLLLRRLLLLRLRRRRLRRRLRLLLLRLLLRLLRLLLRLLRLRRRRLLRRRLLRRLLRLRRLRRRLRRLRRRLRRRLRRLRLLRLRRRRLRRRRRRRRRRLLRLRLLRLLLRLLRRRLRLRRRRLRLRRLRLRRLRRLLRLRLLLRLRLRRRLRRRRRLRLLLLRLRLRLRRLLRLRRLLLRRLRRRLRLRLLLLRLRRRRLRRRLRLRRLLLLRLRRRLLRLLRLRRLRRRLLLLRRLRRRLRRLLLLRLRLRLRLLRRRRRRLLLRLRLLRLLLRLRLLRLRLRRRLRLRRRRLRRLRLLRLLLRLLLRLLLRLRLRLRLLLRRRLLLLLRLLRRRRRRRLRLRRLRLRLRRLLRLLRLRLLRRRRLLLRLRLLRRLLLRLLRLLRRRRLLLRLRLRRRLLRLLLRLLLLRLLLLLLRLLLRLLLLRRLLLLRLLLLLRLLLLLRLLLRLRRRRLLRRLLLLLLRLLRRLLLRRLRLRRLLLLRRRLLRLLLRRLLRRLRLLLLRLLRLLLLRLRRRRRRLRRLRLLLRLLRRLLRLRLRRRLRLLRRRRLRLLLLLLRRLLRRLRLLRRLRRRRLLRRLLRRLRLLRRRLLRRLLLRLRRLRLRRRRLLRLLLRRRLLRLRRRLLLRLLRLLLLRLRLLLRLRRRLRLLLLLRLRRRRLLRRLLLRLLRLLLLLLLRLLRLLLRLRRLLRRLRRRLRLRRRRLRRRLLLLLLRLRRLRRLLRLRLLRLLLRLLRLLRLRLLRRRRRRLRRRLLRLRLRLRLLRLRRLRRLRLLLRRRLRLLRRLLLLLRRLLLLRRLLRLRRRLLRLRLRRRRLLRLRRLRRRRRLRRLLLLLRLLRLRRRRRLRRRLRLRRLLLLRRLRRRRLRLLRLRLLRRLRRLLRLRLRRLRLRLRLRLLLLLRLRRRRRRRRRRLLRRRRLRRLRRLLLLLRRRLRLRRLLRLLRRLLLLLRRLRLRLRRLRLRLLLLRRRRLRLLLLLRLLLLRLRLLLRLRLLLLRRLRLRLRLRRRLLRLRRRRRRRRLLLLRLRLLRLRLRLLRRRLRLLLRRLRRLLLLLRRLRRLLLLLRLLRLLLRRRLLLLRRRRRLLRRRLLLRLLRLLRLRLLRRLLRRRLRLRLLRRRRLLRLLLRRRLLRRRRLRRRLLLRRRLRLRLLLLLLLRLRLLLLRRRLLRLRRRLLRLRLLLRRLLLLRLRRLRRRLRLRRRLRRLLRRRLLLLLRRRRLLRLLRRLRLLLLRLRRRLLRLRRLLRLLLLLLLRRLRRLRRRRLLRRRRLLRLRRRRLLLLRRLLRRLRRRLRLLLLLLRRLRRRRRRRRLLRLLRRLLLRRLRRRRLRRLLLLRRRLRLRLLRRRLLRLLLRRRLRRRRLRRRLRLRLLRRLLRRRRLRRRLRLLLRRLLRRRLLRLLLLRLLRLLLLRLLRLRLRRLLLLLLRRRLRRRRLLLLRLRRLRLLRRRRLLLLRRRLLRRLLLRLLLRLRRLLRLRRLRLLRLLLLRRRLLRLLLRLRRRLLRLLLLLLRLLLRLRLLLLRRLRLLLRLLRLLLLRLLRRLLLRLRLRLRRRRRLRLLLLLRRLRRRLLRRLRRRRLRLLRRRLRLRRRRLRLLLLRLRLLRLLRRRRLLRLLLLRRRLLLLRLRLRRRLRRRRLLRRLRRLRRRLLRLLLRRRLRRLRRLRLRLLLLLRRRLRRRRRLRRLLLRLRRLLRLRRRRRLLLLRLLRRLRLLLRLRRLLRLLLLLRRRRLLRRRRLLRLLRRLRRLLRRLLRLRRRLLRLLLLLRLLRRLLLRRLRLRLLLLRRLRRRLLLLRRRLLRLLRRLLRLRLRLRLRLRLLRRLLLLRLRLRLLRLLRLLRRRLLRLRRRLLLLRLLLRLRLLRRLRRLRRLLLLLLLLLLRRRRRLRRLLRRLLRRLRRRRRRRLLRLLRRLLLLLRRRLRRRRRRLRLLRLRLLLRRLLLLRLLLRRLLRRLRRRLLLRRRLRLRRRRRRLLRLRRRRLLRRLRRRLLLRRRRLRRRLRLRLLRRLRRRLLLLLLLRRLRRLLLRRLLLLLLRRRLLRLRLRLLLRLLRLRRRLRRLLLLLLRRRRLRLRRRLRLRLLLRLRLRRRLRLLRRLLRLLRLLLLRLRRLLLRRLLLLLLRLLRRRRRRRRRRRRRRLLLLRRRRRLRRLLLRLLLRLRRRLLLLRRLLLRRRLLLRLLRRLRRLLLLRRLLLRLRLRRRLLRRLRRRRRRLRLLLLLRRLLRRLLLRRRRLRLLLLLRLRRLLRLLRRLRRRLRRRLLRRLLRRRLLLLRLLLLLRRRRLRLRRLRLRLRRLRLRLLLRLLLRLLRLLLRRLLRLRLLLRLRLLLRRLRLRLLLRRLRRLRRRRRRLLLLRRLLLLRRRRLRLRRRLRRRLLRLRRRLRLLLRRRLRLRLLLLLRRRLLLLRRRLLLRLLLLRLLLRRLLRLLRLRLLLRRLLLLLLRRLLLLLLLLRLRLRRLRRLLLLRRLLLRLLLLLLRRRLRRLLLRLLRLLLLRRRRRRLRLLLRLRRRRRRRLRRRRLRLRLLRRRRLRRRRRLRRRRLLLRLRRRRRRLRLRLRLRLRLRRLRRLRLRRLRRLRRLRRRLLRLLLRRRLRLLRRRRLLLRRRLRLLRLRRRRRLRLLLLLRLRLRLRRRRRRRRRRRLRLRLLLLRLRLRLRLRRRRLLRLRRLLRRLLLLLLLRLRRLRRLLLRLLRLLRLLLRRLLRRLLRRRRLRLLLRLLLRLRRLRLLRRLRLRLRRRLLRLRRRLRRRRRLLLLRLLLRLRLRRRRLLRRLLRLRRLLRRRRRLLLLLLRRRRRLRLLRLRLLRRLLLLLLLLLLLLLLLLRRRRRRRLLLLLRLRRLLRRRRRLLRRRRLRLLRLLLLRLRRRLRLRRLRLRRLLLRLRLRRLLLRLRRLRRRLRRLLLRLRRLRLLRLLLRLRRRRLRLLRLRRLRLLRRLRLLRLLLLRRRLRLLRRRRRLRRLLLRLLLRRLRLRRLLRRLLRLRLLRLLRLRLRLLRRRRLLRLLLLLLLLLLRLRRLLLRLLLRRRRLRRRRRRLLLRRLRLRRRLLRRLRRLLRRLLRRRLRLRLLRRLLRRRRRRLLLRRRLRRLRLLLLLRRRRLLRRLRLRRLLLLLLRLRLRLRRLRLRLRRRRLLLLLLRRLLLRLRRRRLLLRLRLRRRRLLRRRRRRLLRLRRRLRRLLRLLRLLLRRRRLLLRLRRRLRRRLLRLRLLRRRRRLLLRLLRRLRRRRLLRRRRLRLRRLRRRLRRLLLLLRLRRRRRLLLLRRLLRRRLRLRRRRRLRLLRRLRRLRLLRLRRRRLLRLRLRLRLRLLLLLLRRLLLRRLLLRRRRRRRLLLRRLRLRLLLLLRLRLLRLLLLLRRRLRRLRLLLRRRLLLRLLRRRRLRLRLRLRRRRRLRLLLRLRLLRLLRLLLRRRLRLRRRRRLRLLRRRLLLRLRLRLRLRLRLLLRRLRLRRRLLRLLRRRRRRRLRLRLLLRLLLRRLLRLRLLRRLRLLRRLRRLRRRLRLRRRRRLRLLRRRLLLLRRRRRLRLLLRLRLLRLRRRRRLRLLRLRRLLRRRLLLRLLLRLLLLRLLRLLRLLRRRRRRRRLLRLRRLRRLRLLLRLLRLLRRRLLLLLRLRRLRLLLLLRLLLLLRRRLRLRLRRRRRLRRLRRRRRLRRRLRLRRRLLLLRRLRRLRRRRRLLLLRRLLRRRRRRLLRRLLRLLLRLLRLRLRLLRLLLRLRLLLRLRRLLRLLLRRRLRLLRRRRLRRRLLRRLRLRLLLLLLLRRRRRLLLRRRRRRRRLLLLRLLRRRLRRLRLRLRRLRLRRLRLLLLLLLLRRRRRLRLRRLRRLRRLLRRLLRRRLRLLLLLRLLRLRRLRLLRRLRRLRLRLRLRLLLLLLRLLRRRLLRRLRLRLLRLRLRRRLLLLLLLLLLRLRLRRRLRLRRRLRRLLLRRRLRRRRLLLRRLLLRLLRLLRLLRRRRLRLLLRRRLRRLRRRRRRLRLRRRLLLLLRLLRRLLRLRRRRLRLLLLRLLRRRRRRRLRRRLRLRLRLLRLRLLRRRLLLRLRRLRLRRRRLLRLLRLRRRLLRLRLLRRRLLRLLRLLRRRRLLRRLRRLRLRRRRRRLLRRLRLRLRRLRRLRLRRRRLLLRLLLRLRRLLRLRRRLLRLLLRRLLLRRRRRLRRRLLLRLLLRRRRLRLLRRLRRRLRRRLLRRRRLRRRLLLRLLLRLLLRRRRLLLRRLRRRLRLRLRLRRRRRRRLLLLRLRRRRRRRRRRLRLLRLLRRLLRLLLRRLLLLLRLLLLLLRLLLRLRLLLLRLRLRLRRRRLLRLRRLLRLLRRRLRRRRRRLRRLRLRRRRRRRRLLRLLRLRLRRLRRLRLRRRLLLLRLLRLRRLLLRLLRRRLRLLLLLLLLLRRLRLRLLRLRLLLLRRLRRRRRLRRLLRRLLLLLRLRRRLLLLRRRLRRRLRRRLRLRRRRRRRLRRLRRRRLRRRLRRLRLRLLLRLRRRRRRRLLLRRLLLLLRRLRLLLLRLRLRRLRRLLLRRRLRRLRRLRRRRRRLRRLLLLLLLRLRRRLRLRLLLRLLLRLLRLRRLRRRLRRLRRRRRRRLRRRRRRLLLRRLLRRRLRRRLLRRLRRLLLLLRRLRLLRLLRRRLRRLLRRRLLLRLRRRLLLRRRRRLLRLRLRLRRRRLLRRRLRRLLLLLLRRLLLRRLRLLLRRRRLRRLLRRLLLLRRLRRRLLRLLRRLRRRRRLLRLLRRLLRLLLLRRRRRLRLLRRRLRRLRRLRLLRRLRLLLRRRLRLLLLLRLLLLRLLLLRLRLLLLRLRRLLLRLRRRLLLRLRLRRLLLRRLRLRLLRRRLLLRRLLLLRLRRRLRRLRRLLLRLLRRLLRRLRLLRRRLLLRLRLLLLLRRLLRRLLLRLLRRRRRLRRLLLLLRRRLLLLRLLRLLLLRLRRRLRRLRRLRLLRRLLRLLLLRRRRRRLRRLRRRRLLLRLRLLLRRLRLRRRLLLLLRRRLLRLLLLLRRLRLLRRRRLLLLLLRRRRLLRRRLLLRRRRRLLRLLLLLRLRLRLLLLRLRLRLRLRRLLRLRRRLLLRRLRLRRLRLRRRLLRRRRLRRLRLRLLLLLRLLRRRRRLLRRRRLRRRRRRLRLRLRLLLLLRLLLLLRLRRRLLLLLLLRRLLRLRRRRLRLRLLLLRRRRRLRLLLRLRRRRRRRLRRRLLRRLRLLRLLLRLLRLRRRLRLRLLRLLRLRRLRLRRLLRLLRRLLRRRLLLLLRRLLRRLRRRRRRLLRRRRLLLRLLLLLRRLLLLLRLLRLLRLLLLLLRLRLRRLLRLRLRRLLRLLLLLLLRRRRLLRRLLLLRRRRLLLLLLLLLLLLLRRLLRRLRLRLLRLRRLRLRRLLLLRLLLRLLRRLLLLRRLLLRLRLRRLRRRLLRRLRRLLLLRRLLLLRLRRLRLLRRLLRRRLRRRRLRLRLLRRRLLLRLLLLRRRLLRRLRRLLLRLRRRLLRLRLLRRRRRRLLRLLRRRLRRLRRRLRLLLRLLLRRLRRLLRRLRLLLRLLLLRRLLRLRRLLRRRLRLLLRLRLRLLLRRRRRRLLRLLLLRLRRRLRLLRLRRRRLLLLRRLLLLLLRRLRRRLRRLRRLRRLRLLLRRRRRLLLRLRLRLLRLRRRRLRRRRRRRLLLRLLLRRRLRRRRRLRLLRLRRLRLRLLLRLRLRLRRRLRRRRRLRLLRLRRRRLRLRRRLLRLLRRLLLRLRRRRRLLLLLLLLLRRRRLRLRLLLRRRLRRLRRLLLRLRLRRLLRLLLLLLRLLLRLRRLLRRRLRRRLLRRRLRRLRRRRLRRRRLLRLRLRRLRRRLRLRRRLLLRLLLRLLLLLRLRLLRRRLRLLRRRRLRLRLLLLLRRRLRRLRLLRRLRRLRRLLLRRRLLRLRLLRRRLRRRLLRLRLLLRRLLRLLLRRRRRLRLLRRRLRRLRLLRRLRRRLRRRLLLLLLLRLLLLLRRLRRLRRRLRRRRLLRRRLRRRLRRRRLRRLRLLLRLLLLLRRLLRRRRLLRLLRRLRLRRLRLRRRLLRLLRLRLLLRLRLRLLRRRLLRRLRLRRLRRRLRLRLLLLRRRLRLRLLLRLRRRLRRLLRRLLLRLRLLLRRLLLLRLLLRRLLRLRRRLLLLRRLRRLRRRRLLLRLRLLLLLRLRLRRRRLLLRLLRRLLLRLRRLLRLLLLRLLRRRRRRRLRRRLLLLRLLLRRLLLRLLRLRRRRRLRRRRRRLRLRRLRLRRRLLLRRLLLRRRLLLLLLRLLLRLLRLRLRRRLLLLRLRLRLRLRLRRRRLLRLRLLRRRLRRRLLRRLLLRLRLLRRLRLLRRLRRRRLRRRLLRLRLLLRLLLRRLRLLRRLRLLLRLRRRRLRLRRRLRRRLLLLRRRRLLLRLLRRRLLRRRLRRRRLRRLLRRLLRRLLLLLRLRRRLRLRRLRLLLLRLRRLRRRLLLRLLRLLLRLRLRRLLRRLLRRRRRLRRRLRLRLLLLLLLRLRLLRLRLRLRLRLLRLLRRLRLLRLRRRRRLRRRLRRLLLLRLRLLRLLRLLLLLLRLRLLRLLRLRLLRRLRRRLLLLLRLRRLRLLRRRRRRRRLLLLRRRRLLRRRLRLLRLRRRLLLRRLRLLRRLRRRLRLRLLRRLLRRLRRRLLLLRRRLRLRLRLLRRLLLRLLLRLLLLLRRRRRRRLRLRRRLRLRRRRRLLRLLLLRLRLRRRLRRRRRRRRRLLLRRLLRLLLLRRLRLRLLRRRLRRLLRRRLLRLRLLRRLRRRRLLLLRRRLRLLRLRLLLLLLLLRLRLLLRRRLLLLLLRLRRLRRRRRRRLRRLRRRRLLRRLRRLRLRRLLLRRRLLRLLLRRRLLLRLLRLLLRRLLRLRRRRLRRRLRRLRLLLLRRLLLLRLLRLRLRRRLRRRLRLLRRRRLLLLLLLLLLLRRLLRRLLLLLRLLLLLLLRLRLRRLRLRRRLLLRLLRLLLLLRLRLRLRLLLRLRLLRLRLRRLRLRRRRLLLRLRLRRLLRLRRRRRLLRLRRRRLRRRRRLLLLLRLRLRRRRRLLRLRRLRRRLRRRLLLRLLLRRLRLLLRLLLLRLRRRRRLLLRRRRLLRRRRLLLRLRRRRRRRLLRLRLLLRRLRRRLRRLLLLLRRLLRRLRLLLLRRLLLRLLLRRLRRLRRLLLLRLRRRLLLLLRLRRLLRRLRLLLRLRRRRLLRLLLRLLLLRLLLLRLLLRRLRRLLLLLLRRLLRRLRLLRLRLLRLLLRRRRLLLRLLRLLRRLLLLLRLLRLRLLLRLLLLRRRRRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLRRRRRLLLLRRRRRRRRLLRRLRLLRLLRLRRLRRRLRRRRLRRLLLLLRLLRRRLLRRRLLRRRLLLRLRLLRRLLLRLLLRRRLLRLRLLLLRLRLLRLRRLRRRLLRRRRLRLRRRRLLRRRRLLLRRRRLRLLRRRLRRRRLRLLRLRLLRRLRRLRRLLRLRLRLLRLLRRRRRRRRLRRRRRLLLRLRLLRLLRRRRRLRRLRLLRLRLLLLRRRLRRRRRLRRRRRRLRRRRRLLRLRRLRRLRRRRRLRLRRRRLLRLLRLLLLRRLLLLLLLLLLRRRRRLRRLLLRLLLLRLRRLRRRLRRRLLRRLRRRRRLLRRRRLLLRRLRLRRLLLLLRLLLLLRRLRRRLLLRLRLLLRRLLLLLRRRRLLLRRRRLLLLLRLLLLLRLLRRLLLLLRRRLLLRRRLLRLRLRRRLLRLLRLRLLLLRRLLRLRRLRLLRLRLLLLRLRRLRLRRRLRLLRRRRRRRRRRRLLRRLLRRLLLLLRLLRRLRLLRLLRLLLRRRLRLRRLRLLRRLLRLRLRRLRRRLLLRLLLRRLRRRLLLRRLLLLLRLLLLRRLLLRLRRLRLLLRRRRLRLLLRRLLLLLLRLRLRLLRLRLLRLLLLLLRLRRLRLLRRLLRRLLLLLLLLRRRRRLLLLRLRLRLRRRRLLRRRRLLLRRLLLRRLLRRLRRRRLRRRRRLLLLRRRLLLLRRLLLRLLLLRLRLRLRRRLLRLLRRLLLRLRRRRRLRLRRLRLRLRLRLLLLLLRLLRLLRLLLRLLRRRRRRLRLLRLLRRRRLRLLLLRRLLRRRRLRLRRLRRRRLLRLRLRRRLRLLRLLLRRRLLRRLLLLRRRLRRLLRLLRRRRLRLRRRLRRRLRRLRLRLLLRRLRRRRRLLLRLLLRLRLLLLRRRRLRRLLLLLRRLRRLLLRRRLLRLRRLLRRRLRLLLRLRLRRLLRRRRRRRLLLRLRRRLRLLRLLLRLRRLRRLLLLRLLRRRLRRLLRLLRLRLRLRLLRLLRRLLRRRRRRLLRLLLRRRLRRLLRLRRRLLRLRRRLLRRLLRLLRLRLLRRRLRRLRRRRRLLRLLLLRLRLLLLRLRLRLRLLRRRLLLRRRLRRRRRRLRRLRLLLRRRRRRRLRRRRRLRLLLLLLLLRLLRLLLLRRLLLRRLLRRLRLRLRLRRRRRLRLRLRLLRRRLLLLLLRRRRLLLRRLLRLRRRLLLRLLLLRRLLRLRLLRLLLLLLRLRRRRRLRLLLRLLRRLLLRLLLLLRRLLRRLRLRRRRLLRLRLLRLLRRLLLRRLLLLRLRLLLLLRLRLRLLRRLLLRRLRRRLRRLRLRRRLRRLRRLLRLRRLRRRRLRRLLLLLRRRLLRLLLLLLRRRLLRRLRLRLRLLRLRLRLLRLRLLLLLLRLLLRLLLRRRRLRLRLLLRRRLRLRLRRRLRRRLLRLLLRLRRRLLRLLRRLLLRRLRLRLLLLLRRRLLRLLLRRLLRLLRLLLRLLLRLLRLRLLRRRRRRRRLRRRRRLRRRLLRLRLRRLLRLRRRRRLRRRRLLLRRLLRLLRLLLRRLRRLLLRRLLLRLRLLRRRLLRRRLLLLRRLRLRRLRLLRLRLRLRLLLLRRLLLLRLLRLLLLRLRLLLRLRLRRRLLLRLRLRRRRLLLLLLRRLLRLLRLRLRRLRRLLLLLLRRLRRLRRLLRRLRLRLRLRLLLRRLRRRLLRRLLRRRRLLRLLRLLLLLRRLLLRRLLRRLRRRLLLLLRLLRRLRLRRLRRLRLLLRRRLRLLLLRLLLRRLRLLLRRLLRRLLLLLRLRLLRRLLLRLRRLRLRRRRRRLLLLLLLLRLRLLRLLRRRLRLRLLLLRRRLRLLRLRLRRLRLLRRLRRLRRLRLRRRLLRLRLLLLLLLLLRRRRLRRRRRLLRRRRLRRLRRLLLLLRRRRRLRRLLRRRLRLLLRLLRLRLLLRRLRLLRLLRLRRRLLLRLRLLLRLLRLRLLLRRRLLLLRLLRLRRRLLRRRLLLRLRRRRRRLRLLRLLLLLLRLLLLRLRLRRLLRLLRRLLLLRLRLRRRLLRLRLLLLLLRRRRLLLRRRRRLLRRRLLRRLLRLRRLRLLRRLLRRRLRLLLLLRLLLLRRLLRLRLLRRLRLRRLLLRRRRLRLLLLLLLLRRRLRLLLLRLLLRLRLRLLRLRRLLRLRRLLRLRRLRLLRRLRLRLRRLLLRLLRLLLRRRRLLLLLRRLLLLLRLLLRRLLRLRRRLRLLRLLLRRRLRRLLRRRLLRLRRLLRRRRRRLLLLRRLLRRLRRRLRLLLLLLLRLRRLRRRLRLLLLLRRLLLRRLRRRRRRRRLLLLRRLRLRLLRRLLLRLLLRLRLRRRRLRRRRRRLRLRRLLRRLRLRRRRRLLRRLRRLRRLRLLLLLRLRLLLLLRLLRLRLRRLLLRRRRRLLRRLRLRRLLLRRRLRLRRLRLRLLRRRLRRRLLRRRRLLLLRLRRLRLLRRLLLRLRLRRRLRLLLRLRLRLLRLLRRLLRRLLRLRLLLLRRRRLLLLLLLRLRLLLLLRLLRRLRLLRLRRRRLRLRLLLRLLRRLLLLRRRLRRLLLRRLRLRLRLRRRRLLLRLRRLLRLLLRRRRLRLLLLLLRRLLLRLRLRRRLRRRLLLRRLRRRLRRLLRLLRRRRLRLLLRLRRLLLLLLRRRLLRRRRLRRLRRRLRRRLRLLRRRRRLRLLLLRRLRLLRLRLRLRLRRLLLRRRRLLRRRLLLRRLLRLRRLLLLLRRLRRRLRRLLLLRLLLRLLLLRLRRLRLLRLRRLRRLLLLLRLLLRRLLLLLLRLRLRLLLLLRLLLRRLLLRLLLLLRRLLRLLLRLLLRLRRRLLRLLLLLRLLLLRRLLRLRRLLRRRLRLLRLRRRRLLRLLLRRRLRLRRRRRRRLLRLLRRLRLLLRRRLRLRRLLLRLLRLLLLLLRLLLLRRLLRRLLRRLRRRRRRRRLLRLRRRLRRLRRRRRLRRLRLRRRRLLLRLRLRRRRRRLRLRRRRRRLRLLRLLLRLRLLRLLLRRRRLRLRLLLLRLRLRLLLRLLRLLRRLRRLRRLLLRRRRRRLRRRLRLRLLLLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRRRLRLLLLRLRLLRLRRLRRRLRRRLRLLRRRRRLLRLRLLLLRLLLLLLRLLRRLLLLRRLLLRLRRRLRRLLRLLRLRRRLLRRRRLLRRRRLRRLLRRLRLRLRLLLRLLRLRLLRLLRLRLRRLRRRLRLLLRLLLRLLRRLLRRLLRLRLRLLLLLRLLRRLRRRLLLLRRRLRRLRRRLLLRLLLLRRRRLLRRLLLLRLLRRLLLLLLRLRRRLLLLLRRRRRRRLRRRLLLRRLRRLLRRRRRLRRRLRRRLLRLLRRRLLRLRRRLLLRLLLLLRLRLLRLLRRLLLLRRRLRLLLLRRRRLRRLRLRLLRLRLLRLRRLRRLLLRRRRRLRRLRRLLLLRRLLLRLRRLLRRRLLLRLLLRLLRLRRRLLRRRLRRLLRRLRRRLLRRLRLLRLLLRLRRRLRLRRRRLLRLRRRLRLLRRRRRLLRRLLRLRLRLRRLRRLLRRRLRLLRRRRRRLLRLRLRRLLLLLRRRRRLLRRLLRRRRLRLLRRRRLLLLLRLRRRLRRRLRLRRLRRLLLRLLLLRRRLRLRLRRLLLLRRRRLLLRRRLLLLRRLRRLRRLLLRLLRLLRLLRRRRLRRLLRRRLLLRLRRLLLRRRRLRLLRRLRLLRLRLRRLLRRLLRRRRLLRLRRLRLLLRLLLRRLLRRLLRLRLLLRLRLRRLLLLLRRRRRLRRRRRLLLLRLRLLLLLRLLRRRLRLLRRLRRRRLLLLRLRRLRRRLRRRLRRRRRRLRRRLLLRRLRRRRLRRLRLRRRRRRLRLRRLLLLRRRLLRRRRRLRRLRLRLLLLRLLLRLLRRLLRLRLLLLLRRLRRLRLRLLLLLRLRLRLLLRRLRLLRLLLRLRLRRLRLRRLLRRLLLLLLRRLLRLLLRRLRLRLLLRRLRLLLLRLLRLRLLLLRRLLLRRRLRLRRLRLLRRRRLRRLRLRLRLLRRRRRLRLRLLRLRLLRRRLRRRLLLLLLRRRLRRLRLLRLLLRRRLLLRLRLRRRLLLRRRLLLLLRRLLLRRRRRRRLLLLLLRLLLRRRRLLLLLRLLRRRRRRLRLRRLRLLRLRLRLRLLLRRRRLLLRLRRLRRRLLLRLRLRRLLLRLLLRRLRRLLRLLRRLRLLRRRRRLLRLLLRRLLRLRRLLLLLRRRRRRRLLLLRRRLRRLLRLRRRRRLRLLRRLRLLRLLRLRLRRLRRLLRRLRRRRLLLLLRRLRLRRRLLRRRRRRRLLLRRRRRRLRLLLRLRLLRLLLLLRRRLLRLRLLRRRRRLLLLLRLLRLLRLLRLLLRLRLRLLLRLLLLRRRRLLLRRRLRLRRRRRLLLLRRRLRLRLRRLLRRRLRLRLRLLRLRLLRLRLRLRLRRRRLLRRLLLRLLRRLLLRLRRLRRLRLLRLLRRRLRLRRLRLLLRLRRLLRRLRRLRRLRLLRRLLRLRLLRRRLLRRLRRLRLRLLLRLLRLLRRLLRLRLLRLLLLLRLRRRRRRRLRRLLLRRRRRLLLRRLLLLLRRRLLLLLLRLLRRRLLLLRRLLLRRRLRLRLLLRLLRLLLRLLLRLRLRRRLLRRRRLLRRLRRLRLRRRRRLLLLLRLLRRRRRRLLLRLLRLLLRLRLRRLRRLRRLLRLRRLLRLRRRLRLLLLLRRRLRRLRLLLLRLLRRRRLRLRLLLLLRRRRRLRRRLRLRRRRRLLLRRLLLRLLRLLLRLRRLRLRRLRLLLLLLLLRLRLLLRLLRLRRRLRLRRRRLRRRLRLLLRLRRLRLRRRLRLRLLRRLLRRLRLLLLRLLLRRRLRRLLRRLRRRRRRLRRRRLLLLLLLLLLLRRRLLRLLLLRRRLRRRLLRLRLRRRRLLRRLLRRLLLRRRRLRLLLLLLLLLLLRLRLLRRLRRRLRRRRLLLRLLRRLRRLRRLRRLLRRLLRRRLLRLRRRRRLRRRLRRRLLLRLLRLLRRRLRRRRLRRRLRRRRRLRLLRLRLRLRRRRLLRRRLLRLLRLLRRRRLLRRLLRRRRRRRLRLLLRRRLLRLRRLRRRLLRRRRLLRRLLRLRRRLLRLRRRLLLLLLRRLLLRRRRRRRLRLLLLRLRLRLRRRLLRRRLRRLLRRLLRRRRRLRLLRRRLLRLLRRRRLLLLLRRLRRRLLLLLRLLRRRLRLLLLLRRRRRRRRLRRLRRLRRLLLLLLRLRLRRRLLLLRLLRLRRRLRLRRLLRRLRLRLRLRRRLLRLLRLLLRRLRLLLRRRRRRRRRRRRRRLRRRRRLLRLLRRRLRRLRLRRRLLRLLLLRRLRLLLRLRRLLRRRRRRLLRLRLRRLRLRLRRRRLRRRRLLRLRRRLRLRRLRRLLLLLRRLRRLLLLLRRRLLRRLRRLLLLRRRRRLRLRRRLRRRLLRRLRRRLLRLRLRRRRLLLRLLLLRRLLLLRRRLLRLLRRRRLRRLRRLRLRLLLRLLRRLLRLRRRRRRLLLLLLLLRRRLRRLRLLLRLRLRLLRLRRRRLRLRRLRRRLRRRLRRRLRRLLLRLLLLRLLRRRLRRRRRRLLRRRLRLRLLRLRLRRRRRRLRRRLLLRLLLRLLLLRLRRLLRLRLRLLRLLRLLRRLRLLLRLLLLRLLRLRRLLLRRLRLLRRRLRLRRLLRLLRRRLLRLLRRLRRLRRLLRRLLRLRRLRLLRLRRLLLLLRLLRLRRRRLRRLRRLRLLLLRRRLLLLLLLLLLLLRRLLRLLLRLLRLLRLRLRLLRRRLLRRRRLRLRLRRLRLRLLRRRLLLRRRLRRRRRRRRLRLRRLLLRLLRLLRRRLRLLRRRLLRRLRLLRRLRRLLRRLLLLLRRLLLLLRRLLLLLRRRLLRLRLLLLLLRRLRRRLLRLLLLRLLLLLLRRLRLLRRLRLLRRLLRRRLLLLLRLRLRRLRRRLRRLLLLRRRLLRRLLLLLRLLRLRRLRLLLLLLRRLRLRRRLLLLRRRRRLRRLLLLLRLRRRLRLLRRRRRLRLRRRLRLLRRLLLRRRRLRRLRLRRRLLRRLRRRRLRRRLLRLLRRLLRRRLLLRRRRLRLLRRRRRLRRRLLLLRRLLRLLRRLRRRRLLRLLRRLRRLRRRRLRRRLLLLRRRLLRRLRRRLRRRLRRLLRLRLLRRLLLLLLLLRLLRRRLLLRRRLRLLRLLRLRRLRRRLLLLRRLLRRRRLRLLRRLLRRLRLRRLRLRRRLLLLRRLLLLLLRLLLRLRRLRRLRLLLLRLLLLLRRLRRRRLRLLLRLLRLLLLRRRRLLRRRRLRRRRRLLRLRRRLLLRLLRLLRRRLLLRRLLLRRLRLRRLLRLRRLLRLLRRLLLLLLLLLLRRLRRRRRRLRRRLRLLLLLRRLLRLRLRRLRLLRRLRRRRLRRRRLRRRLRRRRLLRRRLLLLLRRLRRRRRLLLRLRLRLRRLLLLRRRRRLLLLRLRRRRLLRRRRLRLLLRLRLRRRLRLLRRLLLLLRLRLLLRLLLRRLLLLLRLLLRLLLRLRLLLRRRRRRRRRLLRLRLLRRLLRRLRRLRRLRRRRLLLLLLLRRLRRRLRRRLRLRRLRLLLLLRRRLLRLLRRRRRRLRRRRLRLRRRRRLRLRRLLRRLLRLRRRLLLLRLRRLRLRLRRRRLLRLRRRLLRRRRLLLRRLLRRLRRLRRRRLLRLRLLRLLLRRLLRLLLLLLLLLRLRRRRRRRLLLLLLRRLRLLLLRLRLRRLRRLLLLLLRLLLRLLRLLRRRLRRRRRRLLRLLRRRRRLRLRLLLRLRLRRLRRLLRLRRLRLLRLLLRLLLLRRLRLRRRRLRLLRRRLLLLLLLLLLLRRLRRRLLLRLLRRLRRLLRRLRLLRLRLLLRRRRRRRLRLRRRLRRRLRLRLLRRRRLLLLLRRLLRLRLLLRLLRRLRLRLRLLRLLRRRLRLRLLRRLRRRLRLRRLLRRRLRRRRRRRRLRRLLRRLLLLLRLRLLRRLLRLRRRLRRRLLLLLRLLRLLRRLLRLLLLLRLRRRLLRRRLLLLRLLRRLRRRRRLLRLLRRLRLRLRLLLRLRRLLRLLLRLLLLRRRLRLRRLRRRRRLLRRRLRLRRRLLLLLRLRRLRLRLRRLRLRLLLLLRLRRRRRRLLLRLLLLLRRRLRLLRLRLLLLRLLRRRRRRRLRRLLLRLRLLLRRLLLLLRRRLRLLRLLRRRLLRLRRLLRLLRLLLLLRLLRRRLLLLLLLLLLLLLLLRLRLRRRLRLLRRRLLRLLRLRRLLRLRRLRLRRLLRRLLRLRLRRRLLRRRRLLLRLRRRRLRRLLLRRRLLLLRRLRRRRLLRRLRLLLRRLLRRRRRRRRLLRRLLLRLRLRLLRLLLLRRLRRRLLRLLLRRRLLRRRLRRLRLLLLLRLRLLLLRLLLRLRRLRRLRRRRLLRLLRLLLRLRRLLLLRLLLRLRRRLLRRLRLRLLRLRLLRRRLLRLRLLLLRRLLRLLRRRLLRRLRLRRRLRRRLLRLLLRLLRRLLLLLLLRLLRRLRLLLRLLRRLLRLRRLLRLLLLRLRRLRLLLLRRRRRLLLLLLRLRLLLRRLRRLRLRRLLLRRRLRLRRRRRRRRLRRRLRRRRRRLRRRLLLLRLLRLLRRRLLRRLLRLLLRRLLLLRRRLRRRRLLRRLRLRLLRRRLLRRRRLLRLLLLRRLLRRRLRRRRLLLRRLLRLLLLRRLRLRRLRRRRRLLLRLLLLRLRLRRRLLRRLRLRLLRRLRLLRLLLLLLRLRRRRLLLLLRRRLRLLLRRRRLRLRRRRRRLRLRRLRLLRLRRLLRRRRLLLLLRLRRLLLRRLLLLRRLRLLRRRLRRLLRLLLLRRLRRLRRRRLRRRLLLRRRRRRLLRRLLRRLRRLRRLRLLLLRLLRRLLLRLRRRRRLLLRLRLLLLRLRLLRRLRLRRRLRLRRLRLLLLLLLRRLLRRLRLRRLLRRLLRLLRLRLRRLLLRLLLLLRLRLRLRRRLRRLLRLLLRLRRRLLLLRLLRLRRRRRLLRLRRLRRLLLLRRRLRRRRRLLRLLLRLLLRRLLLRRRRLRLRRLLRRRRRRRLRLRLRRRRLLRLLLLLRRRLRRRRLRLLLLLRRLLRRLRRRLLLLRLLRLRRLRRRRLRRLLLLLLRRRLRLLLRLRLLLRLLLLLRLLRRRRLLRLRRRLLRLLLRLRRLRLRRRRRRRLLLRRRLRRRLRRLRLLLLRRRLRRRRLLLRLLLLRRLLLLLLLLLRLLRLLRLRLLRRLRLLRLRLRRRRLRLRLRRLRLRRLRLLRLLLLLRLRRRRRLLLRRRRRRRRLRLRRLRRRRLLLLRLRLRLLRRRRRRLRRLLRLLLRRRLLRRRLLRRRRLLRLRRLRRRLRLLLRRRRLLRLRLLRLLRRLLLLRRLRRRLLRRLRLRLRRRRLLLLLRLLLRRRRRRLLLLRLLRRRLRLLRRRLRRRRLRRRRRRRLLLRRLRLRRLRLRLRRLLRLRRLRLRLRLRRLLRRLRRRLRLRLLLLRLLLRRRLLLLRRLRRRRLRRRRRRLRLLRLRLLRRLLRLRRLRLLRLRLLRLLLLRLLRRLLRLLLLLLLLRRLRRLLLLLLLLLLLLRRLLRRRRRRLLRRLRRRRLLRRRLRRLLRRRRRRRRLRLLRLLLLRRLRLRRLLLLRLRLRRRLLRLRRRLRRLLRRLLLLLLLRLLLRRRLLRLLLLLRRRRLRLRRRRLRRRLRRLLLRLLRLRLLRLLRRLRLRRLRRLRLRLLLRLLRRLRLLLRLRRLRRRRLLLRRRLRLLLRLRLLLLLLRLLRRLRLLRRLLLRRRRLLRLRRLRLRRRLLRLRLLRLRRLLLLRLLLLLLRLRLLLRRRLRLRRRLRLRLRLLRRRLLRRLLRRRRRRLLLLRLRLLLLLLRLRLRRLLRLLRLLLLLRLRLLRLLRRLRRRLLLRLLRLLRRRLRRLLLLRLRLRRRRRLRRRLLLLRLLLLLRRRRRLRRRRLRRRRLLLLLRLLLLLLLRLRRRLLLRRRRRRLRLLRRRLRRRLLLRLRLRRRLRLLRLRLLLRLRRLRLLRRRLRLLLLLLRLLRRRLRLLLLLRRLLRRLLRLLRLRRRRLRLRLRLRLRRRLRRLRRRRRRLLLLLRLLLLLLLLRRRLLRLRLLRRLLRLLLLRRLRRLRRRLRRLRRLRRRLLLRLLRRRLRLLLRRRLRLRLLLLLRLRRLRRLRRRLRRRLLLLRRRLLRLRRLLRLLLRLRLLLLLLRRLRLLRRRRLLRRLLRRLRLLRRLLRRRRLRRRLLLRLLRLRRRRLLRLLRLRLRLLLLRLRRRRRRRRLRRLLRLLLRRLLRRLLRRLLLLLRRLRRLLLRRLRLLRRRLLRRRLLLLRLRLRLLRLLLLRLRLRRLRLLLRRRLLLRLRLLRLRLRRRRRRLRRLRLLLLRRRLRRRRRLLRRLLLLLLLLLRLLRRRLLLRLLRRRRLRRLRLLLRLRLRLRLLLRLRLLRRRLLRRLLRRRRRLRRLLLRLRRLLLLRLLLLRLLLRLRLRRLLRLLLRRRRLRRLRRLLRLRRLLLLLLLLRLRRRLLRLRLLRRRLLRLRLLRLLRRLLRRRRRLLRLLRLLLLRLLRRLLRLLLLRLLRRRRRRLRLLRLLLRLRRLLRLRRRRRLLLRRLRLRLRRRLRLLLLRLLLRRLLRLRRLRLRLLRLRRLLRRLLRRLLLRRLRLLLRRRLRRLRLLLLLRRRLRRRLLRRLRRRLLRLLLLLRRRRLRLLLRRRRRRRLRLLLLRLLLRRRRLRRRLRLRLLLLRLRLLLRLRRRRRLRLRRRRRLRLRRRLLRLRRLRRLRLLLLRRRLLLRLLRRRRLLRLLRLLRRLLLRRLLRLLLRRLLLLRRLLRRLLRRRRLLLRRRRLRLRLRLLLRRRRLLLLLRLRLLLLRLRRRRRLRLRLRLRLLLLRRLLLRLLLRRRLLLLLLRRLLRRLLRLRRRRRRRRLLLLLRRRRRLRRLRRRLLLRLLLLLLRRRRRRLLRLRRLRRRRLLRLLRRRLLLLRLLLRRLLLRLRLRRLLRLRLLLRLRLRRRLLLLLLLLLRRRRRLLRLLRRRLRLLLRLRLRRLLLLRRLLLLRRLRRLRRRLRLLLLRLLLLLRLLLRRLRLLRLLLRLLRLLLLLRRRRLLLLRRRLRRLLLLLRRLRLRRLRLLRRLLRLRLLLRRLLLLRRLRLRLRRLLRRRRLLLLLRRLRLRLRRRRLLRRLLRRRLRLLRRRLLRRLLRRLRRLLRLLRLLRRRLLRLRLLLRLRRLRRRLRRRLLRRRLRLLLRLRLRRRLLLRLRRLLRLLRLLRRLRRLRLRLLRRLLLRRLLLLLRRLLRLRLLRRRRLLRLLRLLRLLLLLRRRLLLRRRLRRLRLLRRLLRRRLRRLRRRLRLRLRRLLLRLRLLRLRRLLRLRLRRRLRRRRLRLRRRRLRLLLRLRLRRRRLRLLLLRLLLRRRLRLRRLRRLLRLRRRLRLLRLLLLRLLRLLLRRRLLRLLRLLRRLRRLLLLRRRLLLLRRLLLRRLLRLLLRLRLRRLLLRLLLRRRLLRRRLRLRRLRRRRRRRLLRLRRRLLRLRRRLRLLRRLLLLLRRLLRLLRLRLLRRRLRLRRLRRRLRRLRRLRLRRLRRRRRRLLLLRRRRLLLLRRRRLRLLRRRLRRRLLLRLLLLRRRRRLRRRLRRLLRRRLLLRRLLRLLLLLLLLRLRLRLRRRRRRRRLLRRLLRRRLLRRLRLRLLLLRRRRLLRRLRRRLRRLRRLLLLRRRLLRLLRRRLRRLRLLLRLRLLLLRLLRLLLLLRRLLRRLLLLRLLRLRRRRLLLLLLLRRRRLLLLRLLRRLLLLRLLRRLLRRRLLLRLRRLLLLLRRRLRRLLRRLLRLRLRLRRRRRRLRLRRLRLRRLRLRRLRLLLRLLRRRLLRLRLRRRLRRRLLLRRLRRRLLLRLLRRRLLRLLLLLLLLRLLLLRLRRLLLRRRRRLLLRRRLRRRLRLLLRRRRRRLLRLLRLRRLRLRLRLRLRRLLRLLLLLRLRLLRLRRLLRRLRLLLLLRLLRLRLRLLLLLRLLLRLLRLLLRRLRLLRLRLLRRLLLLRRLLLRLLRLLLLLRRRRLLRLRLLLLLRLLRRLLLLLRRLLRRLLLLRRRLRRRLRRRLLRLRRLLLLRRLLRRRRRRRRLRRLRLRRRLLLRRLLLRRLRRRLRLLRRLLRLRRLRRRLLRRLLRLRLLLLRRLLLLRLLLLLLRLRRLLLLRLLRLRRLRRRRRLLLRLLLLRRLRLRRLLRRLRLRRRRLLLLLLLRRLRRRLRLRRRRLRLRRLRRRRRLRLLRRRLLRRRRRRRLLLRRRRLRLRRRLLRLLLLLLLLRRLRRRRLLRRRLLLRRRRRLRLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRLRLRLLLLLLRLLLLRRLRRLLLRRRRLRLRLRLLLLLRRLLRRLLLLLRRRLLRLRLLLLLLLRRRRRLLLLLRLLRLRRLRLRLRRLRRRRLLRRLLRRLRRRLRLLRRLLRRLLLLLLRRRLRLRRRRRRRLLLRLLRLLRRLRLRRLLLLLRLRLLLRLRLRLLRRRLLLRRRLRLRRRRLLRRLLLLRRLRLLLRLLLLRLRRRLLLLLLRRRRLRRRLLRLRRLLRLLRRRLLRRRRRLLRLRRRLRRRLRRLLLRLLLRRLLRLRLRLLLRRLLLLRLLLRRLLRRRRLLRRRLLLLLLRRRRLRLLRRRRLRRRRRRRLRLRRLLRRRRRRLLRLLRLLLLLRRRLRLRRRLRRRLRLRLRLRLRLRRRRLLLRRLRLLLRRLLLLLLRRLLLLRLLLRLRRLLRRRRLRLLRLLRRLRLLRLRLLLLRRLLRLLLLRRRLRRLLRLRLRLLRRRRLLRRRLRLLRLRLRLRRRRRRLLRLLRRRRRRLLRRRRLLLRLRLRRRRLRLLLLRLLRLLLRLLLRLRRLRRLRLRLLLLLLRRRRLLLRRLRRLRRLRLRRRRLLRLRRRLRLLRRRRLLRLRLRRLLLRLRRLLLRRRLRLLLRLRRRLRLRLRRLLRLLRRRRLLRRRRRRRLLLRRLLRLLLLLLRLRRLLRLLRLRRRRRRLRRRLRRLRRRRLLLLRLRLRLRRRLLRRRRRLLRRLLLRRLLLLLLRRLRRRLLLRRRRRRRRLRLRLLRLRLRLRRLRRLRLLLRRRRLLLLRLRLLRRLLLRLRRLRRRLRLRRLLLRLLLRLLRRLRRLRLLLLLRRRLRLRRRLLLLLLLRLRRRLLLLLRLRRLLRLRRLRLLLRRLLRRLRLRLLRLRRRLLLLRRLLRLLLLRLRLRLLRLLLLRLLLLLRLLLRLRLLLRRLRLRRRRRLRRLLLRLLRLRRRRRRRLRLRRLLRLRRRLLRRLLLLRLRRLRRRLRLLRLLLRLRRLLLRRRRLRLLLRRRLLLLLRRRLLLRRRRLRRRLRLLLLLRRRRLLLLRRRRLRLLRLRLRLRRLRRLRLRLRLLLRLRRRLRLLRLRRRRRRRLLRLRLRRRLLRRRLRRLRRLLRLLRRLRLLLRRRLLLRLLLLRLLRLRRLRLRLRRLLLRRRRLLRRRLRRLLRRRRRRLLRLLRLRLLLLLRLLLLRRLRLLLRRRRRRRLLRLRLRLRRRLRLRLRLLLLLLLLLRRRRLRRLLRRRRLLLLLLLLLRLLLRRRLRRRRLRLRLLLRLLRLLRLRLRLLRLRRRLRLRLLLLRRRRRLLRRLRLLRLRRLLLLRLRLLRLLRRRLLRRRRRLRLRLLRRRLLRLRLRLRLLLLLLLRRLRLRLLRRLLLRLRRLLRLLLRLLRRLRLRLRRRRLLLRLRRLLLLLRRRLLLLLLLRLLLRRRRRRRLLLLLLRLLLLLLLRLLRLRRRRLLRRRLLLLLLLRLRLRLRRRLLRLLLRRRRRLLRRRLLLLLRRRLLRRLLRLLLRRLLLLRLRLLRRLLRRLRLLRLLLLRLLLLLRLRLLLRLLRRRRLLRRLLRLLLLRLLRLLLLLRLLRRLRLLLLLRRLLLRLLLRLRRRRRLRRRRRRRRLRRRRRRRRLRRLLLRLLRLLLLRLLLLRRRRRLLLRLLLLLLLRLLLRRRLLLRRRRRLLLRRLLLLRLRLLRRRRLLRLLLRRRRLLRLRLLLRLLLRRLRLRRRLRLRRLRLLLLLRLLLRLRRLLLRRRLRLRLRLLRLRLLRRLRLRLLLLRRLRLRLLRLRRRRRRLLRRLLRLRLRRLLRRLRRLLRLLLRRLRLRRRRLRLLLLRLRLRRRLLRRLLLRRRRLRLLLLLLLLRLLLRLLRRRLRLRRLRLRLLLRLRLRLRLLRRLLLLLRRLLRRRLRLLRRRLLLLLLLRRRLLLRLLLLLLRLLRRRRLRRLRRRRRRLRLRRRRLLLRRRLRRRLRRLLLRRLLRRRRLRRLRLRRRRRLLLLLLRLLRLLRLRRLLRRLLRRRRLLRRLLRLRLRLRLLRLRLLLLRLRRLLLRRLRLRRLRLRLLRLRLRLLRRLRLRRLRRRLLRLLRRLLRLRLLRRRLLRLLRRLRLLRLLRRLRRLRLLLRLRLRRRLRLLLLRLRRRRLRRLRRLRRRRRLRLLLLRLRLLLRLRRLRLRRLRRRLRLRRLLRRLLLRLRLLLRLRRLLLLLRLRLLLLLRRRLLRRRRRRRLRLRRRRRLLLLLRRLLRRLLLRRRLLRLRLRRRLRRLLRLRLRLRRRRRRLLRRRLRRLRRLLRRRLLRRRRLLRRRLRLRRRRLRRLLLLRRRRRRLLLLLRLRLLRLLLRLRLLLRRLLLRLRRRLLRRRLLLRRRRLLLLRRRRRRLLLRLLLLRLLRRRRLRLLRLLRRRRRRLLRRRRLRLLLRLRRLLLLLRRRRRLLLLLRRLLRRLLRLLRRLLLRRLLRLLLRRRRLLLRRLLLRLRRLLRRRLRRLLLLLRLLRLRRLRLRLLRLRRRRRRLRLLRRLLRLRLRLRRRLLRRRLLLLLLRRLLRLRLLRLLLLRRLLLLRLLRRRRLLLRRRRLRLLRLLRLLRRRLRLRRRRLLLRRLLRLLRRLRLRRLLRLRLLRRRLLRLLRLRRLRRLRLLLLLLLLRLLRLRRLRLRRRRRLRLLLLRLRLRLLLLLRLLRLRRLLRLLLRRRRLLRLRLRRLLLRLRRRRRLRLRLRLRRLRLLRLLRRLRRRLRRLRRRLRLRRLRLRLRRLLLLRRLLRLLRRRRLRLLRRRRRLRLLLRLLLRLRRRLLLLLRLLLLLRRLLRLRLLLRLLRLRLLRRRLLRLLLRRRLLLRLRRLRLLRRLRLRLRRLLLRLLRLRLRRRLRLRRRLRRLLLLRRRRRRRLLLRLRLLRLLRLRLLRLLLLRLRLRRLLRLLRRLRLLRRRLLLLRLLRRRRLLLRRRRRRRLRRLRLLRLRLRLRRRRRRRRLLRRRLRRLRRRRLLRLLRRLRRRRLLRRLLLRRRLLRLLRRLRRLRRRRLLRRLLLRLLRRLRRRRLRRRRRRLRRLRRRRLLRRRLLLRRLLLRRRRRRRLLRLLRLLRLRRLLRLLLLLRRLRLLRRRLLRRRRRRLRRLRRLRLLRRRLLLLRRRLLRLRRRRLLLLRLLLLLRLLRRRRRLLLLRRRLLLLLRLLLRLLRRRRRRLRRLRLLLLLLRLRRRLLRLLLRLLRLLLRLRLRLLRRRRLRRRLLLLRLRRRLRLRLLLLLRLRLLLLRLLRRRLRRLLLLRLRRLLRLLRRLLLRLLRLLLRRLRRRLRRLRRLLLLLLLLRRRLRRRLRRLLLLRLLRRRRLRLRRLLRRLRLRRLLRRRLLLLLRRLLRRRRLLLRRLLLRRLLLLRRRRLRLRLLRLRRLRLLRLRLLRLRLLRRLRRRLLRLLRRLRLLRLRLRLRLLLRRLLRLLRLLRRLLLLLLLRRLRRRRRRRLRLRLRLLRRLLRRLRLLLRRRRRRLRLLRLRRLLRRRRRRRLLLRRLRLLRLLRLRLLRLLLRRRRLRRRRRRLLLLRRRLRLLRLLRRLLRLRRLLLLLRLRRRRLRLRRLRLLRLRLLLLLRLRLLLRRLLRLLRLRRLRRLLRLRLLRLLLRLLLRRLLRRRRLRRLRLRLRRRLRLLLRRLRRLLLLLLLLRLLRLLRLLLLRLLLRLLLRLRRRRRRLRRLLLRLLRRRLRLRLRLLLRLRRLLLLRLLRLRLLRLLRLRRRLLLRRLLRLRLRRLLLRRRRLLLLLLLRLLLRRRLLRLRRLLLLRRRRLRRLLLRRRLRLLLLRRRRRRLRLRRRRRLRRLLRLLRRRRLLLLLRRRLRRRRLLRLLLLRRLLLRRLRLLRRRRRLLLRRRLLLLLRLRRLLRLLLRLRRLRRLLRLRLRRLLRRRRLLLRRRLLLLRLRLRRRLRLLRRRLRLRRLLRRLLLRLLRLRLLLRLRRLLLRLLLRLLRRRLRLRLLRLLLLLLRLRLRRRRLLRLRRRLRLLRRRLRRRRLRRRLRLLRLRRRLLRRLLRLLRLLRLRLRLRRLLLRLLLLLRLRRRRRLRLRLRLLLLRRLRRLLRLRLRLLRLLRLLRRLRLRLLRLRLRLRLRRLLLRLRRLLRLLRLLRLRLRLLRRLLRLLRLLLLLRLLLLRLLRLLLLLLLLLLLLLLRLRRRLRLLRRLLLRLLLLRRRRRRRRLRLRRLLRRLLLLRLLRLLRLRRLLRLLRRRLRLRRLRLRRRLRRLRRRRRRLLLLRLRRLLRRLLRRRLRRRRRLRRLLRRLRLRLLRLRLLLLLRLRLLRLLLRRRLLLLRRRLLRLRRLLLLRLLLLLRLRRRRRLRRLRRRRRLRRLLRLLLLRRLLLLRLLLLLRRRRLRRLRLLLLRRRRRLRRLLLRRRLRLRRLRRLLRLRLLRRRLLRRRLLRRLLRLLLRLLRRLLLRLLLRRLRRRLLLLRRLRRLLLLRRLLRLLRLRRRLLRLLLLRRLRLLRRLRLRLLLLLRRLLRLRLRLLLLRRLLRLRRLRRLRRLRRRLRRRRLRRRRRRRRLRLLRLLRRRRRRRLLRLRLRRLLRLRRRLRRLRLLRLLRLLLLRRRLLRRRRLLLLLRLRRLLRRRLRLLLLLLLLLLLLLLLRLLRLLRRLRRRRLLLLLLLLLLRLRRLLLLLLRLRLLRLLRLLRRLRLLLRLRRRRLRLRLRRRRRRRLLRRRLLLLRRRRRLRLRLLRLRRLRRLLLRRRLLRLLRRRRLRLLRLLLLRRLLLLRRRRRRLLRLLRLRLLRLLLRRRLLRRRRRRRRLRRLLRRRLLRLLRLLRLRLRLRRLRRRLLLRLRLLRRRLLLRRLLLLRLRLRLRRLRRLLLRLRRRRLLLLRLLLRLLRRLRLRRLRRRLRLLLRLRLRRLLLRLLRLLRLRRRLLRRRRLRLLLLLLLRLRRLLLRLLRLLLLRLLLLLRRLLRLLLLRRRLRRRRRLLLRRRRLLLRRLLLRRRRRRLLRLRRRLLLRRRRLRLRRLLLRRLRLRRRRLLLRRRLLLRRRLRRLLRRRRRRLLLLRLLRRRRLLRRRLLLLRLLLLRRLLRLLLRLRLLRLLLLLLRLRRRRLRLRLRRRLLRLLLRRRRLRLLLRRRRRLLRRRRLRRLRRRLRLLLRLRRLLRRLLLLRLLLRRRLRRLRRLLLLLLRRRRRRLLLLLRLLRRLRRLRRRLLRRRRLRLLRLRRLRLLLLRRRRRRRRLLLRRRRLRLRLRRRRLRRRLLRLLRLRLLLLRLRRRRLRRRRRLLLRRLLLRRRLLRRRRLRRLRRLRRRLRLLLRLRRLLLLLLRRRLRLLRLLRRRRRRLLRRLLLRLLLRRLLLLLRLRLLLRLRRLLLLLLLRLRLRLLRRLRRRRRLRRRRRRRRLRLRRRLRRLRLLLRRLLRLRRLRRRLRLRRRRRRLLRRLRLLLLLLRLLLRRRLLLLLLLRRRRLRRRRLRLRLLRLRLLRRLLLLLLRRLLRLLRRLRLLRRRLRRLRRLRLRLLLLRRLRRLLRLLLLRLRLRLRLLRRRRRLLLRRLRLRRLLRLRLRRRLLRRRRRRRLRRLRLLLLRRLRLRRLRRLRLRLRRRRRRLRLRLRRLRLLLLRRLRLRLLLRRLRLRLLRRLRRLLLRLRRRRRLRRLRRLLLRLLRLRRLRRLRRRRLRRLRRLLRRRLRRLLRLLRLLLLRRRLLRLLLLLLRRLRLLLRLRLLLLLRLLRRRLRLLRRLLRRRLRLLLRLRLLLRRRLLRRLRLRLRLLLRLLLRLLLLLLLLLLRLRLRLRRRRRLRLRRLLRRLRRRLLLRLRRRLRLLLLRLLRLLRRLLLRLRLRLLRLLRLLRLRLLRRRRLLRLLLRLRRLRLLRLRLRRRRLLLRLRRLRLRLLRLLLLLRLLLLLRRRRLRLLLRLRRLRLLRLLRLLLRLLLLRRRRRLLRRRLRRLRLLRRRRRLLLLLRLRLRRLLRRLLLLLLRRLLRRRLRRLRLRRRLLLLLLRLLRLRLRLLRLRLLLRLLRRLRLLRRRLRLRLRLLLRLLLRRLLRRRLLLLLLLRRLLLLLLLLRRRLRLRLLRRRLRLLLLRRLRRLRLRLRRLLRLLRRLRLRLLLRRLRLLLRRRRRRLLLRLLLLRRLLRRRRRLRRRLRRLLRRRRRLLLRLLLLRRRRLLRLRLRRRLLLRRRRLRRRLLRLLRLRRRLLRRRRRRRRRLLLRLRLRRRRLLRRLRRRRRLLRLLLRRLRRRRLLRLRRRLLRRLLRRLLLRRLLLRLRRLRLRLLRRLLLLRRRLLRRLRLLLRLLLLLLRRLLLRLRRRRLRLLLLRRLLLRLRLLLLRLRLRRRLRRRRLLLLLRRRLRRRRRLLRRLLRRLLRLRLLLLRRLRLLRRRRLRLRRLRRLLRLRLRLLLLLRLRLLRLLLLRRLRRRLRRLRRLRLLLLRLLLRRLLLLLLLLRRRLRLLLRLLLRRRLLLRLRRLLRLRRLLRLLRLRRLRRRLLRLLRLRLRLLLLRLLLRLRRRRRRRRRLRRLLRLLLLRLLRRLRRLRRLRLLRLRRLRLLLLRLRLLLRLRRLRLRRLRLLLRRLRLRRLRRLRLLRLRLLLLLRLRLRLLRLLRLRRRRLRRRRLRRRRRRLRRRLLRRRLLRLRLLRLLRRLRRRRLLRRLLRLLLLRRLLLRRRRLLLLLLRRRRLRLRLLRLRRLLRRRRRRRRLRRLLRLRRRRLRRLLRRRLRLLLRLRRLLRLRRRLLRLLRLLRLRLLLRLRRLLLLRLRRRRRLLLRRLLRRLLLRRLLLLLRLLLLLLRRRRRLLLRRRRRLLRRRRLRLRLLRLLRRRRLLLLLRLRLLLLRLRRRRRRLLRLRRRLLLLRLRLLRLLRLLRLLLLLLRRLRRLRRRRRRRRRRLRRLLLLRRRLLRLRLRLRLLLRLLLLLRRRRRRRLLRLRRLLRRRRLRLRLRRLRRLRLLRLRLLLRLLLLRLLRLRLRLRRRLLRRLLRLLRLLLRRRRRLLRLRRRRLRRLRLLRRRRLLLRRRLLRLLLLRRLRRRLLLLLLRLLLLLRRLLRRLRLLLLRLLLRRLLLLLRRLLLLLLRRRLRLLLRRLRRLLRRLLLRLRRLRRRRLLLRRLRLRRLLRLRLRLLRRRRLLLLLRLLLRLRLRLRRLRLLLLLRRLRLLRRRLLRLRLRLLRRLLRLRRLLLLRLLRRRLLRRLRLLLRRRRRLLLRRRLRLLLRLRLRLRRLLRLLRLLLLLRLRRRLRRLRLRLRRLLLRRRRRLLRLLRLRRRLLRRRRRLRLLRRLRLRLLLRRRLLLLRLLRLLRLLRLRRRRRLRLLRLLRRLLLRLRLLRLLLLRLRRLRRLLRRRLLLRRLLRLRLRLRLLLLRLRRRRRRLRRLLLLLLLLRLLLRRRRRRLLLLRRRLLRLRLLLLRLLLLLLRLRLLLLRRLRRRLLLLLLRRLRLLLRRRLRLRRRRLLLLRRRLRRLLLRLLLRRRLLRLRLRLLRLRRRLRRRLLRLRLRLLRLRRLRRLRRRLLLLRRRLLRLLLLRLRRRLLRLLLRRRLLRLLRRLRLLRLRRRRRRLLRLRRRRLLLLLRRLRRLLRLRLRRLLRRRLLLRRRLRLRRRRLRRLLRRRLLLRRLLRLRLRLLRRRRRLLLRRRRRRRRLRRLLLRRRRLRRLRLRLLLLLRRRRLLRLRLLLRRLRRLLLLRRRLLLLRRRRLRRLRLLLRLRLRRLRLLLRRLLRRRRLRRLRLRLRRRRLRRRLRRLRRLRRRRLRLLLRRRLRLRLRLLLLLLLRRRRRLLRRLLLRLRRRLRRRLRRLLRRLRLLLLRLRRRRLRLRRLRRLLLRRLRLRLRLLLRRRLLRRRRRRLRRLLRRRLRRLRLLLRRLRRRLLRRLLLLLRLRLLLRRRLLLRLRLRLRLLLRRRRLRRLRRLLRRRRRRLLRRLRRRRRRLRLLRRLRRLRRLLLLRRLRLLRLRRRLLRLLRRLLLRLRRLRLRLLRLLRLRLLLRRLLLRRLRLLRLRLRLLLLRLRRLLLRLRRLLRLLRLRLLLRLRLLRLLRRRRLRLLLLRRLLLRRLLLRRLLLRRRRRRLLRRLRLRRLLRLLRLRRRRRRLRRRRLLLLLRLLRRLLRRLRRRLLLLLLLLLLRLLRRRRRRRLRLLLLLLLRRRLRLRRRLLLLRRRRLLLLRLLLLLLLRRRLRLLLRLLLLRRRRLRRLLRRRLLRRRLLRLLLLLRRLRRRLRRRLRRLLLRRRRRRRRLRLLRRRLLRRRRRRLLLLRRRLLRRRRLRLLRLLLLLLRRRLRRRRLLRRRLLLRLRRRRRLLRRLLLRRRRRLRRLLRLLRRRRLLLRLRLRLRRRLLLRRLLLLRRLLLLLLLLRRRRLRLLLRLLLRRLLRRLRLLLRRRLLLLRRLLLRRRRRRRRLLLLLRRLLRRRLRLRLLRLRRRRLLLRLLRRRRRRLRLRRRLLRRLLLLLLRRRRRLRLRRRRRLLLRLLRRLLLRRLRRLLLLRRLRLLLRLRLLLLRLRLLLRRRRRLRLRLLRRRRRLLRRLRLRLLLRLRRLRRRRLLRRLLRLRLRRRLLRLLRLLLLLLRRRLRLRRRLLRLLRLRRRLLRLLRLRLLLRRLLRLLLRLLRLRLRRLLLLRRRLLLLRRRLRRRLLRLRLLRRRRRLRRRRRLLRRRRRRLRLRRRRRRRLRRRLRRLRRRLLLLRRLLLRRRRRRLLRLLLRRRLRLRRRRLLLRRLRLRLRLLLLLLLLLRLLLLLLLRRRLLLLRRLLRLLLLLRRRRLLRLRLLLLLRLLRLLLLRLRRRLRLRLRLRLLLRRRLLRRRLRLLLLRLRLRLLRRRLLRLRLRRLRRLLLLRLLRRRRLRRRLRLLLLLLLLLRLRLRLLRRLRRLRLRRRRLLLRRLRRLRLLLRRRRRRRLLLLRRLRLLLLRRRLLLLRRLRLLRLRLRRLRLRRRRRLLLRLLRLLRRLRLRLRLLLRRLRRLLRLRLLLRRRRRRRRLLLRLLLLRLLLRRLRRLRRLLRLRRRRRRRRLLLRRLRRRRLRLLLLRRRLRRRLLRRRRRRLLRLLLLRLLLLLLLLLRRRLLLRRRRLRRLRRLRRRRLRLLLRRRRLRLLLLRRRLRLLLRLRRLRRLLLRLRRLRRRLRLLRLRRLRLRRRLRRLRRLRLRLLRRRRLRRLRRLRRLLLLLRLRRLLLLLRLLRLRRLRRLLRLRLRRLRRLRLRLLRLRRRRLRLRRLLRLLRLRRRLRRRRRLLLRLLLLLRRRLRLRLLLLRLRRRRLLRLRRLLLRLLRLRRRRLRRLRLRRRLRLRRRLLLRLLLLRLLLLRLLLLRLRRLLRLLRRLLRRRLLRLRRRRLRLRLLLLRLLLRLLLLRRRLRRLLRRRRRRLLLRRRLRLRLLLLRLLLLRLRRLLLLLLLLLRRLRRLRRRLLLRRRRLRLLLRRLRRRLRLRRLRRLLRRRRRLLLLRLLLRRRLLLRLLLLRLLLLRRRRLRRLRLLLLRRRLLRLRRRRLLLRLLLLLRLRLRLRLLRLLRLLLLLLLRLRLRRRLRLRLLRRRLLRRRLLRRRLRLLLLLRLLLRRLRLRRLRRRRRLLLRLLRLLRLRLLRLLRRLLLRLRLLLLLLLLLRLRLRLLLLLRLLRRLLLLLLRRLRLLRLLRLRLLRRLLLRRLLLLRRLRRRLLLRLRRRRLRLLLRRLLRRRLRLLLLLLLRLRLRRLRRLRRLLLLLLRRLLRLLRLLRRLRLRLRLRLLLLRLRRRLLLLRRRLLLLLLLRLRLRLRRRRRLLLLRLRRLRLLRLRLLRRRRRRLLRRRLLRRLRRRLRLLLLLRLLRRLRRLRRLLLRRRLRRLLRRRLLRRLRLRLLRRRLRRRLRRRRRLLLRLRLRRLLLLRLLLLLRLRLLLRRLRRLLRLRRLLRLLRLRLLLLLRRLRLLRRLLLLLLLLRRLLRLLLRLRLRLRRRRRRRRRRLRLRLRRRLLRRLLLRLLRLLLLRLLLRRLRRRLLLRRLLRLLLLLLLRRRLLLRLRRRRRRLRRLLLRLLLLRRRRLLLLLLRLRRRRRRRLLLLLLRLRLRLLRRLLLRRLRRLLLRLLLLRRRRLLLLLRLRRRLRLLRLRLLLRLRRRLLLLRRLRLRRLRLRRRRRLLLRRLLRLRLRRLRRRLRRRLLLLLRLLLRLLRRRLLLLLLLRRRRRLRRRLLRLRRLLRLLLLLLLLRLLLRLLRRLLLLLRLRLRLLRRLRLRRLLLRLLLLLLRRLRRRRLRLLRLRLLLLLLLRRLRLRRLLLLLLLLLRRRRLRRLRLLLLRLLRRLRLLLRRLRLRRRLRRRLRRRRRLRRLRRRLRLLRLRRLLLLLRRLLRLRRRLRRLRRLLLRRRRRRRLLRLRLLLRLRLLLLLLLRLLRRRRRRLLLRLLLLRRLRRRLLLLRLRRLRRLLRRLLRRRRLLLRLLLRRRLRRRLRRRLRLLRLLRLRLLLRLLLRLRLRRLLRLLLLRLRRRRLRLLRRLRLRRRLRLLLLLRRLLLRLRRRRRRRLRRRRRRRRLLRRRLRLLLLLLRLRRLLLLRRLRLLLLLRLRLLLRLRRRRLRLRRRRLLLLRRRRLLLRLLLRRRLLLLRLRRRLLRLLRRRLRRRRLRLRRLRRRLRRLRRLRRRRLRRRRRLLRRRLLLLRRRLRRLLRRRRLRLRLRRRLRLLRLRLRLLLRLLLRLLLLLLLRRLLRLRLLLRRRRLLLRRRRRLLLLLLLRLLLLRRRRRLLRLRLLRRRRRLLLRRRRLLLLRRLRLLRLLLLLLRLLLLRLRRRLRLLLRLRLRRRLRRLLRLLRRLRLLLLLRLLLRLRRLLRLLLLRLRRLLRLLRLRLLRLRLLRLLRRRRRLLRLRRLLRLLLRLLRRLLRRRRLRLLLRRLLRLLLLRLLLLRRLLLLRLLLRRLLRRRRRRLRRRRLLRLRRRRLRLRRLRRLLRRLRLLLRRLRLLRRLRRRLLLLRRLRRLRRRLRRRRRLLLLLLRRRLLRLRRLLRRRRLRLRLLLLLLRLRRLLLLRLLRLRRRRLRLRRRRLRLLLRLRRLLLRRRLRLRLRLRLLLRRLRLRRLLRRRRRRRRRLRRLLRLLRLRLRLRRLLLRRLLLRLRRRRRRRLLLRRRRRLLLLRLRRRLRRRLLLLLLLLRRLRRLLRRRLLLRLLRRRLLRRLRLRLLLRLRRLLRRRRLRRLRLLLLRLRRLLLLLRRLRLRRRLLLRRLLLRRRLLRLRRRLRRRRRLRRLRRLLLRLRRRLLLRLLRRRLLRRLLRLLLLRRRRRLLRRLRLRRRLLRRRRRLRLLRRRRLLLRRRLRRLRLRRLLLLLRLRLLRRRRRLRLLRRRRRRRLLLRLLLLRRLRLLLLRLRRLLRLRRLRRLRLRRLLRLLRRRLRRRRRLRRLLLLRLRLRLRRLRLLLLLRRRRRRRLLRLLRLRLLRRRLLRLRLLRRRLLRRRRLLRRRRRRLRRLRLLRLLLLRRLLRRRRRLLLRRRRRLLRRLLRLLLLLRRRLRLLRRRLRLLRRLLRLRRRLRRLRRRRRRRRRLRLRLRRRRRLLLLRLLRRRRLRRLLLLLLRLRRLRLLLLRLRLRRRRRLRRLLLRRLRRLRLRRLRLRLRRLLRRRLLRLLLLLLLRRLRLLRRRLRLRLRRLLLLRRLLLLRLLRLLRLRRLRRRLLRRLLLRRRRLLLLLRLRLRRLLRLLRRRLRRLLLRRLRRLLRRLLRLLLRRLLLLRLRRLRLRLLRRRLLRLLRLRLLRRRRLRRRRRRLLRRLLRLRRLRRRRRLRRLLRRLLRLLLRLRRLLLLLLRRRLLLLLLRRLRLRLLRLLLRLRRLRLLLLRRRRRLRLRRLRLLRRLRRLRRLLLRLLLLLRLLLLRRLRLLLRLRRLRRRRRRLLLLRLLRRLLRLRRLLLLLLLLRLRRLLRLRLLLRRRLRLLLRRLLRLLLLLLLLRLRLRLLRLRLLRRRLRLLLRRLLLRLLLRRLLRRRRLRLLLLRLRRRRRLLLRRLRRLRRRLRLLRLLRLLRRLRLRLRLRRLLRLLLLRRRLRRLLLRLLRRLLRLRLLLLLRRLRLLRLLLLLLLLLRRLRRRRLLRRRRLRRRRLRRLLRRRLLLRLLLLRRLLLRLRLLRLRRLLLLRRRLLRRLLLRRLLRRLLLRRRLRRLLLLRRRRLRRLRRLLRLLRRLRRLLLRLLRRRRLRRLLLRRLLLRRRRRRRRRRRLLLRRLRLLLLRLRRLLLLLRRLRRLLLLRRLRLRRRLRRRRRLLRRRLLLLRLRLRLRLRLLRLRLLLRRLLRRLLRRLLRLRLRRRLRRRLLRLRLRLLLLRLRLRRRRLLLLLRLLRRRRLLLLLLRRRLRLRLRRLRRRRRRRRLRLRRLRRRLLRLLRRLLLLLLRLLRLRRRLLRRLLRLLLRRLRRLRLRLRRLLLRRLRRLLRLRLRRLRLLLLLLRLRLLLLRRRLRRRLLRLRLRLLRLLRLLRLLLLLLRLLRLLLRLLRLRRLLRRRLLLRLRLRRLLLLLLLLRLRRLLRRLRLRLRLRLRLRLLRLRRRRLRRRLLRLLRRLLLLRLLRLRRLRRLLRLLRLRLRRLRLRRRRLLRRLRRRRRRLLRLLLRRLRLRLLRLRLRLLRRLRRLLRRLRLLLLRLRLLLLRRLLLRRLLLRRLLRLLRRRLRRLRRLRLLRLLRLLRLRRRRRLRLLLLLRRRRRRLRLRLLRRLLLLLLRRLLLRRRLRLLLRLLRRRRRRLRRLLLRRRLRLRLLRLRLLLRLRRLRLLLLRLLLLRLLLLLRLLRRRLRRLRLRRRRRRLLRLRRLRRLRLLRLLLRLLRRRRRLLRRRLLLRLRLLRRLRLRLLRRLRLRLRLLLLLLRRRLLRRRRLLRRLLRLRLRLLRRRLRRLLRRRRLRLLRLLRRRRRRRRLRLRLRLRRRLRLRLRRLRRLRLLLRLRLRLRLRRLRRRLLRLRLLLLLRLLLRLLLLRLLLLLLLRRLLLLRLLRRLRRRRLRLLLLLLLRLLRLLRLLLLRRRRLRLRRRLLRLRRRLRRRRLRLRLRLRRRRRRRRLRLLLLLLLLLRRLRRLLLLRRRLRRLRLRLRRLRLLLRRRRRRLLLLRRRRRLLRRRLRRLRLLLLRLLLRLLLLRRRRLRRRRRRRRLRRLLLRRLLLLLRLLRLRLRLRRLRRRLRLLLRLLRRRRLLRRLLLRRLRLRLRRLRRLLLRLRRRLLRRLRLLLRLRRRLRLRLLRRRLRLLRRRLLLLRRLLLLRLLRRRRRLLLRRRLRLLLLRLLRLRRRRLRLLRLLLLLLRRLRRRRLLLRLLLRRLRRRRLLLLRRRRRRRRLLLLLLRRRRLLRLRRRLLLRRRLRLLRLLLLRRLRLRRRLLRLLLRLLRRRRRLLLLLRRRRRLLLLRLRRRRRLLRLRRLLLRLRLRLRLRRRRLLLLLLRLLLLRRRLRLRRLRLLRRRRLLRLLLRRRRLRRLLRRRRRRRRRLRLRRLRLRLRLLRRLRRRLRLLRLRLLRLRRLLRRRRRLLRLRLRRRRRRRRLLLRLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRRRLRLLLLRRLLLRLLLRRLLLRRRLRRLRLLRLLLLRLLLRRLRRRRRLLLLRLLRLLLRRLRRRLRRLRRLRRRRRLLLRLRLLRLLLRRRRLRLLRLLLRRRLLLLLLLLRLRLLLLRLLLLRRRLLLRLRLRLLLLLLRLLLLLLLRLRRLLRLLRRLRRLRLRLRRLRRRLLLLLRRRLLLLLRRRRRLLRLRRRLLLLRLLRLLRLLLLRLRLLLLLLLLLRLRLLLRRLLLLRLRRLLLRRRRLLLLLRLLLLLLRRLRRLRRRLRRLRRRRRRLRRLLLLRRLLRRLLLRLRLRLLLLLLRLRLLLRRRRLRLLRRLLLLRRLLLRRRLRRRRRLRLRRLRLLRLRRLRRLRLRLRRRRRRRRLRLRRLRLLLLRRRRLLLLLRRLRRRLRRRLRRLLRRRLLRRRLRLRRRLLRRRRLLLRRRRLRRRLLLRRRRRLRRRRRRLLRLLLRLLLRLRLLRLLLLLLLRLRLLLRRRLRLLLRLLRRRLLRRLRLLRRRLLLRLRLLLLRRLRRRRRLRLRRRLLRRRLRRRLLLLLLLRLRLRRRLRLRRRRLLRRRLRRLRRRRLLRLRRRLRRLLLRRRRLLRRRLRRLRLRLLRRLRLRLLRLRLRRRLLRLLLRLRRLRRLLLRLRRRRLRLRLRLLRLRLLLLLLLRRLLRLLRRRLLRLLLLRLRLRLRRRRLLLLRLLLLRRRRRRRRRRLRRRLLLRRLRRLLRLLRLRLLLLLRRLLLLLLRLRLRRRRRRLRLRRRLRRRLLRLLRLRLRLRRLRLLLRLLLRRRLLRRRLRLRLLLLLRLLLRRRLRLRLLLLLRLLRLLLLLRRLRRRRRLRLLRLRLRLRLLRLRLRLRLRLRLLLLLLRRLRRLLRLLRLLLLLRRRRLRLLLRRLLLLRLLRRRRRLRRLLRRRLRLRRRLLLRLLLLRRRRRLRLRLLRRLLLLRLLRRRRLLLLLLLRLRRRLRRRRLLRRRRLRLLLLRLLLRLRRRRLRRRLRRLRRRLRRLRLLLLRRLLLRRLLRRLRLLRLLLRLLRLLLRLLLRLLRLRRLRLLLLRLLLLLLLLLLRRLRLRRLRRRLRRLLLRLRLLLLRLRLLRLRLLRLLRRLRLRRRLRLRLLLRLLLLLRLRRRRLRLRLRLLRRLRLLRRRLLRLLLRLRLRRRRLRLLLLRLLLRLRLLRRRRLRLLLRRLRRLRLLRLLLRRRRLLRLLLRLLRRRRLRLRLRLRRLLLLLLRRRLRLRRLRRRLRLRRLRLRLLLRLRLLLLRLLRLRRLRRRLRRRLRRRLRLRLRLRRRLLLRRRRRLRRLLLLLLLRLRLLRLRLRLLRRLRRLRLRRLLLLRRRLRLRRLLRRRLRRLRRLLLLRRRLRLRLLLRRLRRRLRRRRLRRRRRRLRRRLRRRRLLRRRRLRRRRRLRRRRRLRRRLRLLLLRRLLRRRRRRLRRLLRRRLLRLRLLRRRRLLLRRLRRRLLRRLLRLRRRRLRRLRRRRLRLLLLLLRLLRLRRRLRRLLRRLRLRLLLRLRRLLLLRLRRRRRRLLRRLLRLRRLLRLLLLRRLLRRLLRLRRLLLRRLLRRRLRLLRLRLLLLRRLRRRLLLRRLRLLLRRRLRRLRRRRLRLRRRLRLLLRLRRRRRLRLLLLRRLLRRRLRRLRRRRRRRLRRLRRRLRLLRRLLRLLLRLRLLLLRLLLRRRRRRLRLLRLLRRLRLRRLRRRLRRLRRLRLRRLLLLLLRLLLRRLRLRLRLRRLRLLRLLRLRRRLLLRLRRLLRRRRRLLRRRRLLRRLRLLLRRLRLRLLLLRRLRLLRLLLLLRLLRRRRRLRRLRLLLLLRLLLRLRLLRRRRLLRLLLLRLRRLRLRRLLRLLRRLRLRLLRLRLRLRLRRRRRLRLLLLLLLLLLRRLLLLRLLRLLRRRRRLLLRLRLLRRLRRLLRRRRRLLRLRLRLLRLRLRRRRLLLLRLRRRRRLRRRRLRLRRRLRLRRRRLLRLRLRLRLLLRRLRLLLLLLLLRRRRLRLRRLRLRLRRLLLRLRRRLLRLLRRRRRLLRLLRRRRRLRRLRRRLLLRRRRLLLLLRRLLLRRRLRRLRRLRLRRLLRRLLLRLRLRRLLLLRRLRRRLLLRRLLLLRLLLRRRLLLRLRLRRRRRRRLRLRRRRLLLRRLRLLLRRLRLRRRLLRRRRLRLLRLLLRLRLLLRLLRRLLLRRRRRLLLLRRLRRLLRLRRRRLRLLLRRLRLLRRLRRRRRRRLLRLLRLLLLRRLLLLRRLRLLLLRRRRLLRRLLRLLLRLRRRRRRLLRLLLLLLLLRRLRRLLRRRLLRLLLLRLLRRRRLLLRLRLRRLLLRRLRRRLLLRLLLLRLLLRLRLRRLLRRLLLLRLLLRLRRRLLRRLLLRRLRRRRLRRLRRRRLRRLRLRLLRRRRRRLLLRLLLLRRRRLRLLRLRRLLLLRRRRLLLRRLLRRRLRRRLRLLRRLRLLRLRRLRRRRLLLRRLRRRLRLLLRRLRRRRRRLRRRLRLRRRRLLRLRRRLRRLRRRRLRRLLRRRLRLRLRLLLLLRLRRRRRLLRLLLRRLLRLLLLRLRRLLLRLRLLLLRLRRRRLRLRRLRRLLLLRRLRRRRLLLRRRRLRLRLLLRLLLLRRLLRLLRLLLRRLRRRLLLRLLRLLRLRLRRRRRLLLRLLLLLRLLRRRLRLLRRLRLLLLLRRRRLRRLLRLRRRLRLLRRLRRRRRLLLLRRLLLLRRLRRLLRLLRRLLRRLRLLLRRLRRRRRLRRLLRRRLLRLRLRRRRLLRLLLRRRRLLLRRLRRLLRRLRLRLRLRLRLRRLLRRRRLRLRLRRLRRLRRLLLRRLRLLLRRRRLRRRLRLRRLLRLLRLLRRRRRRRRRRLLLLLRLLRRLLRRLLRLLLLLLLRRLRRLLRRRRRLLLRLLLLLLRLRRLRLRRRLLRRRRLRRRLLRRLLRLLLRRRLLLRLRLLLLLLRRLRLLLLRRLLRLLLRRRLLLLRLLLRLRLRRLLRLLLRRRRRRRLLRLLRRRLLRRRRRRLLLRRLRLRLRRRLRRLRLLLRLLRRRRRRLLLLRLRLLLRLRLRRRLRLRLLLRLRRLLRRLRRLRRRRLRLLRRRLLRRRRRRLRRLLLLLLLLLLLLLLRRRRLLLLLRLLRRRLRRRLRLLLRRRRLLRRRLLLRRRLRRLLRLLRRRRLLRRRLRLRLLLRRLLRLLLLLLRLRRRRRLLRRLLRRRLLLLRLRRRRRLRLLRRLRRLLRLLLRLLLRRLLRRLLLRRRRLRRRRRLLLLRLRLLRLRLRLLRLRLRRRLRRRLRRLRRRLLRRLRLRRRLRLRRRLLRLRLRRRLLRLLRLLLLLLRRRRLLRRRRLLLLRLRLLLRLLLRRLRLLLRLRRRLLLRLRLRRRRRLLLRRRRLLLRRRLRRRRLRRRLLRRLRRLRLRRRLLRRRRRRLLRRRRRRRRLRLRLLRLLRRRRLLRRRLRRRRRRLLLRLLRRRLRRLRRRRLLLLLLRLRRRLRLLLLLLLRLLLLRLRLRRLLLLRLLLLLRLLLLRRRLRLLLLLLRLRLRLRLRLRLLRLLRLRLLRLLRLLRLLLRRLRRRLLLRLRRLLLLRRRLLLRLRRLRLLLLLRLRRRRRLRLRLRLLLLLLLLLLLRLRLRRRRLRLRLRLRLLLLRRLRLLRRLLRRRRRRRLRLLRLLRRRLRRLRRLRRRLLRRLLRRLLLLRLRRRLRRRLRLLRLRRLLRLRLRLLLRRLRLLLRLLLLLRRRRLRRRLRLRLLLLRRLLRRLRLLRRLLLLLRRRRRRLLLLLRLRRLRLRRLLRRRRRRRRRRRRRRRRLLLLLLLRRRRRLRLLRRLLLLLRRLLLLRLRRLRRRRLRLLLRLRLLRLRLLRRRLRLRLLRRRLRLLRLLLRLLRRRLRLLRLRRLRRRLRLLLLRLRRLRLLRLRRLLRLRRLRRRRLLLRLRRLLLLLRLLRRRLRRRLLRLRLLRRLLRRLRLRRLRRLRLRLRRLLLLRRLRRRRRRRRRRLRLLRRRLRRRLLLLRLLLLLLRRRLLRLRLLLRRLLRLLRRLLRRLLLRLRLRRLLRRLLLLLLRRRLLLRLLRLRRRRRLLLLRRLLRLRLLRRRRRRLRLRLRLLRLRLRLLLLRRRRRRLLRRRLRLLLLRRRLRLRLLLLRRLLLLLLRRLRLLLRLLRRLRRLRRRLLLLRRRLRLLLRLLLRRLRLRRLLLLLRRRLRRLLRLLLLRRLLLLRLRLLRLLLRLLRRRRRLRLLLLLRRRRLLRRLLLRLRLLLLLRLRRLLRLLRLRRLRLLLLRRLRLRLRLRLRRRRRRLLRRRLLRRRLLLLLLLRRRLLRLRLRRRRRLRLRRLRRRRRLLLRLLRLRRRLLLRRRLRRLLLLRLRLRLRLLLLLRLRRRLRLRRLRRLRRRLLLRLRLLLLLRLRRLLLRRRLRLRLRLRLRLRRRLLRLRLLLRRLRRLLLLLLLRLRLRRRLRRRLLRRLRLRRLLRLRRLLRLLRLLLRLRLLLLLRLRRLLLRRRRLLLLLRLRRRLRLRRLRLLLLLRLRRLRLLRRLLLRRRLRRRLRRRRLRRLRRLRRLLLLLLLLRRLRLLRLLRLRRRLRRLRRLLLRRRRRLRLLRLRRRRRLRRRRRLLLRLRLRLLLLLRLLRLLLLLRLLLRLRLLLRRRRLLRLLRLLLLLRRRRLLRRLLLLLLRRLLRRLRRRLRRLRLRLRRLRRRLRLRRRLRLLRRLRRRLLLRLRRLLLLRLLLRRLLRLRLRRRRRRRLLLLLRRRLLLLLLLLRRRRLRRLLLRLLRLRLRLLRLRLLRLRRRRRRRRLLLLLRLRLLRLLRLLRRLLRRLLLRLRRRRRLRRLRLLRLRRLLRLLRLRLRLRLRRRRRRLRRLLLRRLLRLRLRRLRLRLLLRRRRRRRRRRLRLRLLLRLRLLLRLLRRRLLLRLLLLRRRLLRRRLRRLRRLRRLLLLRLRRRLLLRLLRLLLLLLRLRLLLRRRRRLRRLLRRLRLLLLRLRRRRLRRLLLLLLLRLLLRLRLRLRRLRLRRLLLRRRLRLLRLRLLLLRRLRRLRLLLRRLRLRRLLLRRLRRLRRLLLLRRLLRLLRLRLLLLLLRRLLRLRLRLLRLLRLRLLLLRRRLRRRLRLLRRLRLLLRRLRRRLLRRRLLLLLRLLLRRRLRRRLLLLRLRRLLRLLLRLLLRRLLLLRLLLRRRLRRRLRRRLLLLRRRLLRLLLRLRLRLRLLLLLLLRRRRLRLLLLLLLLLLRLRRLRRLLRRLRRRLLRRRRRLRRRRRRLRRRLRLRRRRLRLRLRLLLLRRLRLLRRLRRLLLRLLLLLLRLLRLRLLLLLLLLRRLRRLRLRLLRLLRLRLLLRRRRLRRLRLLRRRLRRLLLRLRRRRRRRRRLLRLRLRRLRLRRRRLLRLLLLLRLLRRLLRRRRRLRLLLRRRRLLLRLLLRLLLRLRLLLLLLLRLLRLLLLRLLLRLLRLRLRRRLRLLLLLLLRRRLLRRRRRLLRLRRRRLRLRLLRLLRRRLLLRLLRLLRLLLLLLRLLRRRRRRRLRLLLRLRLRRRLRRRLRRLRLLRLLLRLLRLLLLLLLRLLLLLLRRRLLRRLLLRLLLRRLLRLLRRRRRLLRLRRLRRLLLRLLRRLLLRRRLRLLLRRRLLLLLRRLRLRLRLLLLRRLLLRLLRRRRRRLLRRRLLRLRRRLLLLRLLRRLLRRRRLLRLLLRRLRRLLRLLLLLRRLRRLLRRLRRRRLLLLLRLRRLLLRLLRLLRLRRLLRLRRRLLLRLRRRRRLRRRRLRRRRLRLRRRRLRLLRRRLRLLLRRRLRLRLLRRRLLRLRLRRLLLRRRLLRRRRLRLLLRLLRLLRRRLRRLLRRLLRLRRLLLRRRLRLRRRRRLLRRLLRRRLRRLLLLLRLLRRRRRLLLRRRRLRRLRRRRLRLLLRLLRLLRLRRLLRRLRRRRLLLLLLRLLRLLLLRRRLRLRRRLLRLRLLLRRRRRLLLRRLRRRRRLLRLRRLLLLRRRRRRLLLLRRLLLRRRLLLLLRRLRRRRRLRLRLRRRRLRLRLRLRLLRRLRLLLRRRLLRLRLLRLRLLLRRLLLLRLLRLRLRRRRRLRRLLLLLRRLLLLRLLLLLLRLRLRLRRRRRLRRRRRLRLLLRRRRRRRLLRRLRLLLLRLRLRRRRLLLLLRLRRRLRLLLLLLLRLLLRRLLRLRRLRRRLRRLRLLLRLRLRRLRRLRLLRLRLLRRLRRLLRRLLLRRRRRLLRRLLRLLLLLLRRLLLLRRRLRRRRRLLRRRRRLRRLRRLRRRRRRLRLRLLRRLRLRLLRRLRRRRRRRLLLLRRLLRRRRLLLLRRRRRRRRRRRRRLLRRLLRLRLRRLRLLRLRLLRRRRLRRRLRRLLRRRRLLRRRLRLRLLRLLLRRLLRLLRRRRLLRRRRLRLLRLRRLLRRLLLRLLLLRLRLRRLLLRRRLRRRRLLLRRLLRLLRRRLRLLLRRLRLRRLLLLLLRRLRRLLLRLLRLLLRLRRRLRRRLLRLLRRLLRLRRRLRRRRLLRRLRLLRRLLLRLRRRLRLRLRRRLLLLLLRRLRRRRLRLLLRLRRLRLLLLRRRRLLRRRRRRLLRLLLRLLRLLRLLRLRRRLLLLLRRRLRLRLRRLRLLLLRLLLLLLLRRRLRRRLLLRLLLLLRLRRLRLLRLRLRRRLRLRLRLLLRLLLLLRLRRLRLLLLRLRLLLRRLRRLLRRRLRLLLLLRRRRRRRRRLLLLRLRLRRRLLLRLLRLLRRRLRLRLLRRLRRRRRRLRRRLRLLRRLLLRLLLRRLLLRLLRLLLLRLLLLRRLRLRLLRLLLRLRLLLRRRLRRRLRRRRRLRLRRLLLRLRRLLLLRLRLRRRRRLLLRLLRLRRLLRLLRLLRRRLLLRRLRLRRLLLRLLLRRLRLRRRLLRRLRRRLLLLLRLRRLLLRLLRLRRLLRLLLRLLLRRRRRRRLRRRRRLLRLLRLLLRLLLLRRLLLRLLLRLLLLRLLRLRRRLRRRRRLLRRLLLLRRLRRLLRLRLLRLRLLLRRLRRLRLRRRLRLRLRRLLLRRLLRLRLLRLLLRLRLRRRRLLLRLRLRRRLRLLLRLLRRLLRRRLRLRRRLLRRRRLRRRLLRRLRLLLRRRRLLRLLRLLLLRRRLRLRRRRRLRLRLLLLRRRLRRLLRRRLRLLRRLRRRRLRRLLLLLLLRLLLRRRRLRRRLLRRRLRRLRLLLLLRLLLLLLRLRLLRLRLLLRRRLLRRRLLLRRRRRRLRRRLRRLRLRLLLRRRRLRLRLRLRLRLLLLRRLRLRRLLLRLLLRRLLRRRLRLRRLLRLRRLLRLLLLRLLLRRLRLRRRLRRRLLRLRRLLRLRRRLRLLLLRLRLLLRLLLRRRRLLLLRRRLRRLLLRRLLLRLLLLRLLRRLLRRLLRRRRRLRLLLRLRLLRLRRRRLRLLRLLLRRRLRRLRRRLRLRLLRRLLRRLLLLLRLLLRLRLRRRRRRRLRLRRLRLRLRLRLRRLRRLLRLRRLRLLLLLRLLLRLLRRRRLRLRRLRRLRRRRRRLRLRRLRRLRLRRLLRLLLRRRRRLRLLRLRRLLLLLLLLRRRRLLLLRRLLLRLRRLRLLLRRRLLRLRRLLRLLLRLRLRRLLRRLLRLLLRRRRLLLRLRLRLRRLLRRRLRRRLRRRRRLLLLLLLRLRLLLRLRLLLLLRRLRRRRLRLRLLLRLLLLLLLLLRRRLLRRLRRRRLLRLRLRRLLLRLLRRLLLRRLRLRRLLRLLLLRRRRLLLRLRRLRLRRRRRRRRLRLRRRLLLRRRRRRLRLLRLLLLLLLRLLRLLLLRRLLRLLRLRLLRRRLLLRRLRRRLLLRRRLRRLRRRLLRRLRLLLLRLLLRLLRLRRRRLLRRRRLRRLRLRLLLRLLLRLRRLLLLRRRRRRRRRRRLLRRLLRRRRRLRRRRRRRLRLRLLRLRLLLRRRLRRLRRRRRLRLRLRLRRRLRLRRLRLRLLRLRLLLLRRRLRLRLLRRLRLLLLLRRLRLLLLRLLLLLRRRRRLRLRLLLLLRRLRLLRLLLRLLLRRRLRRRLLRLRRRLRRRRLRLLLLLRRRLLLLRRLLLLRRRLRLLLLLLLRRLRLRRRLLRLLLRLLRRRRRLLRRLLRLRRRRLLRRRLRRRLLRLLRLLRRRRLRLLLRRRRRLRLLRRLLRLRRRLRLLLLRRLRRRLRRRRLRRRRLRRRLLRLLRRRRRRLLRRLLRLRRLRLRRLRRRLLLLRRRLRRLRRLLRRRRRLRRLRLRRRLRRRRLLLLLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRLLLLLRRRRLLLLLLLLRRLLRLRRLRRLRLLRLLLRLLLLRLLRRRRRLRRLLLRRLLLRRLLLRRRLRLRRLLRRRLRRRLLLRRLRLRRRRLRLRRLRLLRLLLRRLLLLRLRLLLLRRLLLLRRRLLLLRLRRLLLRLLLLRLRRLRLRRLLRLLRLLRRLRLRLRRLRRLLLLLLLLRLLLLLRRRLRLRRLRRLLLLLRLLRLRRLRLRRRRLLLRLLLLLRLLLLLLRLLLLLRRLRLLRLLRLLLLLRLRLLLLRRLRRLRRRRLLRRRRRRRRRRLLLLLRLLRRRLRRRRLRLLRLLLRLLLRRLLRLLLLLRRLLLLRRRLLRLRLLRRRRRLRRRRRLLRLLLRRRLRLRRRLLRRRRRLLLLRRRLLLLRRRRRLRRRRRLRRLLRRRRRLLLRRRLLLRRLRLRLLLRRLRRLRLRRRRLLRRLRLLRLRRLRLRRRRLRLLRLRLLLRLRRLLLLLLLLLLLRRLLRRLLRRRRRLRRLLRLRRLRRLRRRLLLRLRLLRLRRLLRRLRLRLLRLLLRRRLRRRLLRLLLRRRLLRRRRRLRRRRLLRRRLRLLRLRRRLLLLRLRRRLLRRRRRRLRLRLRRLRLRRLRRRRRRLRLLRLRRLLRRLLRRRRRRRRLLLLLRRRRLRLRLRLLLLRRLLLLRRRLLRRRLLRRLLRLLLLRLLLLLRRRRLLLRRRRLLRRRLRRRRLRLRLRLLLRRLRRLLRRRLRLLLLLRLRLLRLRLRLRLRRRRRRLRRLRRLRRRLRRLLLLLLRLRRLRRLLLLRLRRRRLLRRLLLLRLRLLRLLLLRRLRLRLLLRLRRLRRRLLLRRLLRRRRLLLRLLRRLRRLLLLRLRLLLRLLLRLLRLRLRRRLLRLLLLLRRRLRRRLRLRRRRLLLLRLLRRRRRLLRLLRRRLLLRRLRLLRRLLLRLRRRLRLRLLRRLLLLLLLRRRLRLLLRLRRLRRRLRLLRLLRRRRLRRLLLRLLRRLRRLRLRLRLRRLRRLLRRLLLLLLRRLRRRLLLRLLRRLRLLLRRLRLLLRRLLRRLRRLRLRRLLLRLLRLLLLLRRLRRRRLRLRRRRLRLRLRLRRLLLRRRLLLRLLLLLLRLLRLRRRLLLLLLLRLLLLLRLRRRRRRRRLRRLRRRRLLRRRLLRRLLRLRLRLRLLLLLRLRLRLRRLLLRRRRRRLLLLRRRLLRRLRLLLRRRLRRRRLLRRLRLRRLRRRRRRLRLLLLLRLRRRLRRLLRRRLRRRRRLLRRLLRLRLLLLRRLRLRRLRRLLRRRLLRRRRLRLRRRRRLRLRLRRLLRRRLLRLLLRLLRLRLLLRLLRLLRRLRLLRLLLLRLLRRRRRLLLRRLRRRRRRLLLRRLLRLRLRLRRLRLRLRRLRLRRRRRRLRRRLRRRLLLLRLRLRRRLLLRLRLRLLLRLLLRRLRRRLRLLLRRLRRLLRRRLLRLRLRRRRRLLLRRLRRRLLRRLRRLRRRLRRRLRRLRLRRLLLLLLLLRLLLLLRLLLRRLRLRLLRRLRLLLLLRLLLLRRRLLRRLRRLRRRLLRLLRRRLLRRRLRLRRLLLRRLLLRRRRLLRLRLLRLRRLRLRLRLRRRRLLRRRRLRRLRRRRLRLRRRLRLRLLLRRRLRLRLLLLRRRRRRLLRRLRRLRLRLLRLLRRRRRRLLRLLRLLRRLLRLRLRLRLRRRLLRLLLRRLLRRLLLLRRLRRLRRRRRLLRRRLLRRLLRLLLRRRRRLRRLLRLRLLRLLRLRRRLLLRLRRRRLRRRLLRLRRRLLRRLLRRRRRLRLRRLLRRRLRLLRLRLLLLLLRRRRRRRRLRLRRLRRLLLRLRLRRRRLLLRLRRLRLRLLRLRRLLRLLRLLRLRLLLRRLRLRRRRRRRRRLLLLRLLLLLRRLLLLRLLRLLRRRRRLLLLLRLLRRLLLRLRRRLRRLRLRRRLLRLRRLRRLRLLLRRRLRLRRRLRRLRLRRRLLLRRRRLRRLRLLLRRLLLRRRLRLLLLLLRLRRLRRRRRRLRRRRLRLRLLRRLRRLLRRRRLRLRLLLRRLRLRRRRRRLLLLRRRLLLLLRRLLLRRLLRRLRLLRLRRLLRRLLLRLRRRRRLRRRRLLRRLRLRRLLRLRLLRRRLLLLRLRRRRRRRRLLLRLRRRRLRRRLRLRLRRLRLLRRLRLLRRLRLLRLRRLLRLRLRLLRRRLRRLRRRLLLLRRRRRLLRRRRRLRRRLLRRLRLLLRLRRLRRRLLLRLLRRLLLRRLRLLRRLLLLLLRRRRLLRRLLRLLLRLRRRRRRRLRLLRLLLRLRRRRRLLRRRLLRLLLLLLLLRRRRLLRLRLRRLLRRRLRRRLRLRLLLLRLLLLLLRLRLLRRLLRLRLLLLLRRLLRLLRLLRLRRRRRLRLRRRRRLRRLRLRLLRRRLLLLLRRLLRLRLLRRRLLLRLRLLRLRLRRLLLRLLLRRLLLLRRRRLRLLRLRRLLRRRLRLRLLLRLRRRLRLRLRRLRRLLRRLLRRLRLRRRRLLLLRRRRRRRLRLRRRRRLRRLLRLRRLRLLLLRLRLRRRLRRLLRRRRLLLRLLRRRLLRLRLRLRLLLLRRRLRLLRRLRRRLLLLRLRRRRRRLLRRRLRLRLLLRLLLRRRLLRLLLRLLRRLRRLLLLRLRRRLRLLRRRRRRLLLRRLLLLRLLRLLLRLLLRLRRLLLLLRLRRRRLLRLRRLRLRLRLRLLRRRLLLLRRLLLRRRLLRRLRLLRRRRRLLRLLLRLLRRRRLRRRLRRRRLRLLRLRRLRLLRLLRRRRRLRRRLLRRRRRRLRLRLRRRRRLRRRLLRRRLRRRRRLLRRLRRRLRRRLRLLLRRLRRRRRLRRRRLLRRLRLLRRLLLRLRRLRLLLLRRLRRRLLLRLRLLLLLLLRRLRRLLRLRRRLLLRLRLLRRRLRRLRRRRRRLRRRRLLRRLLRRLLRLLLLLLLLRRLRLLLRLLRLLLLLRLLRLRLLLLRRRLRLRLLLLLLRLRLLLLLLRLRRLRRRLRLRRLRRRLLLLRLRLRRRRLRLRLRRRLRRLRRLLRLLRLLRRRLLLLLLRLLLRLRLRRRRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLLLRLRRRRLRLRRLRLLRLLLRLLLRLRRLLLLLRRLRLRRRRLRRRRRRLRRLLRRRRLLRRRLRLLLRLLRRLRRLRLLLRRLLLLRRLLLLRLLRRLLRLRLRLRRRLRRLRLRRLRRLRLRLLRLLLRLRRRLRRRLRRLLRRLLRRLRLRLRRRRRLRRLLRLLLRRRRLLLRLLRLLLRRRLRRRRLLLLRRLLRRRRLRRLLRRRRRRLRLLLRRRRRLLLLLLLRLLLRRRLLRLLRRLLLLLRLLLRLLLRRLRRLLLRRLRLLLRRRLRRRRRLRLRRLRRLLRRRRLLLRLRRRRLLLLRLLRLRLRRLRLRRLRLLRLLRRRLLLLLRLLRLLRRRRLLRRRLRLLRRLLLRRRLRRRLRRLRLLLRRLLLRLLRRLLRLLLRRLLRLRRLRRRLRLLLRLRLLLLRRLRLLLRLRRLLLLLRRLLRRLRLRLRLLRLLRRLLLRLRRLLLLLLRRLRLRLLRRRRRLLLLLRRLLRRLLLLRLRRLLLLRRRRRLRLLLRLLLRLRLLRLLRRRLRRRRLLLRLRLRLLRRRRLLLLRRRLLLRRRRLLRLLRLLRRRLRRLRRLRRLLLLRLLRRLLLRRRLRLLRRRLLLLRLRRLLRLRRLRLRLLRRLLRRLLLLRRLRLLRLRRRLRRRLLRRLLRRLRLRRRLRLRLLRRRRRLLLLLRLLLLLRRRRLRLRRRRRLRRLLLRLRRLLRLLLLRRRRLRLLRLLLRLLLRLLLLLLRLLLRRRLLRLLLLRLLRLRLLLLLLRLRLLRRRRLLLRRLLLLLRLLRLRLRRRRLRRRLRRLLRRLRLRRRRRLLRLLRLRLRRRRRLRLRLRRRLLRLRRLRRRLRLRLLRLRLLRRLLRRRRRRLLRRLRRRLLRLRLRRRLLRLRRRRLRRLRLRRRRLLRRRLLLRLRLLRLRRLLLLRLLRLRLRLRRLLLLLRLRLRRLRLRRLLLRLLLRRRRRRLLLRLLRLRRLRRRLLLRRRLRLRLLLRRRLLLRRRRRLLRRRLLLLLLLRRRRRRLRRRLLLLRRRRRLRRLLLLLLRLRLLRLRRLRLRLRLRRRLLLLRRRLRLLRLLLRRRLRLRLLRRRLRRRLLRLLRRLRRLLRLRRLLLLLRRLRRRLLRRLRLLRRRRRLLLLLLLRRRRLLLRLLRRLRLLLLLRLRRLLRLRRLRRLRLRLLRLLRRLLRLLLLRRRRRLLRLRLLLRRLLLLLLLRRRLLLLLLRLRRRLRLRRLRRRRRLLLRRLRLRRLLLLLRRRRRLRRLRRLRRLRRRLRLRLRRRLRRRRLLLLRRRLLLRLRLLLLLRRRRLLLRLRLRLLRRLLLRLRLRLRRLRLRRLRLRLRLRLLLLRRLLRRRLRRLLRRRLRLLRLLRLRRLRRLLLRLRLLRLRRRLRLLRRLLRLLRLLRLRRLLRRLRLRRLLLRRLLRLLRLRLRRRLRRLRRLLRRLRLRRLRRRRRLRLLLLLLLRLLRRRLLLLLRRRLLRRRRRLLLRRRRRRLRRLLLRRRRLLRRRLLLRLRLRRRLRRLRRRLRRRLRLRLLLRRLLLLRRLLRLLRLRLLLLLRRRRRLRRLLLLLLRRRLRRLRRRLRLRLLRLLRLLRRLRLLRRLRLLLRLRRRRRLLLRLLRLRRRRLRRLLLLRLRLRRRRRLLLLLRLLLRLRLLLLLRRRLLRRRLRRLRRRLRLLRLRLLRLRRRRRRRRLRLRRRLRRLRLLLRLRLLLLRLLLRLRRRLRLLRLRLLLRLRLRRLLRRLLRLRRRRLRRRLLLRLLRRLLRLLLLLLRLLLLRRRRRRRRRRRLLLRRLRRRRLLLRLLLRRLRLRLLLLRRLLRRLLRRRLLLLRLRRRRRRRRRRRLRLRRLLRLLLRLLLLRRRLRRLLRLLRLLRLLRRLLRRLLLRRLRLLLLLRLLLRLLLRRRLRRLRRLLLRLLLLRLLLRLLLLLRLRRLRLRLRLLLLRRLLLRRLRRLRRLLLLRRLLRRLLLLLLLRLRRRLLLRRLRLLRLLLRRLLLLRRLLRRLRLLLRRLRLLLRRRRRRLLRRRLLLLLLLRLRRRRLRLRLRLLLRRLLLRLLRRLLRRLLLLLRLRRLLLRRLRRLLLLRRRRRLLRLLLRRRRRLRRLLLRLRRRRRLLLLLLLLRLLRLLRLLRRRRRRLRLRLLLRRRRLRRLRLLLRLRLLRRLLRLRLRLRLLLRRLRRLRRRLLRLRRRLLLLLLLLLLLLLLRLLLLLRRLRRLLLRLLRLRLLLRRLRRRRLLRLRRRLRLLRRLLLLLLRRLRLRLLRLRLRLLLLRLLLLRRLRLLLRLRLLRLLRRRRRLLRLLRRRRRLLLRRLLRLLRRRRLLLLLRLRLLLRLLLRRLLRLLLRRLRLRLLLLRRRLRRRRLLRRRRLLLRRLRRLLLLRLLRLLRLRLRRRLRRLLRRLRLLLLLLRRRRRRRRLLLRLLRLRRRLRLRLRRLRLLLLRLRLLRLLLRLLLRLLLRLLRRRLRRRRLRRLLLRLLLLLLRRLLLRLRLRRLRLRLLLLLLRLLLRRRLRRRLRRRRLRLLRRLRLRLRRLRRLRRLLRLRRRLRRRRLRRLRLLRRRLLRLRRLLLRLRLLRRLRRLLLRRLRRLLRLLRLLRRLLRRLRLLRLRRLRLLRRRRRLRRLRLLLLRLLRLLRLRRRRLLLRRRRRRRRRRRRLLRRLRRRLRRLRRLRLRLRRLLLRRLLLLRLRLRLLRLRLRRLLLRRRLLLRLLLLLLLLRLRLLRRRLRRLRRLLLRLRRLLLRRLLRLRRLLRLLRRLLRRRRRLLRRRRRLLRRRRRLLLRRLRLRRRRRRLLRLLLRRLRRRRLRRRRRRLLRLRRLLRLRRLLRRLLLRRRRRLRLRLLRLLLRLLRRRRLLLRRLLRRRRRLRRLRLLRLRRRRRRLLRLRLLLRRRRLLLLLRLLRRRRRLRLLLRLRRLLLLLRLRLLLRLRRLLRRRLLLLRLLRLRLLLRRLLRLLLLRLLLRRLRRLLRRLLLRRRLLLLRLRRLLLLLRLLLRRRRLLRRLRRLLRLLLLRRLRRLLRLLRLLLLRLLLRRRRLLLRRLLRLLLRLLLRLLRRLRLRRLLRRRRRRRRLRRLLLRRRLLLRLRRLRRLRLLRLLLRRRRLLRRLLLLRLRRLLRRLLRLRLLRLRLLLRRRRLLRRRRRRLRRRLRLLRLLRLRRRRLRRRRRLLRLLLLRLRRRLRRLRRRRLLLLRRLLLLRLLLLLRRLRLLLRRRLRRLRRLLLRRRLLRRRLLRLRLLRRLRLLRRLRRLLRRRRRRRRRRLLRLLLLLLRLLLRLRRRRRLLRRLRLRLLRLRRLLRLLLLRLLLLRLLLRLLLLRRLLLRRRRRLLRLLLLLRRRLRLRLRLLRRRRLLLLLRRRRLRLLLLRRLLLLRLRRRLRLRLLLRLRRLLRRRRRLRLRRRLRRRLLRRRRRLRRRLRRRLRLRRRLLLLLLLLLRRLRLRRLLRRLLRLLRLLRLLLLRRRRRRRLLRLLLRLLLRLRLLRLRRRRRLLLRRLRRLLLLLLRLLLLRLRLLLLLRLRLLRRLLRRLRLLLRRRRLRLLRLRLRLLLLRRLRLLLRRLLLLRRRLLRRLLRLLRLLLLRRLRLRRLRRRLLRRLRRRRRRRRRLRLLLLLLLRRRRRRLLRLRRRRLRLRLLRLLRRRRRRLRRRLRRLRRLLLRLLLLLLRRLRRLLLLLRLRLRRRLRLRLLRLLRRLRLLRLRRLRRRLRRRRLLRLRLLLLRLRRLLLRRRRRRRRRRRLLRLLLRRRLRRLLRLLRRLLRLRRLRLRRRLLLLLLLRLRLLLRLLLRLRLRRLLLLRRRRRLLRRLRLRRRLRRLLRLRLRLRRLRRLLLRLRLRRLLRLLLRLRLLRRLLLRLLLLLLLLRLLRRLLRRRRRLRLRRLLRRLRLLLRLLLRRRRRLRRLRRLLRRLRRRRRLRLLLRRLLLRRRRLRRLLRLLLLLRRLRRLLRLRLRLRRRLRLLRRLRRRLRRRRLLLRLRLLRLLLLLRRLLLRLRLLLRRRRRLRLLRLRLRLLRLRLRRRRRLRLLLLLLRRRLRRRRRLLLRLRRLRLRRRRLRRLLLLLLLRLLRRRLRLRRRLLRRRRRLLLRLRRLRRLLLRRLRLLRRLRRLRRRRRLRRLLLRRRRRRRRRRRRRRRLRLRLLLRLRRLLLRRLRRLRLLRRLRLLRLRLLRRLLRRLRLRLLLRRLLLLRRRLRLLLLRLLRRRLLLRRRRLLRLLLLRRLLRLRRRLLRRLLLLLLLLRRLLRRRLRLRLRRLRRRRLLRLLLRRLRRRLLLRRLLLRLLRLRRRRRLRLRRRRLRRRLRLLRLLRLLLLRRLRRLRRRLRLLRRRRLRRRLRLLLRRLLRLRLRRLRLRRLLLRRLRLRRRRLLRRLRRLLLRRLLRLRLLLRLLLRRLRRRLRRLLRRRRRRRLRRLLRLRRRLRRLLRRLRLLRRLRRRRLRLLRLRRRRLLLLLRRRRRRLRLRRRLLRLLRLRLLRRRLLLRLRLLLLLLLLRLLLRLLLLLLRLLLRRRRLRRLRRLLLRRLLRRLRRRLLRRRRLLLRLLLLRRLLRLRLRRLLLRRLLLLRRLRRRRLLRRLLLRLLLLRRRLLRRLRRRRLLRLRLLRLLLLLRRRLRRRRLRLRLLLRRLLRLRLRRLLRLRRLRRRRRRLRLLLLRRRRRLLLRLRRRLLLLRLRLLLLLLRLRLLRLRRLRLLRRLLLLRRRRRLRLLRRRLLRRRRLLRLRRLLLRLLRRLRRRRLLRLLRLLLLRLLLRRRLLLLLLRRLLRRLLRLLRLLRLRRRRLRRLLRRRLRLLLLLRRRLRLRRRRLRLRRLLRLRLLLRLRLLRLRRRRRRRLLRRLLRLRLLRRLLRRLRRLRLRLLRRRLRRRRRLRLRLRLLLRLLRRLRRRLRLLLRRRRLRRLRLLLLLRRLRLLRLLRRRRLLLRLLLLLRRLRRRLRRRLLRRRLLLLRLRLLRRLLLLLLLRLRLRLLLLRRLRRRRRLLLRLLLLRLRRRRRLLRRLLRLLLRRRRLRRLRLLRLLLLRLLRRRRRRLLLRLRRRLRLRRRLRRRRRLRRLLLLRRLRLLLRRLRRRLRLLRLRLLLLLLLRRRLLLRLLLRLLRLRRRRLLLRLLLLRRRLRRRRLLRRRRRRRRRLRRLRRLRLRRLLRLRRLRLRLLLLRLRLRLLRLRLLRLRRLRRRRRLRLLLLLRRRLLLLLLLLRLRLLRLLLLRRRRLRLRLRRLLLLLLRLLRRLRRRLLLRRLLLRRLLLLRRLRLLRLLLRLRRRLLLLRRLRLRRLRRLLRRRRLLRLLLRRLLRLRLRLLLLRRRRRLRRRLLLLLLRRRRLRRLLLRLRRLLLRLLLLRLLLLLLLRRRLLRLRLLRLRLRLLRRLRLLRLRLRLRLLRRLLRLLLRLRLRRRRLRRRLLLRRRRLLRLLLLRLLLLLLRLRRLRLRRLLRRLRLLRLRRLRLRRLRRRRLRRLLRRLRRRRRRRRLLRLLRRRRRRRRRRRRLLRRLLLLLLRRLLRLLLLRRLLLRLLRRLLLLLLLLRLRRLRRRRLLRLRLLRRRRLRLRLLLRRLRLLLRLLRRLLRRRRRRRLRRRLLLRRLRRRRRLLLLRLRLLLLRLLLRLLRRRLRRLRLRRLRRLLRLRLLRLLRLRLRRRLRRLLRLRRRLRLLRLLLLRRRLLLRLRRRLRLRRRRRRLRRLLRLRRLLRRRLLLLRRLRLLRLRLLLRRLRLRRLRLLRRRRLRRRRRRLRLRRRLLLRLRLLLRLRLRLRRLLLRRLLRRLLLLLLRRRRLRLRRRRRRLRLRLLRRLRRLRRRRRLRLRRLRRLLRLLLRRRLRRLRRLLLRLLRRRRLRLRLLLLLRLLLRRRRLRRRRRLLLLLRLLLLRLLLLRRRRRLRRRRRRRLRLLLRRRLLLLLLRLRRLLLRLLLRRRLRLRLLLRLRRLRLRRRLRLLRLRRLLLRLRRRRRRLRRLLLRLRRRRRLLRRLLRRLRRLRLLLLRLRLRLRLRLLLRLLRLLLLLLRRRRRLRRRRRRRRLLLRRLRLRRLLRRLRRRRLLRLLRLLLRLLRLLRLLLRRRLRRLLLRLRRRLLLRLRLRRRRRLRLLRLLRLLLRLLLRRRRLLLRRLRLLRRLRRRLRLRRRRRRLLRLRRLLLLRRLLRRLLRLRRLLRRLLLLRLLLRRRLRRLRLLLLRRLRRLRLRLRRRRLRLLLLLLLLRLLRRLRRRLLRRLLRRLLRRRRRLLRLLRRRLLRLRRLLLRRLLLRRRRLRLRLRRLRRRRLRLRLLRLRRRLLLRRRLRLRRLRLRLLLLLLRLLRLRRRRLLLRLLLLLRRLLRRRRRRRRRLRRLLLRRRLRRLLLLRLLRLRRRLRLRLRLRRRLRLRRLLLRRLLRRLLLLLRLLRRRLRLLRRRRLRRRRLRRRLRLRLLRRLRRRLLLLRLLRLLRRLRLLRRRRRRRRLRLLLRRLRLRRLLLRRLRLRRLRRLLRRLLLLLRRLRRLRRRRLRRLLRRLRRRRLRRLLLLLLRLRRLRRRLRLLRRLRLLLLLRRRLLRLRLRLLLRLRRRRLRRRLLRRLRLLRLRLRRLRLLRRLLRRLLRRRLLRLRRRLLLRLLRLRRRRRLLLRLLLRRLLRLLLRRLRRRRRLLLLRLRRRLLLLLLLRLRRRRLRRRLLLLRLLLRLRLRRRRLRLRRRLRLLLLLRLRLLLLLRLRLLLRRLRLLRLLRLRRRRLLLRRRLRRLLLLRRLRRLRRLLRRRLLRRLRRRLLRRRRLLRRLLRRLLLLRRRLLLLRLRLRLRRRLLLLRRRRRLRLRRRRLRLLLLLRLRLRLRLRRRRLLRRRLRRRLLLRRRRRRLLRRLLRRLRLLLLLLLLRRRRRLLLLLRLLRLLLRRRLRRRRRRLLLLLLRRLRLLRLLLLRRLRRLLLRRRRLRRRLLRRRLRLRLLRRLRLRRRLRLRLLLRRRRRRRRRLLLLLRRLRRLLLRLRRRLRLRLLRRRRLLRRRRLLRLLRLLLRLRRRRLRRRRRLRRRLLRLRRLRRRLRRLRRRRRLLLLRRRRLLLRLLRRRRRLLRLRLLRLRRLLRRLRLRRRLLRRRRLLRLRLRLLRRLLLLRRRRRLLRLRLRLLLLRRLLRRLLLRLRRLLLRRLLRRLLRLLRRLRRLRRLLLRRLRLRRRLRLLRLLLRLLLRRLLLRLRRRLRLRLLLRRRLRLLRRLRRLRRLLRLLRLRLRRLLRRRLLRRRRRLLRRLRLRRLLLLRRLRRLRRLRRRRRLLLRRRLLLRLLRLRRLLRRLLLRLLRLLLRLRLRLLRRRLRLRRLRLLRRLRLRLLLRLLLLRLRLLLLRLRRRLRLRLLLLRLRRRRLRRRLLLRLRLLRLLRRLRLLLRLRRLRRRRLRRLRRRLLLRRLRRLRRLLRLLRRRRLLLRRRRLLRRRLLRRLRRRLRLRLLRRRLRRRLLLRRLLLRLRLLRLLLLLLLRRLRLLLRRLRLLLRLRRLLRRRRRLLRRLRRLRLRRLLLRLRLLRLLLRLLRLLRLRLLRLLLLLLRRRRLLLLRRRRLLLLRLRRLLLRLLLRRRLRRRRLLLLLRLLLRLLRRLLLRRRLLRRLRRRRRRRRLRLRLRLLLLLLLLRRLLRRLLLRRLLRLRLRRRRLLLLRRLLRLLLRLLRLLRRRRLLLRRLRRLLLRLLRLRRRLRLRRRRLRRLRRRRRLLRRLLRRRRLRRLRLLLLRRRRRRRLLLLRRRRLRRLLRRRRLRRLLRRLLLRRRLRLLRRRRRLLLRLLRRLLRRLRLRLRLLLLLLRLRLLRLRLLRLRLLRLRRRLRRLLLRRLRLRLLLRLLLRRRLLRLLLRRRLRRLLLRRLRRRRRRRRLRRRRLRLLRRRLLLLLRRRLLLRLLLRLRRRLLLLLLRRLRRLRLLRLRLRLRLRLLRRLRRRRRLRLRRLRLLRRLLRLRRRRRLRRLRLRLRRRRRLRRRLRRLRRRLLRLRRLRLRRLLRRRRLLRRRLRRLRRRRRLLLLRRLRLRRRRRLRRLLRRRRRLLRRLLRRRRLLLRLLLRLLLRRLRLLRRRRLLRRLLLLLLLLRLLRLRLLLRRRLLRRRLLRLLLRLRRLLRRLRLLRLLLRRLLRRLRLRRRRLLRRRRLRRRRRRLRLLRRRRLRRLRLLRLLLLLRRRLRRRRLLRLRLLRRLLRLRLLLLRRRRRRRLLRLLLRLRLLLLRLRLLRLLLLLRLRRLLLRRLLLLLLLRRRLLLLRLRLLLRRLRRRRRRRRLLRLLLLRRLLLRRRLLLLLRLRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLRLRLRRRRRRLRRRRLLRLLRRRLLLLRLRLRLRRRRRLLRRLLRRRRRLLLRRLRLRRRRRRRLLLLLRRRRRLRRLRLLRLRLRLLRLLLLRRLLRRLLRLLLRLRRLLRRLLRRRRRRLLLRLRLLLLLLLRRRLRRLRRLLRLRLLRRRRRLRLRRRLRLRLRRLLLRRRLLLRLRLLLLRRLLRRRRLLRLRRRLRRRRLRLLLRRRRRRLLLLRLLLRRLRLLRRLRRLLLRRLLLLLRRLRLLLRLLLRLLRRRLRRRLLRRLRLRLRRRLLRRRRLRRRLLRRLLLLRRLLLRRRRRRLLLLRLRRLLLLRLLLLLLLRLRLLRRLLLLLLRRLRRLRRRRRLLLRLRLLLRLLLRLRLRLRLRLRLLLLRRRLLRLRRRLLRRRRRRLLRRRRLRRRLRLLRRLLLLRLRRLRRLLRLRRLRLRRRRLLRRLRRRRLLLRLLRRLRLRLRRLLLLRRLLLRLRRLRLRLRLLLLLLRRLRRLLLLLLRRLLLLRRRLRLRLLLLRLRRRRLRRLRRRLRRRLRLLRLLRLRLRRRRRRLLLLRRRLLRLLRLLRLRLLLLRRLRLLLRLRRLLLLRRLRLRLLRRRLRLLRRRLLLRLRRRLRLLLRLRLRLLRRLRRLLLLRRLLLLLLLRRRLLRRLRRRRRRLRLLRRLRRLRLLLLLLRLLLRLLRLLLLRRRRLRLRLRLLLRRLLLLLRRLLRRRLLRRRRRRLLRLLLRRRLLLLLLLLRLRLRRLRLRLRLLRLLRLRRRLLLLRRRRLRLRRLLRRRLRLLRLLLRLRLLRRRLRRRLRRLLRLLRLRRRRRLLLRLRLLLRRRRRRRLRLLLRRRRRLRLLRRLRLLRLRRRLLRRLLRLRLRRLRLLLRRRRLLRRLRRRRLRLRLRRLRRRRLRRRRRLRRRLRLRRRLLRLRLLLLLRLLRRRLRRLRLLLLLLLRLRLLRRLRLLLRRLLRRRRLRLLRLLLRLRRLRRRLRLLRRRLLLLRLRRRLLLRRRRRLLLRRRLLLLRLLLRLRRRRRLLLLRRRRLLLLRLRRLRLRLRLLRLLRLRLRLRRRLRLLLRLRRLRLLLLLLLRRLRLRLLLRRLLLRLLRLLRRLRRLLRLRRRLLLRRRLRRRRLRRLRLLRLRLRLLRRRLLLLRRLLLRLLRRLLLLLLRRLRRLRLRRRRRLRRRRLLRLRRRLLLLLLLRRLRLRLRLLLRLRLRLRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRLLRRLRLRLLRRLLRLLRRLRRRLLRLRLLLLRLRRRRLRLRLLLRRLLRRRLLLLRLRRRRRRRRLRRRLRRLLLRLRLLRLRLRRRLRLRLRLRRLLRRRRRLLRRLLLRLRRLLLRRRRRRRLLLRRRLRRRRRRLRRLLLLRLLRLLLLLLRLRLLLLRRRLLLRLLLRLLRRRLLRRLLLLRLLRLRLLLLLRRRRRRLRRLRRLRLLRRLLRRLLLLRRLLRRLRLRLRLRRLRLRRRRLRLLRRRLLRLRLLRLRLRRLRLRLRRLLRLRLLRLLLRRLRRLLRRLRLRRLLLRRLRRLLRLRRLRRLLRLLRLRRRLRLRLLLRLRRRRLRLLLLRLLRLLRLLLLLRLRRRRLRLRRRLRLLRLRLLRLLLRLRLLRRLLRRRLRLRRRLRLLRRRRRLRLRRRRRLLLRRLLLLLLLRLRLLLLLRRRRRLLRRLLRRRLLLRRLRLRLLLRLLRRLRLRLRLLLLLLRRLLLRLLRLLRRLLLRRLLLLRRLLLRLRLLLLRLLRRRRLLLLLLRRRRRLRLRRLRRRLRLRRRLLRRRLRLLLRRLLLRRRLLLLRRRRLLLLLLRRRLRRRRLRRLLLLRLRRLRRLLLLLLRRLLLLRLRRRLRLLRRRRRLLLLLRRRRRLLRRLLRRLRRLLRRRLLRRLRRRLLLLRRRLLRRRLRLLRRLLLRLLRRRRRLRRLRLLRLRLRRLRLLLLLLRLRRLLRRLRLRLRLLLRRLLLRRRRRRLLRRLRLRRLRRRRLLRRRRLRRLLLLRRRLLLLRLRRLRRLRRLLLRLRLLLLRRRLLRRLRRLLRLRLLRRLRLRRLLLRRLRRLRLLRLLRLRRRRRRRRLRRLRLLRLRLLLLLRLRRRRLRLRLRRRRRLRRLRLLRRLRRRLLLLRRLRLRLLRRRLRLLLLLRLRLRLRLLRLRRLRRLLRLLLRLLRLLLRLRLLRLRLRLLRRRRLLRRLRRLLLLRLRRLLLLLRLRRRLRRRLRLLLRRRRRLRRRRRLLRRLRLRRRLRRLRLRRLLLRRLRRRLLLRRRLRLLRLRRLLRLRLRLLRRRLRRLRLRLLLRLRLLLRLLRRRRLLLLLLLRRRLRLRRLRRLRLRRLRRRRLRLRLLRRLRRLLRLRRLLLRRRRLRRLLLLRRRLLLLLLLRLLRLRRLRLRLRLLLLLLLLRRLLLRLLRLLLLRRLRRLLRLLLLRRLLRRRLLLRRLRRLLRLLRLLLLRRLLRRRLRRLLRLLLLRLLLLLLRLLRLLLLRRLLLRRRLLRRRLLLLLLLRRLRRLRRLRLLRRLRRRRRLLRLRRLLLRRLLLLLLRLLRLLRLRRLLLRRRRLLLRRLRLLLLRRRRLRRRRRLRRLLLLLRRRRLLLRRRRRLRRRLRRLLLLLLRLLRLRRRRRRLRLLLRRLRRRLRRLRRRLRLRLRRLLLLRLLLRRRRLRLLLRLRLRRRRRLRLRRRRLRRLLLRLLRRRRLRLLRRLRRLLRRRLRRLRRRLLRLLLRLLRLLRRRRRRRRLLLRLLLRLLRRRRLRRLLLLRLRLLRRLLRLRLLRRLLLRRRRRLLRRLLLLRRRLLRRRLLRRRRLLLLRLRLRRLRLLRLRRLRLRRLRLRRLLRLLLRRLRRLLRLRRLRLRLRLRRRLLRRLRRLRRLLRRRRRRRLLRLLLLLLLRLRLRLRRLLRRLLRLRRRLLLLLLRLRRLRLLRRLLLLLLLRRRLLRLRRLRRLRLRRLRRRLLLLRLLLLLLRRRRLLLRLRRLRRLLRRLRLLRRRRRLRLLLLRLRLLRLRRLRLRRRRRLRLRRRLLRRLRRLRLLRLLRRLRLRRLRRRLRRRLLRRLLLLRLLRLRLRLLLRLRRRLLRLLRRRRRRRRLRRLRRLRRRRLRRRLRRRLRLLLLLLRLLRRRLRRLLLRLRLRLRRRLRLLRRRRLRRLRLRRLRRLRLLLRRRLLRRLRLRLLRRRLLLLRRRRRRRLRRRLLLRRLRLLRRRRLLLLRLLRRRLLLRLRRRRLLLLLLRLRLLLLLRLLRRLRRLLLLRRRRRLLLRLLLLRRLRRRRLLRRRLLRLRRLLLLLRRRLLLRRRRRLRLLRRLRRRLRLLRLLRRLRLRLLRRLLLLRRRLLLRRRRLRLRLLLRLRRLLLRLRLLRRLLRRRLRRLRLRRRLRLLRRRLRRRLRRLLLRLRLRRLRRRRRRLRLRLLLLRRLRLLLRLRRLLLRLLLLRLLLRLRRLRLLLRRLLRRLRRLRRLRLRLRLLRRRLRRRRRLRLLLLLRLRLRLRRRRLLRLLRRLRLRLRRLRRLRRLLRLRLRRLRLRLRLRLLRRRLRLLRRLRRLRRLRLRLRRLLRRLRRLRRRRRLRRRRLRRLRRRRRRRRRRRRRRLRLLLRLRRLLRRRLRRRRLLLLLLLLRLRLLRRLLRRRRLRRLRRLRLLRRLRRLLLRLRLLRLRLLLRLLRLLLLLLRRRRLRLLRRLLRRLLLRLLLLLRLLRRLLRLRLRRLRLRRRRRLRLRRLRRRLLLRRRRLLLRRLRLLRRRRLRRRRRLRLLLLLRLLRLLLLLRLLRRLRRRRLLRRRRLRRRRRLLLLRLLRLRRRRLLLLLRLLRRRLLLRLRLLRLLRRLRLRRLLLRRLLLRRLLRRLRRRLRRLLRRRLRRRLLRLLLRRRRLLRLLRRRRLLRRLRRLRLLLRRLRRRRLLRLRRLLRLRLRRRRRLLRRLRLRLRRRRLLRRLRLLRLLRLLRLLLRLLLLRLLLLLLLLRLRRLRRLLLLLLLRRLRLRLLRRLRLLLRLLRLRRLRRLRRRRLLLRRLLLLRRRRRLRLLRRLLLRLRRRRRRRRRRRRRRRLRRLRRLLRLLLLRRRRRRRRRRLRLLRRRRRRLRLR
