2
200000 1000000000
644278597 547456825 15350817 943453687 777961239 449680191 4899697 146424609 642125173 313151457 934497273 6133953 117209691 359400261 577562393 206834431 503478987 317533655 599202229 599363277 184416205 479070025 66579775 199248607 414106997 206410649 643816105 315878587 421961695 108315147 991399797 871965091 363279913 115621419 561128613 21102509 210198401 190366415 798904781 951116973 326162967 124627217 763531261 225859909 82139687 455278421 542930649 441237981 576628979 360763465 513245059 328962469 959898051 552448479 110080939 219373973 981145837 841981015 927350919 211387759 173764295 435964721 933619157 682596539 600382647 311948861 416115931 881388487 471574053 854658187 65807721 682455723 667683203 429493627 526793427 343197771 25401165 358356401 795736313 12696909 379504901 719354391 184739137 576335137 309711923 703226595 847814039 859748095 261109611 799520399 477865333 184143593 773315913 895636707 16581333 839028389 852717419 165951465 120880449 839571141 197673855 182014197 429320903 146200993 597438007 284044707 660095737 272184919 309834315 850753241 358751739 745907667 765144957 423952321 73765743 449863105 588986779 248629971 218715013 334090653 892229491 333603525 996562931 833482151 445925859 840036257 37461239 794594277 748255433 487445425 313531481 135462185 910233619 441595019 57748579 833699849 230587571 635092487 396422385 839189479 541420449 404115277 994933853 249063917 808336607 360785865 432519309 803499527 125734523 883137071 567538675 627292657 451863939 206133625 273036931 732896809 281045781 729366509 420519609 858219769 235910479 207387671 995480223 739516783 660169311 916616653 693324483 261007975 226880375 343726889 54150455 14264189 654762959 846985615 680099999 812033563 617285547 496517805 9752861 152820337 887361875 673820535 775118689 617011321 280703005 171650343 179410849 470978801 244829023 274501 241168541 622900833 342361983 428264345 523939991 943791643 202064101 812594491 982810209 936573239 321664771 343404933 159226447 58147221 427596629 43336733 512782657 930085085 172398173 780396781 290043805 901725055 299050661 340998955 642924625 313107381 294571453 770274387 822372817 94272637 33909059 315623721 928224543 354131103 852675543 997249209 797233343 217125293 519706659 302392663 647538111 874201343 895177177 257545119 53074103 636124339 919094453 198076279 276396229 822125237 319945081 348907787 135861901 896624563 989835503 26394573 874466111 493859365 428693735 474365307 346283923 850855757 117197631 574145305 549183683 167983153 197906133 982607859 337670551 738856609 798733465 103968415 451258719 977717305 311634039 255117813 95224049 543801173 681878125 916406303 627489705 260824097 322520445 456275331 150351983 794734475 908345009 244172763 337220271 472958025 916802073 470303007 575731043 339732961 610751443 343092375 131648007 407485335 184807679 9747403 727253921 19908987 463423175 855921043 442486207 744076137 141719389 739654921 191655801 261156861 230450941 391837329 190608493 406640033 90701545 162369241 587874751 628538759 661826667 655124949 64236833 534763171 678161877 876560833 908126149 326718649 69173119 335196191 448157035 822828369 912675023 657167551 679393115 371118777 767625005 323447475 790678369 550382859 489626381 174714199 727179987 946789159 735576295 232338769 785710993 543315895 113447487 910381965 285635841 804068903 780743839 421748285 588368145 713348529 805787799 914464223 568169271 564218967 901323461 101642807 299337585 798886369 105038537 730132817 606276933 631886045 143089741 476530305 501024961 234373541 536119301 941594979 413467517 4905815 650604201 199123677 161166743 992357087 940155901 395841563 955053235 63382507 438627273 71919503 512720643 676987891 71848163 686959609 547762233 475446585 338578979 639809369 337899157 900299715 946052971 691000317 318799839 567087715 290841765 404206971 418446435 451963313 475710659 576993195 141865977 579126029 26797763 934270391 44316413 390260637 321944227 765236999 134474583 254771541 465387629 151335503 362516853 647905259 578912567 437976719 871634763 585225695 314836505 306161159 39359835 964316027 270599477 69346631 555657131 529450959 687403701 412958753 802564293 588226995 98887117 627704497 920919747 544600261 338842549 917653083 151980611 743698543 202300593 62027983 159082859 385619171 857171723 799751421 449895143 924010007 912530451 362210849 739102959 823380171 652916519 693348035 640520771 164392329 841753255 133654957 601931045 443388319 767433981 901816051 881583209 16418343 700047773 901217011 30797919 89177347 660355071 925203277 801715689 533790167 468500647 258338803 914430829 781585173 331407903 422734869 242516441 631715575 283884537 996152625 25916835 165533819 163600847 613629451 527169993 482088041 31404099 281241007 557863633 18141781 431189503 748183155 148863435 46339987 910127287 588887279 377792331 411176005 220032035 657115405 593597553 782448721 493916423 910963443 946164707 178626669 55695405 847562779 908676813 37679371 933653863 74297405 9040871 948548975 83320463 25059937 302449777 220783775 486701191 499944911 610642223 52192365 3879481 647235871 306667375 993217649 174267801 307425067 480926729 399968011 306911391 174132759 188408921 587807329 877382735 170196561 422666567 474243431 591826867 724728205 578347585 768926421 571140829 422393285 208038973 19920935 631460327 326450753 187498169 737896617 371369459 667678859 668048571 86595691 796467755 375116663 559719379 68830533 503101635 81364001 86777109 336762325 157021173 206065903 572445217 350233735 236790529 168253067 515912733 287690887 415569715 704925419 465284789 306583761 541025499 64047691 558197027 51091237 681256023 303756335 105766689 739565833 881523975 934553187 323845625 217985741 933359191 697178619 372170615 479624331 372539063 303205973 724927219 862624037 186478241 10194451 235491403 396359999 927365017 527655457 904961763 312323149 581403433 699851447 39465643 775737731 951843299 733148749 904219929 430770405 484917345 541640361 425675307 660042299 858775109 623521751 62047591 542802451 533262649 112661293 639416541 786033865 293056497 959025731 942849569 230029177 780495655 906969091 63839059 696503053 736730267 308574613 614192665 426576693 700568089 319513453 629791391 929686891 872865395 559243339 530967199 115733483 613885059 553631279 495934037 180545219 413609515 609495401 979172743 451776191 257592149 434209675 406785155 260031097 421161205 986630257 172010273 51850577 565645317 800650559 768660413 297662063 992164485 9510243 718637631 403039171 627777153 352063377 364202261 218197253 141114635 702588101 188957749 613633719 414594365 932478787 256530463 555311903 748490553 633065367 110255829 20815695 720288043 400882581 889836777 478543903 707450947 121224025 2801263 541749549 568879547 172391497 50160135 462167525 465659863 322712079 152094167 722959477 638448865 451502499 296037517 143544021 400352299 958187069 245166173 236950981 329558287 979865699 545093129 31038415 903868913 547949281 131787221 607991363 397194551 517106635 652206735 148309047 519241815 24610175 498987151 942587279 280685771 733430175 875318963 260346863 741500179 684743705 151248223 793910731 223872955 289678367 40764291 187174233 537192533 729492783 867308437 563035545 13593723 127011855 926912147 544718165 439690447 135158215 665749765 24502811 75044861 167015599 159487479 147632967 118240181 728590177 535014911 119642357 111468977 318756289 552554557 576618767 551586999 132207101 726023511 683847237 520613773 240089481 353341563 846061329 398627335 695708703 545539677 367482033 472910335 4577479 151932991 489883183 341075031 730382027 515252965 429910361 791852027 833343677 713050015 124061129 511241435 946159487 629867329 345747935 157345521 486077743 38703913 267992515 961910083 563983423 972037183 60369509 705887447 541932639 347083763 562380415 941592513 72038797 445445943 317382029 681780251 712636683 184847243 178221277 960146695 639254121 846827511 984583291 485076913 241003643 615836167 266778689 630441033 465818201 262397137 915597517 216334091 764086891 703034869 503674507 428588343 575869277 100757657 442413225 374512665 106537249 607619691 415187487 836900867 819610101 700783777 311750831 732790095 331659613 981773559 363570655 490558817 122349861 404083897 534048769 962145183 16171619 596698543 850940203 573997695 60501105 127296307 292745793 542099067 819386355 715568931 86599145 346203923 549860823 353058019 151564689 526347733 56214095 313227363 891313781 441064271 594185691 198512923 675223701 82609181 401593915 200661253 552906679 552598497 531166079 94934443 2892395 888152647 570430201 434459929 781112077 355190783 191650373 780042469 610322617 472051653 623414855 411303215 524562521 119793497 524054061 377949085 902399903 982405255 584029291 180086877 290496513 679512099 455643581 107757349 211046847 603712771 693169191 8097331 381480673 724951307 415749107 612304717 577776187 698255399 959923385 94817475 148540001 831446855 460765781 222480489 521560245 30462823 222245353 137687709 408992863 595690631 519037665 558323529 424187727 812480693 941882355 410545879 611990335 467642623 829627419 985412415 861191341 356820097 486908317 708369665 944894945 459417949 197269253 469697569 29923823 813446079 927393319 471006509 140354987 737920215 841034529 328735803 859288245 217914337 292488021 529356267 317378169 864156959 856135281 557507683 473344805 232747737 579565415 888769617 262196915 895652963 204087671 128249323 891898849 695957271 724371233 332128239 922069815 965504857 568222515 934328483 952365575 112752529 704982979 293521111 640255335 332096305 79792427 427783391 363831099 731903413 350392591 324590491 51331369 499192221 658529629 316280687 580780961 519654773 825555273 781318477 699917019 338941137 950227021 76537255 431165911 790498119 427871537 765004671 518341471 840717691 752814335 903908695 429224195 690746905 173764617 900016707 905391131 430384851 951241969 852878035 976739525 816102239 296588181 500232745 49386731 90918021 404838951 568412909 127618879 950934795 991695895 680345671 94891063 912296135 83193633 553957107 168021779 657924495 540183629 734288429 738172125 290789447 217810661 646973629 542319973 69422043 405332861 894633453 8265281 741186621 537171187 484072089 967590355 795068259 808067433 450013721 46293571 515513941 562795851 168184665 832217219 178656281 518282833 583226819 233373513 550173893 129453683 424703569 417569813 227599983 425599735 711250045 238756911 885616189 654523753 489520977 822310827 303388501 225373341 997464665 353949789 881285615 979228081 773988525 864966887 40108097 732295943 98377195 44733873 968044941 2118477 197984567 855129067 789406497 5555831 398508609 944351885 421723467 396966079 972936255 399036761 453983335 619258797 884879599 802804183 150386649 447416585 138361239 596516437 184838409 641663979 324828167 249403627 121106537 752726957 243911571 5374589 124048501 826884339 597326875 42667953 911823023 178072747 891788037 435868151 988879007 320506633 485346877 698722439 331637467 417426569 327186749 874798435 659687417 648777967 444149247 470540369 573689759 78204485 364743181 146597347 166748021 599563235 959449459 455065713 817197613 896152933 878686665 665178905 227291779 636065709 340835117 278662855 2780729 644646887 45254467 198824743 99679511 428301449 796704315 802300343 354211313 710860879 902841291 775229617 507987363 11652413 923540529 564148257 853968909 291960735 879362355 957850327 948668185 269306121 628748065 700833129 700995513 374459225 611647953 408563513 313674985 610306993 135019933 297888113 806511275 78445439 319145073 179896317 957590279 127299957 21660857 896466585 323684627 119414929 415244393 706949571 587238885 519656729 635049987 130421189 772949411 333399445 386000779 477985197 119754357 130217435 845641615 857714775 970883469 242294281 390793255 677735263 437109287 979773827 398448113 375188015 323739781 250130931 518639889 511455479 850454767 404134989 877467191 752275889 668370619 934698961 171551129 871132955 911830847 873091839 411731445 252637117 890434785 502845607 514662291 106097899 144346633 141403355 767052095 935290295 229017643 373062647 923146575 853446663 504361151 338234273 822830755 513912705 78264903 350816707 667797409 649938069 721635153 944560531 811663669 127829373 383365483 458761357 634601433 950807351 858542131 238395251 351238281 454936203 74833481 960477013 638103499 239770379 375901271 653008005 836040877 2966543 115118095 163884961 71432647 405009333 594629421 624090251 765246007 139237865 50370163 651971951 448539809 920105817 720807083 551796163 803615285 454815869 401272741 631876421 95599017 224983703 126648639 810337525 101098557 914778797 251294809 244017697 843245747 865141391 790398941 247292765 398068317 736432601 392150973 695812487 37743631 127673063 700350965 264089793 7363371 254889445 7012231 161426809 553510545 713395649 86842749 114754913 488746421 357234483 156972519 673971321 386841483 431852987 772808931 829824001 727899537 35141795 81091473 33815945 276150477 974907897 132831003 71121377 54805709 780882329 261319605 298081833 430601385 106744863 648762775 756343493 49137663 176514549 4078597 405907039 836736499 291617357 419320391 628372717 358090805 104727067 569368755 92353193 603488253 450875683 463744927 507954971 766341381 659989229 639227505 248421901 926649493 557298119 269781137 665876115 89362557 745811403 646929523 225961481 727909395 523814363 821619343 520575765 916235059 579952283 635235433 41850017 877368133 75681149 909982603 81383139 783110199 262080953 551931525 243570263 928995199 352760145 569254389 940160705 366819609 353007629 215563131 839791661 413511825 384974459 444365505 270704111 80420847 477861621 20861051 578719653 5364941 268047001 775143265 244919857 294058825 545253971 367253815 264025281 407852295 599038417 385287623 95820231 426126903 754471565 228540385 959425025 294505105 245470915 25027171 963096947 724418127 95444607 930045229 771373163 494575931 180863121 810808873 552130169 477205409 847397265 109550155 145289597 839602519 906328287 483399819 663866521 656637119 322305441 947638509 3272507 249461179 586414027 638171003 195619863 722522297 975232275 123452229 121773095 575183795 764398587 557325161 159158195 897766693 55362761 785116679 580988739 895331093 92507789 539641673 887102127 294071315 229570083 775700579 231859217 964303411 223141671 364413069 985512143 848990741 265506051 487782411 852754067 829956061 707176937 329004327 646192723 643995197 921625039 176187187 925785419 630437223 275093877 824196487 641957887 575796763 752783205 481904265 669570363 439997601 803672301 589384867 823243539 126553029 842553641 497193795 280352739 194427359 837886965 826926569 410072401 416978379 561114363 882645779 301844295 208607217 554656427 969668941 642572541 520297791 402026303 330398759 894938603 727431211 195618741 919440703 389566679 249424819 421886677 100839221 782701773 577609309 569390131 344442035 750876193 123462457 797454627 168348013 992493937 44045531 10218439 464338205 356172959 929342051 910642695 94868099 326744537 334422645 97901203 412323945 537966225 711228483 372655075 440305829 147289735 694900351 279733561 45630735 143584443 934893675 403340699 717774985 602739835 233808587 689430747 586854397 573268061 24026349 517000337 488449887 19703099 868717991 913575197 981400233 990526267 447370331 388982949 152331483 406226631 971751915 842990109 605409023 924335507 58353607 285464125 60520235 66678687 164673253 517132417 338652535 380514861 748608707 288354869 156023045 457540295 897624679 941364073 422515969 671229509 100745569 695959029 503578521 288117697 162752197 180196983 459569421 383694241 587508787 176890203 863426203 944429201 987753681 904851917 360810383 720241795 849573963 661089481 220811323 690745269 984916441 968288271 957704953 558525353 719970107 972357925 33624363 112649263 323525557 494218331 333381691 409442395 866032917 417328589 554058397 847270277 414144691 596770391 912805577 598686293 260383339 738795683 963469891 112757175 36640165 976656419 149027477 999256029 328086095 421678603 125555281 62444357 884662751 205533791 271703057 312992691 73635413 574882023 291214199 502004533 836342067 653081137 294714927 694003483 174740619 825321113 477633257 455431429 39975921 738935611 873496159 568324053 53097861 576378625 322266197 755046073 260222701 312143259 270379157 800292901 166430293 870892675 480157681 537609939 72949623 555846645 550375747 451091147 455429773 546579455 951857773 977506901 584090465 231024493 696515419 37674761 661438017 492836057 726512381 979058369 920777471 645844387 936204365 274217635 570242559 316888307 658483023 199335449 650694435 425652921 877353997 54549465 198735579 776337581 579479961 206998239 615024413 272570193 788805389 426623341 432754279 628270827 250012811 581454355 675965121 604355213 250771519 516329123 641094327 460208399 520568153 726853435 476632159 785166351 457185555 150800187 514580057 154291961 786375091 432393301 399237323 855422459 963821951 57189241 192128609 572849933 663500747 962492389 573215573 208465135 28511217 637107229 390883939 338788395 499819091 566360813 979906513 115553297 583275867 607017067 849742445 725311417 72836221 109534959 213591695 618305793 505188147 958792737 476395795 839955347 564258301 52194797 952406115 911818209 561228647 613313927 899553129 340374049 78932227 359337065 82413725 847612243 823488619 655472985 64389373 921086529 553673281 226311525 613419793 926677625 889593137 831988445 692849637 182888791 815015659 114601057 736512015 254758647 351862059 416422355 947906735 623347011 786631857 242376547 7909483 281850603 586214473 128820863 842342001 840316521 570729413 94533865 647949173 888085755 610381567 719069601 992356025 893349803 211364057 456833015 402492673 162869319 779047487 447903357 544902555 932662889 823039265 825395215 676297567 517772913 32695163 232555219 290355627 111051399 325459533 173057331 301633891 235674011 486038179 639770341 530855415 453372007 695878287 977529829 993889375 594430567 34703915 692001655 379418133 144846569 9146523 417542439 849644067 26079737 249490181 658700233 471108117 239755121 809364895 96827515 705749249 217879023 287538339 90740639 119321223 219523551 411268945 347081185 845671373 362769007 167536373 47848247 208776321 564453015 615348705 567393759 502509015 419499545 750390897 362216281 332832145 373445243 427032579 439705459 544640243 60316175 640628229 735073089 413386701 853957357 961623783 643286561 292077427 68807155 662387491 29144759 600537541 234172365 163409983 671225835 721368615 739278311 382224833 534810615 273818761 981996413 65916477 685237587 468752993 847449231 306716237 784666567 761787311 346274019 50541461 171253595 221147125 922469129 509375931 10081127 915085637 788157789 904785781 494440325 794977589 572040443 865999229 86831771 404937697 999224013 403849109 371292115 320367345 841045637 94562181 85382051 779776659 181300633 944782881 21266629 740663933 345189449 867390531 8664897 123960557 914234013 645435343 513580897 788394409 257693545 774215851 105305273 995435775 27476801 878457805 423572773 991072455 202092423 97618479 552030155 168392031 500462435 286843859 162728471 176817323 124029637 256915649 822134459 620123421 54331751 840317965 96430261 96474791 346084295 809155281 801872969 797269963 473616431 220053809 45846531 528533131 422034349 49704787 555556279 203877241 419510043 369436783 354295683 399171243 330224153 519311289 98932425 932132541 693229069 528827769 697528117 707973079 865927467 19043829 308465087 129476775 994279787 954442881 770943391 942275939 761210251 977476217 844960091 764052169 730218515 542015547 562869185 517276959 567802965 419045941 670154977 626183477 902870889 429713367 7031067 14707039 951454509 844014749 108263955 923065469 294271309 782900487 783942579 666467571 656210487 302104995 623152943 24951729 845434915 175993343 843186183 419747631 601193489 468019127 748166909 55118439 401432779 758586735 257183003 509723107 935049185 181672911 513478841 387129007 787297963 947161225 336736369 347560291 236488519 580686169 810107945 457600795 322306465 157035775 92813835 192445567 18714725 89480265 984798605 640974525 54021135 913611013 810397291 824541835 941835229 423188751 815697321 411956519 149956313 73050955 840841363 585164631 206297811 494154401 326050749 926860907 950296929 435983619 370419203 84193591 708844261 738957421 196534155 489643291 237558151 617810399 877731521 373403901 600952377 628993127 223508311 126707273 722626481 856683027 598353739 103879161 441395055 548144383 100558817 240268167 716146363 675726927 844077223 929244669 339753385 908670251 697005165 593944807 480886285 807846341 411653715 215853405 98392713 616904281 785371835 312577275 733604741 589952553 242060883 187870953 38061617 233214077 998280973 614584533 440462213 709704617 448593705 253842421 977491267 993817097 831191591 394800647 162378995 32248571 57681367 789418067 954162915 982902765 195172169 402329765 163674925 997518161 751565789 251475539 608862895 783211421 571115063 639952701 616593429 467637337 168862017 285167303 599497933 194244363 897790769 276145379 473360399 583204425 752650371 727482627 876061149 100108969 333754105 771020585 13204477 691065809 493012643 798838489 99643137 507863401 270408915 74510881 203061057 898809891 452120869 315760793 597537755 406674619 979727999 348408413 506710459 147757811 956623883 958323991 716108431 903707795 465854529 179920625 919745487 337355377 465944537 304555427 647677371 857681763 181241559 760333163 552158301 454232911 863540109 49311759 345182341 770983453 524594569 786443743 497314505 960088767 155637929 820347567 425781387 449248305 988256275 424916191 217838837 548132981 860206387 585193045 434903539 474960787 775544509 68866943 657497921 583922849 811238315 514690129 204457821 234178229 385131587 41826125 830249105 234885621 275493137 117822071 478052331 369975433 264386539 922383965 43088455 356438947 630968555 914713367 520448833 93189247 321878901 781119297 148379203 331811167 67419959 838474501 505052541 524434061 742091557 796138253 190163689 899095385 726904441 921091473 958245701 462166817 342657979 307736399 984745241 914718275 816970163 137360015 330987961 17656621 580295801 159339035 410459193 8179025 470306407 966315087 229551225 24482343 492179235 762159621 842014757 565983283 218225303 461577125 255658411 565771773 307133433 754831899 134663493 785381659 457675461 692564449 648542193 959197475 581001663 743657459 345304183 716967611 362180595 664667863 903714921 898430603 691222453 311398811 774761759 764185671 757108641 769243863 937005239 572548519 222267805 519937447 187499805 134749551 461766101 904661173 430468863 798085735 474107323 182092587 447441621 26033765 940535565 327407553 797412321 483191615 152906447 705804213 962754345 249784283 98176077 10502607 7247485 17856289 932265501 57461595 644688761 786174725 981938455 717966639 599498361 741498751 8710501 509888171 420503465 69307795 927367021 240317109 693862391 861958217 958915817 789815995 490946587 874127799 549463505 965115315 890243477 483651571 341706093 512757017 949320623 310370339 589414725 917236215 397466743 492852079 240850993 30823899 171636681 555168267 39998795 73220569 36320321 757782063 4918519 448151439 992898633 870341919 309123555 853835303 408319763 196542499 818266627 457729867 160363923 999047057 881114003 149435443 749310861 646915009 856869911 957920415 602478729 668028437 375907673 609833425 638451413 530363383 252108401 347723675 608444557 276863961 29483195 867281747 751538829 795928121 142885079 685718229 32872831 868336275 827418551 544779145 359443155 157429367 729437067 525447517 671698881 75352181 256426705 271738821 625932363 96733989 628520781 874083523 475820601 879462445 864826635 562942939 375874073 277375285 556927839 30792989 810659909 133361393 776666597 9304093 810752987 505106969 977411459 204763899 166902727 465511025 5431653 597194075 531302327 182715331 366441981 4068205 736710949 808830177 577722891 133119209 141993037 90159779 853237647 478060041 676752699 590345967 981990103 181861015 742952127 940285357 726808441 594840799 212909425 562889169 433298767 60695223 213152433 441410643 335400829 336583295 599038373 456085303 438736241 174641693 345185857 488753287 93763549 769701887 30422075 915229013 262355393 648085531 993122837 418192057 7606621 638703 713190421 141514969 632317249 119506049 639869259 622865887 651481407 758628705 830608531 431078137 535277427 369694115 841460617 178322279 102844739 824201191 91658647 299225959 491355737 908040785 832962287 640260931 90347435 444570001 788167047 116180561 27502707 446712799 501243935 191154665 947363129 864291829 32615745 530998893 349188807 678984221 31272507 38583879 584846641 783619875 136916009 58516715 697683157 447844703 129580263 137012689 664121683 611722669 56805919 888540029 496514205 40304245 454602817 883320441 91534307 109049509 841948039 709995095 203758243 538283187 655511279 809078447 926968225 693065117 361064769 787891751 457540073 487289833 486903313 926447465 61367249 824778407 154821811 173878307 542672369 545652331 955297097 787187733 318082099 706873429 875591611 255289853 283986621 794259721 163975865 515416743 806517001 324366265 547097275 293973475 11330255 781769495 737162499 689837455 600221975 178749541 717640855 987722891 393609513 259734629 158520137 553330627 72786333 358809195 483844785 699229989 217655629 965792583 818294063 78482609 715221597 640737885 908190441 496666469 918331707 658879119 545169619 940039245 339697563 496063821 668888485 617850235 83626361 262927757 818725595 313959687 941310999 931990221 457028545 33380887 45775621 545950739 709506663 792056789 23685397 25475823 960079525 277144177 969477475 830687349 120944921 689510949 427759701 710238789 987089967 800466485 126826133 256755587 278076179 126211051 665383961 962974177 910297281 516101017 541608733 742805137 109583609 408017817 592222501 37808981 442787649 742786893 224048637 260223857 612368873 30776351 929289401 85966515 225514253 302153859 265467063 595783795 786519945 369768179 684173977 606581389 14006791 734341871 48860491 968983145 474784249 1740803 890366213 432989173 257767059 939129537 668009023 262903463 315364313 798407617 717514431 217362557 521020819 668095147 463425169 499798783 568861777 912400163 700637451 363628089 358838889 939270111 695455687 547770305 552029949 199843735 140236201 719223223 833075445 327716367 422514143 533273535 216578561 873587985 371887323 852998155 547245979 749120367 754499933 647914061 363444225 821922307 649090405 832694471 861486395 983296175 123365699 233993533 147023899 564551519 662075017 492336637 610807097 97310467 234419987 836374751 515016693 92992661 43812869 154182721 618656631 331796507 824469709 218719239 998786479 362847643 105861663 551198369 513479253 827428391 182075639 517046789 142277611 712226013 120909209 949964465 511719095 486299103 957940369 714564781 221504971 198294355 755971507 338712195 108234239 942722159 644943131 642968143 995243249 512727661 114355247 846976683 700324365 123744141 988255385 985493439 716119425 352672795 825532241 751194167 593154885 932809065 469180815 509254221 745419801 270750417 506706905 981449403 211473031 72569525 968272635 453145035 280100831 77762945 542580489 957915723 97953593 797595301 26406497 993329807 374058099 28617627 249432741 121774453 58240823 844945127 691333571 98029925 572699127 773516051 82403053 61108047 685872873 248999345 843496865 84565413 383812877 670146139 281002661 291392871 542802221 449776053 91064065 20585245 674823383 318960229 751557901 557596625 251912039 631510561 202387811 794583583 64539385 551511715 203265511 954965793 76728183 933393067 794057927 223232895 782088593 612542213 803163511 880113253 826510785 760579971 370524081 635718285 738262853 417753087 408338557 747627827 4825895 549938013 242070309 368179997 947749173 812073091 242658365 944208281 361242889 239724903 576251553 969424767 800088323 347604995 494215285 273105453 333104459 495166807 908616233 737258119 10013393 578014831 9644397 354849789 155300943 683951965 411776063 684495749 89871169 129813051 695831523 785693343 525672693 895496749 204696035 702325325 582532983 565016153 99873561 595409441 449441953 114958583 538748059 743453489 786567953 208272443 251136721 375261977 81007923 816613227 435862119 871924481 695340597 847499219 916587855 737755285 532956431 780821441 756374471 990345487 965972867 901992849 49858387 322320939 798455575 921085093 901541825 689139503 360382493 29787241 879564321 596898283 8173229 345408333 27130323 476902835 860116389 750683085 54590841 944413797 336593841 142877545 235495937 540014443 18582589 204691885 553074591 894251695 927726213 358022443 749631181 127542697 789087369 615404671 449555793 398322777 559119887 218743623 346263865 238742593 260427687 886202673 673585623 625322867 969739693 467220717 307554503 84526981 18337597 687050037 439408365 558401683 203077953 782145999 891854711 64707653 687168363 66908801 976898265 718315721 802450225 385182239 182396367 853244883 372226259 997367171 514154589 983624101 814851673 340283537 492117709 647499781 197409431 374277937 310991543 735372093 203211297 701155413 177470967 606119719 848362073 648901879 747066287 929395745 608357991 154423581 925825867 942503951 773167165 549612237 249705857 343191907 181040015 501456667 661887309 125733391 897456353 837047587 396026611 608101011 741986427 782180611 605933823 214482167 411680107 883030761 408222535 380962759 996377227 797258757 778150883 597163803 839891835 52292499 589974587 77085071 346908577 985267667 329110011 63175499 776070449 386332433 860480021 493698301 434436131 822546081 438659017 271510747 552800053 374947801 727958423 418784675 763786991 639082269 884339789 233967003 204766883 699839705 121581057 113726867 273475945 689392253 305671437 618009055 611416351 104954245 572185365 836617565 520041841 974626419 5092871 913768567 103789773 663582159 766956823 368214551 109980011 290331437 429745089 263864503 470747211 70204457 546324167 27957585 479365687 506473825 239926585 180744815 862067391 38551427 48563049 34465053 755685691 240490047 503755251 995423219 502542793 230429009 654263483 523195405 667293269 190642553 107288561 357476883 432799627 968849285 333727493 771954483 603779559 417512771 24540085 510025251 3291815 241359503 217271043 943033889 839990997 87758413 587858495 382045171 588483137 262169445 18610171 760994025 647046785 968502729 335591701 752848855 332906999 833862005 281935791 230906909 863781579 538421611 735395893 928021663 800158191 555777715 523399263 448183503 361869849 957819745 36525093 748903839 971980489 779433361 782008013 794594961 559490375 93023329 459082723 344436393 967710119 497883391 725081147 739782005 678347709 199594907 976232691 299651597 923088427 549276273 795263599 972777485 834756953 542812867 285792087 637763741 504495735 514135513 490909093 541103467 314582653 381289993 263003537 851187117 203271469 851960233 802538147 582500641 338758671 806956063 888924323 676148495 891847025 463057 836578473 2913601 154023789 464476727 233129487 842857747 891797729 872811719 33634681 964538461 913142905 179041283 739648983 123227787 297451427 682824057 468285783 956308873 43330455 403774391 623608443 192530635 646915671 765804379 114000133 138908243 177632169 180417539 460562175 581791653 598570015 488889693 418924481 211252431 440134673 783268891 671083239 945622377 179804317 790826227 176089427 283197327 151959215 584960429 439442481 893405929 203321333 80168465 408052727 366291877 858250215 302547183 919221089 96928633 333431493 889341219 424254067 302081189 330036889 376382609 104132985 824730347 629979699 676681505 975072775 971214493 945872937 570428359 241002491 420447631 665129437 33195387 16700535 548821537 232774777 30615103 729894633 683502649 442022377 838902305 906266627 439231043 584160745 305993263 495022787 369574969 189987063 578538375 875190639 528263831 363690845 549976647 667764367 744571747 103872041 382228637 417854969 865880363 92134967 608964027 684138955 166048775 707174691 910521561 23932265 235420819 718835799 71573049 303329405 145204471 439772675 853716521 908297723 873735139 447174177 898055159 964149539 658892681 309411695 215741185 579939445 787979433 255957621 706839975 958038209 968255369 106751623 396881491 660662809 654276857 120072889 317226103 873409241 971081551 894469867 408652687 977883815 281315687 592617161 797772829 460675437 818710951 398342337 267902123 91022945 238654721 453600525 200120521 974410495 950231017 188193963 156842005 587331081 405975899 775010403 332534061 402289295 185294817 429394887 394328255 30386403 991839881 791192623 352220285 16673187 81648103 654191545 226848799 436701361 992966937 308880465 697645161 528237113 784727753 548867749 860576803 588807091 508269601 862593837 153726755 510714071 428338649 720107819 131929409 757755563 848182575 604924325 880004445 596775547 861880043 108719213 691116645 846045915 729112153 334836505 375953483 764846761 273497167 352736781 459222791 796824583 950930477 582622573 186246045 56319843 975147737 810593325 323332373 594729073 701142977 107676931 991939461 400576811 360037849 128699247 19500805 57236695 361585827 645500091 590906549 741793027 114647843 681865461 494681541 904032383 471650537 41602041 218556513 920761963 270674185 876002915 114387655 737423147 345727777 293277853 730587705 77220201 665375835 425512409 736952321 765988635 436397153 428168459 613976687 98917499 217020011 640337911 138657761 693612817 382133815 218696741 850513847 846058151 864975629 671714787 334254427 804567633 149858489 106270541 136035649 272781675 608613523 188228415 168686049 361983643 254702199 150037091 595030207 24565963 636154317 723788329 998689635 468406833 560517249 511422409 865555043 532216137 229794829 653812549 334855255 620606423 732645997 168385125 270253281 334779367 913709351 785856951 278764971 269126349 830177867 43482005 62886247 365149735 920233837 333501213 82824915 921144023 486483627 358053691 209746347 510712843 653837231 361267613 149241279 290286645 65490595 975399357 923789791 502481427 429145407 637553623 108178149 385681833 412431811 796533241 994411697 524286789 732706289 286389997 278259507 405405815 161404443 381807953 277784407 173712159 331725335 702025859 447164957 265817183 699951169 743804329 664828801 805005733 763883137 165354167 238442899 813583269 985857861 597827939 917078371 723329369 768923779 296216111 332439563 290326793 4308153 342899041 198761901 156913983 833023981 517613577 439042163 804827597 78313135 366862083 119605649 361647827 557612819 845737451 68088895 949964725 475881399 399319595 57666753 161946141 449667781 129388533 265040737 652309249 415381223 31097663 759229807 493310877 179556439 908093641 722994761 10726517 664288207 431584541 750982223 829200469 775496089 324030345 579339243 418530129 467006593 598133545 281327761 409556933 763847903 381817817 601240505 381221719 516364175 340239683 519748071 441046001 667429113 451328983 688673189 422887627 364931595 661406159 541277317 190257501 831545147 794200105 4181537 769208429 80256903 339846061 627942171 35367687 356039541 281565679 673146397 224604031 180077075 139150403 215400155 628945011 108201467 147846859 981680909 337635781 378688069 28302703 971088759 413019555 435346333 838780127 243113187 669852543 758068525 302563731 395733795 947621657 946725807 472801997 48409105 611128177 398394973 816437139 333875343 34825687 190214657 822108087 762618759 132436187 380493287 415522513 979304685 313399645 20333799 448219457 294236345 625998721 473798749 99928367 527861743 649884593 26378545 664278409 77348249 318570401 241613009 15089421 876353993 896650577 612539955 149588277 543154841 768233987 313521877 338368333 712667435 105644353 606845887 66713957 676416169 671920611 246112891 327230293 498445127 850603269 490015269 335826363 223855421 938123015 557937749 287608579 969390543 510579867 349123127 342623321 155744839 680506289 878728567 71150265 672646903 292843143 212467017 201815011 381337657 536650399 187439471 489058653 740830575 314418633 21699373 39638903 519977477 757984537 975806545 264159309 305028713 774981095 512002609 690652347 67549467 409757403 844692655 101176683 432326553 383892193 699575597 336419791 324700527 646510123 979695003 143671579 591622959 958193975 253233519 329825109 916124019 619154377 127224487 158743103 213261789 746876911 971808971 950771823 433029655 356936441 873022437 427497017 148643541 38494855 431499153 241134783 582764753 207503227 784071657 616643305 378086347 620734211 573141651 42003559 128011663 680032659 346647489 190823091 910442735 940345317 731980581 130683915 712277701 333658625 731783425 157958263 874867443 248507439 810615577 302099657 341071715 964443655 990046651 438214553 335350537 724640611 487559871 612635719 830616799 237473129 204679809 237918715 590415077 199187331 986130667 876324005 605052711 662723687 92299879 103396349 309075127 30146321 624823021 957125253 831979183 223960515 234297083 20822147 615803185 216749837 651027607 457577225 483925607 89885889 523991633 517758191 199330181 989630205 452012607 208095187 424052165 522212129 454657277 576914209 198288743 635691231 616492721 961912071 878073015 977138983 845519885 831537533 493193479 543434551 394722117 715358019 914900401 699379091 286164757 358197475 24326935 239543559 418173383 479344557 755029413 915440041 651201577 204097721 710447307 202404817 41195661 917853157 801349123 778576167 472440279 713933531 745780179 209895319 906279017 294216205 6728385 649699413 1206067 463278513 465483873 850645723 588498603 61775047 374533197 197161967 369696209 578743833 861324071 168579231 537277223 420086069 370693531 599326523 800611263 135290231 496668505 921080419 524752943 579074299 273322011 114340347 897573267 398348715 706367141 827646509 823326865 236425271 648567747 358082669 384130139 656781081 578807619 53153915 485410725 779531151 328520961 757970263 612181933 605719203 923809759 966955089 743277881 18542627 520043209 314833403 980444567 203945385 183154095 910331697 586600863 5257109 37386891 258389529 881147567 238463503 899598945 124098333 171940779 47780871 771972157 580207603 639519235 302777399 649615917 97677975 345591981 507947035 833263693 312689741 509234473 996047105 37973439 14749857 988625017 449250549 723625391 384856679 900942895 200971217 332447821 636356797 245260129 388419123 645994451 836098053 968542635 834137223 796296583 457478891 505207861 306097659 457346735 783620455 276837547 516622727 938809759 71795121 125793863 267943149 836225201 765622607 488461509 515525555 524666185 314292237 734378347 81318443 324570317 890658049 671965191 461445229 652788659 788955523 214378993 455135575 967356021 227731517 137935623 333299093 877979795 60401685 866832557 467976339 239158169 914016581 500560085 998237069 225990683 76100677 688659697 60663427 80925871 969762013 601793793 680897339 751366393 705355541 357560461 207077957 954764965 255634501 223077281 375805437 1565283 571286023 622994901 940139903 357402863 265942337 994579269 337388469 409372169 566328605 921597849 531796049 927327613 904313873 524201725 676469961 530885661 660426967 571807019 413997405 397012677 335415671 50881631 14484503 107148627 962860603 960775263 19893701 277299125 644080823 353977723 398472449 621979355 284320455 465548679 823702827 940199361 295128977 856625891 956538219 306422375 431128193 607709043 14905267 441561305 473823817 780143015 357365175 994790955 689090535 42220407 240638971 797171571 879020959 88530781 574208199 124382933 221178365 551489891 653463337 405324413 284636885 303442965 316793851 965392795 918213189 762337675 663640285 505404267 805666735 251904097 575196981 253484589 225442497 388997311 800383289 218778159 405890669 24551251 799679195 356737727 204014065 628225105 544276703 986230585 834781139 164159611 109694411 497118209 889838299 942031383 540454129 9376637 120334623 259794927 279867241 589340965 112445181 740169821 581408017 584713837 34999833 675017791 338466197 748196317 220164189 205511675 22078307 229434875 509206781 65725565 433673907 731269213 558446457 152791613 878750341 298403993 836035219 564912699 911980963 509180243 439694677 225342203 541293981 739247415 333002775 949159819 540814795 520725493 722204019 501410947 196981835 37786441 333399375 969643775 315737353 957449205 668527573 104774567 721223857 57115841 4792955 862105513 425471935 795395969 15862525 236270523 34040177 656512017 720939103 521954075 50963665 962176847 920620013 659026575 461588911 232777769 879722043 637341543 680538529 691309711 254871077 567389815 464321801 724645501 931986897 558960927 348892689 945148661 318395819 844685891 103265701 620509951 655132517 68621653 785713793 367190191 977961213 349898055 414083107 188650529 288706999 420427163 982856659 85963891 402996001 899746645 782899109 603119827 848523787 518010371 772110701 312074611 927807381 834881213 824398285 905709707 191000609 567625503 33947949 987339101 748578909 283419217 641932989 256013109 673921595 361887745 343534965 682231911 885176827 846088037 93663511 207611721 144456477 336901691 269119275 676645697 157644145 805928393 338050047 202271159 708296711 411190239 427672493 859484957 64789567 909515729 403407123 483929583 657029309 671373695 410472157 819277231 528295019 283937359 717779065 529196005 14871423 621675053 618114335 812535077 738138229 415977619 47373521 327997451 383147279 989011325 333659477 395130933 749628765 453124719 304005437 45958993 859417777 787458429 917635297 659840529 83267751 963734073 873221983 382842157 809947685 669113537 305094051 460038759 393820247 981258941 742453595 836813197 799090607 645081691 209629183 180989805 22280939 696716113 954332111 296784101 977046543 362391517 281176789 46725587 634278247 557669319 606043617 726030373 586297991 172084571 990395785 564005581 81833803 348594799 609558319 210823363 132200667 62280035 386685437 361950217 609794717 938258461 186220511 399378093 606900043 974293769 341191313 153245117 43411933 239379489 98420369 336732247 198458009 460247007 554949673 978217627 793608203 161540173 411074153 419245747 279288329 438590457 791467047 783044561 626521773 394489077 675055365 406821169 955154779 869173733 272758891 563033365 833448385 443946219 852860553 30990789 713295571 443823287 680955737 932090519 942699979 196712319 202239385 150795489 46351153 1704963 554221009 678044425 891263951 164467333 221164885 926198647 734026167 36919767 532563257 413208479 599485771 910243917 846659933 726864121 617873449 981032135 735281517 926815239 386416193 757872043 116297175 43309399 650010311 918778343 734313685 395485303 28340535 250991087 289068901 143787781 151458389 740228805 365175375 526203297 118938925 260080877 156863269 760562421 924999187 514181495 662015295 149828275 922035619 243271925 996723387 539537559 172763075 857989259 384069509 914833251 891780255 139045083 856848971 76868065 42075049 100648725 953437061 215111137 503997599 93545457 135998581 805844289 481302149 201135273 613658657 359154913 381443239 248985605 241755739 558911403 385344923 72431957 370823865 754174353 327999547 491238767 841100191 959666319 316277419 515132847 704783153 727029159 611275097 480201981 138047075 592857571 439240695 324590277 431970283 553696083 180407939 109487617 722808649 886774293 94661699 131675693 678523335 392690505 813509823 323484239 24439155 430289945 479971023 810132981 926106665 336196279 384120717 362142775 811650693 556868961 434101085 179300019 303017201 164632403 145594607 716665997 149800095 664392157 431823921 547204983 684962435 659909967 11903333 177808035 970411617 767471617 48444941 507913169 736267713 98371929 695502835 349638729 885055729 525701823 585284655 601395671 797212173 23227047 242331677 853287377 83624945 219880329 629495389 22962711 331273031 929335017 561602017 729975311 108495231 670134865 92265177 154988455 110350289 421083217 488327619 77706837 296412223 364907399 780366435 613902359 330219665 133311379 727977157 385202291 874522965 306338847 512055869 555584375 286527717 939336671 173882983 823037627 707600481 921458059 11615787 672167517 550167215 215927527 269493423 658213379 991055235 713775547 342258797 788191193 472416853 615201501 284263453 898825111 443927393 302583077 976655301 221523325 487478453 278101621 719315889 729359181 323567387 894037175 834890103 916761433 486887217 697179871 167623921 161198455 17692757 295269349 173087043 421901827 731302829 212431309 434430939 889128165 100289325 458361505 203278701 332147851 51737739 612480369 607534835 325833963 818113097 827573595 745625267 215294083 769579181 576590975 19070779 940213081 850660551 130397959 916189277 494939643 984681843 956121127 995938869 717496961 792731725 850914071 866410537 211338633 964624575 73561115 30562787 759439673 82486011 515649405 543647833 249732669 107551479 680699535 918961863 59828941 953120627 209051305 993976751 825544105 446674169 553098801 586426337 476586773 760170199 786538385 326002543 551701983 454516777 123190327 253219511 644917341 173953739 289601955 43122523 261318513 620211303 49068627 923044167 878458749 574104429 891458769 469769137 353655663 809560087 463493811 993427477 142083009 911888227 735782289 109848375 882325359 278837273 944250381 614572579 884216577 883364813 771955409 33806127 236241281 830514131 793716113 991534837 556254089 249181261 910208005 370533209 327992375 530876195 247209713 164304007 8501809 354047237 943870239 812872695 109679267 430939243 886785121 767049057 285950023 159262871 66448529 221627341 207366743 702295695 852927633 296670339 757239197 153421349 14664523 79638555 158556005 986560753 100342963 719052143 409179783 316428115 563973313 890058403 361391711 397163379 84549753 493043749 907916245 385354303 927107813 798644649 106415703 447070325 759703063 219613995 161453787 274215823 883356201 339268077 750493407 658048729 502079549 411947391 244960617 927910499 128330621 325689011 444663305 683440133 952707101 895889061 941196243 770578013 781275223 924710331 199262823 234521047 479697259 531088031 599585003 896060319 73254053 66669383 670080267 510404785 337228885 100008943 645851137 962782413 766415065 832135707 868876679 278543225 870153617 120902551 923852007 593930501 705484777 977689463 580929519 510289805 909223505 132604697 285342193 637237229 166519619 406929695 844810449 768909519 300096579 584882293 687282161 330510245 294025947 79736147 465068865 759191459 650868637 41864241 968402999 108927695 706141475 651665109 465578705 318277355 681127695 60883275 102473877 279569549 83183885 247012073 129745811 791682057 884954059 554384201 785083743 96662145 444457993 244343631 660975641 939439325 909474693 530806825 451220839 349763789 412233227 430717001 986968951 803504075 775710829 875905135 41390589 688957461 34877317 510956187 906938683 169201075 873009973 434750749 195690229 199604599 915512681 191748487 373788537 748114425 942941455 302028725 930596511 542156441 884318503 582207691 157660867 227701887 902069679 844745271 286151117 162850203 64511667 734241453 713907755 681142693 388283205 725395241 975787989 672640799 403198079 704280047 583233349 390735951 87427203 821147019 569550979 847557191 310144893 846999505 659906079 65327583 344978077 455948509 863006765 100098741 307846429 824488469 26339661 499945013 619951425 259327779 67155365 608513165 372972883 142682367 269950947 155197877 251756197 771967713 640349243 925570669 220613265 847370063 44209007 805628735 126074235 36863765 502428099 321191291 549701065 307313735 944850437 212689465 538759409 884840771 629473421 538596695 962664557 737524651 598556729 365642367 410907325 814587757 395826541 456339491 476148845 968470459 665941785 621750393 786737423 58494995 377351091 10870401 218896445 357390651 820951611 650031877 742801049 266796603 282957107 152705427 540733647 929279851 759224749 263797639 681095823 770780517 871198269 49611517 789748627 884187661 167973379 639729631 691395745 153341329 687665573 876593885 871916671 358861157 724109393 413460593 166610689 124139843 583655613 334688217 416442881 864503347 659947557 159875615 729160801 854011263 660804435 857514257 933099789 890308027 723088789 743307849 826023413 239752643 195112383 877439527 217221907 162596285 340413743 430926547 275847021 2110483 28395215 953117501 549540873 289150587 136026121 180598303 585831675 389359857 625635797 543863541 771090525 311008953 587200433 700747533 206053201 921991007 283259045 831605363 77540611 172189111 590359613 140250369 136479139 644496093 131246479 678720853 37966189 574140215 386923579 634986459 630649249 506553713 600894823 52859329 40024459 88586621 710359233 343487999 256738173 70243737 699523455 572892759 851903953 10087753 830755167 982475855 379660267 534717019 277667239 151605305 549094193 320833503 872870949 411957805 991071259 505685301 327560753 62317321 292907293 110769919 341644713 223088505 671641535 133617707 579790833 317686505 781360007 711095533 179543801 103524501 818551049 492100543 956330041 231740541 263924447 269486183 873651627 422217831 222954155 127883507 436739801 713495779 282418713 570535605 375292367 688413773 277982169 295217993 76161571 89139137 290218663 441679763 435326965 723036713 140729411 465235137 501151979 576535863 164980859 932468039 366193971 924856929 22647837 415986657 142274179 763174375 760145413 957963923 130302233 647366099 851693589 827759015 10982075 647602419 953612857 61092535 360921529 737016801 212528481 826625945 86902759 722531837 945986697 623741301 924729763 118675055 791467953 310471605 906682583 654342441 273688295 471342863 2713581 317333471 213866297 571328127 225033437 930132245 405940163 108779593 304956967 786334483 566908073 935741177 554463695 783910631 468364817 693595749 84478051 885962091 398742321 778040485 254961657 187397695 285782339 845425953 444793651 863781577 934383241 142497669 151834675 604765503 119135051 215631557 645535655 376312211 892261085 201480731 952831433 842417289 181555865 156525581 670066005 195635367 638834403 65223527 277944465 763668287 392861731 479217215 259507277 30738281 616805323 84728559 773090525 740269827 174303575 678971163 978747169 967377849 736147271 336378033 150304637 910663161 26039337 494132453 755055331 466189819 856644491 897963827 450563525 415854271 264033033 41057373 597701413 149567759 610610503 535772019 814190983 783099515 180729067 621297351 169058297 623786587 417324973 390642933 920280849 759960781 565662531 573018593 69573105 549355965 992083055 816926139 424391995 525786071 412288509 913091059 819864607 421562263 607562177 475632711 979841361 766943291 93104529 362987961 342263317 494992077 862291539 780239257 318930731 359094045 325542125 536293497 975194083 264019649 666521943 130308919 195102999 915651611 526488967 14402037 699737119 476558677 216231551 689721119 896810471 404864347 843540811 427743853 158287323 997544681 778269695 265179607 564357359 232712061 761568945 799153827 94671525 592302687 124539015 49590365 649246719 119348131 626929321 536965595 259935889 887438109 759679817 530257973 801871723 149086575 713400995 443788757 174816305 137439489 793796087 545174369 740976645 795698435 441540243 678435027 740115095 774458477 378927301 511963235 80428829 66981121 709400811 578683801 597252949 641477703 492753507 900470333 674526853 820225677 612443803 21143399 151891581 243057645 819531779 353151601 744821905 172274501 495524631 883885055 630551713 278212929 220952409 411895553 235198483 390193999 490376273 220941221 188212435 476483751 377319573 504590957 731732059 347511627 398547131 655331099 283173541 781832449 319815785 838539707 742294331 996193883 926296391 115748257 649941547 386024369 778042887 407809129 224783111 78781985 425052005 46997241 228013555 927257751 978895139 779699323 242062481 244664001 12617481 45470053 133835025 205958679 673690093 915621491 640290089 93499097 483380389 906031529 405057815 267438865 771952407 236308307 830376099 785764751 518018347 186134789 248536087 63163625 323512275 641019549 403743055 742905985 836990987 52728125 991153317 73373569 180700629 832256595 101786111 421382101 488275769 836223633 104643023 72681273 190055245 900908277 221790727 74192427 335751975 913371077 905060649 459312373 378576109 347372425 982607161 335671463 332805831 459024409 992908485 6025239 104097767 333020045 430620645 399953639 160055177 446047055 440385847 586284159 107610607 312207623 500582111 230346511 359524707 267113385 900220301 108521617 336444725 907607157 765411191 393692611 356150467 322925035 918288219 187612973 290790507 494495963 473049473 342386723 950299291 912673623 912452789 286306233 373306565 494819259 405899597 255410129 699295329 184346541 230958633 128102929 995713011 193117463 187154351 199558383 98238979 646400815 672007373 995252381 600658983 887111537 958879223 71500831 741001717 466944671 328320559 694743099 612197395 311031241 418552825 597004419 663905065 39625537 805689443 288321615 496018667 153166757 369124869 215848893 193135889 395189975 866987005 584204985 611389533 482211587 829011695 167042545 214519709 979203489 637470731 691725277 231768223 440822889 110684679 436284863 869142337 769898081 479740451 880944285 792968803 33554133 374127393 879583817 941830895 886621273 977029203 564870745 102571735 802103243 29440143 47982897 657496601 905101133 18361649 330531061 368496049 655222605 229407521 469271705 870753967 941748095 539975115 629006547 432742179 21922781 622688297 376814883 652141861 803310509 509484983 133803219 544563675 279879805 717433723 630560753 942348397 848364829 318212355 761506393 873182479 684917421 917890407 378934951 223001593 344112529 676749893 579219269 623637615 779700339 743462081 97339237 141424569 886636873 384041099 648202747 493178413 14865999 292786395 166883533 122620963 53168903 993984363 442180957 263038715 251319617 900367237 326572545 479522853 275393551 175852789 469388493 354268685 916083917 64619793 774835875 229498161 148772385 441489849 944157227 773147923 315622133 294144595 692576469 706735421 113574271 164577485 798468569 600218177 344205371 748355741 713229113 28945591 980787437 950013889 450777277 581901381 214223265 537074623 823144179 296229011 399510443 104152229 940445237 823323733 92832425 862851083 214424995 853270595 243689853 953989647 234955811 749321761 642743125 741081173 511693161 263939001 48477347 401181455 160353517 293623771 943949349 189109743 973402859 67706725 332832223 369128245 372215153 978302519 58961439 353039529 947771721 787634235 271266933 250963607 472034577 152553061 848239297 956078807 182711335 310900141 74668069 647913925 384364977 796819991 830193167 464495945 664641443 208023981 280993587 128580561 536243123 655746431 188642957 688875857 813827683 149689515 402256991 460760139 107882489 843521361 742304057 285149381 224322437 908450715 305455851 890584905 299849187 585145021 842736023 560315889 957792431 985147887 892234395 198646107 503457109 477496181 42084775 13304235 340078593 456120729 284456879 990741395 473775791 206795181 660086255 899287877 323998749 97883403 547435755 916407171 505579221 399807509 397173615 939375247 837019685 184741685 888981903 822760251 3666217 780901855 65916327 363337181 94379965 332341131 832087901 686552913 335712651 339235005 960309405 811683327 631040259 47735807 295511705 251512533 996335199 244547809 880914127 432903753 428395677 815809793 432897539 620922713 337879175 871169279 814187329 260572299 632353707 225671 144500445 210985199 590397283 238797383 439067509 705333529 879324623 955803903 40735979 306768937 743357143 259428973 57590637 144928453 651062059 495827293 510411887 578083865 484874563 958652831 759852971 485557469 299211873 297068817 808781351 850425425 557651851 771117203 991601969 282733369 105042067 648133905 320142169 753436899 599114001 655031929 727113087 90065447 757014885 892295371 554984391 479121505 104207287 484718341 220350619 546336377 91379957 381014067 68311471 841634269 950141917 251821157 895034115 318892931 477748201 140467641 173686745 519297769 330651237 691738447 397822907 804814613 788917601 919126099 873726337 353460631 384168117 15090421 540046407 574625155 611057919 328714607 97961581 961068153 44154539 372482821 753290405 734859679 565122789 930722049 374093023 520851617 655069353 875216309 929759577 423561401 529388983 502327675 269705623 800211361 868034453 461547445 749419875 683609251 613790355 21480397 269538263 545684363 222342349 632110135 25840201 978091441 594605855 476348267 938407777 997672689 605940275 511921903 280654347 109556917 405871995 975257159 804147833 224182503 493677611 606371851 926343465 802572543 632300617 899935955 89060833 853493499 959394199 646237249 524920489 110670945 925434027 720667137 525947607 851956033 902369241 868037315 12585481 384883503 690434627 317701441 527031073 62753867 302213841 896700223 702608717 597755963 571662643 164200583 979227905 541694251 736982243 686193131 761928951 813030101 911833119 773987909 477591863 171767155 116814063 164797303 122765321 151334095 872573989 57694061 300508933 383427383 443104857 122905879 228958213 443794047 837743851 339152751 275343407 278221573 981808899 374752889 784969453 691237041 202183825 782663743 878166261 915899889 330557773 958598099 140465987 709805243 203062713 133257807 291136537 952591759 915981339 341035477 875545095 314210927 207840645 118665873 416491743 107887597 25948367 494503859 448483519 236219421 536537495 442591349 881367305 619517855 835487049 219833117 205071721 923494553 73550355 200892401 192956629 486707639 80635373 424123461 280214665 177510195 842573207 465616755 540749577 54126025 931134363 369952733 956671265 692196799 773286217 917048301 420423911 222888931 591273401 589908247 919997619 141026445 534232265 163452629 529700397 400343195 812097571 292994471 394556737 303935089 207955513 507639833 880890659 941157631 580765505 142456765 85391181 995026619 60984379 614137389 716015749 646166691 626058737 169195021 405776345 36310847 323313649 306945539 336692633 660189083 597890967 814249925 320879717 640405069 787651327 73761037 418179617 919176309 681560595 654189723 631668471 558030521 344393093 160728379 421108827 637656647 248172489 425066175 574236173 855802323 785896483 105977089 524102927 495423647 149216667 473639139 963969195 41657199 827311615 270291793 766820729 52711315 183539945 110833211 976631379 932563423 400029881 301777309 894680927 416443313 403712407 462543479 315194119 780549105 809519731 110941141 954546945 475915791 312794631 826336201 599656777 343916285 252564433 680794733 99483427 116115003 254869273 519025893 530389019 930747089 815353329 218218583 230989573 755731531 272925233 21829881 707429119 501359039 834293367 342094085 936469099 828604109 400396591 899487675 189315573 484676251 691016071 99757671 833060757 291432663 150112375 399462237 317346179 963483319 197594049 888106739 504991045 58254839 247061739 927437965 369249447 925354467 209275975 78176151 141673151 65122883 298016749 587179649 684952805 178223217 940441275 537006535 556357571 74933835 894183261 826787561 272874561 966922549 636146495 896837491 157387411 86405407 411781021 873480695 396944185 743817601 752264823 716007183 332294131 286319189 973048211 687406687 272044239 686120229 389094273 976127373 81896227 209304061 497119901 656568657 428681353 708779635 276391939 736864863 551418343 704042663 381417629 292699263 787750503 694894655 903377949 107237239 177414271 72276329 480201209 962503195 580535019 921149403 131531889 780583749 259304877 985165779 644647311 392215769 587734805 569274647 54205985 182076605 808994485 376451573 111517377 85690857 435537513 577659973 977472719 922150225 869977943 689251429 839271795 196908285 177616619 591750203 154914463 386918643 730724311 801229875 665428999 822031943 582271257 472373317 400819247 490345491 814571253 572936433 672886111 678275195 383717879 837283385 457624229 454500775 305689075 426275505 80429275 442341577 343115015 324725353 737727393 91010845 920135829 823826947 509442655 748485347 435220043 656290213 956657989 160474727 169534747 690216957 552179787 635704571 658034755 356573505 785082419 418520571 744541257 675682863 979874179 885540805 297381877 808890637 371736973 494472391 849236831 427600555 943306601 909217905 239636191 689569117 786972917 952753215 626111007 348538883 546282461 501726387 321208071 476372225 388748431 978230357 93590733 450701129 396808515 895640249 596326123 410635597 211430649 78506873 354951721 187583503 822284413 834538297 566294415 845594129 517471577 670029985 517759349 510847077 25309931 500381027 359874165 657490849 913045327 496578363 927792757 796124385 539287153 51217129 772748703 537466061 78219517 382824251 204801385 553668755 923542895 746050559 514221967 956535529 353967365 223867153 69124885 478778125 644959945 585311573 808343367 42533831 173328523 280156083 85549241 194729569 371503585 315995165 83573831 884171701 140608301 645021839 405933591 128326433 841539737 19471369 741530261 977426315 78898961 125604249 778923891 528595039 802804049 934860621 722622127 211570839 242689751 184475457 782294925 794234797 532606187 217459353 703349147 167652523 233644449 930572413 619777449 638527261 260171981 917570847 799192791 1083419 382497553 930256571 692209031 941334849 591754965 122897043 51611239 165295545 643742025 754811375 174286185 569159467 444427109 417642275 598409421 344878803 149548267 356657291 545546771 842411119 273392995 97677701 214284555 280281921 86986011 835994495 438176965 569880347 149064237 562502891 375652515 999761 585834359 818807873 636143427 241848259 404586405 267888387 908694933 555492821 673578021 51008191 419188173 981954937 998751791 587633155 912214631 603244577 416379333 878873451 333220645 753042383 241800365 939081883 666902039 889336327 45314425 56996155 522868367 225523927 126333057 668804605 474421289 514166743 667793123 630102941 71008203 82781475 270928779 526413789 197283489 157275749 91428903 695715973 732674845 121815495 779828783 831468139 850319357 993705217 52641763 433396837 516855621 115032145 312477517 858753625 111658817 824070525 792112957 822465071 670850437 881069269 808577609 641705689 890485231 1894445 608375251 406818643 385675169 130219493 406118661 484279711 310526983 36990435 671195083 985241031 681671129 791436437 553946081 199389915 289968655 276803055 842634693 121179127 48684783 938140275 132065729 80337215 783283461 812614693 532266213 624874715 526111783 890266515 522422279 695999487 208219247 53815509 157218505 867807715 66343745 56878217 485874323 545443529 786027595 790546131 519540629 502324479 781320833 106174051 246371273 198089171 155136797 66167663 981510637 271327395 691206823 396525237 362669705 836705743 963144681 350606973 787875569 343557057 548126965 374454163 609612345 385279979 806720557 311229517 948346435 866255817 560080687 631828363 380904629 678292445 377935339 253885875 37133829 997787311 203779477 453474225 877052005 993610197 219397033 27864575 254795993 539254501 77164267 691903385 974768679 254551685 408691815 909714181 970254305 932034397 158447217 323311953 270829919 191080225 459327397 394347285 213002943 451061641 599288809 813231983 841190893 723856217 630374761 494867715 839836567 211923289 845858199 437238017 758764085 104775007 491813425 405105695 234212617 865898817 959316027 237282715 990244121 919290341 84156161 379361341 265233975 768475699 447099673 273147217 1569785 183776799 180171613 25705389 427096771 257829281 559665137 165904049 533981881 419596733 780834627 825346883 869688015 528073083 809745669 158712017 162564539 663328497 49049399 248611409 965792509 292338741 771746585 70892865 275734495 755750509 343844921 341529767 5089391 912762049 138070893 138287633 673064073 623778661 958377423 157480599 583844553 79729809 648214979 796155351 637697433 97485193 714421241 251324149 885827627 381826455 210329695 900531617 274580339 589730571 544776503 643072785 426908983 972352067 318942723 480110341 264574713 896464031 448596621 704406207 514681103 100217225 367121389 798989329 441488269 457625459 700130175 365151825 511603029 117788379 601634787 499993947 748256015 650552127 394805259 206630039 305231403 635311145 215727655 685122035 375193569 431185455 278004405 926350563 764274739 297679847 966201209 301796713 531117801 660885239 451714175 288717577 831068305 995660553 386059547 142824915 106396549 494047947 780880619 654240091 144386789 291423483 202163921 975478721 442852247 15831387 940217337 213068457 415236943 528127925 833519835 372706883 340575621 300325083 552746543 255474759 809099893 277236645 820111355 540198639 192987181 752405497 454210699 476443141 781972855 28356545 72083317 622465493 470044401 436661227 606587027 524358197 911115769 108794741 577952521 942569351 378204085 415408225 854324805 652377517 82612249 109766329 194413819 36827413 416594139 300160399 449876517 545671097 898112125 724751869 989490699 286459413 883413317 969099811 780840245 362095663 754481219 975680049 242189691 788474519 767239251 642159955 306624759 754862433 197165329 928253129 707750159 246138669 82401257 879414481 662035821 797274655 568065799 979657141 275213063 262421225 167801959 424488139 483267353 228280253 777691847 478311787 892397093 906252635 386694833 1839095 567431931 620466699 513186163 58388185 519242157 894404249 584471593 212025733 984379033 541204829 551619247 979319155 570643297 503379763 815156399 723298087 110249969 84748419 822237337 372787499 442803583 184465979 700573351 293491473 401773959 68041937 652963287 245100147 401347277 467887939 856681715 603303923 543692895 374371863 919799689 844859963 640354957 31574621 858611955 539839743 531896823 499617961 870421841 690410487 783298687 988672539 647976587 593588199 833788499 834679639 781688657 956992921 69555941 71719311 555740699 111386335 907749875 761345909 103980075 464214417 998811267 650659403 145837703 475587733 700995549 327856339 330066177 103234261 61750937 644678753 526681905 935685185 578868113 430791109 582542711 804448979 317659881 172536931 594661883 695654799 595308815 715052829 147262381 348838783 295457719 387338083 278531397 686445237 46839005 553445931 164942403 881158987 629857219 306393331 81850353 990868579 17940985 870161601 445042783 811090727 145403473 474642213 545639269 479858635 747469287 499286323 973834145 114528391 537092897 382328459 282649471 637629087 22650025 790189649 865967147 932887901 443445365 384668727 281965729 933389075 877403329 387481455 29500065 297956891 801293585 91524027 116380593 357410263 527048497 778664543 626672161 133230001 826271797 214933801 68818957 691574301 261806971 593174385 291855441 267984789 327160741 173372691 371835287 89316761 998490527 134816119 442031441 954578869 512176545 343835787 856097971 256161915 831075875 970033605 239310787 869245061 804328171 662877989 792705091 282107253 437446661 855539245 258544329 101742325 897471687 176026863 229496745 688186809 12616395 675520255 202285061 214628473 349914869 1711229 136427205 955730683 556474483 23888655 89176473 292179205 971301303 829769441 693651451 52448105 550007169 412439981 810571817 443558661 539212241 100641709 844582443 996667835 94883575 678897835 13267667 366604145 648272005 708501237 406821049 856908061 186906199 664312925 111890749 451005879 744403345 592223559 194416007 356578629 471826851 115507605 218526599 229089229 472380219 770013111 297274613 162724451 779225947 215010211 923021907 858188321 492640325 939339735 532228071 235595561 424105093 780297819 132777667 522033573 477990383 40461243 186233279 283390153 371820703 992171533 664105593 765105103 442452475 581246961 170768989 17941751 237932975 660944269 953633177 844968589 878251693 590121357 295180837 926435299 13740595 117448747 324870849 430207571 61063365 935477795 272988151 338038335 356170031 914402235 733984535 330417171 786161541 90502081 218346809 411391807 315952165 668269709 894179387 713826621 927301809 537897723 192804807 374391953 746444567 239212405 938072143 16998343 851320457 772948197 579931657 70348909 600007813 805559747 102254581 261605919 816411601 717694221 547048157 693962111 213588853 267500363 631702097 156231991 965485001 541349257 499054503 106484987 550835047 665972317 523797249 278197893 270987827 423809255 685941831 539441813 192443995 604344269 700724779 444356599 220687699 503526459 653315361 845185661 394197207 158797547 866018925 531133441 662476265 261829401 576308503 673043303 288269273 908275083 281544429 861247381 760185657 108079503 106665353 869504641 823533285 286371325 26740043 397196325 621844227 344205875 461132891 77162369 536404477 30984981 161763753 886589345 394470281 779126803 923911151 55566999 151983011 29274149 158423723 667766399 847573391 842688709 273507621 276050551 803651801 514842875 614905199 198395821 151394901 428878423 535351649 953594961 199615263 335927279 980742555 225836189 762179485 670765407 696508035 353459671 720003707 182756815 428200269 918725957 456683435 203880173 303252207 133378875 198859115 178660333 970426155 653714963 271555903 880013457 177169287 899818287 154005237 684815901 191849557 345998331 264507293 192556129 198189485 479130343 903681175 888907441 237707885 209837167 366818949 669176043 696084289 56408083 526099029 77026937 372172693 941579103 825706555 787300165 413898917 940537061 378852017 154834631 901351025 279229249 621107069 290033407 822841535 129333777 307641005 674392431 894500895 603246851 364790163 452308009 252899053 976777415 271707595 725349571 562114117 101464601 769890361 393928025 804243729 139586745 714975243 232556947 303864067 362876019 464757685 930825119 643869073 401271833 123738099 744291123 512255227 562211463 784319177 240172171 29982539 753995163 444223619 627965811 691842895 732510019 254371509 619788339 295917473 444289135 894073659 754849957 892494241 133614107 931679547 176052519 51738743 511118919 655361567 525816733 621206037 241794815 330364061 486662777 426126383 653468501 824759729 753272237 87583049 595969125 205020063 710595003 818832299 898348621 19334899 124407973 20682339 505959739 228685699 340454141 765135947 441224799 27060071 802215129 589978371 848870133 608568839 26507477 698381299 945995069 278684943 488377113 812408651 816896389 479169907 261964371 733202179 563460379 468914285 941657273 658918365 776907611 769794691 449871625 129339487 118799529 653068929 991475081 32819163 8713067 932615805 908867337 946396521 73441561 713899729 692599773 318947047 340755239 639579937 444490981 813658113 907666973 593482587 801360005 435276581 582701697 131680435 269588909 814951051 86477287 621693093 286463189 865168691 853240811 791410163 266276599 89971689 76082475 141256621 499265181 665359927 873922133 576374309 251605203 705841531 219481881 318906359 238115889 796904401 393438003 12645641 191728595 226472741 849347941 986455941 724498529 430388259 727245431 324702433 741758729 714260807 291807293 523412185 613234305 767209425 353641107 626477167 125044743 973750981 237857367 176241907 502461537 147322873 196051575 223686393 14724831 105658625 102874339 227296601 720985685 2969151 494911383 444613691 370146851 356157917 672855957 117709835 209760559 609893575 367434213 526746235 930707173 195840441 940503707 962610057 230444607 618576945 844170707 356376185 975379127 898217847 364397739 438559447 919100759 160329631 686402641 755498873 685604267 306023549 870459637 408557431 541500619 350750899 633799891 527084347 765894227 313735337 964523821 2773355 172515179 761585039 58902859 642404865 212712385 600580189 44129155 111168821 310490251 888333525 567814187 647165583 421690759 451854463 822209705 964884951 648645117 785401769 666843749 760148517 429122487 823232109 495190993 648963283 330272785 544015273 33252713 996652167 66832613 139093513 502244013 656554539 532853657 37392123 87724843 703071221 808291871 574269367 651570545 788463711 364423657 814501951 210003997 451596081 70013177 673333849 725932237 704005237 532231379 222573719 475731759 664889727 172111237 838695761 230943221 702752747 686572199 520602021 830259159 568319647 117067349 896222335 308497047 127159493 456629815 184869261 623542787 165665491 606951035 822540359 576489193 556806533 883268311 534497005 951231015 635810015 596369803 47957385 314333595 581382445 411448409 718375659 118741811 167795715 228652435 479049129 619867105 682539327 241489165 99869479 766127261 447985667 804826407 829937801 551511401 376955837 777607623 569926593 812096083 221638431 935579481 929077385 724981353 484264231 502103511 958247263 819492041 43219483 737350077 158178957 352533905 444988547 85573393 936871203 797418223 989346871 183572577 735281143 304811541 956191055 504725445 273413291 457859131 975714101 416406489 217982631 486474661 139535249 19468487 206473243 463171739 895628631 754988345 671256321 912519283 921302471 730870119 842274327 694698627 801518435 995725839 87982565 906903857 363965685 544193399 815724991 331046117 642094741 318557295 390016697 296112913 662883485 838265677 214374581 477606705 747470515 903991533 531650907 17156039 18922689 857122741 957779227 828582749 95030781 738955927 328871981 163260291 873739747 420954119 438643603 461054423 876192055 601788673 74644499 827740407 399729411 442960913 206600511 231722387 655580577 464632383 630249071 154918743 930553767 433948709 838406081 184742913 929665789 29603551 445782305 906477651 86216653 417114903 507991869 758311191 437518223 288770551 646952077 915077661 877919739 723175991 801365075 639675203 905973271 488326421 303862677 23721831 105586479 595650393 880970789 68987769 53425623 850394191 562430873 542053 703490285 677003469 961836117 576359209 438132371 842916403 918933629 728001479 641035575 571116391 832857861 875614281 861307021 931963351 497310371 169126591 685202063 115070071 894498519 502689607 408664195 783768265 660047595 795727617 960075255 189591505 233780973 403305239 178460093 832748319 777004729 902892987 468380913 171822023 423330539 785473833 835689975 265398119 215423469 857467555 855472509 915756329 330907889 138094963 123953527 699602103 221299947 75701737 696943137 480616265 108549537 315994723 166476029 974830239 71335061 20915265 314925531 68617723 96452125 411901677 832050637 525219631 731826765 560220891 162355759 997041553 331547655 745634947 610537895 999278333 442883571 53379433 966695199 635847899 424958849 760636181 321352909 512973591 169624041 993424925 407627565 724441387 19112237 312651545 489977347 810963731 351142677 64424363 319804763 798756437 439305775 442306941 465880201 859190529 595095253 201027393 238572843 632788651 368794663 658115509 61770275 219257201 186213643 810406039 822371999 564672253 493228341 414607793 154215185 760947577 355738653 865994713 721470007 334806173 252727807 35056615 854718487 437762217 272935145 556400573 277330681 280789857 39075239 95575365 304437875 412281107 843907281 752327025 285937763 392617877 515912651 415157055 409949677 852374343 245202873 116823725 480324729 486509071 988468879 633168837 432000705 77410907 956499459 29202333 254841279 685382689 915914903 379752781 365249973 759676895 91206289 162994423 469288755 305576347 206318337 64248005 944738825 259592165 763399363 951555563 672573529 652367569 256516979 438066081 362047873 240478973 297723517 290286123 945874225 586784915 423309325 569395667 36010077 168141373 125232671 848890857 43621953 559077429 121490801 619026379 960593249 243811125 706622605 231717849 924722825 976466311 106128065 932038269 38622669 261239799 904598825 964059947 366497673 322149597 544128929 950714715 611883875 560804117 87469011 884122001 91180359 716327175 246255151 482924631 864398439 157975457 222134511 668676415 524166721 591401305 705924881 425517027 199720857 363976493 695599455 95138021 841225083 405328803 795307367 732508911 365803579 744892363 996642435 616748981 839414391 754630713 252562643 377445615 913658897 236264973 476124735 664697697 132265271 828574699 977660279 786403285 474690909 268826371 196188403 297276957 620597309 970262029 776748021 42670611 247106781 963408451 658326403 422772889 365964427 385364591 891655023 709593753 881044951 491693533 683025745 184289287 857265569 278512485 417554825 885932763 926182413 916728931 582904383 325795353 689945989 307096513 456628835 602661067 298156991 485651687 896904877 996284675 508508341 634074833 800807581 82165467 296342959 568042235 116675965 588049781 876271157 896100461 691593565 506260475 260539679 310345395 2668053 132237473 362934665 515640035 873933379 105660831 772675027 909514909 866846803 726297659 843854511 210882821 715777395 361931193 165721613 454391757 108550809 56985713 568818219 738346023 779888011 862184123 38057613 931222997 379860941 999112697 80352511 815366171 980160431 474915735 209407125 523475143 607642445 314539525 7362731 902431537 167634819 470715837 24812519 652069173 254301947 736233539 25551669 521410619 268187943 887465761 887215815 569165873 586503995 508847337 233702683 463919245 20165949 875227189 251350519 215314253 418242287 683926695 738068835 956983801 469210343 854017513 175892149 649284763 984805753 885369007 794256267 451429071 553849287 479110067 657531079 711311023 233278137 232216245 761897879 519602145 984295423 994882945 241580143 439057047 795008787 445940457 790702601 786057859 677845043 617790919 762229869 97103847 574105447 445115901 142475747 830946439 945169281 201997173 610660355 909006001 242374937 347770659 618115751 289565757 488696719 194353665 416910581 603996553 729643531 665091087 468750935 20840057 846145661 26124121 595279235 886704509 144488093 175618289 95215477 990117515 737719021 704467953 687359599 789744161 234510771 920523387 930091265 701308487 148315649 22213819 420674813 579825031 1057455 655643617 510928513 910235133 938021211 553868583 667413231 660496963 991478129 435312849 413369843 865517695 504595743 788338473 299558019 512729955 905268317 34570113 739128795 861857059 368661483 682561843 279791743 187321979 798492245 31510177 550387515 736228789 871445221 835012663 157076005 341781919 31771833 370838885 739118485 603104397 326447021 273713063 522658101 611953501 16045933 688664445 768434923 929883255 26659429 620535155 131999729 936576713 448791249 628765467 860953023 62405835 264052655 502913551 262204699 856672631 923541449 631324401 70032659 395473237 528502959 985561197 189773303 219391861 407100343 666613811 440103527 763423341 919362819 144945149 587218503 774630233 294328955 513890449 55932353 457809121 758218961 199913141 143011401 820090417 490063993 978232893 984842655 408952835 556190391 184772867 836554437 913477011 324100243 954638313 819239173 992648615 172794843 855725531 668141303 8997773 306828329 864668873 312192373 214271005 450515933 807567021 281090725 418923189 796920607 548270733 28217585 963182137 613990623 238499183 657190415 317466137 888679383 735915879 289883643 920101707 846067589 118806159 332749305 572996943 191888689 776286217 456328085 790131495 426596077 669781249 941757859 111937637 292026513 537130919 436149057 854514719 4440253 527481911 941580497 231223793 629068759 263857649 114912511 730379011 190633747 411220001 30319043 640561921 639981415 465006361 690473813 836237605 917713045 267675443 741071163 415149355 9460771 28620243 626127681 42782809 327293539 837957215 651880573 890481791 80464237 774229837 268475975 402285297 802831391 352152343 625001801 643764109 217526565 483558717 531152491 87558077 285674475 501769549 159325153 428392811 98201517 47945685 785923115 873990159 539010667 924300657 990835977 17469351 972657643 832831427 302935691 311909819 180791485 500936823 353142273 941191767 297034557 418836541 773627659 381586195 748324487 925833681 91958925 457035787 602844549 407938803 26982321 5663463 979601385 840162671 969916653 760786389 58002217 749512217 937821437 848585353 916605317 969678279 299933155 829432645 665232647 534170717 8726511 248658381 653800573 24032199 754770611 600600689 182890113 859922165 54542859 546081541 10799219 545816291 416238365 769845737 739813243 141578641 555411797 623001345 97549707 298859277 127499621 430235327 264161879 610759269 452847691 746314005 425306723 669420213 368245835 623424131 459329015 795647519 366108657 610614033 537752609 124707535 953306385 529221451 436246459 809716213 105806281 466803017 890844773 727261901 351804795 520394663 206733191 307686297 198668245 824043149 948496209 990640289 74696137 514474153 426841019 891154745 980712085 238429745 561664391 525406907 43514047 261493731 311847227 740817291 208078095 453134341 654307881 50078737 901006749 957792101 328570729 767553471 45278401 353952861 616060121 468553745 21258789 696505285 568235045 697085319 539778481 733875721 489582523 814615213 390323867 397047315 619449811 658338583 702990429 732529245 617019247 879519323 64638399 5619681 172722517 888699165 59560393 484600105 276369173 919569929 752155347 968785217 146482699 674402513 717514103 486717121 543169107 758893355 152052635 49657541 712760793 681868767 977798505 155411957 233128777 733756851 418973783 112702335 184573215 215199355 563247649 985866265 739532443 376314899 260238283 774982913 73865921 326689625 226075809 370452221 934173031 932539195 868060471 965936989 39470625 379725227 273080427 953728245 776576849 71721631 536877149 720420133 315687201 724569375 899325311 957161681 961727613 760213041 899349889 595141483 110750241 18356715 638753889 329688549 355065227 307324515 580278629 144693697 525391363 864513215 868228629 367728131 865542557 836577317 764462919 313369657 850769453 583441101 493577241 633649019 649770069 551741165 728144621 316124005 169007229 60286407 603862129 498391839 827177429 286181033 43076249 34465367 789543253 734336481 325418911 819146819 582033599 692014539 614315273 403883169 925131163 508747723 949666981 547758265 433888823 530135881 659154309 835246677 233549485 955098807 920838405 145630417 24186331 529425553 887352777 865018885 780020845 287196249 532569791 695435613 20387281 785683351 645404699 574153925 772256575 127927009 422072409 409429937 863417 644059341 883444027 965733411 607175173 835808001 547793617 221594527 907188661 938766117 885802605 156646963 444405281 525069803 922517419 937462135 738713703 668877839 722701681 282923911 995364723 410542931 58951915 741200907 786844403 165643135 400243339 117739313 95852127 618797927 106290447 845351599 960391159 739739111 619755643 202285251 617149893 265513695 846914843 893346613 606625945 886219833 343041667 971785809 198334729 751267559 579041937 349622253 350526073 179840997 667182695 160452713 927540749 269229877 534724465 656860075 42292151 728869599 124456039 27912223 162297649 250309625 347400769 686855103 445847801 257682841 105599301 668573957 592938841 224965093 966583297 825428475 724733281 402729221 348488261 114641711 790952935 464475179 92100145 212909237 14849165 927279763 34341159 97109291 788940987 642187903 608058069 243679929 238454433 15651895 771279407 410424845 591152185 805940497 211921521 170248543 843526721 595467875 456050205 574686057 90732355 783974547 173779971 800862323 443907213 496691721 66743347 128788813 966409017 3116601 200039695 259292235 932334887 133909659 748910645 297480781 899716607 875037105 133880215 904958905 51016241 36104713 563356771 175060861 659610101 988091697 998168603 382565391 153442893 207751367 767140737 690207851 914977279 995798891 133372833 198006555 936544413 459937223 965394127 686598957 327035775 77243789 136237481 423069493 633754821 297859193 120861711 318411345 739948629 215413069 659936307 936507177 702727907 510664403 669279621 810056941 388295397 743622363 290409923 271655503 870605213 734546755 765773297 187183759 824366097 434042091 338444637 925816437 260273171 882546877 452123287 487799117 152177465 324536491 835390591 120938477 105912807 617688241 707703607 694433717 89184321 911184337 307853101 769812363 732726075 404046101 144701971 680181469 267854219 353163405 293542889 32315551 217876657 840826455 482495983 113411155 371268087 963654035 262222771 606138621 522008429 586331499 849230347 963096621 198591209 145937939 469770257 69898999 502354189 487047107 27042859 632490745 297641025 253204927 707541763 242318685 349764023 324520783 638120589 144944077 214856291 606909641 917374729 186020737 238129163 272495747 137636857 67579959 38872113 377249251 476870439 189284663 590301483 789393489 461894571 998892621 377682189 59809857 289749217 492895439 193963193 812128299 908516201 869688479 395616471 275516819 79218741 49700637 991537367 729147395 823395189 93783101 811232241 555283467 141426087 57433459 457370151 35532873 826130063 619227837 810370369 966035549 587270713 387610017 128614861 572300273 153794041 150388783 987058725 885256121 714726253 883380219 579088233 15807085 287689591 337891619 265276543 338948049 479345475 926651217 127143707 301961647 845206345 684335791 446956725 212284119 530364993 382579445 426126729 445050407 143327793 746771043 644751269 987426687 968991077 348327099 231469525 459624137 404205427 369313359 836996785 81214713 747637813 659298037 121201565 914014471 288630991 241397001 549995453 308545271 40542895 829795443 315964677 409605331 671122569 211488673 111143723 386604459 996825431 786594441 421736113 651235997 558289761 66427305 786548189 993724361 331165999 900302599 225398207 266055001 502796441 766911281 793531699 157852289 464784825 391941697 692606933 741853305 886141941 570898639 626073361 960315269 958096119 677399815 622035731 528604143 188482997 280701331 844491735 576012553 457546603 302409387 112359451 369613867 632542363 188906255 183505513 381071291 894652949 44876035 993555983 270000163 89093611 118386517 72741417 463998161 708742267 807624283 250235539 77285701 377307495 980203767 771511543 265336829 519873691 324065163 812746181 3495813 33694541 818649351 510178103 308837229 806186745 786119647 896521291 588092755 321065571 771475733 775239115 669931479 496647833 652773679 179826501 440523683 634710507 167625015 435262995 89944683 631525625 995446729 977508949 519561193 276936613 612621821 108491251 178216157 574312989 467367551 290840989 632001553 401678803 308038265 797074891 896757083 470046341 148234405 999164351 765419667 700533561 402209341 678580863 60068507 38201143 896800267 272073181 686261341 524548375 774024027 530552177 514175949 94039475 1029893 954997147 781610213 847238959 536601701 972219011 693127845 677831161 35629155 384386329 872383511 364800453 546962029 29807125 865776977 532625039 148985209 209203959 258942571 872286617 691216645 469326601 482954887 166717555 56319513 144008283 417110225 107870703 653155903 691610309 646873463 940771113 723632787 188689637 439887545 704054919 81602221 252307751 628370389 413067443 203013049 630709945 21563415 390627747 213329249 801067155 712916945 90274707 437655775 207904373 253704027 300707335 668622831 517323753 118473757 865064651 510641621 12801853 130906491 510143731 345853541 327445645 18377707 479692253 138983151 79696053 125294565 174463019 414434647 123485791 55083245 290147529 266925311 243223293 539971725 142341615 286458839 894377413 333288791 243088917 208072533 14746807 469489125 884011265 182197623 205841819 85464537 15693503 684209091 918573317 904586975 995647653 578934857 568944457 828719015 896770637 498007199 676688265 832831211 85004443 674175711 314675373 290910319 910044861 805589685 168178277 300194301 717210919 188503117 973644331 337480807 744129683 650125147 746072125 409606279 383001351 496292385 338075299 47028287 287108305 608830563 770604079 153823611 15538563 854348911 603205497 217419563 75409145 127544349 272130529 424054857 490191959 219785161 460649615 758983385 637774093 551549789 18794355 643348709 624745419 517580099 357065285 370180479 781208973 884542323 21784967 618705857 194497691 690707051 898247039 135169485 318047615 981571121 609570623 60920271 453855245 308569429 376650655 956298487 979944033 410931181 325109309 626082943 997329377 264575123 303946373 381375149 676261433 422714227 493878949 915166663 566903899 989126457 8294037 545050913 521561477 641595929 542001943 491369493 547770427 258389205 54958257 921864965 477424457 204216241 392547507 485077595 663530691 52231037 550307385 665046923 907124999 738459275 419427103 263804431 847846327 282608575 720812817 98545255 248132289 694107003 101959291 63215903 556065111 779165359 136503705 747403209 426321145 719534033 556133225 509727743 357535335 944492513 445061813 226213987 713757359 189877601 414021389 512032161 494253095 441713507 393064391 285887337 959104361 867898491 294886149 587607415 742561369 184901579 507028655 61835915 672594213 108478451 987842935 66303345 393624385 905850919 131199953 315219451 336926825 591869723 469656833 842054147 681596319 464930827 635279375 5054059 147291699 326254529 683841225 173288991 887398583 175644043 476631753 628760847 264791047 973483581 825583215 288332087 380396617 46396213 424938979 133604247 673754087 999853917 360275989 76442427 150715543 911386143 670878143 141754933 436772949 135174259 780505183 900070047 364733029 463815639 804976957 318891931 161677395 621777235 345219691 214793813 12346099 7560307 9875393 46056701 381424481 447516237 150609375 803910095 664467459 168571011 455695147 330115083 178215813 162785333 665304281 210119933 214766553 555104023 817504737 280358647 528647485 787136605 466806271 259000405 414115637 552584645 132466879 865793653 301601679 425734293 663706225 877655749 984927067 683631771 502763821 579784629 937157113 541411631 373946833 893238719 252847627 39622703 637179657 881481833 455578751 876483839 915402819 172631353 731057545 815072657 434936503 763539651 796312483 834165079 935320677 22959009 203888277 319891537 501884183 671930231 607600743 286980103 147827547 15394795 681391217 223281797 269408653 822198707 234473037 232690529 715369673 33198473 572739295 956885181 618745849 542891823 913910103 743945275 12580047 447362669 698365475 210274825 724480705 638941207 402516485 189507553 927702031 346102023 402241791 976619519 233276611 150012191 363062109 133216809 862535083 997294155 156132019 468819119 195678049 535412603 487843037 229664101 636356421 543297963 460729089 616109739 127353983 316784349 21210249 455760485 817185025 69868825 721171499 712722179 963888767 48729459 859823331 121044605 267976573 307494661 93769461 78335309 580373059 699457011 168713965 729912189 654399455 932327011 287833761 815289241 659215147 183298445 112593961 858626999 206123975 953452709 728616173 593178745 741344027 673697779 489862297 138722305 722296151 856319421 356590113 551115517 500296307 534927703 798217919 58648487 540732721 932708381 206983417 849728187 545026583 223090797 139744157 360025217 604875895 193456821 456631995 129232835 147308393 248603237 780569267 466557147 685807307 406140665 773542183 995763367 659070537 142780145 468344837 831312781 240160337 60085467 693619841 479684729 450940187 379127365 927994903 2289123 947054505 268757707 487814537 226751179 340956865 406741265 589537767 571247029 331701235 354128319 658452867 229914543 77493915 665431687 765350649 338434895 2059989 455334693 182095919 412342199 409410701 715518041 77620047 161922441 709136495 640236273 582580687 344740341 887130871 588135099 555192683 50995121 422902629 905253779 707208487 792970235 17160893 598690397 18575437 738234777 716657365 409181697 945064823 237460443 86700865 867889777 513425275 540134293 43798115 20316073 421783681 884433447 33477221 792085673 250907893 232277621 328476723 204674687 834425481 273060337 362012809 262922553 874981691 567825805 856911589 379840755 333014095 228758219 508577423 16964817 467671377 968633517 674273179 263001595 125339927 494278343 659934173 491040419 318132409 847792681 986057719 231921413 245063841 439522935 194028625 289487457 769630583 887719635 185844251 51450373 917482287 637343981 968007247 314913343 917364743 951966203 786654889 318522733 177770885 428751291 330912951 479045357 923849585 293521267 380031685 920305197 217356003 782415091 629415149 279729055 588331829 808847759 165510159 587313593 631214349 266379047 386420945 155866115 165564245 741337377 92024487 201385987 988947011 204547433 511746761 925311055 221391953 141461881 946054451 861301117 373096263 881402187 293543345 381973811 428322607 586368617 570879699 603389721 110494045 76270817 523978993 280057825 262915437 241140805 783371561 448540743 289783365 173552825 479171687 47491597 763695887 911551455 338195545 769002747 962527297 412874215 182540919 709728231 519651479 65626759 913444097 774150055 483890709 847926781 122037249 617956897 810205447 612778513 430534215 14335805 554135299 859372301 628911209 657832941 961983969 433771725 484444619 912884013 761237705 982838699 922786193 625810687 706117415 247204237 611979693 76487019 657426861 149209317 328408537 19620743 572152667 390024615 270001811 91912297 904840817 628265551 910735397 676215351 802294141 927470311 901155231 942773529 992715349 676129789 895153623 990342209 499887379 658252707 956361327 264102123 462146331 96228477 684436687 152208217 956605979 177848493 101514535 352453589 278180103 355721955 591848305 145193391 442876697 196060501 852810859 122708037 5637849 102781123 338221215 768583157 578960143 286770543 930515803 595250477 823781331 820399147 46455225 463854431 75565439 367237963 400170905 434839043 336599481 823094703 813514403 995051933 100346987 364853181 645600583 126084789 561511115 417435235 629518781 287221985 441226325 576219157 298369287 489733047 874281421 18420693 365159403 662883805 399486013 183733287 560391163 923712507 392714239 506412057 842291343 997578181 55835561 656588355 210035655 533183731 598893347 533179331 304893321 766186567 391928985 333546301 305077385 517953679 97387389 969786337 184744253 551738267 780290445 446211175 414030055 574971715 865450957 947391497 623610509 136367213 124871561 931018639 876367873 718650369 620800341 126184521 53347033 208839667 346840591 24796941 552272761 727193659 415962585 776443703 648531973 807777757 74473249 895362479 763368305 834233313 67938715 265107937 468544627 139110493 776841537 247777991 169852555 232270183 581805401 147307485 375191811 498436645 213995377 165887017 665079275 233166783 279238747 792235833 993796377 257756265 97770803 532554789 347548975 842869851 941751389 44418187 151891605 975092953 885895815 77346703 159066237 984049451 183433637 129931491 23033309 359816615 591827955 130852281 823896181 140671141 733004019 997094865 795837901 987733383 40350837 774296691 463430713 777454007 338814859 154805611 748070349 712998311 188916113 795385359 426919275 117900243 357259053 860813375 476600251 269188541 79788873 26669921 654297133 16450287 815313435 113322851 620079099 734921211 588264991 918459835 528994593 427996025 257711385 688432743 29477741 230711567 193719061 504351981 98343275 243444837 93277545 863232347 323196789 445551663 919437741 200449865 475744939 658042149 694915785 334649045 512528885 166210827 511341545 789502371 338721025 738716587 22546815 422210021 786941261 569882583 520956489 516063565 912416531 491484775 470941261 520953371 940100193 471791425 901458899 441171479 272573955 608911949 258615409 293679501 752938641 216081535 373678085 850979925 150568303 151701711 120874931 656143563 336571329 449265985 567843045 135076055 289301371 899618271 981137487 40479975 734170195 675977659 659051761 698721519 730841803 965166061 887813387 983547249 443829033 430836379 239801645 990350451 466323069 432880111 416121129 552246911 303473571 186981143 148096283 923788207 661167159 827647315 268870247 534125729 663717285 789892831 754159803 245067131 581872665 220802571 432594699 874301673 501303183 512955431 320793235 389650723 437971653 408829581 599855575 190268649 604776517 741526943 723847075 991852669 954208095 647161287 612111371 140319411 26761513 20104313 668489067 790557659 78461829 138575661 749691753 371349719 486145051 209031271 645214193 46252557 30335323 440232625 664211509 412068459 214377343 152708509 976759731 666418279 635534725 904494787 9269551 391907071 554927671 222803145 248610741 296420027 883727651 455807065 872406425 448196773 844481955 358688033 417369977 46627159 66312663 688699105 87028023 99921903 527307175 780237399 799299329 31559955 252450243 961861711 466129483 747978735 141247139 400838297 266982095 451695931 213643657 466985235 104929683 400729655 389036411 673076893 889015269 184088487 124416587 63378979 799037525 261661401 683536273 996500371 111372227 265629861 58646957 487045357 59123283 498208359 366403783 755901743 930478191 93167879 14031311 939123045 663274957 852113907 201269117 928145313 533565543 387783713 965719889 678673915 826634629 832692495 856438935 794873753 972605105 805917635 187529049 664779173 516767421 944958925 327663477 629123151 325755595 513659457 462812039 665049553 221541689 336023743 466452475 795008879 55107257 741570669 237500415 655243891 189028155 725686519 597616267 557000495 716950269 746397591 150966111 352229373 310979971 782580231 175496709 447312447 268514969 351222161 662115531 415767391 511157075 386670081 966020557 140591569 136101645 605239471 577267175 861521423 518184557 150693241 757028803 49304473 430139487 10094019 836598483 327450107 490629909 231814013 288686157 817963973 387202831 306205725 202681905 913189269 865745421 885110177 695283783 300499213 808900125 256092559 686363939 710227411 171046035 922369015 801664281 288399517 500573965 80007277 390896459 808569891 157767791 243385617 881369249 567911465 191053793 482927497 722815179 406827129 352453597 366483969 231438147 8085477 422130973 771210291 787279943 794233671 587556259 641496667 989315039 809609345 29703103 65115199 693438685 701454719 349108481 224142893 852303321 318864177 949815113 995278333 304881203 806061201 101322171 114750475 311806739 105986469 482077633 160476223 951636585 421688433 819043857 392713991 839863789 589629453 520943015 816102489 979906593 436931985 222678727 708626101 477182283 448053025 42200571 516376093 452555389 319987939 86328091 588126499 468401807 590641165 363321923 863566299 571036447 559715289 600907989 800788709 294374809 567612551 21813885 218033255 407513131 127693411 900896817 131717903 181009613 194148543 247238957 388039953 131538497 116282613 266162165 887858479 410715917 111823207 742756693 65418157 76029569 35368577 998710115 836072281 362002361 542027699 366768759 637066891 51959953 53578871 845896251 450082337 455648949 757216081 83720341 559594623 373110417 661865163 896401087 785528981 763059809 963969143 854206513 440465113 688764707 513080815 125133233 203319881 331702177 391825367 353730125 659595629 29337963 402416853 842975317 135579985 297786327 602800799 857098345 504472715 371932935 818388207 411305069 157446715 956458723 589250693 972245643 307171591 621329949 741797421 947874873 849114141 368608041 527026105 731652401 794691121 578515275 815969027 754532987 759923845 341580683 161107183 315081567 231017949 767265719 323435107 344350837 497626505 299640681 933449557 453184663 402126941 24756993 305373119 266831851 821332919 948986023 40571553 134976219 34031233 954433867 121283847 283053853 901983781 906004903 906307331 545747629 613397915 186624313 808424111 421508815 671920737 838446921 493475119 224183055 773403007 866597353 14824873 201568321 498266753 574039793 376177235 880218499 214878333 596070145 893410151 641280311 629792019 111303807 773197349 635759625 326311273 308116127 358371291 670824945 131328813 382447705 235253463 398623015 103437205 455122793 926505845 362239793 522016863 372784475 742129943 806991323 311363793 429055103 660042025 165939259 566168249 843141869 652400667 306778537 967547759 500282243 403531881 573325519 76658385 313582317 382270867 937239189 312734275 850435737 190535973 634362671 563822005 112940991 576824241 108819741 19454623 540227167 306680273 115174943 868695291 830684227 520660777 110028869 689825875 165788153 474742625 463331039 486166195 681248733 486709035 492995469 782649265 454175499 845757761 497542963 665659757 532567151 989582185 266410747 338926989 903893429 502806889 705905499 448049727 285446233 710313493 59348239 884326713 257320089 855618631 507470873 256105657 407068287 207696355 528796873 514075269 111847641 960835793 935619761 503916269 577654849 682620931 447310255 742244293 192751639 151749235 373057763 450257771 78481283 854280231 855424447 947251145 995275895 434469157 669130995 525477193 259333287 520149121 328395645 795281891 41437847 166353237 829449121 151651351 955840655 459706821 70284267 796696041 306635677 660980217 911895599 80734183 520140955 616557347 323353739 808273447 981996329 105409663 949886561 343642953 258218671 54999629 977529183 727979379 329390429 25725657 844945527 4940115 880132907 291302263 738342119 633174303 292835035 968015741 431169333 303567253 846506739 447182159 643477545 279332091 381850821 83024729 840434139 917795361 281106793 713388299 466569381 712762203 517608125 463629281 369142315 831531913 884894829 278316125 166786139 582661903 477045479 55040263 994322025 112895199 558067811 657895795 25632207 759263595 104263139 952502077 664565077 101510069 814767661 705196803 880791043 58536511 991539921 304761715 310532145 971296797 450294059 411961405 211676793 908278751 485077335 455731485 136802497 782605991 717756737 784409299 335353651 324017949 919313301 25336877 12029765 456888937 503239375 611177721 789487795 794222407 379351599 595112211 943422081 373440243 797164217 219844959 716012539 157930549 447358019 656121029 621214133 488707159 230400609 30512951 180578957 857041973 69437813 45810353 575058085 267987751 883129769 893906483 954036841 38718489 784599529 781422283 850560399 895495285 234425073 16976007 103745557 354080053 589125183 38454661 732828475 144227283 992553757 830463203 329250447 125701465 381829017 847580623 847369957 379767123 619546509 208539257 427513691 813560537 665088921 341798685 558085715 684103561 305640485 632971005 106307707 67217031 225087073 226825057 465142215 974974339 383111495 381425311 333015153 790066099 109418131 685902605 939652607 804320469 956189139 404669457 385342015 303375407 261863251 41337617 816401475 975228817 397920557 46705797 758049127 23362639 706121793 187417827 790440015 192220745 367159605 821243821 501923305 838975205 491568509 519989873 827157097 905889295 233305169 251817405 414904395 484362561 519124397 174102063 913156433 889442421 161639261 289674597 823919499 485692725 592863729 986631437 42692683 418057101 888130497 667097561 724492079 562874645 645501419 411577471 973979415 31455211 779103579 65507015 551146805 278309299 391230399 623297657 507291129 140470429 733786255 70931557 227835425 431166559 395878923 56806247 344954801 6125879 825507901 79381347 262624501 161029355 232173557 973423169 467147649 401080779 484469705 902124275 564056883 301929389 224697117 820115061 226963757 196304619 790373653 79946953 334063835 872824689 323321763 16004601 419591413 900890027 571501697 525432597 952835699 700261261 45461551 628527931 478736795 33523097 388013809 445635209 885702907 706092499 871580125 329582381 721272931 289721033 203272135 936998489 985165811 261276819 235606097 276489541 648995085 812033487 901763811 207374899 950188895 288370337 862580653 956713841 406741981 864192953 471254697 795203661 559733187 748718413 386969237 664726053 621247891 28741659 78274555 23702361 236196381 739933803 182943785 270899795 145113459 657797897 738848825 456020613 195996145 134900811 136984587 570891115 922997051 440417553 301970759 170643847 346189121 315730881 420988509 723871587 742761267 462500679 547495813 8423567 871586445 545819165 703308225 819442345 211306007 108079423 456376791 663861839 125625563 870303027 819221337 580268591 611143469 381019911 376593823 306145275 369318827 889776467 528048329 402406251 577656887 716338485 611240637 324508995 322589949 948986193 717604911 538701387 927385971 616143575 597987221 650567769 987615061 753089149 173540401 243745603 360909735 842878851 575507209 697710063 636176823 223630507 801454063 137122629 375270933 74261831 248990841 485372729 657825 46827565 745590027 199925699 960306301 33467577 200774601 855386599 183755031 259900881 879626151 246779053 568707873 216746727 913860955 40573995 549474459 400877295 915949157 534139001 405735109 641205607 116082703 460000439 820390189 743038805 868366441 276930581 297856169 351985735 168266057 32611519 915748947 659735893 144772945 170586867 649993873 339641373 583549673 174807027 706315277 345503683 95101763 979757321 839794875 198125047 201494357 50492549 986442459 866546161 302239967 679729349 674314735 352810859 509604713 523934505 571678659 729488303 934769479 50386715 434393961 157952137 511493261 917541135 427741763 736603983 588681757 823320957 399352561 483895265 463476895 688019945 896715359 334144421 891736963 208729563 510183619 307692169 54805507 611778025 45916313 411232771 504062491 460751019 298856869 459777551 848618393 552613827 617477107 187990585 179949833 682321115 679535319 125057161 483513029 302263461 802038255 839712409 520008173 536701919 638050333 811768967 608590185 428806725 398946957 873918967 799885033 932624295 571206583 221657369 847002597 570506965 893994067 100799397 423371933 987795113 834681447 684495317 892187933 606633731 105338431 150608243 965227569 833903059 704570225 634796235 74340465 479367173 896750039 766617525 917019457 992115353 444783765 841065101 538340805 245950859 394575129 26021691 952811505 854198507 928834583 944645675 780763515 740540361 925256841 749647191 107283685 387769151 502192823 757303611 758597237 393550191 290571049 480048093 565619515 66689155 843696055 788124109 909006355 393014191 656775803 608175903 138060441 102583851 250798811 118364275 716473401 379923515 90037377 474772461 498402079 129127977 288438883 812190271 13194055 55214917 578927037 521979803 965870447 535045869 913882385 746955971 398130209 194646913 709257007 555411961 374832813 998147435 719963689 51840527 645156393 658344479 82983517 953299291 727778935 735146261 731431277 684788409 80426815 389031633 314171205 790983313 99123441 49707485 828320027 824075217 934078407 848576459 123662443 6397167 241243839 306269237 867959291 636343529 74888867 127339965 776398547 644636229 546550017 675327245 872110921 112845843 705400627 223267801 527105019 723695335 959128921 558342617 180015307 731558369 562935131 5388753 847619559 271971237 623903721 944571531 523774145 736318821 850645883 890466777 121775897 386892755 862600531 520611221 906647023 323346993 271614583 409707681 850482321 979219779 101781177 470061031 571540885 904466007 724001713 684342107 501250005 329533507 121963967 536522485 729036149 147097705 540088075 721525689 911904483 363705771 9956997 413165233 311140307 512008057 405639397 397509615 114613313 708479689 244916139 207515533 346922863 678928153 791566883 412900013 769248493 429162351 317977175 772321401 607049101 158209371 257248805 232988453 772730475 575601137 983700009 328987881 745126893 930343633 734645967 395964169 565109949 323077921 752819013 895852751 631787217 64706701 53861507 125437069 714984549 36137549 335910985 815427229 509202173 802278945 222265889 717447777 566567013 344483661 36451929 934511941 713712049 930535327 901420813 378422199 373644863 653937775 398483225 429701175 88497841 910807449 324562727 431887427 203005941 748501637 587064489 486272359 34577469 210620705 808967893 281546805 254264839 742414051 443982763 937803591 650436375 106026443 427235571 493509695 526726009 522735451 843275073 727715527 225946755 277240741 74575593 804376979 854483407 453144125 858231053 819487069 289787457 21180227 364820117 388739045 564866823 981860445 29682481 223046903 382978709 271301047 219569755 149723493 195400101 575106315 213757009 474529289 151858751 996510355 740386075 339035845 862144171 910702617 55232395 504130947 148786305 297860587 592780345 274030391 84604315 820376539 890917509 485679835 848655647 733857357 266852247 113579119 624459895 480327971 997528927 402582527 85739097 473263821 906919317 428024477 887574975 924661569 986714811 576073059 449957105 329889533 538210071 299038323 216001145 269416457 741937595 52223479 288169515 241208049 71961471 613257507 176226851 918857675 651665411 462415153 928266695 608042295 729861293 124612193 685354691 837487963 782742961 609569535 522144265 384648931 751007493 557227613 861726423 682750473 4814187 535542741 306447281 164722057 302497641 372367817 3074403 186505129 709667407 240642213 453883905 68294455 224849721 498064857 664846825 211473035 42633731 773280479 638819517 355369601 600181337 647027261 302037611 134953859 630148263 640803961 96723493 602275963 577105193 627263271 693665643 59551201 381253341 214322657 279204093 694414515 734265485 843408201 608983529 984340857 783795657 254197259 199990917 228257087 81722855 118156759 643224939 87641755 701237513 109743207 908887167 854313645 113243415 801593471 285730287 214773275 300478659 464273129 772073263 848765459 943846017 215243641 689456123 122635593 334218133 411358725 211267925 232123647 676653831 699362161 682825357 729377785 67126437 165474471 255839797 454487941 989102601 892066717 810134825 406721659 22393747 803039815 398045583 969665081 33111915 988188075 585453009 539641763 701119105 334009557 931643813 929842217 467903887 243693011 630156551 293678787 828920339 120089793 972023099 703901419 916431701 718811841 837749197 529276331 495588199 422097151 269505425 445045391 170034721 202139051 486859683 846482093 56363043 53374719 301048425 223151525 213249491 984013889 872614543 145620125 916636261 479816375 68331015 442479427 761818833 865891509 566540047 46126283 190397139 328886421 256853805 631471351 298813431 80924089 178926121 835702027 560859277 979036557 456947993 943206103 350997165 380795009 954263387 494710703 919972661 273598225 268255633 915412851 356114129 989364413 733612201 864211847 210420975 560771345 911485143 770478555 632145095 396407969 131796117 473318885 42910297 566305283 187617195 275911077 319855983 833950427 749827105 89137821 185749145 225177813 94166351 806853855 813585965 422651553 669357263 107308033 126499149 15906555 870270853 56944159 886348003 184108451 753978017 810788065 855148699 94629989 527693457 712160373 152844273 185280531 48814103 8135313 317748003 12177289 391584565 951815539 698655291 244109989 416918071 212715233 623680519 864345941 639687857 146271017 752063265 914435209 904870015 481748515 522673897 46159677 60102855 357516333 526605447 922311025 90918131 660891949 565575661 24034097 648746425 68892047 225297103 499460497 132235797 507861835 9742257 82025895 834235979 200218337 641018587 234850711 405428969 5742163 149063515 103081357 34802111 157305907 294029835 523817145 741643499 685048983 493810827 290782295 405481429 948898331 993885251 181151399 947323427 477313767 597472099 853341175 751332047 499961769 373298659 555773845 815939857 363699351 685514373 310084317 707169135 362189935 593655247 934915123 776996023 548043127 63457043 473539069 984831737 638216319 958276457 819985843 410841749 475431387 529023151 1459913 220519213 274861675 504830609 496108999 652903087 15634067 229507453 604697395 65314895 832707909 360309675 963060897 83679113 957421811 859165725 512485293 309095711 151548573 463547289 867204341 791586849 835733707 365741999 557859111 911678177 291029129 524826043 304215027 736463355 721323631 833403865 852670229 631096149 373711257 869189109 354767183 372291353 392517807 95392443 237515625 511837885 247005919 405680295 655721783 247849469 242438879 641228537 409068693 714717149 889808365 776180405 338062945 738855849 131333841 599501745 302471561 44060149 10312917 43555713 639263741 686658461 742569171 136376457 553833913 855377095 175342633 698639085 287767487 891832799 449384381 114106271 330937623 184931479 983412475 952531801 794123221 149487341 46460637 836845977 739256853 248668197 937297629 292929449 595129589 338345931 953255429 783517591 643050915 810250933 343318497 375513917 880014417 376049661 101216649 803431739 609083189 267070983 957616793 659917817 541898647 118581121 72126521 871127719 26081981 927751773 940730391 162378303 530325245 257613019 594433385 378702461 622652589 459904123 410474989 729097967 787242803 499428619 64051947 187733985 88181239 248004001 988746799 207567725 602569579 177744791 851463951 494735475 259024907 807615891 572002155 551093145 766123353 400666751 755737767 987966547 687418077 732849297 594148021 454937561 186885931 770699331 832292615 280598567 893947615 128339293 200856991 802457353 672174999 203873769 129406465 624730383 135202561 906771771 369593915 757638801 764875727 556064495 568443877 25580717 680700601 940984299 449832731 686359119 610239361 971181401 562167687 147556133 55896565 740522927 349670227 862047399 232583395 311087529 127642679 409918741 793132841 978912075 771900017 350188665 486160037 405607649 419832775 805345187 542339397 619494913 217159305 238580009 986450427 66737795 771124875 584803951 387616703 312014735 877039149 53648025 338603667 511679633 995598677 110071707 888347781 678252603 543598193 556313385 302439587 251514253 296148853 317689289 404073483 26873543 130613475 978519485 272575197 551418999 484726463 51376155 594804035 623854195 247557527 621538231 948964463 431876309 391288195 17353267 260998557 634939649 122149151 396927223 938275087 635227301 760231061 178514483 12083469 958469301 919590031 45357025 493129453 858756715 229914437 783862463 190725637 293977679 31494517 978708311 260062907 451478313 326508903 869350135 978910071 91813137 365787109 981451961 356281771 509156449 483864395 30654077 612057813 100432575 40630899 983946731 923770737 539394069 904920005 176253299 675972111 760374681 35193389 182831437 790944829 556894919 364951589 967948923 377584537 271261795 250640041 127311811 732058307 212234617 566084159 352574135 856256101 755564125 708005877 940726959 393168433 355630507 127064163 608844747 49327587 722403145 960646821 881342961 14942269 791800675 353776997 291660757 340467721 254240619 598200781 180675053 480795415 484034847 869366933 411681659 865840453 228183939 358527739 691660165 164438899 513987555 835128775 688627677 527843979 222825173 281891397 652870169 806187647 148707121 854316875 88362141 851579211 687804703 931558457 820027789 961933297 818305291 456972277 275575261 952482683 875148457 576708589 828347971 271673849 974603763 200323351 151371839 142271369 722717745 682591471 20129051 566607691 164732139 981599873 627691239 838762089 374715129 144483669 257328505 255729429 759443829 671005829 429697395 77404045 981827267 955593647 569708349 321584397 553870737 483059703 844858377 705290469 378582483 242898701 868723917 855399781 966330309 773706279 510577481 487972581 512474857 843780869 937479429 607092427 868249359 62235369 651388501 632308351 950410569 832550309 525359949 130558069 522897139 669288591 228478671 148125477 947700403 548775299 935943555 364618259 817159027 841054185 353187033 81076937 300950891 772728751 25406987 283369431 443375889 750043721 542071573 275339227 343197743 365423545 927189445 985642101 627320527 468496259 982847655 46219599 145978439 483189687 269683221 935105821 842428463 65920489 292738351 954368151 992339311 122331705 394986205 461292929 512169267 370911819 892112079 791950243 487622125 832333903 509403773 624715731 720685147 373672957 961216041 508182761 650774147 701190543 533706713 698644167 773027501 768436431 522334815 503389527 989037679 372649993 104827985 852735885 288779175 822212883 664271635 331403361 47618937 761771085 549106635 567358423 314368847 835854749 120631399 323823095 822805981 824891249 35276963 234603991 78149667 788786623 276393215 806289551 139734625 804794629 555943361 441347137 66355495 974237513 587955193 190092567 934579271 126423323 355453571 480724037 275791837 985242767 569467131 255209219 871979853 611304517 731308749 980611477 329711175 952528993 728999461 676465221 677136825 197736339 657429759 708865637 647830757 630771219 572636697 187784013 455140941 487568027 350999549 322507107 807059133 611262325 854299131 86753041 764172361 117359469 395470633 327244229 88957261 678712539 496130409 646541055 795238255 640870043 943021667 258005821 194732187 166865173 536773255 346689801 179287555 410829623 729019919 515044857 685372197 358997879 824944633 204317605 381144261 377137875 375346447 578146991 938277871 577649617 80205535 166883777 998902521 789351809 628662467 903075983 469870203 551726199 377523419 700433617 589925469 420420051 197606159 849577291 640051915 358523961 217831439 638139591 780157241 822644443 656903763 27485463 785948001 759557227 208580381 530625045 962102857 774560299 909778293 846011555 983332671 313670877 267328297 765618091 408713427 592046037 155644369 520201505 675789797 850989539 898146257 506502397 793982105 967398507 516173135 728118339 104203097 560404559 976304443 776140797 416918491 687872255 567976525 796513853 58033689 639913841 741998085 232268061 542359387 805802787 110964143 226127295 289272107 869545755 450277205 630679885 857386077 34278633 375432917 473891323 716407309 539086753 475931851 99160579 584222881 2509027 323542435 702528677 148276931 512459731 273718923 486849325 679190121 713698339 117455995 484109803 170648015 858310917 890604339 633589565 677363321 317154875 115451965 309998211 446037043 916905225 603012583 891126057 269260305 502181181 212213837 69372319 179310447 646853167 691544651 750082655 327988979 905646011 714308747 215308525 656673673 941012809 964082303 611661011 337960803 719744199 775283549 872767139 363205377 440540587 607698725 145265911 512098339 55949299 941477279 939554161 288647383 813594407 759485791 174593981 675171441 729596755 378261177 266431113 198278287 411852813 779169487 287781525 937206293 540509045 786422921 728211871 922136109 83333935 700452759 956605299 334905163 11461485 50498419 292570339 84817455 828381667 437791835 254890697 312265433 836220109 623980631 642512135 105484185 198157813 940234809 271419783 670577663 806329255 298206361 175161661 50674667 590699963 573442263 967068963 758687873 162332303 439065627 650519865 97784619 954906631 961569877 636508043 683096223 61162643 873154877 429097771 974906841 128037417 947410261 991776051 485984541 791726407 564758243 137027525 703741173 914824181 533347065 59078925 858624313 679573183 273428591 959116347 413178885 706877883 713690341 561449097 130036923 33390985 506158529 781933627 722342151 55998543 806112567 424828827 121571295 560840377 184460093 250941947 71355007 286270721 559054485 128418997 609396075 708541921 38380997 405191725 854815599 604979107 380723229 155141321 30760609 363120405 316832953 71618559 219501401 733961867 99457397 843601737 699328321 727858403 12505085 91991847 151968319 857961093 91249341 607305253 289655181 295117921 399144433 265954773 802279075 359930089 53419159 904737745 713822791 59045661 291947897 14801595 98550151 343826821 708923431 853762367 639930035 356562219 995779063 231216397 467772523 842994347 303851787 614511071 850231443 539091743 729417547 174126715 833312597 881589039 667087721 692766631 900932647 702662663 58864089 111004983 901606083 953294433 990272991 890887941 678022193 416739193 472233603 896383475 883112377 972427797 74725779 208904429 898959347 295574915 297872553 276281315 747758523 115834011 101373989 186961615 761369393 86100667 630927919 943741111 97212103 119268039 154145719 135998113 785904173 916955183 940858231 967004321 813927775 594278377 812664045 931419345 715418533 195889013 354540385 584509523 786214537 524365269 428527333 198898771 165145311 811313307 263898449 198588673 46124997 262404829 648056133 241710233 4398493 316792887 447289639 251932763 504047379 347430353 417086507 27466131 478149151 971864407 142505289 238155923 418155257 405873155 519084093 55406517 648863527 700580241 77926035 452201565 633904757 775928647 107217051 960297457 658704377 569673461 712907373 410994409 806348045 374096367 481732327 193490361 370158677 306362387 303183029 296135657 72493759 998819019 473857349 938812159 536266877 470627841 561768911 790123919 393209871 650170669 893316179 524272179 584650037 102355023 988534939 425577613 415388159 805334761 817123639 714439241 917887421 202101517 486171773 519805975 593272335 61354065 142369679 17057971 147065817 82791121 770773335 691224029 557712453 60090933 238784385 771359075 809465289 470852267 858237321 594017811 32056097 88267751 111208877 979913929 470808655 638122027 550795255 745812839 519309731 700804925 311451957 7326681 215817903 914590055 491959297 682837263 12317009 375785603 810474939 721649669 59966633 372784879 335846797 628869307 530358825 639456911 871903075 709171519 259058305 833806805 706385655 659050655 365145775 868078259 78090443 171953143 17267959 231069097 331455271 284883819 927860709 791061183 527761177 990792481 336181069 627594881 947363707 831008847 882627917 319539975 178709997 736837167 144490823 926831341 374666199 943506179 754189545 152607835 132188521 941920019 895329573 669232127 727376539 534930867 257986875 481084431 705930799 518052413 906463147 994971465 34297515 628103957 735710019 913211891 437470561 239373475 531794969 964970717 997062505 765193305 980314247 966596699 889341089 739811251 99871281 276299083 617094325 428695857 184617733 558967831 895591955 965629281 449286711 405348265 797787379 413226449 121509697 140667515 571330135 479225885 444136171 848191879 318481669 787882729 521854525 792103767 375257229 1350875 237034895 56125175 372125771 672163755 19681149 12196095 187708507 98475789 210610663 808098443 154462889 21471177 947417853 118241347 579686369 924715685 228184627 213462869 566207615 273031031 750200645 441498231 291209667 951450645 347828535 66190567 546710195 649012067 69507925 920117611 6053663 387413069 200248371 941045075 849992865 987343045 333201583 274067827 997812123 959054017 549558507 712812843 853606961 582104905 16706387 297054049 690941781 514720611 236509085 407591297 630298561 688867109 264789959 934574211 13868787 99244197 648965905 405006823 614734389 319674633 398413577 145628337 965094805 10673017 433288323 15724655 352585453 51457575 188386461 630838329 407075037 521363791 381945785 38271403 182739405 895573041 11652229 937690605 160767213 902232091 155016949 898303661 672564023 57692507 657811779 617017121 620831847 8485453 631094005 896015623 346694155 478201429 653439449 2029991 34910831 375401179 483746049 937635531 906727853 985336913 893772233 125244367 380065445 953467187 305197269 856713357 56638973 993943299 98628371 360555115 410417961 109986121 29678775 185292123 257470817 708415131 636875837 588450511 689460897 761351567 592145257 897106633 295385269 984402379 627409477 786714317 865827373 496841975 747235369 487245545 123086689 403807173 587346609 351769781 675301233 968557297 374568125 440990285 922847043 836376637 25031039 364202841 808779915 975064945 247706471 398139911 979269823 706783587 371184947 161744909 77403679 976434409 272305895 609042859 618192565 615301097 560207567 971436195 72505169 610521163 497378943 817276743 793840265 532737281 732400597 239284587 988350913 359668487 914231283 350390127 286281245 860473951 690931781 59327801 486879633 333928209 811292547 88818485 247066065 543673395 142887077 966850397 530605923 664644315 517753841 525541933 377800841 716516655 442575861 278279595 86107737 411235671 799190145 372351077 14892455 542105733 945118133 288938611 977979413 136371701 870097651 134396529 295875851 185047529 785768937 179443847 825794747 112278699 573072779 855478629 291934489 574214027 345764629 451406141 740202217 259845095 895307529 140667087 586834099 469806109 881496119 503101025 187576261 953393307 476681905 28907203 652761913 122201299 151778003 147692619 660533487 979031613 222001217 993384405 768751759 108128093 877631723 621411271 350729865 78052539 866591233 542000403 535899413 983585773 226077439 577520173 922176821 325901961 178419885 438072337 639346607 472143669 817066005 151304009 261268501 939091609 729774987 644831971 444820415 7722087 575124397 4105587 763925197 165506653 528438877 419114519 226086181 833393463 19825607 307775865 788660603 792354245 753813345 63628995 553861189 644011989 379921127 900263085 570868421 284817733 683429215 457688181 624822273 513631989 109482513 377886947 900536267 169228239 380304787 519064387 137457081 814298565 263357635 414037611 444366383 396307669 466172355 115751355 229706577 85667323 861244673 379607577 34712083 142526535 915913263 985576691 915905835 935950793 775129933 114704701 469784601 213271705 411765147 437278841 891333159 518445021 30859943 156799915 37847397 860818621 48738119 962315363 197339561 191691117 183184021 256245685 379142549 171414565 246663927 730735935 206190481 396269097 163446039 935322667 445137103 23725249 939950827 747560995 580385349 319776835 788593325 514347103 756643251 794926855 448576997 298674845 537282721 959988333 565664861 259269157 131703651 8615397 148895529 933528259 397920269 220121563 521622949 596363215 793996673 72814797 684122743 335612197 953052775 11973693 949298825 425367085 978425903 519163317 990625809 124914899 391552019 419069893 548733323 748156561 503033361 533946635 844617403 85803875 805858289 104340775 683500973 914559695 158626373 852169155 417493941 535283429 791907173 294110611 989939313 784088377 604992113 144332623 752645827 629342697 893111889 409319611 340633047 10211999 637140149 814894497 426567205 791775109 125838101 73777361 851078757 470028883 818620339 156531497 404735133 675094345 897348757 284709513 695896345 937155625 866351757 497770203 8285039 546592071 27522609 419393299 812139385 235823219 585714405 204293673 365941339 973805583 883175887 836641 779191171 256648705 427028189 529800453 511251365 462505143 641802187 351200229 681849787 494723623 972539673 176374239 820155917 842604751 830902029 142746387 791185187 206415541 649212089 604542379 958333141 39155817 429427955 495658715 290112829 424295423 521184605 222341595 702148033 411215893 834172257 492347631 929667083 264349909 50143531 106717281 699678993 484122345 540444343 390047619 233835535 946885771 236392643 635733935 915242377 671928437 481013721 946417479 433822281 786840305 69803849 368248501 566576743 762192075 737098281 283853165 933721151 768763995 962870363 353704679 242993523 489627261 333052295 388238759 894632431 141356953 423768607 947490359 79933161 938557085 18678871 731109927 920497119 498320383 815494963 410568981 92198801 555045565 26206587 889446305 114047245 984725341 13654205 776230519 926383783 704466671 685303379 18532165 404991741 64832519 453127261 677876171 632196081 98358723 81813699 788065479 46160305 622934221 804686901 801088259 330244015 744561231 592026923 482775125 79421355 836701443 113101031 271298197 726686885 307654179 665832049 438422181 339258859 209880697 693257111 630378863 57966611 393878865 251963889 746065127 747622391 616901507 661036515 50886407 471488955 65425515 308522387 733929167 980429261 465715953 987532273 228269899 618813921 790093443 272563637 219660939 248520691 591309847 460695135 968900781 172339013 660540715 499015995 644293841 777794407 692745927 670185043 403170339 797663019 536583797 738188677 26478291 420666285 384445777 226906989 232960283 509521747 570850037 859534455 294518847 530454215 515789959 136487377 761627529 881456639 745904569 215408243 169219403 9304887 704100797 12201501 644252639 896051699 155877973 792231001 307483303 943554559 735087301 999830389 600174861 780608111 916787931 746770829 140879237 240600737 586909679 296127869 803166855 798861111 5302237 275767791 992940953 728490271 765081613 206916693 59604543 263155339 94256237 56339429 619850513 421861881 393718387 254355103 276090023 913652525 226404893 898293323 111635619 983056949 287294707 625305981 917704881 743093345 347408127 53117065 684845953 831990097 41016797 25020561 865848269 103925223 984508327 227824765 612363097 162551633 508041219 817116157 745964015 973585923 295332131 836683403 187959905 350497463 247277753 341990501 829136265 545254261 854615815 262725523 146345801 542055557 809214417 980453607 183206285 801711999 567741797 391824121 635146053 101362237 123278235 656424233 685984107 549390309 306419919 393080991 124287491 234401761 156668651 307195211 584007447 279445735 135643737 232475365 76329401 356095985 985196817 416493039 981350659 958488391 819758993 13141167 111436567 729450867 877572063 942665783 662650913 716554313 196251275 818126687 452607313 188315109 596933547 622394823 434784225 365887917 954459611 219533013 20864535 598299981 279708993 553586877 185263161 39402423 284306063 518511477 490917787 292007465 600292857 132119999 753535895 686750503 727927355 995733537 501922447 364735869 486996895 867935211 243174125 551179583 505604339 976841785 459486245 877015755 6499977 101271271 104338353 439882691 988412741 311481249 254329361 250285589 927158665 136383699 896269265 248080627 40345669 67757753 638909059 139168733 475440113 715016785 626451393 332102035 349435271 745486949 339844655 441462563 746935695 34195077 499107955 946974435 558340377 880794631 562399299 429815149 5157051 20958477 535857497 89495717 74342801 395222399 702757493 484556473 178055233 362955791 604903523 600249629 139373565 565799217 944555765 419108749 101437817 588066857 199659525 130830091 636858867 671521279 379436149 206869223 452924465 724570241 893932337 200102835 611009409 849263433 438659113 687210571 906302139 715409591 461740377 814452437 756309821 295905011 225218497 253887931 76006379 208103149 26955885 972432563 923009077 19730271 999912815 939578809 744551185 902350791 399017185 839230993 354986495 297550701 689213415 853417799 342423553 760208483 697452455 427410479 928376489 451211393 270368855 342539237 742462221 676624487 305743921 701004495 237570249 910134395 908498549 735259545 966984453 26137073 334714479 151012917 83175277 421833153 408892019 989412065 24561467 158983591 635078359 858978595 28331051 347812143 459126527 208556739 729354115 5647529 278128215 434266839 799470865 178271277 960884559 610787005 838825005 743827097 853260897 381872919 169927349 264168601 315061011 1810643 594523661 880009627 201291499 491587621 870686759 701228759 367094397 181795207 482890869 951456333 860842595 870736065 309870839 846818759 349442113 165936091 706593589 711501269 698789821 868419117 99618619 90616525 318138767 684389201 729670817 953992657 321737835 802146349 746467715 907751883 246513689 876790251 687911817 145828455 330680415 376826113 243585247 924150049 448625169 209823785 370647871 520308791 982329353 341238123 718566629 586114995 720009259 627342097 620843927 567935587 860111453 150211759 429121445 220585697 600715159 741576737 421254371 599357581 623012557 279527565 42569649 960260241 501938183 736292701 916682227 428908249 830806859 647752521 71827481 76886815 63296429 190217545 734384155 390917093 101333575 116851619 559760499 262306675 538063677 271675107 56981291 387779287 945696439 914763485 433929935 395410155 11821543 330761647 491118455 21594447 311989769 907480763 155066815 56192875 292781917 163137453 459491791 470784367 774599215 668376957 136765013 398613843 444399569 79338339 96573317 221627353 270675359 670335461 60707873 135735687 638506999 876823505 540995183 291667375 315153735 312201015 913308985 515196265 386957055 72484471 748990681 716636309 228030619 9593141 565232173 951126233 220220573 779730779 129794971 265334441 532988301 679887901 306593295 709081147 177323263 116321531 382586881 549997201 545035917 844144309 123157617 318253169 491005659 580047451 226977251 650586987 11560593 131036223 673206117 303350491 325134177 750338813 886867855 569043165 986248455 499307643 418646909 735678301 891007555 562408163 671111127 433096967 665590243 896296875 845593547 546509911 73734069 868192399 8225807 951578765 296015765 998659731 737282017 701254319 190022759 239016707 726589959 849792141 1339667 196041331 871025617 112118721 666550667 52969919 118824467 628101293 786717131 295120653 475106349 652345205 924075219 211778249 645589763 409695499 353122225 353049253 278932487 962587689 223851635 343385247 786495531 695781965 284058933 752481275 473934577 102746305 183640347 173675077 747853661 952064403 532865869 665470035 770468093 187630749 636749309 238983487 391792873 191559295 806350695 32253293 252921533 730694049 255734989 101301643 280048545 490544947 69052279 738446731 211385667 759780399 499727801 689171885 648486617 83288659 902095855 782969713 149864481 916985127 730008951 303107237 184937569 211230461 508010943 605789279 696440169 463389165 601800505 243820537 377310349 390695127 379900509 965004313 326513069 823232609 337310893 524117929 240946735 758066175 152720311 529693919 484710911 800059625 15461897 472999477 557062295 306236699 908817471 587626355 287219 351034465 630069757 162788515 377007511 386847563 708195563 848708889 889310103 385122353 653540795 827921521 878118789 705205811 628056361 551004561 648456575 399383095 769951991 911871907 594015021 875995121 579516653 34316061 814377149 437146839 843838433 488372923 599527909 280939817 890463913 760979073 31675107 182856433 893112107 508756667 287507839 126940927 828171087 638215935 830718981 923306473 214125063 3288357 343568971 448858387 521839183 530426453 411135665 2580385 642971177 665449979 807299869 88012679 513802141 187555529 216297979 898430585 202931649 909663167 690435909 819608317 536718763 689684253 156051317 231079253 816296321 603334513 991080085 740956311 160338795 46525585 546178355 349816727 250363549 639028375 203917667 743534071 489613903 223689959 16848835 485324575 848083139 157785903 841573499 170834753 449988167 351542883 834592825 607869521 655111209 966322109 763671347 413979923 960905159 186138565 445251625 160402447 414877057 712622403 597660509 215846547 888853953 831110735 731698593 920837049 531473401 371171651 458034505 444183393 811094437 939397061 79280437 924546355 107093831 678188991 432663499 923360671 965526887 295575143 809399289 564896989 713987995 667424569 847045683 866194927 425996665 536406777 81449339 512060315 428536231 200301235 224779349 175805811 315677901 788275387 418250193 70489295 129964191 597192109 345461891 373192655 834492117 320239471 774434185 176346713 135508019 166677037 852250507 730786081 251855745 221583193 91696567 40000157 691481237 255962801 642472133 803066895 754304325 172997433 684606959 78073469 492171383 294485053 293447167 200854969 852183315 534869075 735641151 616512857 571822861 995960403 384238475 267314625 940254301 573189223 61137213 734122773 254128135 564470005 621351485 530981449 897513747 697982903 554251767 571910675 376179607 194598053 32600421 156327411 253557673 181057799 172622851 455369523 504092271 313191525 331748055 4721635 395836689 739230615 837300593 703496665 745339331 741298103 215915747 118714295 120076477 514682153 222118609 889192423 149508931 330177179 908366429 2028949 157876383 714381313 485868857 403748797 30151457 728408983 59007127 587405853 19025191 913909983 16480311 766835261 733544465 811133865 917900129 133364849 793359177 231627527 96197089 328245965 532772161 231038549 289668365 304781363 877376119 521523257 525592261 112577355 813394023 640547741 554985583 835886981 459873953 382218937 579705337 252143131 47104949 889956869 99218137 666062603 977087035 146420037 343528205 614339613 602871257 563831945 146085915 496568291 377077305 898324261 247768081 741281461 158478345 74284721 848903303 507947443 639373319 974085141 805499291 484100549 648733173 765952637 93409523 6380187 430367133 443843163 969254075 509278637 848894929 536251503 446884011 117424957 746276713 983107769 360448771 24844113 560941131 494483847 538499461 381014203 595902559 889663087 486422147 445536273 920882329 558373193 995309523 215512759 576224241 408170815 332198865 3641299 415144043 882158009 492971109 215820627 342738449 81604459 938262013 974627059 634061301 429131605 366172815 860802355 444632367 110931895 886804633 638760025 228060645 619800353 71872545 44254071 332649025 594585445 349033397 525552483 201955697 933492895 935789421 439393215 581948085 900972595 515340263 91647989 635653707 64980433 185155401 8116785 133217405 175645289 65165887 469185647 194770081 342758711 752398593 953336173 967716367 345536195 688515663 805801909 298640681 725592023 358881901 919702167 367194201 68633223 550234153 27004713 724968723 454520623 486699993 545559373 336694479 68053877 831793247 348735147 103743505 201476421 973253149 88865205 767906147 653841873 362390017 752214687 795244631 387131543 848651397 222649453 806242439 194683995 222288549 127945191 605656213 341842473 755128553 677911195 41484587 19633239 15652443 425714659 849280509 302888829 599182229 745712607 693835971 271564163 139542965 377657975 406694977 636909717 55255393 17230939 901491521 550410279 290889157 37834755 277029781 393977843 834123163 719090865 295743765 407516927 347258397 661959021 634335399 670467225 289260565 323111941 633205557 274862417 379441871 115628561 894367919 248481799 764873507 274412021 455686927 689523423 266082925 281699799 826749785 903059011 382736277 717071527 490417303 854517225 680413193 863562525 300174043 348722635 211125439 386661051 163952703 424397617 749731125 211079367 676110309 257888165 72451187 892625233 160604919 966802427 816561667 581358133 565395881 541377359 921176319 251652111 568676403 770183687 602482437 558949195 632134105 515815629 778376507 267346199 53581285 9964951 935082317 714474603 476845225 727291041 133980277 67801863 957325439 656808303 27501165 240106101 381469897 395235277 806405759 155386629 256606449 928889551 578583161 883145421 999735659 843990481 236909997 369471151 168427185 3952507 669804031 717291859 777261123 166896307 389124305 384001067 6222253 254320561 720442899 742000237 81592193 9416947 935855931 133384217 582396505 599430713 639489095 897715961 874746839 79244177 563741373 391811483 64011685 423889489 27814573 560043609 248887415 294884369 186285483 586710099 667362053 545573307 595679191 419972209 366712085 476251767 866096343 470700643 379771501 714560697 291672281 409173411 357029855 824413505 897849233 638127727 181532745 336341007 635108161 398864591 567292813 82845555 505989037 269176213 898730897 969026301 193308451 126045017 225582411 508078735 345720187 273000827 17928627 828155207 440253713 292504867 472930511 426913429 8771021 429438017 586006181 372286765 699153949 239551629 503386185 604299787 285302777 238911625 910509269 946550643 651216347 767814267 781746795 456908271 472053707 444626805 475484469 311391065 502487641 22350927 139278439 666986951 419611033 823959209 190070075 385423521 649900587 466251241 211226097 377724305 454370869 672989763 655420117 676114317 778032229 210296237 954061113 239052753 26509039 540339433 790162551 889346273 551991957 12315261 535084273 309142411 870060443 959079353 139880211 67176415 400417487 912542137 439362125 64569917 582782089 926915673 625482265 222615623 387065255 406419269 287221499 905238505 780322957 213924073 243623807 35332699 673474603 642683777 164216115 561915157 770115831 375800843 560168883 787995359 506338801 254723409 423207841 436622529 963315611 270494947 96240039 555492625 240212743 226908695 921032057 799258221 689139401 583161103 35658961 352182969 433207809 563206579 392430703 340109343 145439573 38919349 139075359 255437845 127587315 846470793 668187315 172466261 534591633 90658931 951038725 896426471 966411883 166503803 544701689 65526803 321961547 798410607 559224181 666560369 350651775 736905705 911635055 621504733 445412571 437829449 143584737 314430071 796158909 852999607 150608075 717442737 3401487 946487843 898579001 240012603 280063035 458747207 146473021 131037713 572824121 622354593 918721779 623499899 517838983 830875513 733110137 933776899 438550061 815621601 329345789 586185597 469203639 377881009 792639919 461000711 497179963 438505353 203382217 580661763 54140761 48307153 943593105 882031647 329973303 259944375 324889933 637142093 379337603 786689593 513272913 776646347 983308915 127381777 896400375 309450013 204159685 275844043 252621217 948549391 302326719 654949559 76262587 584386487 267909423 715077101 248351157 174699631 831568493 734840395 942962443 805349339 675687255 777478781 49579069 979555049 819742033 308404209 823814871 520205771 476558413 320258527 506245483 315968769 66153917 77342279 118585493 209310283 920554401 135888627 60471283 470760377 703267713 358678131 395772211 820321435 336292713 737120029 596850437 772421779 487590127 561331731 942079525 530889343 940661813 618164799 876010579 892311951 423981787 897505101 671821659 285577271 327773461 352462521 509474319 653324595 101199511 256822465 713241929 299481733 177587615 546858351 122689261 352516221 93799923 135718289 321174755 570220205 199534051 771250625 999546397 944957683 836212035 902842207 886517655 326177903 641004145 333256085 769127249 981704851 654958935 460792911 319800151 902262799 623607391 181406023 665995451 410804705 315045763 23366911 757411481 281358925 133073213 138159039 254385423 70967775 527961495 904364693 879824459 680373355 818126109 964389467 52438397 371013135 620305381 759092913 243506657 964699693 322322577 275880703 138407351 699943027 873399619 799803765 535029581 530315731 14967465 844145163 961085937 506969997 431988989 809698691 426577663 519565857 418195195 735729763 967303385 96260701 878960361 114337277 865701867 138851415 747640727 731950441 352392101 763831913 205476697 889749127 997389699 952079415 792721167 945918205 853033479 635912111 746788637 667490623 743216057 230516741 482537589 324760963 263375917 617171123 817018249 385818315 1199871 753008257 857836379 724243933 700860621 995263609 910002287 2101835 6101061 386901741 299733971 108125547 653349655 677697151 879451677 408525151 198509311 222690061 67918447 963842577 148190399 566181577 912525675 477292079 227699487 781971235 650807361 548537391 839290867 892065239 928223141 303984471 396904727 233179629 46301915 12182699 417528681 119205551 582227619 373747707 533244375 948794545 570245711 743694561 799256145 27884241 824508595 190507455 32387283 899525937 278089519 518782649 332180063 129972797 507639463 533733057 336811005 352625581 58150029 473430161 433327553 338369913 720999891 176763303 381015495 618095335 479838715 842378061 15868205 507334019 933619719 19089297 861338401 275914785 758985611 305398861 600984531 372617695 885054359 752807969 421950335 168554783 140541903 220622709 501687143 601768591 364639061 897261945 159422675 237298723 602519001 72194343 102183449 737450005 949828753 73807421 721916815 337782253 581588283 137025603 163905179 65958259 629188381 465304971 399548069 815912383 379827207 366184493 960294431 624943659 550333773 204507401 518825861 990389083 561046223 849674437 689085527 964296253 445711859 450045141 282188323 796671237 219465893 121354353 16634743 816076335 841840223 410040725 426672369 449048959 891345691 339240975 654039087 159683327 639808099 438353001 516488415 444603399 12534853 354459393 284239283 987886131 813271123 106220277 961779555 64129123 264405681 137362219 676232625 873056713 262745857 721640279 777517163 455639253 587272051 827493103 574951007 503662661 977363901 22750259 639105131 511344157 93525021 146162477 446414445 982373033 839715931 600660141 614408275 699039101 587285697 570865993 541960463 671457399 781390635 90425957 609370521 228384953 974558195 305899813 964919283 477135793 282288895 437158781 658315819 774858257 518418113 765077793 533498191 355196119 136451371 38682775 966905981 751288903 808016063 413772321 131395539 368304367 48100737 251420885 224462207 746002079 130471423 421961607 8706739 508127095 786942545 400459225 718823079 726730971 996944149 921278259 818735007 106222707 102436975 280561607 98283491 284290873 131133199 509661577 601633993 16694887 628654379 211458877 442978727 448016511 103530369 537173355 506520291 421678161 485895769 861554017 420431589 96556015 79346303 254109241 960764703 894003637 797753417 960957907 759134989 195649863 778547863 540509143 852691249 309567125 717088207 513349813 74322965 119697103 322204895 790842533 621399881 618899825 717431867 228861097 789283947 68465987 762675429 315359111 804878873 109627727 846606689 316622033 763366147 595630057 545460925 547994079 790379733 101804463 676208017 918978769 918674253 763055747 769550587 714355597 446875437 33516177 148085663 768873671 767942973 743477583 660130477 251107573 353448787 503941753 662492379 370822489 408310087 672922901 353334633 593587449 676107769 10108523 903734553 841652135 505309783 912397585 940846909 543406329 910681683 929463781 22140587 840087379 308151781 475542281 883068607 826495193 776265745 511615723 604917345 649934975 938309089 670654781 554540797 910328059 96928613 836291583 593430413 496140237 239864507 209093745 584119693 36885055 232773891 915182627 72122371 623107681 35273063 445507557 861511293 712155657 582282777 278563031 940410899 774018521 180782421 436069725 858137187 765751355 681764957 369844769 257564305 962400347 961782395 132476697 121000013 876401973 582976511 171533951 69700815 610086023 159597383 229183451 697212369 682930137 770159027 710575863 464607389 764722559 181487789 350058215 384008959 343690125 816077993 518515463 572258893 738201829 952375839 612039677 587781223 994214447 191421075 468514995 697812147 574900443 797917581 688806239 463133983 406596643 136335267 866359933 607454497 181619205 796628845 642236881 579795639 713431625 945198733 917472103 612148583 67366273 137972909 812842643 927848767 48136709 59137663 515113203 336210903 402595573 161175233 361071977 723358541 299926329 274856753 577238817 230618437 491887745 726502809 245438099 602820081 380194885 590823119 87532151 140096771 920105159 432516523 502631635 271374523 119716365 534543375 241570805 274332385 518460649 277157861 589691245 992257473 721859569 90595359 149592859 737832243 576224905 122184635 601830433 982429587 655006167 807694007 365684717 416764617 301145033 813114141 902709555 443515715 459253787 447050243 303217901 81718005 265485133 917411457 801583459 3791969 863972773 155229881 956100381 594553741 8580149 816126165 471749619 938132739 490692051 184770569 781348863 700124381 889890337 31612813 98440359 91750841 510067849 421499813 569951125 411537851 900042551 128523419 26156991 684497813 130984487 629107647 920165473 987722105 171907095 452421231 506923519 746826281 403245457 320103691 679833955 254309863 371639269 487646205 792694951 616353157 664331817 308668089 258404897 634487129 413486143 144857783 51655545 97269823 249192911 976804987 603382425 219947167 630622539 543864975 263832761 268684647 759169767 765800581 753949009 193128717 756676519 912818679 992740135 610070671 250468435 870167431 821592903 188189811 583860857 389296607 542188037 129530313 510866803 434843827 143018495 749140261 857228129 610703291 302822679 116086183 375894059 231055291 101994875 586175989 506300033 287806333 535621277 669551419 486725851 841896147 310306365 138451505 178516091 728933783 100244315 147171351 431295081 530446507 337174341 283801009 639157363 693660921 737522321 199109197 840268849 257423477 360288793 252640451 431218695 365767447 914772481 924844655 979251227 554764259 644633783 605524025 59511645 933634531 822484975 469732239 625770117 961724713 782053797 28201319 404008213 913776079 698191643 410019135 452184147 501118711 623971297 882863645 203353679 365785547 133923017 966284177 500521701 166318207 411710703 240187055 376286899 953636171 136900793 825287959 397992479 576601461 300524753 35975663 463862365 405656129 435065647 354474723 571346019 712991751 599783945 510477613 74691569 691754783 861239529 641077383 387215505 563263211 427643289 847788091 597134995 944789719 976135469 482616341 769195021 273892691 676982019 608815981 751250913 646495449 625083325 110020127 97933495 862156013 28856393 281043349 845179393 927119641 833056473 154534329 811551477 696283119 363390443 931431427 334993811 915278345 442419523 26849393 359908261 632600841 816302319 382456457 548798393 590935705 881680959 437759579 529885225 438269805 707123411 642093947 745612309 414007871 846948237 377288713 974194789 666591439 814140827 168640939 563327177 176358633 383434609 358148237 170876091 910852447 356614601 196851305 28940409 835067147 622396075 572200827 885220875 212043727 39869023 699897735 19307075 597878677 539105405 321352929 325139385 439741777 713067231 245886811 317075405 117247485 612440235 349573971 70747559 804441497 998631755 365080753 971603255 393495089 330463605 12337123 738989109 603813591 112806435 416490719 559100707 315795621 539178397 473000485 473998919 896346557 400591981 722214327 684794547 299031627 202258023 831059495 930911039 843519357 963331495 244730761 584694667 524890771 48826771 116955773 13411069 543857611 706008023 405231401 539772361 728502129 132697445 195715129 776313829 445932759 28887419 505331687 941704211 96923479 798215325 560176367 875559129 95790931 284473239 620840343 151483271 899502391 810655869 722034861 232627513 858230387 729988525 974326409 404016587 417660547 870052553 524549129 445862633 574046183 904431551 735613329 593261311 855614251 664417217 900477969 13717065 10806753 209509455 497412607 455591365 927884707 454933033 992043609 159367229 809309459 113128029 702362535 347810625 123023581 69797185 89323765 45792295 107403441 735427951 120530137 122090769 907015753 543665355 187800179 883863527 828988011 850431875 654178409 37290843 873935325 362490123 985806313 863594977 961818227 562498335 768039847 539436223 38914055 20135617 890280165 950709495 139062139 621356865 311529575 359408221 824856507 814659889 404110205 123719817 227644087 492440429 271796987 952541659 766778985 539082267 509907519 214533755 858028503 550866341 914101297 443758427 951087623 697166273 928186433 722575151 339394317 221784171 428068705 138198395 987912963 255761127 200073489 389740933 434461963 221195969 396498521 851353951 36736081 523981 995296965 579235553 850113797 305651241 515925355 649239211 781952355 123614005 264189931 497238309 517929643 158602915 291770219 326140797 40938025 237597283 694360473 254017713 18209327 234904757 243616171 561181819 548253975 320987417 876866909 909776999 384635461 941726557 211773947 522324677 549648671 71607957 439468877 701378477 389738523 374495263 774354093 303486461 562713011 143426205 94763001 251979361 332297063 652626173 552442005 178175047 871922373 185897843 204211313 517760743 5606491 383950969 623289093 550088769 387827909 533611479 315352651 814627871 662891941 868440469 953982413 718767889 552611495 638229259 159964055 116778861 596421243 875990995 599864639 655826517 111374813 807513299 18453733 393724595 844981901 264733493 159825455 746635827 712086103 660810095 132297547 84802641 768020495 212607547 816294895 433552203 857432203 831055265 478978649 756165931 21309359 896267755 172237903 398535871 450784615 551979693 675244575 917010081 732340387 884833731 138202019 144514611 16323167 738019923 14080819 729020057 299195035 419076039 597574843 430992837 927142243 211564247 339724965 394231151 840048587 189999227 749926633 479612953 86796009 240058617 838423047 194168331 702882017 959834333 108329985 902950995 705207775 202059259 482390891 689186251 16483091 647201905 366855765 367068179 118392761 65751457 315261281 339547795 491352595 949746999 980344501 776108411 406861929 351940139 158049535 571432131 420233231 145671605 898061429 457304877 365028447 795952219 917191637 31778111 367400381 161290987 383712613 283190859 535195281 773333365 312385013 244411753 378940493 891602009 138021337 116688505 297749613 690490683 448920049 109752097 369737073 250317829 437659809 191582165 931212773 943347691 118509787 782893259 840315229 592218221 517547793 208165125 198367087 193457739 343684165 56033097 551800511 386535573 260126457 479406377 181426681 660158365 743357503 28318203 286267599 472689151 215536301 547337185 597648631 815812513 839633247 420159173 797964601 699647149 892790525 764135765 360527963 270621337 238055093 304809991 710899761 42769697 117801789 380775969 687613591 968057673 708328403 62958247 308608107 651187805 219021119 170764137 672493723 855218929 997603531 617192449 148090647 199743969 348855121 377976529 640414171 590227283 716470319 715941885 64155113 663448499 66682443 248092279 246903881 463377075 966723857 857688313 310256401 493289041 847824763 152018177 85438551 834371537 40774915 678921177 705451841 234443455 397259443 772569999 578509557 674890225 663283735 822114813 438940587 143617665 920120903 207389123 625555353 740524243 728500447 988469577 494656513 709216661 816639241 777457599 446485041 602820281 786095727 45852191 631456375 68785791 293637193 28777511 167791919 436372071 609791573 635467615 511709117 167529025 342158297 34139673 244960649 265567005 152790181 352905837 997293829 434195547 176921101 140534075 350744237 832975519 651564529 204054825 762257411 937407699 972435381 665367467 983033487 573369133 494432587 841789433 160149735 475485223 666113575 151332879 156971425 929782665 772247109 389719483 639892579 207000413 143806767 740336007 968431829 750254327 283741937 841811409 545420713 16571379 251148067 219970999 622121883 259505463 522300899 748113951 880737901 337957869 971471573 256874173 7014375 738308747 425191465 492964103 592090333 728382925 951242133 715123517 206624811 529561527 9227095 61447529 581898673 952296085 500756277 877398619 448603991 235340285 887094143 339630761 299962901 888702407 70293001 755742647 707317473 675751195 826398003 300481193 3600831 39235941 227582691 168585075 748656311 70699863 84991367 110716361 129432285 52643313 693032211 613674545 552001869 961518963 957899273 400270061 811230247 81132651 362707565 382682899 515637141 406416047 648455885 506333047 862683337 247448153 886675265 993907643 641200383 547927757 242755687 130713415 766310521 396089273 967150691 931454029 941329279 822120465 198282213 975089857 150053223 442448143 216963875 290630503 94372743 851907899 845644507 34262215 626297925 895549789 615374165 382792239 901855241 205436301 156390749 506041 478217799 78164005 439133513 508800581 662948983 292640459 871789049 55631995 318232859 388539241 23040979 509705163 790555329 582159157 427539395 351802477 174238455 629559723 552713283 10892131 356347739 668672399 892823631 269335923 846103693 744974829 145285229 613704751 8293175 645572377 483412395 247856879 277650699 77456303 521418913 371121107 220191173 771297685 907287149 781054657 652823591 669776119 74755507 655301229 808689915 704910151 317629347 338806605 352009745 414098499 466569971 306484387 200975687 509940463 8117987 404126581 922902397 897980055 231188021 296154517 688432029 310628817 84542011 840936601 883954585 886050165 695544265 427489509 615181165 921329069 987346497 221201053 508788251 774709471 283588227 364489909 875198125 541423301 405868547 565768163 501224755 234203991 745138613 483914663 157965259 75398621 409442071 541423435 704162709 201568735 141545775 798892255 311219643 467257397 237598603 648065593 496785009 169438201 538715459 111810043 781756399 670939535 486290421 581876879 43171193 77584805 18158789 193108257 358771799 794783791 426711395 724839597 163752159 563977065 927032069 662100721 865272679 406582997 879092587 443901815 400623445 181003331 676570583 492978317 906669585 226610885 722723355 472493133 57728527 20341687 276227469 523869079 287352775 398258111 203365385 546437395 149493437 951444937 722776823 254861873 409927291 773650439 871038533 415094827 65686929 305396983 376577895 738883327 433599645 666334299 876066911 122269813 705867583 623776323 932652721 232161567 292146465 94973955 233431149 703055701 484840695 142138675 519801639 869796919 643543929 198917819 616383743 140825773 262509163 255078343 22914969 4821607 141249431 486125769 340587813 961625309 291017165 875614337 376487771 279211089 857854955 158374127 982244469 334274761 332337617 377826913 206257213 961913111 421934953 585533549 693383935 800379857 379626919 668303083 570869393 381885019 697033603 153284869 779528021 590811611 936665857 442504227 61765421 17782335 691918379 352448761 768592519 889073475 983198737 278293639 319943005 612433255 831769041 270678797 260851755 82471665 64632203 972901147 498918135 68137715 146874217 850350211 458334289 539600451 318819999 537752417 146859085 138987139 969433701 974865177 658334091 45436701 399576319 610616667 17903663 272203325 976799927 651690775 975169771 42340319 79517919 971873161 165127665 478237889 349500623 210632505 755983361 525165 353648365 671827697 40308579 913904947 664230307 680218309 215920867 766810921 522197087 712301841 304540377 684725041 489335457 7286139 236603425 833155827 980735719 417637359 900112163 249141473 900715453 272724895 483918541 988703535 701129395 49361417 75656085 427330785 961330023 209610737 189717113 844065471 458481785 291948131 763108863 960976983 896503955 679257525 784459063 790637315 575510889 314903167 449846965 338408163 110999219 451474603 300615577 717977567 916278069 251614815 496197767 794075815 718555065 491421461 779947185 90323379 967872017 348843653 145353417 343856709 833532951 841155509 901826577 96023397 352992941 792100339 626006349 174872289 21756093 671825873 452040651 289318993 137470523 135421995 747488865 465551385 666112799 245146917 387259505 245096031 765642863 88274221 326596317 679245843 578272559 280538615 918250773 83217389 897788279 381993853 280929807 88324975 494592351 881770759 857545545 546977247 538095113 130200095 758951369 688126285 80486561 418844057 778337055 261203861 153191253 277470865 621293663 897248597 235166821 919085421 487792937 883439859 998185743 619465431 904726689 62323107 151245983 6464709 307521145 793927771 644055911 183371635 513682915 50156763 795656127 479354469 996107937 810996909 875130639 667342695 756030967 963108385 508972219 124124557 212984243 303617869 890787641 546694709 465430317 69022995 517358849 694774273 965847617 596362269 789784471 242680285 19320407 239781847 417519237 613466625 262171997 944792445 903101533 482068197 133456585 318167821 236407737 7081551 359367323 244640849 19994171 193203275 312130645 466445783 725057423 520710191 174896649 72841721 673342565 87328147 373708619 382073815 929012087 712464737 751707195 911887449 137006729 596553409 25789055 176985903 343477093 155626023 834350659 183036371 190696157 198177363 509824833 816137859 534772171 359252805 129687475 404673351 677737489 803468621 742991715 563367667 879637915 579047931 452506271 241518617 19167065 508384049 871003961 921785375 649892421 39320077 830046101 292443179 697130595 691972095 567858069 978023469 646885821 11213755 805267369 105075677 861091685 565352509 638241223 692326333 204071029 474678217 130350701 827243539 185548559 23766251 822830499 898668017 685585247 129035127 243912693 740485167 500298901 891999625 321982329 470398573 136830443 515766919 53380815 346699793 29729189 458740251 78042141 331440975 716814863 749376315 230658575 14474269 592224373 197011237 848518367 212795197 643022393 694903385 500697417 893542709 885735351 947418533 375810963 223885141 806479707 612495133 485706891 464894649 613402265 309489439 974061705 402376509 730734315 974522701 650897001 638606989 927209681 445534613 521254549 594113301 767654615 608732457 137767927 839568657 297284751 870242183 21364999 664656769 730434963 346606965 627688131 200155945 111857797 269880827 853341619 187091871 66361361 744387441 563508963 417519159 930840039 618808945 713825001 368350995 422383555 928166111 781578469 519293467 307822693 945340137 45025661 179738113 867491993 716885507 392271325 597963577 897356849 50276839 598476991 607009545 597295367 468954013 482392927 395480691 729530365 54706799 34002051 941041995 610392063 331560687 20731257 222953257 158355197 892003839 471845145 12744301 36438771 365161405 123487425 445585215 895663841 227213979 291071317 483925137 675150291 760939593 208476229 155375895 263114203 344784069 138611849 154125397 481784595 725605713 139362715 769111441 972810909 789962109 851236997 201433309 291463077 439544349 769559761 761434641 527502427 601650761 718775707 425394125 179229947 159918185 654964349 224095865 321903813 171202345 178066079 860499781 106701061 92532859 741748655 190573865 879005197 40392349 186087137 588249061 410099769 804235027 234861047 416983301 176922855 943307177 55006261 655871187 663038341 97709941 18750315 985546605 12997763 598190033 900302061 8031151 872882779 428624225 6799513 336657477 526391955 649847571 251488217 967820957 641350321 710777625 269100183 263983087 953655113 503644659 437877835 639772731 980942581 347850081 106296053 423703883 330220889 648396659 198259735 272528815 925570587 615805817 656679363 159923645 506117105 516286741 851891599 108785815 132205461 797712677 462465943 665891623 188498631 833492697 915622275 134061849 760766805 28643493 535468417 943181289 275083789 309580613 462371655 642655701 408204747 52698301 427308819 836664551 842177137 570611543 28339883 398461421 437863915 42971819 836239453 260976001 301405993 943195797 24636929 337895173 157736231 721418295 606764533 80962461 859358695 671204605 487817757 734541115 822927217 133408157 231664875 380098455 359384281 211537683 366910033 715182899 45134137 611640227 41693905 125882967 802773173 811604441 932611181 319550993 34391411 689131401 429305271 306086203 129372843 914613969 680972997 1252213 325708177 550174483 942217779 843460647 72139373 677559293 845695017 176177025 882271109 353857665 259315029 276843387 798233645 111839711 426165229 621923543 465296833 89564311 536110255 101762075 259080351 147707767 392240097 295555737 787942197 217355413 42782803 981404521 493455603 173423179 639039577 686360171 968906069 236259389 193926867 1236805 624026843 811579993 511530021 756299371 773541395 881713619 741501247 724113427 436810379 189491749 147696281 736343871 8718815 820333591 683249965 883526837 887729843 552765107 337446277 883833351 904823215 624408651 50959533 323871371 434242181 533875073 719682877 126148197 976766705 893598771 485773905 626466681 7068595 773003923 772790417 935426683 131122071 567791633 105708331 616250335 299189361 71826025 433908437 145012459 2666007 179328163 986197709 634988707 139825519 706786825 78512601 783358167 978912095 722090799 743221065 936822049 245489119 861049075 478767601 344734179 597324005 354556279 606115121 188396353 318371187 575708967 335366639 926717997 513817239 212928955 345750935 749972321 478823519 411426091 234531107 386041947 254446311 810004157 971856397 826443365 252064083 668524541 244058463 426917261 36602059 230487487 96079013 93237677 636356993 687208737 896425207 561291621 734810545 937956997 94492145 600375069 104907931 748464281 542636731 48315909 733950861 905875793 894723843 38472471 743364309 838739687 129805823 956447249 487322833 160214755 353592685 588721275 325370591 344962829 110064789 256281255 649262189 267111037 659678019 502120621 640236011 949013133 89165005 47489389 95390677 755480545 767647507 56005519 740134317 491379047 759337337 643297921 602206459 543181139 105962481 15233 465194581 748998177 714491373 809227913 61386833 123972501 134517615 153716583 572240021 373001657 389291515 124255397 401185481 409138149 360837023 128209569 506733983 333625781 857529843 857514617 902627283 251613707 614316307 432902419 939183399 377096723 740371623 153621539 766208355 836584515 206446301 734926111 955114333 132199767 647469421 650731079 816523755 411726163 242574993 150310821 896703731 730540675 861914129 109808649 280447069 125311099 359430205 122273801 298965275 797780249 608202473 228132617 80604201 719151487 1554549 269548077 636812169 974548763 796534471 36175721 715683651 153476255 107371595 710661745 244017773 976189705 149341435 868887499 67784221 349129373 382537555 245859257 14254201 785980393 240256345 70755153 475577257 416946877 982208411 979478375 346234591 671642425 854346801 80638877 834712919 658042561 41973687 659569499 992228179 672778495 21727831 370308307 61234973 75059943 959539899 410074617 396378117 839333817 520226587 228589457 764673897 859227637 470137909 849167395 646734247 99451499 323083855 677916413 497946925 869011757 277568569 158141753 750947693 129674391 765038153 196747959 242715103 52894287 728653659 388262175 66965767 103737407 558101973 232144609 379834221 635714973 900666025 897450037 781555879 556984805 196279883 931594269 289817675 760783321 754312121 234345311 575984383 135440521 890463097 287489933 408706923 893115463 449818777 121496575 622262083 785015217 286552497 151699157 472778303 250337449 110457821 957647349 48745761 996235099 374041543 391605779 432105143 200846141 622816921 975365029 887727313 387252749 270502667 172084205 86441799 729374411 783138395 461929969 398540543 419857605 136452945 217458051 620599009 545376911 236203833 492154937 143693537 577322759 251605225 611887735 856906487 897881167 259127233 172225121 760645669 117254869 80077479 569235691 779746169 247979083 260424969 422000331 922804995 230852785 307014107 114342273 685108955 668022087 754151583 404210775 337034791 195422621 704668761 617831261 45329423 43916419 587316889 447582313 573557959 318952729 811289715 257694749 300008071 648320963 534973829 673513187 684889235 888794923 216354553 260636135 981724723 832419143 296376953 16331813 538875325 701560401 592501565 880353115 545446281 296500689 40977669 396991763 57270521 378662801 980268819 136034203 454301047 722288805 166754617 673605389 484647285 774720105 344245965 699404361 272873327 322764675 62568875 768046583 700087527 436750557 926950715 234653063 660929383 789575341 129452905 376540211 342740865 376185199 920365999 668184057 550185421 681633511 254437897 431848609 468460017 921837857 266223613 780236477 766692245 259539825 771206555 807200421 376581485 375009653 176034935 780860281 808164401 842224143 906945199 548838433 338237349 809740397 80413165 217106509 172807059 811642113 761381979 665515381 410362571 331443849 521597873 266255835 476876331 537392393 666403887 701211525 560500627 985070799 626072985 924276037 219156717 723130219 809022013 403826097 751565613 966812349 892347377 346527277 676274507 481019367 689103637 675177951 910052171 25863255 880812943 598972085 320076599 518255809 514911693 399139947 76687393 337581599 340328389 875250049 733286689 436393657 314316277 538450493 524786781 995774231 979742307 697659825 937438207 658286865 82163103 528180403 419455797 197223617 935748541 222798565 212611901 279850893 383163229 524217265 641105497 951986975 880714403 601591619 870735571 982405741 40550975 360901527 462140925 913764531 114448489 850450797 637196081 217564277 754652123 795139401 639687889 579421823 763417823 453892225 942151495 843491045 143029313 562752553 212539911 943905283 879723097 947668003 209923209 416695679 560078851 419998743 38521169 542424899 41459111 162598519 454768361 804103303 313037363 441189751 710797027 241528515 159754269 953918491 823957719 559501501 593459299 428315435 633607019 851296129 69664651 140274741 160588617 104444259 36359333 506893459 670542879 567803649 226377285 620370021 57114029 571677757 846141323 155943315 287439025 126164805 835626267 641973965 781428727 974055819 599803431 520895117 556034383 970661583 241458017 247461903 324447895 256471569 804770313 129027681 369501359 976358559 236774119 523100495 186353283 465446159 678031175 505195121 887074817 755802171 617219073 770869803 582483241 318165065 837970033 332331683 187438841 886904739 259114881 659770569 615513725 346237949 777131161 221215061 32036293 571957079 668982965 553919945 113332975 34015987 428955475 101516139 196777755 380544091 694533493 971419213 477061493 360488039 574988461 569564229 371492909 812603441 813742095 395255 891819389 946794527 326916923 171366343 587282601 148156637 659106133 459267817 504127739 196054109 337782287 988210259 745986245 43679963 805610651 421548997 148742241 113273311 511197371 448626377 758442801 441411379 427931059 10956719 734036639 164570093 174801745 514654349 257213215 500369253 929294061 811763269 881135403 535994435 157706851 391247745 923323459 975911795 362306331 636241837 414306291 988496167 899072259 351204869 610655947 944632797 705895825 352983175 336625513 226655577 778755779 382142205 440639855 449040297 853051937 915960309 803536515 445733405 615720885 350327241 433819995 375791701 55947547 777468825 335087279 77621043 542332525 434314317 444252739 82917861 918999889 522321813 79840737 856740063 667880441 37468907 717698651 480561371 73655831 702456973 33831051 672688609 522202605 639213699 210812499 386172985 217518399 584580001 804276639 635307899 216054363 528621689 116353887 336272257 98353433 621295729 590339213 6635377 376962007 190488239 328280365 129732789 60904569 553283363 387617609 13577731 30064495 182416775 998821875 125029975 748755119 902640215 411365445 131618291 441392823 71741919 927423587 840909671 617978255 671559471 137111155 890967173 93441473 546210079 454651307 37445995 71886697 517185871 953669445 416230777 37314337 882514725 398400385 281313889 588498703 184212693 564775083 636179219 336045029 621146197 479907349 749241549 876864471 331734631 517280025 930246163 43444129 682867601 76928025 484350897 402670477 973098787 504989569 986009531 665394793 718037049 72506561 50383503 264337545 339556015 105013075 889121231 76393675 133195825 849706939 426731369 45340567 315039531 485476483 530583695 980738525 470425561 962384701 872011457 185362959 722303291 369683331 177222847 405242157 7247893 55140345 645530519 895452605 718326269 122707781 133248927 769016015 482415175 421826845 27830641 523781369 163124501 324535611 120609009 897235287 59737679 414776415 545612365 308034705 347293863 878267733 473841401 485615571 422358163 965814767 566303921 2466775 616176467 640575495 698271351 356286937 784794095 182605441 297652123 520855711 435641913 544945219 434104495 90123127 607591881 457361731 112694927 593226553 302345471 358193531 540765025 701924163 269569027 761371115 228578703 608239225 141446599 82080159 889667791 752477771 631880959 370986665 743582493 404125615 135144751 368034083 511017917 321651237 933895581 937764401 663148091 386519215 652129371 556328697 792869739 713232607 279937345 199966129 493262443 376508875 662379759 173252243 588921245 535242511 625076173 696098015 14452141 724617171 370139915 94807011 162234001 74100675 963114401 742440429 49183367 62670873 644972879 310436185 301060879 798288017 665349025 70854025 160752119 318754929 873491169 371258345 933761107 580812681 655186733 635500777 132258689 571187501 287123297 383655173 342763555 92983099 620248105 464470973 557866279 393820957 437251315 78021789 598369473 287707325 948276471 429831223 664297835 433763219 95826485 398321957 875713261 84396959 383279735 517385483 169339215 466070115 680588365 842771345 677938153 714540529 147585549 36735849 831546965 508423647 210621657 956452685 205902201 515199561 345481627 342659331 28849279 292448471 911577087 145232465 453916637 65783735 629992321 371932683 794292813 575802013 886356063 178994955 150440407 896437195 650215075 592496949 466404037 962942725 109165339 752746095 409781419 542000795 747035745 29182897 562286949 722611809 316635095 686260207 284792857 384664759 543652001 557610801 831206451 769489281 424808113 638528893 45676645 970136369 873034177 177800167 458642861 605345721 464446029 758904201 664092751 229274009 878010531 413026439 21139671 495067865 628897743 899023625 641348377 70628357 610739883 855758913 987900211 812346677 988208343 101757291 98282631 371265285 563754939 301803207 118707393 884632989 366422919 255487137 576806617 472460203 767326771 711741005 940974087 127544165 110845569 885493537 262844625 834260873 903058679 395250561 942397445 471727197 340235495 788764633 232504755 492804783 171239273 293762457 746027067 91394777 297735261 551168573 292293953 628474803 999999337 888701511 346537135 705661865 451163905 655429183 759134137 66523045 867384667 581530553 248496607 832264225 971071353 953735759 6178785 476513815 836883489 903253669 523050191 441292305 145370341 183838051 653768955 739740443 245690139 786982971 131160321 916966349 576075495 378122985 600655047 99098435 583071789 900064301 646777975 602830885 222898081 588452565 939278727 752138657 736022969 385619631 209222579 801892461 928529333 895175063 202763775 65305543 602185375 427866737 817050551 63523957 565139525 551931429 885868911 637341639 395186241 453055141 423916547 462429329 664109301 326821869 60227481 832180275 199168645 532433149 238268061 497171345 473237475 918668003 939999425 135300637 324499913 162186669 336326147 700408009 394170805 394456441 313425831 720307479 301067505 835246949 593415995 997518347 358335371 417007263 173105039 149443379 824927069 56787287 677336515 785258919 410438919 347883977 950648377 256847107 272666353 202706231 805095839 107556463 755675723 765279465 106750439 762412441 896166927 384173363 433068369 239966135 113336827 260736113 179833181 701913735 745055639 636194817 643927003 469966161 949631797 406373201 382061531 835288031 371751661 696941267 865936573 930251149 193190815 913135359 670807845 590481459 994261491 865388887 93240317 914581821 443232089 555060585 688987003 200220311 36597001 139864003 634901019 99723701 243737347 991011587 964857247 9290905 359919379 504981191 707873303 645466823 379393475 442357437 115945685 620315213 614302065 408659349 68249461 897169091 899197755 54663179 915699933 893532229 323701767 476574689 60994615 470008443 733106569 954326753 866520059 579151251 195520823 705805275 247600353 422548803 131282257 43003307 283615469 897624009 145958369 227202613 228094065 804923117 280598455 699887969 214891771 924028155 812355433 322687009 80168041 912662473 562405467 284603249 956940257 166151095 957603761 262994259 205358799 31918251 845029215 199809489 691517927 956781841 298940187 831052283 708030499 773897443 888504165 410535151 532809673 438776989 945574533 770266315 826494821 824309315 970239887 196182973 986904781 493161065 406851927 274712311 955099163 239132961 106833279 227141041 396613811 792867593 223730031 696365101 811879491 32050761 783668569 162295993 323968959 47957903 501946673 436617891 33300065 769303315 602430395 662319945 170624689 306124175 170349439 569008395 210718071 775181643 834188747 442818643 549383371 707289367 835709881 975751827 696873223 867882313 793061161 858873671 829506513 60454077 567326147 21875441 772448531 460561369 488779255 57442841 634145795 217361807 838224381 801189973 770362397 721717843 590656727 530277693 247911461 168279329 960162635 599191409 789478183 671919235 668992747 280678815 601796471 371945863 18790671 624502649 323555249 915786945 700868055 188125367 865425851 181372239 415271723 930035229 472391617 506314713 89016249 216841843 17726773 13812623 833050623 861678479 824224213 640788771 119588151 797690695 7772837 522128853 239881325 370548865 336985329 992668781 258658673 622401061 824445775 456271927 471074777 521819687 235529367 468189193 137442313 977677439 871885555 933380419 342730277 789573681 611279561 878378187 228051745 971790405 308909523 348727823 284466099 875275473 360231433 807897603 561983835 807068653 276041395 475537961 129763171 191315129 671545177 926141829 884270043 170721893 654154963 403765671 936482457 717444381 101566011 148528547 37792319 983892255 78653941 561237783 187697463 6866349 488031919 177842477 561523373 283652113 34836573 393174415 7055773 834481307 620227387 27609973 273091525 738168233 980412109 113078941 709572271 292050075 819539165 562947151 32436905 318816475 209702019 240834647 564314573 844402397 597807897 718986251 343718139 9055513 717566277 215354189 718094555 436576531 792489459 649581437 753538781 137108563 599843669 154345615 270218299 867067759 726309865 642017271 359215347 886899967 372214131 865659315 721555661 388417187 110114815 52897097 72732251 907807755 10268897 498566857 60705269 992915939 932860853 279215047 126711483 68197611 576302433 307861601 605611413 476860127 81550097 533871681 740415027 609824143 158171447 573569425 143044621 880062411 595518099 521864713 694555493 803529835 355398437 538487273 142639681 926750549 794420539 586344691 28519283 438642803 240411243 659933561 895188881 127823539 316532367 638912849 722906111 615279893 312043211 446569687 841515491 486032277 448111757 27260403 669943595 748065859 358909575 353182483 773806485 800930863 173856185 351140397 959136155 448956531 27996771 880769983 217906057 155427121 667853077 770523087 423093871 339083411 566149537 341882603 952596259 20619213 274927139 427061549 117187399 749179927 53449729 383097133 12993605 105843125 949006565 5086487 844555337 404046575 409740741 624272277 13232975 582537499 391918555 638404319 985257495 575159697 869516719 302142389 214782757 110998707 777895947 290308187 659760079 85204203 753651971 532545951 340719401 277007789 389433077 332833239 901286165 966547569 752596353 608177125 277882171 833025467 355284121 132978731 750963725 831372309 340404077 283032473 775339455 152641297 298610043 279775395 756259669 31220297 245011335 472491597 273638295 820344415 699566237 697636119 641676307 668453373 662182163 573262865 739708963 630807767 991756161 313357781 724165607 652213413 388935121 725804411 280032583 220828203 355974697 756308399 691793139 115332659 198106627 857687963 459746661 678291599 986645271 813394425 981045721 984987929 322226797 640370691 183060829 275639475 241127757 548608643 226358717 687912007 344262735 586819781 231714451 978419145 334060109 119052193 630054461 119480625 301027691 502908019 425652967 18523011 522618391 475979811 485609855 835512777 418553349 857787935 273345725 698205717 484909359 669987165 385419299 516536961 563621597 511221083 30382327 136064047 978972825 444195105 839502155 326836297 838552887 448310329 960931061 25552131 451819987 268179391 331977369 250276501 409823443 591186251 187650715 684474435 211416801 86084617 281432111 36929367 383222259 808949667 51519563 144918051 156400197 647247699 325771439 989576961 964088667 305464021 877541605 884766547 385451265 580415853 849030461 114417285 949437515 943127791 489909709 710672133 54676631 242565291 597989751 427877715 420498567 26008709 832090853 86342381 866412295 897520607 93954947 222254943 650576463 451521193 489429645 27041083 689117911 162526809 179834369 237856027 494772837 537306861 142248361 879147681 472206085 573911019 567007251 693215095 180610061 828203363 822354841 79799377 582097175 64142571 213171547 584114665 56897287 650890397 853318721 803269631 163886347 398135333 561708029 113845855 902316437 617431471 367277571 542680027 643750245 134268143 690120855 86314317 149760635 393409063 801403327 178211479 878838567 304697627 705913935 970783139 954853115 531731481 900139739 934124901 869171155 145992441 438164675 194474199 831330003 435286551 329516851 566649337 114581353 416676701 451267097 195849943 314410057 186606389 755365679 910549635 885640815 306999191 205822193 474222615 9071135 721683713 313107885 852284341 15800293 302434169 709285485 275192199 406915989 851657103 93409295 530966209 504769867 384395097 110984753 553374877 430532205 176577395 277374521 780458331 648290469 412035075 104762459 285202247 64927979 606205883 993212045 204990899 801974903 692575949 585168785 988386297 785789391 517530107 842059757 550931067 962025919 47444873 468310771 330685349 291758683 395966023 229403065 783041255 670299137 527503495 94395425 850610107 445411411 161650989 719321557 674588839 935112511 36096155 965178689 454559281 553555959 375484353 915699361 363944429 883490809 763506453 937771765 957045109 670024203 325713303 450035457 773509995 440006453 418474441 862463579 299610235 250759631 393876669 482347607 449942613 932912243 545791753 527463191 936254643 26366213 397332425 137613957 154794073 110747059 194024867 942522701 964271121 69098481 944079817 18084331 248138157 272165241 256059119 838520221 251549961 915205459 56208977 489992043 245169411 991819977 504081083 795790119 188340359 929067629 262659957 900948587 435940235 506378529 413806937 984608657 437158915 643159299 180701123 290283207 712886005 318464133 288318365 490781437 72611181 191872855 380643409 496252135 766552441 721976695 582619351 896078857 42499893 901074983 313780397 858927017 568229315 615554807 166995675 588684249 902145103 59815099 729480429 140389489 481899273 765011083 418239995 886829585 901794859 300932303 872140193 856254241 510777083 123749939 556600581 71731409 509481151 628144297 985818073 879030809 144715723 236969071 253971281 739601593 778275449 542240009 46004523 181984829 498761771 49794115 19433645 522769135 648098381 362436915 650387877 259183853 184684879 373755187 199999851 288963349 195148205 798747879 522893277 571869197 560038119 775309629 258435679 415665481 477673097 241618535 65422051 259478015 351781159 393878757 714657499 888840751 952338775 990187639 451620423 63191459 628098749 200043821 796421807 432742635 60476677 758551129 410556447 480412765 87095007 941933975 244278829 533156635 107856647 616879563 179921659 744337935 872217405 441969187 900418091 690854117 64196941 872813843 892002795 616546073 50022409 737951575 402509813 166876393 734966349 720376563 699970693 580210271 408127991 605211697 729125217 572720713 293905653 788797097 182580441 447731523 897335351 13518903 630053057 213871785 866819257 445601277 83194745 170116005 852644475 51562343 494401253 896826919 424424329 146382635 456044917 767970793 659159287 204985925 673499937 871837033 645032923 126684921 638392419 325968623 793636953 461769683 810607429 476555661 621201053 866992809 408941139 988732443 780796887 391263123 121245603 123930169 725020995 459679737 829841879 497724751 909903649 558845831 563554577 823838605 779450815 310684463 610405889 140278507 556250731 749471281 813955803 971483179 885270657 786245901 960887905 103483859 7286373 731732625 378265305 504492341 762736765 640620755 97691917 111516521 36910657 446659117 57819479 838691919 764715813 331306563 412661909 664648589 796298161 104073475 928149293 895379863 373056107 878176161 509987339 161866403 922761959 866047383 653875623 631653811 444319425 525451181 116473089 246775181 912594071 96292589 880032925 774901699 394794775 523383209 266648457 634614187 854330353 423871107 922396251 208619369 414948577 961970521 712999989 152588513 772345001 840719965 953862073 387965639 610658833 890113279 966166039 465050513 111388909 26610427 898831365 412975231 19795225 894781785 848749761 156021403 389044083 734185315 915083537 998372787 11628265 324160941 988676677 265784675 413802859 420080405 856547633 909430791 644602613 754824637 510018357 573215177 664590473 935274001 145641269 552043929 652638511 942017481 787049123 335498289 574465787 511534301 954165361 470582543 72138761 223648403 442904097 717888893 583328119 903535735 592093367 481748873 482013299 161282397 555710401 552511245 305588015 839160931 105671765 580950697 201523681 309169131 952484885 152380613 649278417 613995171 717472291 176459409 173350981 165729407 282535471 156523271 500149651 117911481 585618799 397115365 846212625 806899161 884452257 451712179 586066213 332134567 788976651 461775811 941438007 402131771 24482941 749917997 804398521 992085231 532272203 306735569 194544679 440646759 699711317 377361495 911263491 551684243 376388865 424051759 377453525 753545121 762464571 469540497 42439473 242058771 36102013 314872701 617069491 316385707 648859073 599322303 832791289 869811827 541275537 986508515 967827633 95050179 659830011 50550337 140976525 41118519 454949265 36460029 311521349 16431025 842571127 101131515 988375195 879276125 761458255 957702383 488672861 883916721 2513993 696759119 425552985 224119913 402787099 569065563 280395629 502090377 138681603 491147805 760468855 646391901 91899849 713251685 485784165 41498489 500622263 883445451 472409385 998239675 510254249 960988589 284752571 235743813 64638713 178441525 349878045 54978181 87087245 828385109 652538461 242576173 653744599 950353347 673502089 922864443 655349451 868173567 637443007 481062645 322557413 845151059 348299551 426706147 899577647 17149901 400578515 385852123 824156471 703721287 112767757 502403835 691750927 467456865 106003465 684076711 82613851 410423683 709822217 48719753 593170493 828396511 727649365 19651221 267419237 578298473 657230147 730678027 66400009 99827173 816766761 247513963 32530153 24475355 385261677 706170501 829300295 49450649 302319991 68390507 580420597 381137977 691090361 36109177 250146375 235945371 821537967 223844181 186512925 732329575 165312219 62660073 928961501 69644557 730140359 710074475 204104309 12705733 462323715 7656023 373444697 638095761 479591469 544776303 606050443 487011639 59115493 326120387 788984207 868069961 811625429 546759333 886611061 600709663 273568175 322720179 344262607 330128089 339201839 830459087 853937345 85831775 882533655 309472293 931945965 39518047 101291569 250517293 49240195 183103575 415061581 6215583 673609019 112055425 279825225 261805185 539139919 560677609 475230213 581438751 771060103 611572575 322952555 134480909 233326899 999981435 481477997 42590761 12582697 517229979 263506439 291953557 185710789 396766697 213046331 549969599 691138287 825462103 522896147 71970651 601808659 87261851 52111519 755305827 76116011 932110133 800065789 77954589 849994163 153306735 395331405 413775127 979653297 794543705 48657593 127343905 907671731 829963465 773922163 71606619 949864657 48026209 971184569 852247593 703029417 230177675 59236551 191076405 467547487 12953971 68265453 643731829 200412325 114982165 406901627 586117667 313474989 276705327 733216713 829353927 813487159 129912395 435753533 830710315 441019275 239322551 114267199 600180835 529060213 753757837 124683331 57490379 822475595 365776813 775886529 435314441 872590061 685830079 661885245 956009223 68123073 580466227 314070337 717017595 921937333 476442179 496949085 114822753 755823167 561409517 515994671 371828733 962023261 821619449 758872919 128214235 921616021 299958777 573297279 391665231 312651765 564732229 94968923 345919991 504160021 308341757 486103971 396015797 531951635 931512073 884279835 380262839 754170515 956223513 827787 240739695 65526471 976989861 691571913 918913691 204108897 455753967 531633837 498935615 942671265 101316861 456367385 358012329 88422991 966902689 559764471 743195497 55273655 988159347 891092539 270285407 498940593 704411089 189039325 253748653 317021849 834327527 662019553 152178881 424264791 463936419 906746191 371909199 474758745 567230141 929857597 240657745 321411221 119105461 224873923 193860111 266731911 775097557 345203203 152915729 886167867 129238317 614541607 672669231 299438649 968236947 757792867 355317635 451384475 678399403 396338927 565910131 227236607 697966809 804759311 177778345 447350667 478086991 949290765 573406491 239768299 396217095 237230649 592021765 976893783 630584001 441119217 277204203 667315599 337336577 588890773 854650265 658481621 609732893 438079633 112923427 529263357 158190633 783743315 586644453 765323607 133971463 179901019 427448197 691183045 376367711 697299495 463950317 441616045 342992803 946324289 415277653 579232509 940312071 965396799 359597109 509305643 134557327 685495225 971308115 168597045 719744003 213299025 284959675 955391651 386131441 317066417 546718401 262183295 509792691 385249165 156152323 526311779 200529257 758687645 108105059 212232045 432214779 131455909 981439759 137718339 884818201 188340847 719818873 51972369 689724989 775328205 797614433 786512017 867405731 829545881 365156039 482556925 679792217 698672309 757717497 592986655 638256683 455032843 815565709 8649795 272059059 644452239 291350621 330340161 787265615 212416825 181066383 857164405 308727083 226182669 288601229 390866631 231222325 950096661 964857867 501318053 54088741 179706467 244778761 163483653 457897597 219659793 59151049 560604517 888418947 295374657 8811221 172586699 87682633 502678301 981895685 840187847 851015589 490529241 749449075 904682861 667787579 379023791 788415877 307968861 669264751 570091487 834578151 460138685 865103221 963427765 699085707 144079673 760677443 197182849 787671983 119711755 890689433 146658721 992771797 677895405 546525441 456238453 715961037 700216617 824914123 374744681 800122539 51732107 307951373 768536301 187567559 638364267 575902889 138086779 261190345 491173543 37309001 410934679 851529373 92865699 322503513 77736651 923362677 245552719 559910677 121117609 833426383 17127201 487901563 901771467 265316719 666154263 115953749 269800403 202307683 214229943 310410289 201570413 60292603 8970001 650338665 860798791 245510103 192728761 389659421 789768993 525539545 601292495 489781813 769772985 909980207 654206201 616368739 653244123 877838925 741183843 892931867 67160921 938820589 937585607 371287201 206171149 506180887 77558369 214382843 826372825 593480211 586776823 849825533 448463271 424913017 319271895 18549563 504471403 558361635 531464409 376874773 436773151 641440823 150498393 762556343 529267907 679381535 139228223 486110991 592377443 872489617 576826105 258462423 840520977 539959433 221753469 455858571 48803303 845343305 328069451 376431993 118584583 182533729 199629669 486579115 2821789 476126371 50823005 988826367 74277849 408108333 569449287 697975571 633530869 308275039 348794819 247162701 67256117 905576683 604982007 749951969 951167971 615081153 383744401 527554245 692652881 890711071 825999813 840640699 205414105 252630409 131564629 688234569 419502815 276367819 467253125 506334913 756913097 52095739 932792355 578003769 941803789 716033393 436871303 75417491 857648165 526170837 396822927 545527673 555037073 868861715 811680671 44117847 581662173 160085343 617913255 834101097 431660699 163288371 479568413 131909807 313487205 18572117 671519743 158676973 691768029 871313619 721737685 259043001 83971503 531288061 955291307 617007207 464775563 313510771 125061911 12101401 410379307 20240153 255010873 633611961 823268949 381653273 334198455 26326515 593576143 768453351 146418623 937792835 295590765 278232131 395182597 126520807 145125385 514893869 126405835 624219879 193786757 718585333 305603285 375096341 930457805 922712621 727436147 556392203 386404305 955489201 71190393 923311139 918198411 129993383 735423045 701460363 888327169 389028729 224339649 735043123 727346489 75562973 373817943 443351759 433735239 122484175 202933759 321040099 371338053 484340371 212273975 679945653 933168469 20955573 357316871 626536279 82162595 959172105 29992187 988698529 218779743 731991213 824298537 284601651 921736645 835559939 393539121 364153461 566915861 884166327 810800185 181944471 693155227 339969729 140078575 415658641 980882857 989506137 422002825 598972963 112433561 19313413 746428357 945355993 312082127 117380241 164418281 122120957 628254385 765385233 401507267 765526189 887473589 300630243 729410987 562779335 467732053 239163307 806884991 79741937 595373587 469721425 903169443 501179295 196292727 733983759 38857479 287452423 388879381 690673245 674721315 768247849 253964679 255735811 579875569 293667535 416774255 209799945 638388475 599684489 915846265 962400967 641866829 498801325 307740245 967610071 554406013 486419805 8616127 966143007 699133355 363210883 213271415 682094025 340607357 553883083 306308683 361035 662240289 665488561 659659273 751371871 8549709 486439795 308657549 469180941 882599743 308641819 176657593 368339359 627724221 882414967 412059001 477313705 267647255 786306083 108686013 140162311 674569505 803891579 844720513 640404447 87067193 4343977 331807685 545005213 396803657 733650333 51221399 693791219 470678971 388869137 586427909 143341279 540404871 363201155 949615659 797975461 285119789 764278075 692993067 177655505 22792113 397509963 702889521 216523831 146451105 295966603 959072621 589540341 327676947 854598043 893083419 964866413 75955367 20478179 796831613 652405325 357893763 385154963 287112411 356995463 6717525 382515619 547389065 133083225 15747155 900548053 263000545 531248455 484339003 430218415 746553671 762338079 149356371 456485251 593270051 143925745 402377067 850677609 201108199 232181789 750345687 307687489 559922703 245112647 266838391 793914801 730194715 410513753 607730863 187506733 432153751 661910919 77353585 428063211 629435415 941901137 976565039 847462893 472268081 101394297 604135403 102211321 989851787 711655689 414278439 822032033 254792395 496788569 29266935 861165627 85872553 202557443 371626731 574514155 359699161 412599789 10171175 985510293 680069923 805290561 286254925 551783405 546197837 206736501 775844491 945918313 87125805 44426309 120392091 621661513 810022553 582117045 120898489 769380503 650622581 518921489 245564845 26602273 46481837 442715629 447600321 351799427 660167219 552106021 729436625 64092953 956295677 135230943 464533557 983623949 212700179 918623623 592910553 237595983 35565947 267252943 821962535 657698969 118687819 249885621 644260889 80286313 392883353 129235325 355787049 701040649 906045835 92274101 602499425 292979079 993908297 24390445 116503631 101766845 578050309 727010565 777741061 378302027 544084475 912866207 429931815 874948249 733992555 970298281 347374551 877150423 1110947 563742485 938401477 476746239 157176305 339277859 538329895 55265231 362699185 541991507 89616571 986642383 906803783 395000693 784023751 840811601 48377115 119035033 281677083 484990829 479979679 665148191 957517067 826772483 48774479 387966379 375495799 904619707 710365357 453357863 842857157 944638725 365121601 300632009 639373793 969607193 72491681 278308877 627338565 592197111 491167331 752058293 374804203 241761387 19635501 37658321 816239709 196162561 895652519 570824883 265941927 487789329 723007363 980405495 205688417 440096447 676297341 129566851 694896297 16782831 740739415 132658817 44965923 328502357 687577561 124445033 894452991 360138087 874729175 13348851 244173555 256752487 231556909 192928293 369289277 407478361 922810043 767766603 604577955 809579795 638151531 501398521 8946805 357759019 361020463 404303627 499417993 847467775 345976323 923720361 132944443 445481145 65708265 326074425 4815473 30575947 423833833 295112309 749352093 928609899 126192409 612952149 463243441 952330393 884023951 103026207 980659503 128530463 188218225 630775391 190520347 976666635 129449959 823099115 37140483 315923767 855621923 538272733 761376511 189586755 578949729 739465369 19033517 585720727 172224483 677991629 291100209 580457061 830366705 862069613 71106363 695237025 93971937 466967475 941863681 477743631 616321289 431693351 208665665 309557303 566990799 71667601 531979587 872244071 549797019 837807113 751306451 382474937 983181537 44879849 184114503 874558477 320316953 758946519 757890431 981488907 940906183 172041917 281461729 183879203 732826995 636385489 156801369 480632717 233374131 57156239 404915809 263535179 958725917 853976763 999343093 735499043 671006295 364399713 720857755 224774567 368832521 401606613 331145569 708093231 19046885 701714867 857820383 290727387 488911785 161388513 640014387 670147987 201634321 966975627 521371649 4526853 263079917 165014307 867732857 517922479 448953611 923981159 575723345 481321419 675893065 946861147 198549193 966492517 399214471 333565259 383486627 510192461 650854063 111427277 328322097 642822939 564141235 521203131 22389833 675280173 658743185 334323769 131470919 228580783 750079045 885735605 1323281 555542413 153928159 125039841 360764441 115184515 487563887 249555643 751089235 108833551 751414797 252259721 34296125 970319739 358821855 205951187 29853661 263576791 561041677 702919537 292648385 474446585 537254859 73851517 425823745 704450691 818763857 868448859 798809659 67608031 113292259 322746809 581991827 541149753 899154889 149072523 782295993 826484365 621505625 104604941 711083493 908480665 949024747 334867139 911507409 415319015 211162079 448805751 801730247 155489989 855732133 865307713 547125395 859222861 261965225 260373117 707965067 33397855 673484393 628146891 203856015 38829731 618686311 445554205 350991877 65279369 18120749 54686883 997496027 983535179 260610379 599374555 545365127 954908903 408179551 134360713 574663429 982258981 154371593 274594233 21967841 422029719 690255091 508485055 700535587 950125717 761427153 623770167 226201701 86480703 654913627 476096519 702099397 359028349 825763669 476913755 171554535 656073727 143504265 644830631 765750781 228596029 195197383 552707237 523805881 261625977 765072109 154033499 812179803 900383673 557583067 406964245 894424491 173489103 651827579 948768361 734907381 455793491 834129857 210062385 989974033 115655587 842346149 323593361 856004187 116706795 16324139 710535927 225179323 615217689 777304669 225585173 669966749 624016357 836368459 751405291 929724667 790041039 957320979 962738617 718468945 606087201 713848533 845823759 521453221 812358123 435722683 777090751 717290887 370753027 565945593 842980581 267444747 771718157 261738439 866322151 622375121 585468781 48310377 763050607 212623357 278665303 390632745 454776435 630669889 496670911 932295001 220405295 112505807 483141995 15371347 902041637 409481577 479916253 245374585 885478181 324543313 211203691 165599797 153210177 977600601 184111913 998833915 492401879 260571351 54246649 809396291 33580425 469194663 983615875 724272785 656027971 456361777 737759033 236065903 981477691 267349091 936481359 907928941 692135661 101800371 218183113 377553193 470673181 563166239 797818479 365926979 397340375 903027757 303627727 712947559 713066097 210255597 298245955 324090435 330897539 99865843 70512875 349506199 283859191 638303583 74076335 785032993 932376051 611058389 452782399 648396459 564867825 971476615 542322453 867838219 274706345 308205863 878638957 931879449 840648995 935827959 673002325 205612727 748651687 982281659 950610585 337988559 276065997 22036417 429411027 426646869 30752879 679135457 225897569 566407491 825995697 426157175 115034479 238984857 17646849 486740843 680618219 749420131 93673491 647790891 548754829 810275505 685044963 618060973 176111831 489885089 579485363 493760367 761038863 444186195 64990995 343844983 810754375 246231027 619887317 603458901 885725269 671266991 951295253 532750621 953562589 14809287 622180409 435342703 182348867 934529401 103225067 397407601 897268923 36120081 744191265 476667599 542692411 678215393 503121175 474951875 723523715 729896515 400415313 38058247 401791773 914229145 50466971 794709221 986706009 9453133 269104393 545991209 997019725 58756819 485003001 948783659 884665307 291749795 910721293 193098439 245823917 550725697 799320625 697654629 440647983 806170167 789734557 787069941 131868061 391428631 136609993 783474665 26617077 299081851 172039803 546244929 912328449 426376453 818186175 983848323 106283087 605509985 498061291 345608895 764609337 846467135 76127385 877290121 358110431 374249049 538663085 405843713 955033129 899478387 41020245 297326541 768294089 716880215 79230211 858083609 837470259 231382231 907297399 421008031 568309931 787733709 398296497 628378777 500779065 461987099 321468161 825872593 810116011 117715885 181876217 498409877 7607707 279375219 486348405 371285175 870049639 573122407 343846297 787693211 114492987 375342989 327314643 211080995 292082181 438770159 885829335 760853695 65994879 281253791 242039969 51984741 497697829 141968823 489320565 336872851 256748869 166188633 975205599 315434321 349518569 531517361 368160691 573015851 687336431 899938031 912812813 106935095 724338677 130955597 679446099 661787669 558977121 398418705 408117039 292072939 76129127 156388481 157432985 412291429 321569021 439930097 611201993 498959037 675245029 667249595 681604933 214661295 709338789 854653761 194645977 109662593 575461007 709260781 388346265 69965825 521832121 616936755 324317923 503959175 460948741 436240525 604111705 442007535 239713053 644233339 835714281 100318883 470547309 611750793 584336069 124437389 226004529 113305929 739816043 817200421 24023657 840873301 347137697 153220713 463844569 723108945 258998383 284442081 299331863 843077347 348950573 439890585 197551223 446483649 149083253 556470567 928539419 138982309 897023787 332832427 599252717 6042703 348399229 718608843 650569369 225218955 137188831 650368437 153237659 718801195 575258891 986335517 42209841 984994057 114519817 761311045 430165091 894956551 709509923 956899057 536208133 340159761 622843373 844377457 787170219 422085655 701312579 232663447 811398839 796876053 878019657 601059527 397346897 195617035 683131503 309333987 419007849 767150853 598045797 133350493 467528375 535440661 188650025 793909543 395682237 681097045 849377535 353777089 541729217 442320105 483319921 421619507 971058389 687837943 430890841 526970633 240575697 324488117 948531405 985079385 981301845 71367005 963496245 117769411 775166409 684452143 611481917 531496301 627000925 389288567 958509271 610125317 598978825 188170121 633186369 537303999 60503949 841922747 283186943 959312989 602190197 422503281 810205407 240440099 429196555 96609047 643870961 939799521 252781165 141621789 729041045 521196011 436640889 601010941 525699181 985882913 23049685 684495165 988514663 616055527 804402677 829103203 998092727 483720493 11485199 629603587 373097943 537283945 423227939 915058615 835792781 209847707 854609403 457956387 377448679 432005959 252106791 925908973 112833335 665349755 663651581 477872077 337261593 284454605 702485919 490995319 68686449 845905501 334074615 691340723 520258925 43261137 121374385 19067207 712490369 904993879 128513097 832560135 385116521 101125285 547783165 465232077 1986345 667996665 748584919 324393341 67801867 711304729 661217957 825811453 492102823 656683347 6132995 635861315 333245913 143508351 459065933 884888137 767043011 832209147 200904621 573410577 114202577 49152941 740376851 620611491 946167481 804364801 930147897 212889875 367510903 884644335 502076317 89579131 56532559 116236791 248225671 850445311 392827341 206781467 848418057 756634055 318354887 114907885 328092923 145685765 397382741 201974915 635430141 123659507 183577311 807361401 719243895 904267223 335227153 563215351 946467737 432440311 765515741 465278123 300985947 882706599 37375107 544675787 466097023 167756099 488949635 954886165 80760715 15259177 340203435 942119375 804121041 616017863 324137745 380821449 147602793 872573325 820223503 851322967 813758515 477098743 736620617 91223641 536341461 613376645 744938413 362052147 237196995 978715333 653026671 885547735 214106931 299510085 683451659 224619191 799084583 268614049 38148419 641022163 794116197 808987261 757975847 352397235 797645695 951247489 118932745 14226531 176249547 51702111 45648773 978639739 404363373 664699603 277018239 853173783 243937353 858380189 650175015 60380383 286860051 863143563 283599853 679545601 560445761 684224875 433293711 853203763 826171411 630063129 249841679 836063923 854894227 189680505 633017021 496510025 722027151 627269235 859402283 493655359 755898787 963817209 822044983 338317423 872256043 86633735 838964739 751713591 144772177 24432541 661372155 22458493 723969285 848567241 434293207 880624045 515646721 419038105 794925199 290497473 628039107 504256809 729329257 205666867 266645653 162811293 464114417 373256205 177268101 424531997 522510077 914857179 708535917 318624475 595727781 252113845 508995565 513341971 241983315 536686647 467789421 788393223 189785773 493785481 835184925 692532479 261074861 93701977 702947575 711584847 482924171 68637917 404558777 399460179 217426639 547104213 287022315 150357353 339472449 61455747 614192863 41755647 204867577 951733177 835406765 830991239 811861841 208909771 21119029 336708729 74969837 598507417 823995679 856067671 726570941 662272135 534706139 583604911 142296047 106654855 815568801 28049935 852516357 567080203 645273715 464398099 315692993 158007829 117465111 759675231 971150639 209881385 608730911 272543387 67129251 797070421 266415073 745045369 587169465 815166769 690967425 981255349 259008343 462812633 861854435 938682385 71533223 221093879 457179067 450268501 422747935 543344565 998630783 274985303 935653755 602697419 496052337 171202285 242672575 163819895 328669847 430982141 442953271 925204863 593580225 226295919 721942647 368736051 879697291 260632885 270285405 987631719 345942609 733198667 97692427 575911803 452898877 518477491 880679919 638969941 265738049 674751861 346625467 554575203 188894483 861510311 462030189 295266457 105540147 267718495 436493131 719602297 252027115 448476099 892928989 301979399 203906121 875725307 687825145 604124369 620006695 677477691 237095101 98726895 249085733 933498555 183728781 60648189 875570091 564859581 935022611 891722277 97739499 363650447 362280003 262902289 590420185 543366271 658051165 917003513 543470649 440252651 543428833 983775131 633159059 525440305 493581983 630273087 30092853 119875521 319734185 935711151 478096697 39784967 910243931 52650055 237040255 246220673 87394907 264740577 573926831 31521457 417880979 75455461 340108089 271748127 66346297 910968383 960968533 412814177 947274953 889717353 587308805 139348493 889718533 990313823 575017231 988319945 403731709 766870439 950504709 789016125 830903043 342366799 1911871 951675933 610827701 220769263 903204061 729841697 412885749 872482725 100124359 892282125 255100655 315859477 916289707 161243049 496444699 857082991 579065095 334749131 798471473 922667881 609548565 350100297 919358007 404341825 750340577 709514505 225954169 852387263 317165883 447340531 553023371 700155695 912332987 412823547 793035083 284514151 714604223 449400089 977289947 475947975 971652979 257379921 681567401 112029493 972106691 65106603 626966121 795860767 601816683 704276541 146778133 960630395 377294057 766505757 617716467 834519237 725579911 150749297 652042897 121776393 377125205 760610657 440448959 69870799 995194665 912285217 543012253 676352305 893437605 484536553 657828495 585498061 856063539 449363709 259075903 676035015 662267135 409200551 691013027 741750991 748440069 945204023 621698037 181936155 415899907 854352395 527212989 876071275 733164419 879777155 480258757 242390529 248140755 747197193 967627297 648930735 489846797 884199183 73827629 387416523 485743889 152667667 319546511 480272945 237173639 670156689 548285233 786221129 575897823 194295577 886179657 57756161 581875795 417360699 939017043 934486221 879080417 995444367 352927507 195105967 623637329 149457595 378282645 93474603 919703349 715457897 474522413 919096401 977272293 523219271 425293945 120158133 742502529 227021587 871659867 531123575 568779761 746448015 561641217 506716987 332021221 356184453 666366941 843001649 890705365 842786503 227330733 307776273 515422211 787597613 446469493 191703317 581570165 136060573 262328963 886082823 460155389 124913407 924228455 97924403 311268659 168795975 877592577 638594415 569132405 950703725 239548787 918546973 142708207 836807797 386242859 2460445 347989135 880535913 178202589 249777379 429032205 474261083 159639173 674795363 415863785 823103075 72938853 243013915 545003373 239947687 209841421 409875985 476868777 894527057 88724301 956871381 426112627 499663247 852053061 226473339 244351599 803728545 105317209 146651299 332018177 856504261 589450291 186403953 792572765 330826565 403112905 900346261 822056055 173805175 342251351 105269831 410474517 165578419 914995553 677884737 360664761 81629275 937135283 745098445 251948473 322007513 935585633 22350263 475962409 870805153 414268359 910991447 840438251 566174251 753256843 842431369 308422311 426865403 949317785 204926901 24784079 35497371 401823267 583925193 713006743 988262301 554833831 601163323 307340035 38940313 927629801 537589769 856609499 412581173 664778741 549426617 905049517 513830939 134314015 164876379 245394643 666723579 905514245 439477891 585364589 816741775 641700489 626459473 676241507 887018139 539627225 46764905 148063589 74152681 418153319 114572285 629554669 27729995 818740723 13376959 637029175 315419289 15188349 843916785 54678097 73025209 804343125 158035797 577282311 26145685 942605323 917615423 276756211 677568797 374449279 362407039 519279219 886568267 582885589 95042681 209139123 674403619 892362103 776250383 917293985 424665519 213008409 458434225 990926581 513584385 468356283 862046037 244305201 893882673 943384223 827202937 972888987 120891751 931350863 832172067 34221125 259530439 812094883 299625699 300902149 712729479 210659511 542777549 665608831 816053215 801426155 410741121 533164823 708305171 342175985 514030627 414730241 579362413 949141689 520218213 935152179 414664767 278439041 393058169 371242861 277340387 618308043 684940065 421805881 691071419 554253415 179793569 451794407 923042353 447582569 360702407 865878413 697678009 334999081 116495339 672477453 988984781 410649935 932586729 456435985 457939693 527516615 419023913 867522309 643926949 933085635 291527577 304204325 336517255 126636993 155216047 766571631 861776941 318124935 490123113 11787693 103289401 498682653 861522255 25318509 422062677 8737753 505063533 745684233 396901685 613214553 22840921 630095009 169819025 210748031 298007347 270467613 526943023 807396985 219020959 509539631 102440405 161264059 256507087 912324427 367574613 399229695 429431671 53215925 4175757 361950285 440373971 522452853 801810271 203985901 313783981 808727641 347333041 182262135 698431313 640370171 281789817 975757509 173960343 41788857 347801519 656517885 312480477 378101951 581643353 219899273 555392007 802934011 674925949 612694303 750173829 432633895 177507887 684656827 595893837 766223039 290262921 969757855 805453789 419410705 383746477 737463131 563214141 833089065 3506373 582777537 61078265 95169247 652467205 252637423 716859687 875488471 794447527 933910853 693694567 698505077 904533227 330986869 529638623 560286445 93552413 203039343 385150779 362073397 132766351 199461233 122183605 366590223 702834843 63810303 326129929 42618625 37432227 202719205 30250877 343848029 891270675 53059641 831774687 238871609 775041371 32911955 992013447 69577335 126696693 801245659 607489617 112214721 514462565 332826301 109590951 453605765 341005109 668482605 490450803 860699897 638063095 110916005 320306221 923354147 950104903 558833643 463299795 55061445 702399427 812027917 405918189 32934773 3578391 188442715 425127045 594501767 135103479 9021301 484709687 827511581 975416093 801323327 903424285 906188065 818639433 170997219 98075359 337432895 216694343 910531797 305001385 456303603 589677801 444448213 416146997 908384891 614717449 759407589 453957055 209880031 95560843 315772495 180921101 342286835 627457365 845274027 973409645 695950923 494522461 326797011 975578039 102583625 778307485 754952685 363280713 691292437 772874261 83893091 136846087 966947487 862562001 568357099 829506657 203392159 875723235 334850689 884387407 704631447 718315879 174684521 134299723 419111373 394843259 196551983 824040285 597427283 71393869 834024615 13001493 721797633 575212301 669474031 829697673 683432823 608078581 584088169 832077653 245368093 373912395 220449729 35341985 914019363 521209685 964692719 579780635 786709889 192199015 382935083 971440887 261097721 495755227 945018619 923393783 20373521 501592083 234189099 964426591 261898009 137531259 259924945 558913023 578357805 814314627 996676677 278792747 878879275 395616679 271772977 49597377 460844985 549430887 379616123 745379371 812872267 432606799 426890589 845662035 111375639 282048497 909756241 286440625 594175517 25947625 483728153 3894341 226432295 335227349 532017859 806217105 760188613 777637731 835249061 488724135 195742541 308288323 760985433 228859677 821580259 258603567 398728389 272804623 157679467 281244141 36023059 498876453 646149527 691634755 424741561 908639885 127116769 89862661 590775923 345263611 362167431 727676941 495784515 810403505 412087187 568091199 905034873 391282805 831585747 185365635 319366311 338712977 940520419 920917963 735526569 494160863 64260383 772890897 953553829 173650877 522376881 574866523 202083591 374606095 321077385 422305711 221141377 58521671 817309281 893370401 920969745 204932951 13793975 610504909 931111163 318645439 533611987 825475025 741380811 506137735 193433799 703503707 672244565 486836539 60631147 344895131 219375799 703380723 142803039 3754189 685547091 131881035 899840011 321508401 491938263 654953323 865152415 108636947 227170357 29204737 472441107 847119559 168678059 511985475 544710953 688358051 830315967 940877039 953122919 224647435 942149689 512645707 215558687 594774635 302582319 818079271 469836649 598804019 347515903 34063063 244783141 475656671 988094285 955981113 621368825 538773489 424634371 209786295 133972313 228024049 725949271 239515451 750567547 802430579 819624643 651493439 735507553 235221011 648891663 108523965 712526801 734549615 674416451 984682047 41795677 560997429 413231543 909558993 420705627 261659413 103433477 379089419 949415151 242667211 981242643 625214217 287914749 782538265 816796171 317506163 4798009 320018375 497079139 235893111 390966041 94211497 174929111 313064139 759367901 383730585 105073515 427913645 535633039 61623931 718099051 690357987 737743357 212273463 800100459 786253757 42030787 258215359 351565895 50990351 616800573 150797839 263423013 316079673 79561109 938420009 346126449 728343585 975043259 692890133 270249693 714196019 613241705 698674407 160001895 730239847 108532509 511649211 91849043 969450301 739350817 772400559 982764591 898182841 49540483 245724145 904115403 692142441 788529693 842218673 999641159 278036069 979020175 76240427 836129029 410696521 275886145 332044705 777145267 901499197 686336355 760878683 98394691 821680111 782780399 999062191 934607093 138043541 872347555 724741875 273531209 265454317 220738055 527901325 382048527 509031487 410914669 116521701 921660247 559383125 298836461 194935917 889532289 528608395 909320807 568530849 534177841 529287867 125251971 651295233 9184849 712601675 783332017 798957339 192126999 900407085 626972457 997591933 783097855 369104595 214497005 609013189 580790219 960313663 776138691 807324049 148616075 871788021 594392637 25594511 98784913 749327619 957907121 866674033 409713785 667753985 181026371 468724975 459870761 269204235 657741271 907723467 415720141 480852937 15657249 694048979 535140567 178200169 33220503 267076053 352690437 185562273 399767419 732897967 546904411 506711729 176835283 1741119 233125925 525448795 458026607 609971571 369201911 89658865 701671659 784134717 568110511 791925063 179485091 702305941 425304431 898757821 893983681 175916669 102358947 511680057 458586935 746217987 245315331 850702375 575812539 533767221 743769735 410899073 643068877 924042801 30862965 956484035 100096439 577975317 736683353 87068659 814750343 551435791 189340425 757885343 420658455 393686865 703970207 833874655 101171975 97430291 946339967 434895951 936490431 27352473 285336407 810218519 755694961 101085995 330824475 885924071 20468753 281291551 129877253 803577073 344420451 737119947 334583709 336271605 602844399 313003669 739183021 580785977 310772995 467825893 345048903 227212941 666117561 288781613 538736845 538102599 911782641 968727273 801518557 896843843 898308179 950078107 578743911 509485031 157535311 492896973 833093535 172578597 684283165 169574671 526554881 961687665 628209087 953005311 75758929 49400519 455855357 795596091 772700571 816287409 565182563 738948211 618830387 548054333 32556879 761164883 619450293 727987967 418806239 924381849 909426183 404866325 846385147 950384135 504691029 185845801 425643089 33658725 390988049 916689765 559443807 452880521 980179193 921202561 409469023 26391371 916096017 820381627 94657117 862563979 319335845 918790363 805205801 940498743 855980107 238435885 791562843 970025281 860138205 337587335 498979409 460209825 388052863 924429129 290033463 43898971 530137247 206736217 379809785 447613817 695309295 188829733 942534483 206817803 699556205 934093985 432697027 292391471 233205855 587308623 624117139 180851973 945954381 548726835 930496467 238821303 169303055 852055517 217984345 684238967 554062015 690817633 740592839 926409089 299602625 721686365 282188935 117584919 145012933 365816315 583938501 931796355 450996921 921824229 768250237 684001301 403536607 807150675 816249197 918847019 238707897 356866821 721138463 62838565 671250449 899030845 335176929 573545069 408404479 179338957 262917325 918822519 894907871 333184267 170501571 552788411 440492625 691551187 399279211 939351997 902063687 841713293 342548533 668900869 843675121 138303269 660814939 585360169 362232269 436964117 714580187 658564545 481412511 615250521 935721341 208096111 728699763 765079159 163158739 575999965 924215965 676566911 687081781 749480381 751036601 561361157 967846851 385392589 397699759 321777447 111843685 672366027 534135205 241117071 775607755 837582209 951084565 125262951 204431981 224766917 193860791 921560935 399234957 993542511 553235345 885810895 57951537 609069665 296373487 355197025 210637355 638262405 335646823 584703601 797958419 577268941 535249875 133176527 718623559 479550007 207979607 650128861 956321267 881649857 571901793 260161921 586966277 796599413 427774373 465796649 306238517 907912297 268712989 415076299 832484355 128567733 663794961 967016677 287394489 833682555 699195145 566343549 238652263 612537573 877132253 771601955 519900899 853653031 957951911 168094443 261069521 779258233 442564557 608399987 63563925 650376479 703397881 835088613 906867299 543457635 510368545 91914475 658675759 57770389 134208641 527709375 989676223 151392531 187546267 450938139 767015061 269665341 486442559 957648969 690574599 72124797 862785919 208445205 22818601 416585287 198527161 988868055 601582813 409647635 289385871 171505003 260096459 898006885 11807213 705984569 532823653 431247047 919516425 124354863 219047647 255710667 676617311 491046083 941465149 371006475 765935283 314033651 636854599 838315049 816886547 894432581 829936011 846880975 995671503 762863049 12209251 503885745 158945671 779774483 646519279 603681415 395525149 389962049 520427543 852421653 733009343 725339645 920984459 224131877 545471967 509313393 923175621 405239689 650668091 459485783 225252609 224754459 514995161 460621801 7254861 167408829 266932737 442174193 230732661 908497241 211894603 825116347 437407507 40232163 743594641 218272799 650804869 988594003 319450615 799304313 613942263 961005997 95353835 733322929 716222039 295670011 670618657 744662581 75466333 983108431 368827541 595110907 298318219 947108035 919280265 477586817 659709223 795481721 691215757 682601423 134287171 374154651 917571699 901143151 692126645 639376477 72832599 624644733 510428961 330596599 105883039 72625043 168236011 282328239 166697717 964867287 634157383 405904073 803904591 818292219 133981739 472414109 670213609 236558897 851133015 788320131 667673415 566827835 133678421 757818333 614650421 333163101 968791413 720525847 537335751 669897061 541740237 903185569 134609755 84171179 907670591 30423541 604589971 289283339 437749365 426463639 613726555 605258989 372073691 366098705 805725931 375407935 867297965 925244149 621924027 236063607 277328361 790762973 328286865 169184147 124942937 695214443 482890361 467156763 847761035 988388169 107143625 384473625 814342361 872199723 156803099 603685417 85959779 290153675 6975059 769443685 227283985 378713833 629445023 849534323 230619541 709152337 470190193 764438149 759636067 886296533 255628681 490190925 758938303 189577295 403302631 387403021 602544817 32915873 383104219 231730825 938947847 137330613 193683191 9901839 519948891 193893247 528196887 636902519 785995787 656958457 16016479 930591005 358138691 426992931 31148095 325514475 652933617 51835657 730452837 625561163 322601935 201670333 261098195 822512949 815934297 219136345 905344715 929752103 219190493 160795391 213981145 77493543 702472039 330820059 338324945 466376901 957648335 386451227 302485199 879108887 888053689 560824831 111721529 322140345 82143883 776438981 610027449 912730065 859285619 826693561 502190151 746467089 165566829 986787885 370857755 627048109 791257145 631186811 561175227 554962785 65441629 370044933 76894707 787164535 419402795 528016951 167561431 174104509 367498169 493298049 978547141 113066119 190209003 178877789 299836511 134263987 320613989 19420241 548829843 678300841 672749467 505352931 885923219 72113495 457150401 654218407 5513949 361958197 830618077 923428663 667351863 902250813 32803507 63478581 448921001 675944951 380801491 522694989 13815435 188079731 648698519 519830831 453678711 844919623 849686815 21304981 749090129 820310415 25042261 206639173 889842503 813351921 857370597 27038469 54792653 428819871 818744651 468522153 696685213 199901005 987591365 578370827 126105279 99291193 546827611 182743309 289579389 308632361 455466209 11399579 97294699 713692523 727065323 246728869 654124901 847603671 70708187 97290789 508890001 616794571 67477977 467769121 73406553 9972267 932676053 144510111 104056691 564149351 944777863 148058291 703089883 3208053 542065521 459729783 449852373 821197013 567449049 89896973 944490477 19678089 531146705 114735521 408009719 519904547 377758001 244571235 748633871 38996665 986918041 199329423 647009691 444214759 281534065 796009829 736401991 357579733 849604585 832377905 318805253 421773871 824963577 759366469 975209491 685914159 218040419 492364027 316480245 527592849 837595821 571615927 425960825 233174427 668323625 295782367 105774255 954411037 111271917 782662377 620208119 953910891 618591709 131536463 749139443 798831715 571797405 783553937 990438801 579174255 867394209 72343613 703770885 510968185 686026271 725140193 648747209 25903609 670784535 719135257 63490723 993149165 419233875 323645319 552862369 910609373 904174435 688575191 653507605 69381845 495722397 988254905 598177947 942822253 894880805 562808297 711897879 573032385 145868767 299463207 530103991 419108729 748918909 941828415 962719727 791610561 183824249 662256133 98782075 678364499 922777873 670193487 366801247 294258539 972102479 804376321 81474023 310158031 367188737 560027399 197034151 745077199 952458947 116351569 728995195 894257215 761650161 363587547 816366985 376488063 3712437 614999461 140998203 227030131 349253119 497743291 366912583 493793419 433678985 120387377 316623017 60237503 333237201 869067549 630335397 848164233 804378655 887115171 267476935 816151283 958504581 386239727 667372261 504052105 879166427 602248753 930422551 252415331 703280065 751596197 690697157 217587485 38915999 879656075 758893723 338737887 217173925 388773937 262053005 32062807 113894347 176898789 242361045 139499195 123549907 674393091 196631545 301107655 885065027 606981103 224867013 428119751 188125805 984810769 781481807 28887171 405428073 268073691 180986865 810084181 770050071 566223561 591862863 461843995 557278749 548987739 536692311 178644283 96009199 916007709 22339389 375799713 876025283 556286883 908514429 740839367 956934811 663373443 647829721 228806823 257405245 551078497 969430881 499884235 655300923 271458793 805015655 942016319 375121387 455781067 765433991 807602331 111104369 126823619 559300007 668209659 800187313 38385811 64138737 928068615 766499167 564765443 232587995 993585645 298653937 467321831 89255457 356919907 102899623 674465051 123846853 440694439 53397131 234493309 235925527 978202495 136912235 532150267 832352425 505452091 132994531 384320645 543747929 424162735 571569231 263969047 746637897 443815739 853068505 281688243 35876325 322186179 594958961 178820193 113840613 143130809 755925457 61137463 998726209 12973327 986775671 502374987 625488959 812951111 734251437 264168897 542642539 222312805 405617537 510221253 998577307 830879735 287141837 823479433 484041447 425771797 494878513 481134661 175547065 489394779 446275605 995977787 638091959 6785777 347788713 659160505 676248795 605644421 972421863 76453645 320204637 237729869 706113933 398126227 911397829 543654407 245610275 1450927 89040859 852716281 177533947 767109577 180743351 979172083 604034093 89185619 414830515 269350217 58681497 434293449 97597301 268126683 106675175 398972845 468743399 162262031 229267335 597363591 543583805 415954385 33290417 770109163 838142967 837637787 989047143 75591797 120850391 693238377 158589807 446677957 919727081 430902465 813775195 141265029 189651329 720367025 202147713 627859815 268714555 728716497 790619909 141801767 17465597 826889789 716286667 973382021 945292529 254487965 915095687 147315279 877162637 156686111 396497327 252522067 704442509 67860601 560055429 490845295 812297973 801506281 804797711 822160513 150813201 987557175 34926621 798232183 210788725 501514927 656990283 323255619 30470399 429841447 62129397 347390941 34593233 177671167 573491013 325887561 323461465 587392029 662492973 979157647 189194825 428059885 763138147 36508611 621262751 608342121 239033703 269923585 624442273 527506187 617446019 717093993 436395735 911396061 984446149 778164261 306758937 560369261 983847175 939218279 343483519 746191823 182988009 648712043 536781427 728953249 184879061 271187059 83877533 111957515 321764343 345941191 697862129 453606331 322013001 343504829 478197679 712828135 457687693 586706091 275610711 115913295 236242507 861570039 884264121 540637237 972378065 537311753 726552807 820931435 465296441 456651349 758566205 963083333 777625955 498463827 433394529 725250979 513241847 789505669 561852221 192158187 315617125 611556729 299446279 358044171 79091429 442390205 763155771 574795895 96504441 101046255 725276061 519273521 598106345 346804655 680273463 48822205 408861123 696493735 720401763 55343147 760484959 376457353 817618871 134747663 568137441 45501713 556381979 39474823 481095983 551716609 175245241 181636155 464834041 168531747 943609609 434345563 29785015 875256135 100120259 257442713 972796841 368458571 392464877 871298357 591942873 605244943 665402835 305648631 37473559 160470653 126560009 303088425 254525947 597350023 425077869 968512935 191669219 105839657 794065441 772136139 607651067 547241061 793921171 998605181 742531119 792118341 447629175 230581545 550789691 107766233 31817927 200320713 749089439 835489599 277225929 499767257 281026719 867905943 572038155 355738463 838615121 347896331 548021341 551405291 558526857 707631823 550750175 269680017 661970667 872091675 94145781 234742511 322190043 688734513 665114697 916774445 822320267 800336223 979243985 616917243 492792565 23397621 425811913 958293131 827328471 90624075 790061491 122311837 366744251 312296135 648344927 429213817 755145199 59406289 269800927 363595755 727319437 63076317 120667791 248706121 636898933 34216803 774346773 408297845 63554383 139262439 435199323 275819215 724113291 737672947 610566807 334975051 89058915 323404055 286409285 626828637 40009173 419464433 153568297 326623235 108477865 614383137 274490447 886882755 223088753 198975569 81938955 939376811 660071557 800307765 140263675 814563413 762477317 902038661 699266049 17075929 360315609 168271109 54851659 403972067 598505905 675832191 563822667 781293981 692300549 382920899 293308607 892494271 444969751 786276783 779977645 777399433 772285421 283300899 710533469 653818301 467008089 371759625 130505061 704913837 688918771 262371413 154959779 110880815 637901593 693809151 177053497 315845535 311087095 968394507 710441877 280291813 975454075 926672771 532051819 928481647 150567773 219774583 532167095 230178867 483823645 709744901 353996475 906547887 598098949 473637709 837401351 595697897 743272997 902813049 651111019 702783855 447768403 793079997 274814217 752063065 968566067 646677585 328181823 184732229 436624681 740383353 289006525 463279961 278410601 921728383 886571639 128874561 214505447 90265269 841328553 439853877 908420969 531951987 890660311 578399989 836213361 211689503 429324237 538417093 144026709 650063651 466202015 390229619 651963433 483158509 793002921 996681557 815493071 470060541 824231313 946569549 97761007 880813521 980913987 987245757 761464827 578345971 658142193 535246485 874081063 768625657 145262873 905286985 310182263 895232379 298767743 73374683 708459955 906136347 832434735 597114577 289685353 378869635 851124093 931481397 149081075 584651367 531928583 645830561 514262897 212977023 501032367 431634739 128473035 147468175 262469283 277984913 284688817 746277217 442816599 124389095 865256861 12023495 830532741 272395503 684696269 323577243 786421299 390441955 123233353 945197247 77533871 267201165 743926755 665371933 300775561 163829817 364733747 466175145 430688929 623570879 544503959 287151963 313470747 304481403 223690299 656013881 99677281 370606421 750833421 433998919 694643241 557124539 317367237 262136221 459172461 175264931 691693541 916744787 685671541 311239563 616464051 767115147 649069001 478886779 325363265 693167215 646071617 730279421 824923237 116816691 92143097 288364075 323180483 525383697 895290449 858427811 423506623 826349641 662374651 485673867 661641357 198952231 140110311 264263567 737020963 797729533 363687763 95609577 611137 971717155 569734851 443988819 225426289 26158081 387904515 381810711 184767747 315441147 680777767 288755459 923303437 893165191 170309771 273838441 208762737 995539485 653716949 234822957 68947417 939091521 986260209 424776113 894080689 968935549 561366545 544614117 989341493 66217827 210691507 240308799 308319587 107964301 374998429 204496317 331181829 555537565 60229591 839760101 353855145 880880191 436755383 761361863 362194089 111813923 365775579 165986807 306565157 277068803 281945637 754129813 137325573 839675043 646975683 798980679 534168571 984001741 241679145 960701499 491864443 428302675 428084753 968826661 577120969 618653455 879214467 573521223 953616365 401742307 709558215 332791909 643877301 557014459 472145013 181724365 9334459 628573575 705526631 397272151 654911069 65003585 311144899 146354527 747892167 318870509 213028083 564222413 356731111 730555541 18014637 877855761 691083639 528697163 125418221 700874269 552032243 395842857 264583925 246483057 770739881 586499153 637827669 762600723 893680293 724975855 604879071 961436819 770938047 216728115 577520817 133820677 917766299 528699223 252930349 184628489 66925983 734657695 129865727 27360453 49091577 368631381 635231261 428778215 829445541 208583115 532236483 705693091 337433443 191312987 54217845 820208059 495950777 734053993 584441855 16877939 889387513 374256219 143625591 830795161 16405305 130297767 998468917 429849733 591104861 13476295 863044833 751718677 244537865 201708859 980880999 424094125 747182513 730142863 69794555 815520061 844898441 220123477 691255831 66956859 875187095 701428519 686384257 982688167 257425311 411016871 489224007 873208323 862854193 237143169 79568057 126332001 140728999 400954469 172064119 632492885 7079201 830515215 893968229 356118015 297784713 114734655 135264941 144940293 313460875 833876929 254871235 520195477 92697763 546859623 32275815 424740453 850898703 830094859 541347739 361177265 512863959 83255183 811277993 482088771 639421391 932193759 365550889 895469417 632481163 159925483 104451061 216540663 579549805 48876207 546266419 707149899 839253149 478672427 595044685 411678031 390652171 394112107 962966009 797992557 26809455 976631169 827361075 89277597 603189835 711242631 862416959 280796509 72155109 126126495 31618729 592286645 747393359 349954805 101834053 729686321 624168033 228369849 21750065 302857447 307811771 683408935 512887503 322324089 629673925 410943871 424792267 644031239 299726255 66252557 161001245 20441157 361906801 75172643 86214653 651262311 59197389 941658141 658029297 1607723 930781001 253814617 422150085 643994071 175927095 655731269 153001359 710390329 999380909 794233169 577586087 779670697 214044047 908888311 170188471 873483013 534576513 689789117 269937063 285856433 515757303 633984553 451874987 335355295 295619367 457421775 768225859 389067585 103001105 665845321 439029295 729390487 512401791 596727099 208757885 194256425 754757121 295367243 561785987 313500419 374304749 997486127 328739803 331356603 613827175 217798049 532740459 279538291 320037459 200172129 962443869 423109835 802121059 387465277 91777831 722665207 120646417 771392003 750146181 936286379 821772187 277048463 510617721 642720293 111509771 160070083 208620371 59215659 10613807 368915851 500728997 693968909 935508899 844088023 345829451 861340831 965783235 622416035 253323115 466582335 988387001 50961135 314510705 948685271 339554165 777784265 761363215 711599313 443993265 548252223 418076483 539207207 895289067 51997549 823221841 301760595 226391659 834968439 314762949 870318943 908811843 896742531 872786547 39593431 340115275 562267081 584407929 328964561 2275619 355218045 879341369 881853423 732738355 8783591 730272097 670899795 659393963 695736141 81733347 577221547 442358915 258501891 84372221 257050161 61119101 813654373 809189941 295401633 143375391 983570129 784793427 315978051 919663803 139855285 522423407 978168545 473135977 846983553 218133985 852698069 37316105 289108913 960386387 149293309 783063105 677584069 679809709 296337087 32960133 958463307 75847461 770177543 120536331 730009809 28859957 336046925 883186389 194169075 938075301 182747537 818788521 632160853 552500093 77717335 268662809 398703005 377953045 858995117 359691899 503645827 711621127 550019369 440165363 238923965 36179513 766394093 21183077 741446925 193363925 762504091 914275973 176037951 695670865 630863971 955777225 285529639 747923817 320185851 889115761 397042331 51999777 188456865 351387783 164722305 717544389 442734619 692246745 985817791 2168553 720727737 892224259 95726413 819745897 936214095 600339297 11645985 755296363 549760573 488195613 363187261 503163227 978427751 838044201 497539759 82625771 29169983 177280569 720547205 324447001 727790775 787142609 752655579 89643819 823655249 575994425 997527509 47204009 929399823 450872191 519031707 865462889 943785605 320597373 457697887 202229641 495781315 71597267 395482717 860098155 21307757 305864169 60522709 97444285 434822309 335698415 430323477 425239923 629417243 689842655 428745579 845604295 509066757 103013239 588887093 672894527 201336609 8366655 593273553 737200297 570203573 662662793 718149805 773830165 735831953 949184109 851243065 665193445 553676297 898812107 213983729 438010551 984603389 597121611 521642327 743107963 598772691 521842269 753915379 889097829 499975287 474200633 24013915 365750769 375878243 828935649 706189093 270139873 138756497 233626907 961832951 352745541 626746763 47123065 717480569 34419311 967066719 160550993 388699997 592858107 672872351 510673863 943329119 926655951 848687983 837727167 400925249 21220119 852626801 117867501 889164235 684484677 938010069 799892935 282143443 831921175 776926801 979139471 138862639 634948241 802445603 724604747 728613317 696936959 82684435 118081483 851345789 793157109 233590123 399092139 670752841 338842193 709372679 306882119 394657573 362119733 567168321 484196041 136634899 867299597 507852287 982040867 133599515 726977425 478001587 825672971 93335891 307928249 557141583 89083649 491204049 126368971 858804821 499624271 24285883 985900117 619037641 68109571 698138169 249390887 483587385 985606391 548526973 859706721 666264765 889499851 404544963 576002149 511920883 576740841 846053709 386104289 673400831 51781757 290904677 154318025 889449105 652701313 526529115 528960599 875617503 690563255 676804237 348569363 771430823 320786343 121991513 995580871 256880433 503197855 723351341 405702277 621537865 292850873 381340539 125566895 779745605 653158357 495356859 45669603 820125445 328037275 2472049 974941201 270802927 23492219 363655205 118671981 763272945 205131949 358902381 325751155 922245247 1949491 104952031 202662375 400940443 161610965 656681505 745482965 63291593 701976353 387789531 108705937 141312279 846666607 708421313 193828279 26375453 773277155 185787787 198873133 519252985 64815715 701224443 477989919 464115279 795278239 324384479 650302207 138618191 362870287 982308359 29431947 27569071 212264179 800760139 614947271 880180399 715081557 914635665 315847681 933859601 676102917 26819009 811801033 664104487 813955995 937811919 429653503 24446663 476581749 492432819 122407109 544486989 7659199 615076463 236422793 380667297 254346341 999354129 632709373 331503151 642089251 31307177 686594593 288151281 141293689 261956175 158470965 618091875 832048555 981387817 433749959 297396363 777171663 559675487 807002285 259992055 252664249 297371941 668302081 803334335 253494541 108659379 581066537 672679041 192394031 152694349 545227215 834469473 4148049 647700283 236039399 609824783 408440429 139855315 254149809 486284995 885527105 779078765 382366383 531646007 897606231 359968873 38106283 669483957 565181693 289149751 232950717 85284105 30910541 654463299 328030529 795243401 913519399 397584651 123433431 201120021 809696307 162747409 204656753 256955155 899604705 346534879 690379071 383870833 67051627 659717895 700796095 436960677 5827279 179564065 763026101 650806189 442452949 942863059 484944173 207445263 589289487 861292229 941868411 604665817 407469013 155415723 192492861 964648355 288151111 600186173 480773461 509706891 865272909 370775615 723994351 587320373 772126615 539078523 330186371 49144019 655677341 547937729 956619977 765986327 244784289 850580975 132856775 961486401 876881065 585061861 945478601 73745689 732620423 223879565 265322597 857644779 587261651 726412251 589030773 269119887 690300139 858405319 934031901 351624033 361574395 145669461 314082251 387034697 138681841 371560079 689047859 9055413 696046213 244028551 872972111 508238489 804764727 803692117 591401575 8388215 942468945 309229087 69648643 821370453 165977827 976870925 910419195 452624573 365104067 962464595 207225449 518517193 633152405 932739369 802221235 273917463 457532349 556598227 162500483 827822539 273615983 829158811 871946703 635240343 485399967 187429843 879493843 943909293 923672595 405115349 895818001 509000911 236075599 88750083 832535897 824390975 980977571 810580679 797869501 172888529 582669609 138667413 214810267 907229909 710822593 697787877 659674005 528236845 629184021 118401595 704494743 486486847 809267089 272974113 629819095 472246265 618228591 355162665 108799441 797855185 123759795 373220075 949884489 217648069 881453087 511163917 150586701 776933979 214285127 126382137 955171117 597997219 906915203 179626781 533602441 152655665 619712755 626635897 573145923 793908517 910750079 367037195 48785289 464557861 419695575 518728095 615217869 987853405 358262389 399345157 160181965 18604421 748223127 455449115 395435663 997754845 165945669 853786305 287839067 143948841 299642961 455566563 306472905 362971575 391599443 598411887 958428339 536036191 824032425 17040229 31632957 145029757 522564223 658311875 267808469 991197177 325782979 560517013 693090351 826851649 429567277 744656875 863319111 131348811 60271679 198631395 351766111 365320085 397996607 864633501 289263111 975613221 393719103 48146245 356647953 989685643 704937749 119182859 403816345 514265051 400300645 828638505 829761285 906096565 155565459 201596387 34408191 992075839 234496979 762218371 567343485 811758373 230643227 866559579 214935739 692476833 546514987 886226117 935650365 384327021 634225549 928423459 390000591 402402259 908587665 603250143 789238917 562140319 568490829 604092013 599919037 38234409 834533539 864833607 351317529 357888333 999017277 537982189 292016773 165608565 912042119 988295147 122635065 125180043 571292605 847915985 411869869 571150087 249239261 194156349 142339239 87585767 341115825 959316943 478831411 128919729 904742087 607529779 692263847 12223349 508477049 295972377 830611869 803666375 273799143 663342395 961232889 563856839 261221369 705663581 980837353 958884635 511214689 706599241 190756833 553663983 529992851 35375313 826899099 282094077 509987027 584195023 505397789 692718465 138042153 804914725 555614901 917804095 25841251 85755839 264615413 304464523 642348827 866981261 650503609 152481847 353531057 717244041 867884837 805763489 361155659 605390007 678785961 424869041 258145245 351497249 272365043 587832277 101273887 10844633 90008325 849309443 939082381 426216185 666165025 591848123 480046197 810273701 753677523 223377663 471381475 798518787 181684719 198138465 510558127 368715081 671236753 311581429 350554493 994627249 337337375 919549787 668221107 209262715 945960005 348963769 196631423 672820467 412704757 936480957 630974941 894161259 809031789 8082587 471634573 771520317 884736049 210858005 941709845 121600715 501667853 586061679 832026567 484231297 853418517 476321655 602810553 592389581 339988135 854910085 210470095 880353327 22947685 171166071 442595245 334127141 527163453 665130161 886043591 341237307 882401889 316064547 784196433 334765059 717198161 218440003 476881233 976416535 920071117 765871631 368123019 469301787 141904099 407618063 400042639 804657077 169882345 696832079 91302071 518511003 844148345 201673061 449395491 205184903 841843575 672895089 305618877 419215929 247146001 843659801 886222641 866049661 596694971 197116811 360496123 315701797 22871089 366715259 931683673 683768587 760010869 143600427 110555219 492764179 103392215 203084639 846734525 429019683 977463529 117900135 566081067 637892401 80854663 49161751 911988991 858823991 384983255 280269005 11443553 353768245 361096771 354611313 534951489 811588151 133990017 471105651 333256279 294151247 421526925 560857541 173144357 39524247 581838507 199556583 197624305 203718451 712093031 6002657 972184781 889153097 445382293 255063359 397383569 500740879 572833617 840843543 62168285 907644351 491133953 74670345 265993497 789493145 430569809 229425211 532268917 855713771 792341299 928381019 243651305 556201219 401193445 939565215 101340983 971622205 461206763 943912131 748711909 100137979 319638547 512785427 242872133 831429289 492805741 52096599 440869229 246781879 864836953 588164841 693819713 298107809 207702393 193971623 818300261 981126631 754430907 923262965 927936333 703714325 773699667 585492419 449122863 857819325 787122619 479644809 169939979 426722425 953648059 764396609 36678315 318951661 268480091 576549493 391667359 345238975 14653683 289050929 932651581 55817639 12581149 129532939 969345193 474940249 506305981 114178851 591001287 530048669 223694851 692852767 306849353 927772985 637520989 349918509 59080361 58024961 325627277 484570115 770925093 481294287 813777301 900479199 512300743 232311431 787395777 220703111 864186207 262233615 767867045 805636169 72791683 597398367 968020253 323020543 989666197 404235115 102010703 529160193 50072509 281192507 584653477 983373115 815668459 842588117 303019989 912331031 983305945 430248781 909066715 20939661 254449669 515969469 427946235 925701405 154423991 348133193 337465281 563931081 570302977 557108761 18442243 44827173 248166075 40301919 116487129 772652609 75904645 521241687 411148971 2303679 347377351 129926465 521783845 545976261 668805041 93557353 95725883 117863425 914969403 187938083 110594343 667358121 63168039 656242373 899209839 492106619 676393213 756621235 398236129 932311997 778845449 814664793 757311885 809828671 610822505 293096999 116333523 844254293 805804539 184622233 566377045 747717087 507517543 727043633 351142657 461920833 444412187 971701623 69423371 488360557 723708499 32137727 98493935 91599061 113951503 589209955 643899503 782446715 506190357 881953351 923039643 316998113 811868919 830660435 206673861 297312795 556032267 444776505 220938121 670135737 367715445 312703669 257001165 381301725 822553881 666470279 954418619 41949485 389413291 621909885 861675977 355651287 444669089 159463525 671370931 59808657 560430907 334771739 515753339 625513113 731657347 718809987 744330609 645113527 56842823 252717445 287156521 381941045 122902051 343970835 591676795 614169327 985991283 158309161 96860815 809518909 588740449 30587335 340659409 419267851 598888415 139717371 285127155 782700483 752038561 310126803 90260979 642766943 974642475 538712427 782428693 757311065 870637253 681700839 861184485 774028987 860994941 385144175 334143033 542035217 424224557 129072181 280393257 7114355 415679093 136929397 309773855 734317181 900147645 686392689 240786625 331430489 157184055 168527473 715718665 146110897 421416151 173035465 666366511 323620285 610014049 604878293 178217147 247040059 77407067 44226035 892838773 87972465 564586263 173628305 552886133 584290863 72078509 477835553 328123413 33810121 697530109 298168091 468321275 359904287 116036271 313190657 470139921 480998295 840069427 34666593 142258829 428176669 579175361 197597129 244590057 497603627 893660251 291645909 782028269 328001723 882692807 697137193 916960931 608908375 74680727 621083245 506761567 796631819 472999201 928395091 612885949 875553391 212497033 415122839 952108707 457482913 854550707 746068731 423575867 466280261 535131475 246964553 432011259 649642123 765931999 586629457 276651423 858170921 659242649 780833775 21015595 23650397 669462407 318238471 482998251 803143405 629947257 958235265 72826483 86001705 941154571 328935247 635982753 447548389 867011481 638712429 15276183 503176321 661050445 716151261 365709507 126927843 171114777 541431209 65713879 81302137 907508659 307346145 257306579 354984503 457270427 475128483 804632055 657926559 211983387 529349901 839422929 823873205 1753409 813323341 397377847 879933959 691904231 156581781 537608257 843783085 247784621 472578589 703026777 80526917 699304445 122660903 777157415 89599475 533318915 10241 920799647 527017831 939098553 635925241 108114177 403188951 500524769 857001069 23912399 682264833 284170499 496474813 960019667 776055341 110111597 140439635 323953701 183890215 957988153 140029601 878011935 370952773 836323399 499715875 111055975 791238247 261041727 622541915 485998311 234409971 310430097 545372369 833458901 633845717 481881717 668938779 952304557 18257031 174429677 965558737 580974643 626118917 887106753 749000339 997427057 149988309 655926399 470569743 558886849 503031301 602259071 976448759 188815289 457628717 183932133 27761155 691057473 526893419 469196183 694300919 462358147 493654115 358260549 849673883 306544887 117813829 410836583 965562565 168933973 327762375 219585085 166857547 799698851 202367529 826377681 956721427 322362925 825862189 365151987 279237381 659114631 980896037 452904251 823332117 465851279 873188837 217494279 854787387 890979175 716572623 614500483 556355195 459352189 835888067 579648667 790185949 248492677 832691509 800716299 901112183 377748857 145529625 894449747 368657249 755952799 218675437 81184951 350139067 195311493 777585079 62118221 636446899 724402429 890018565 655855593 828619643 751494691 810830319 512115503 354784587 830543195 173443091 749389699 370691431 580486483 264723093 756157463 217347865 702312959 444107557 523099109 339378865 564755355 762692345 828262059 402644109 856976809 934183889 591675891 937675789 57033209 516637935 873636875 397471387 670463901 740481061 662323469 329972395 494946801 496364745 268180441 922879157 639890331 589410487 235477783 722797117 668428165 782706007 108287543 90709195 595674085 970762903 463499379 853610741 603678519 551969259 181597641 789956435 943538495 849129301 717548033 67566469 128836617 346671707 922388397 900109627 548508395 39891207 749025573 235153697 857055101 976882419 535794057 782416885 327019687 742685245 7848897 323988345 612084629 520893065 498077053 395838839 66742969 388020743 847283253 61085889 144423121 188988527 681284651 299376687 207967715 491800059 54617445 111491495 663924279 197226613 400247989 135273235 106684259 303406121 266043059 181251937 509902149 5820141 479274173 528711055 906437889 142177059 340679679 701336479 116200447 742781613 199309927 241990555 567092985 317975033 727027117 164668053 334602985 337904385 50321489 545925543 925409809 168991297 495408285 789358835 39070465 258268607 512069537 276424867 744749961 23705099 58520627 357027817 630088651 417660217 120112119 736055299 964099877 573711337 602936401 109991215 28637511 942870591 378513781 988119991 157418789 423932653 568755543 445273329 245484027 450605605 732142781 320983093 493602893 622181543 693782571 192474597 172898535 972689595 399268593 128563307 389179357 760579373 822089257 759778619 420811659 222993493 456860083 223073741 379005335 636857103 284319545 473504421 900863981 282633155 585882919 780741709 838515135 120682847 880005049 654570071 406731915 712654425 921634797 975749725 383164181 157926831 716702347 317433089 570244201 613604327 123657509 157218029 621676763 99741713 536616723 807690197 323293449 355007169 393986165 108075889 226789589 270055191 389097267 216587397 251969645 146457015 147672573 889941467 328472389 768909267 263366989 177833285 339921687 803331101 88444001 454893723 968259305 195583447 617313345 579805893 659092489 624538565 140911807 489092263 454866183 413691189 261821811 208611383 628350659 203852029 542074555 874336621 931586401 17198719 763661507 115056461 72802635 368509085 695398521 575958241 124295223 14557895 507956373 54855739 304167967 582137843 928426649 649886069 685996619 445903775 979140555 447447985 404674629 46982865 434148413 850679321 527971039 780471577 448395205 551317729 981284155 931976587 337712903 617370689 329287095 883260871 871188071 987884925 427747589 330408689 929132825 258265055 396589845 473767611 631791635 685422521 199648805 937446999 87027477 240728421 316325817 447595911 817896873 726115909 948016541 821416847 787321887 787938757 534815461 954531389 616121997 553337939 350173933 499900137 223631829 148489327 789277275 809983343 645862561 106957207 869371419 295658807 955671133 839530839 993055839 922495023 781343813 768881729 933296549 332299725 430416471 181842671 554510259 130996753 234132573 310265603 498433681 254026877 289704165 334665255 508107669 25159971 935249993 84258575 210194525 302121367 868008361 452070005 989372877 312471033 150936045 951498265 471355149 349425647 534196423 614378951 193355415 831701925 806611371 998455889 822765349 615664853 850207965 181047953 407630009 89171385 248766565 249637481 951878561 158949403 178127121 313505219 48258419 246642249 961851771 222518163 924987913 120588821 904413955 579117779 104721545 234165731 882180303 684992387 170837085 650742165 581377747 546034607 332665915 766975387 208871111 2937961 419501855 707168235 411967783 547313867 138842955 263328515 871826497 870955767 195626319 893834987 662036769 463480087 577538301 639455279 271645343 486932575 799311475 781697765 512981599 766772233 114546451 463893933 243061703 330841173 413254793 53487789 488449285 452594063 285414347 612178577 676589079 549596937 27191829 226357139 171982775 221395485 283061227 876157039 899703409 713733421 314431513 831703915 325544341 322250405 708714165 6317397 55538233 606940661 610154007 250465925 807528001 29370007 961808873 942125015 423067985 569856785 274767889 10016693 187892189 664498665 967974857 810289929 473362971 876625587 641435273 950245963 534875915 458780425 561973527 183518841 105634167 201854861 615928449 48822299 212802797 712139497 68940055 716266557 571453639 152144593 39323001 957918069 889163559 888087295 617705355 854361827 690000369 595345459 146263927 79433005 97837527 121313081 285808305 248403839 303445331 326312419 368776953 532071571 91464099 213149709 629474129 400872869 693168079 149114517 46783235 203610491 260183979 421440103 338781351 31358819 211430091 751784823 995452695 593650229 51420049 351866815 122951289 280673103 966688805 240213055 904870199 132830613 149584247 288634373 973922567 915547767 79625279 904673055 918039525 946788589 546106879 540926889 606745877 443804785 619204093 741448901 419051555 596307981 770632269 264422303 507259363 717790029 122153665 667040871 16465267 43349831 845911039 539493719 411806005 668369307 877137517 391857077 249384405 130928495 892557627 414538439 643428171 559612017 717336417 558783713 66668495 811809749 181888161 991651421 747236071 473624413 938116225 962022045 394289759 727307341 567443795 308272909 907862861 213813365 874042669 306979869 459911433 732130601 616184563 989247561 193688125 510773831 11703625 780622097 901912529 189492537 52747683 236493825 643086841 895937513 416270647 724362157 3209525 162113487 611995653 954400939 978245 129301227 832217047 184480415 500804665 907589823 586111805 884901685 416353121 893173085 460831885 633925917 668322909 242365531 722164459 627778835 926943761 960604117 270603579 623650007 213546919 778199411 874776367 770503221 835619733 21998947 521650753 633227263 25974935 850550107 883038895 848094481 393019567 872104345 857354371 447407945 600132653 266288611 721707149 129417365 65546915 999813255 907167075 67498469 157427693 686260573 957398631 384034357 379887409 189055683 523206849 294069125 344028635 783933085 702311521 383780833 139568797 877277021 845008129 130240091 72302709 483504885 145088287 986434063 883328935 17467879 583510275 405194011 269165759 630484533 127262655 988921261 793004945 872147569 270314539 390425333 161441851 114579633 600543719 348278831 215592991 267656081 589678683 32896411 538700523 250494265 201755063 655309191 225151889 457871447 748739061 180833601 27358543 900770081 168071121 300015653 457788587 740980821 451420633 287051927 131950701 844305977 143381337 763995901 897921197 659622301 816601961 623342287 311803333 467102421 73972717 622241665 891584857 788558529 50016907 910800283 38809431 113171909 138476465 290622883 246269171 886508753 404504989 931087661 196155303 671016541 69050185 480555989 258349627 319360355 170927489 195574841 238802359 508019309 505355221 934616839 374846067 594300551 284337563 369910255 33607945 273923145 34423543 269917869 127137119 366456527 75951565 509876739 977632671 466009793 833709777 840772793 936147775 657281357 327018105 820256419 440285691 82034473 789455877 502046109 191655639 185530771 667089535 763255429 248359711 907264337 473730997 132794953 904158055 788765619 218144579 772068057 672685197 945445773 2367877 169840177 989746355 868125759 339397797 541624147 500775493 528699567 260474261 6086983 769614585 564950089 225388809 523351585 899451595 876677127 543966853 666449405 702472449 410956131 62443857 25913337 7656739 920850791 260461947 520146243 353605639 528793503 133351645 93145613 811581131 931062563 533112855 782998157 244051921 185473423 265584017 153917963 392937415 22301195 438981245 976082893 28614817 749613125 884599247 555075625 749144729 352442739 825299275 855495029 29485877 90331475 799972983 906258199 652837955 482688813 60057509 29006967 420203733 639215309 461350125 596914183 980543559 832292745 773867311 676385347 230087997 973674305 501313299 85580461 997252261 986392921 303596553 325288141 995498163 646209475 677313353 610420023 293077475 186909169 453297877 563438215 460212215 812752357 825436787 47265883 381148927 706843939 557075637 78653537 591817293 456902585 531102705 307556171 817736573 421643071 596566859 141175249 969069941 545962449 267507623 804649397 581732193 406076183 368494777 829495493 825730483 861369153 355859447 268014543 999261481 958544385 12653475 580894641 746464199 928914327 501231555 726895177 710432729 210536905 483942183 589234053 116895475 388549351 646168171 509663319 13434611 751846597 926869227 404731831 592417019 960342467 747016145 2485159 731937911 367775687 744364815 372746805 164183071 138867005 373895259 922785391 572237547 371930655 188542517 57726835 678948641 60559081 109296359 620936031 460228431 130744737 439979903 35751009 148937029 691737813 497363671 398865323 482287395 348567197 533191311 311162997 418299979 653171605 978005009 641661187 82298987 656118247 722723721 486077341 927466103 589298749 578087155 348599193 631541163 517365455 874732301 506565709 763054729 297145947 794210911 686712863 383056353 964832553 571857467 363464055 593594819 942342147 108122041 809898951 332502161 649250629 496409785 941271179 161630697 469518793 451760867 512448581 292693437 230307319 864924839 901673855 207653693 855604923 328817727 910206409 21041125 226865807 803568807 375178433 224605309 256068719 114303661 638497031 115390479 497663713 619802077 371484997 735509231 477831411 47083919 870249261 901653947 843003197 812116455 724260475 408624723 514892507 216075979 116787697 758679785 841202807 966410987 212473945 597237485 160752443 974606527 376282499 509380637 544651743 317557127 950573901 512688509 460434337 458079821 178898069 36127323 423198537 176819937 136774731 424062791 143071267 974552795 726093403 646301985 762922757 877156505 197505219 87113227 223876431 211842119 227785349 286465139 367877607 211999953 245216939 232669707 75243579 490449651 410656581 58377427 882193217 473566765 731300465 137590283 688490101 164175813 563767119 161206081 730758881 497800139 930433289 890358603 234070547 64195097 565956049 884339011 383076639 162411857 757280739 852501903 174468003 919055831 392859777 386159321 533226185 184439517 543186677 338349845 833270331 503011165 388365201 513188995 458567473 963267861 481294509 354733221 808782187 976063887 777235887 861372229 457407019 138674457 468740095 83605371 622835011 769415629 786844689 617442979 893714441 840044683 189573725 176368989 904542297 390913531 122336359 754823323 491805595 709043599 556380601 309331597 831750589 778332283 822728931 112959409 195183667 17266371 982117507 559054283 473370879 653412397 862523961 385008871 44084133 703143755 242522031 835783769 142192693 256220789 938339225 254112703 226597443 86266571 691060399 284082171 198633455 809438517 754456245 618812473 985635549 268412771 564444019 137817841 565655869 158419149 623372223 287663835 706910919 986890165 116930673 481788413 292526517 397551649 399476587 486409379 85863889 502926051 815508119 12137059 621156711 729402515 479899881 188985623 958142029 18344079 969650521 701663715 422917859 223102467 222743531 629015605 90820367 192633053 408572071 544069313 636528959 788629717 354593955 310347905 688208745 425180779 463951095 564645309 335137803 312203753 63442885 89314045 810720555 186991199 593889079 732189721 708167513 392958627 31355521 768120107 109247145 576139353 233564891 324187545 551673275 768589541 240701065 712679693 565268659 240927867 753094101 263081597 648647745 741837585 250253327 184350501 481251997 192336743 77927573 555495303 666158721 627991047 395387335 936270963 730366519 776610367 248188945 942353915 57973387 888981289 534251745 838187133 216256469 761614501 885713847 874040731 882201329 281001053 628986129 776729409 343143495 890385597 487763321 946535589 237743813 599532033 905068677 16257859 552439521 713561895 455385549 252560351 176629145 562955511 408969715 240122247 176259955 348817667 667831713 395588747 363980671 998642339 499326603 880458635 538725969 558648823 929752681 16634985 492440329 554783463 392539647 562604371 493604939 101380643 738056727 198190011 905676105 953352229 198237827 650954591 414232245 566876715 165472541 70861125 638753745 180416317 169624263 533435061 611792223 920829229 505642603 133628487 574373043 488134547 299526141 262638293 713408157 852856013 863642997 291111043 806144641 371798279 454814679 996752831 925255489 353241903 560925741 576135229 521592397 486630909 14862985 615198713 167051929 180270835 666347269 866861109 419318185 25318231 44913859 880683649 857646205 62089531 213755117 40626095 415867559 530371701 198447031 70351067 641445179 251985321 610252635 993728619 697671641 25935675 226311449 517911817 835401125 21583967 191317565 348013227 793851985 298184715 559435543 874414989 82469135 878668799 34553861 613367603 162979233 943812549 330923623 688516457 236164939 159517101 884585897 709220675 700212187 973933005 368854075 878380575 11572905 934323465 596811415 581013663 811014545 59497989 769072193 595419567 863726075 793914931 468565699 865060231 553041365 819939021 97461935 63705759 917918357 241545169 341219487 484498109 75414585 601226505 952731701 7429101 484286025 279948035 989380891 698594693 57049809 462264345 426704389 95003423 216552807 370567019 595132845 541097887 721828907 357546979 13277651 957966899 990783169 813758765 786437699 254949199 613761371 323600067 368364495 666760109 266677163 10072295 112068433 352837459 687066099 557715873 752152747 680681615 228409847 133770175 489437639 659976435 688757765 211216859 86913945 791353435 708557301 731145557 915548955 748664299 106722341 834310995 555091021 671718163 694681209 670247369 894327099 106481795 675928929 277583983 817625847 696094007 782203091 995506115 885614235 241055095 396611917 480722957 917961289 16872909 268235479 239865439 571638829 472067597 826688507 20681615 506349431 726068819 793859285 680396609 423101281 504992773 156565503 507331291 589718575 877656783 256628127 51724427 191089195 833705891 669819495 773235791 680964775 492020159 591377547 24610529 219693821 180925863 84966599 498139853 793041809 319684647 910923621 157716835 643070153 240903507 804809011 253085625 71262235 175894409 819511429 910418355 581732609 742275179 75394105 25975541 652014075 942008807 776913079 262894579 615723925 578753327 184038639 82715875 664822625 312509891 626409299 280084165 960449273 155465827 416506595 39864931 683664127 649946653 395637797 231122251 95792671 330726727 922994217 541640407 521247241 27493499 126816645 886155561 501491319 485776797 353014613 741684261 348581935 462948571 183976001 709721213 238572535 297559465 172428149 884261547 369189283 761261507 16990123 63102957 671865101 895575595 156596767 152689483 448487703 163461169 625722263 413248665 239083181 837177447 824939873 380748139 734551487 679465385 927358037 742003235 113503303 936409117 294032337 529945321 566573899 118523437 528787641 488878253 324957137 291799439 361836669 269302823 321802733 970509375 596042259 597151961 491671993 645319553 990447867 182185995 808280663 226781409 66573367 168239563 477284595 116836147 910452057 324768753 701402557 317038995 10322807 665028897 7181041 755147367 241368109 849377217 608945103 795989083 802886819 588224769 495223715 84612449 47629445 440166873 448289471 67368887 939048205 728190475 650375037 67023075 590245879 776945437 861734209 742985389 594421897 616843617 110378865 779820587 360534163 87020269 842899587 759863483 334109033 539404453 202042609 41049343 924179177 473325357 161004091 931140069 432830589 949586937 108956143 102281121 583686671 996479039 846041755 345482413 189485335 408796671 809525467 505220817 905565077 28732675 767857745 665469461 935937291 708269531 661580457 880678353 83258763 179624669 810497683 706575775 934607019 683341613 628195019 660862051 761828999 269660079 147270929 2521421 50029767 177826839 644052273 41361611 797086617 219789273 137753599 102265759 460019377 340205881 490370641 33346507 30427217 709045311 112050187 677435291 778219581 35315131 159389977 469905059 196234437 861877827 867276395 466874047 49501117 301604153 817700093 284280085 642074501 50751941 446742735 326013711 803204609 43815895 921269743 58957155 277146531 44536617 251323243 121203469 416579677 112667193 110514271 628190289 422299311 269451087 916332781 34408379 674821281 806152061 95173441 756485409 574462655 391118235 137540747 13278363 613473057 731924809 243465223 673501075 675152483 765460463 958859767 196218799 669953197 624657341 274194083 280553449 640362669 520419501 734225247 780230009 769043609 192157051 594560901 65958117 490754863 306217653 267517305 881861371 679396533 920664487 332539811 996286923 671454713 609233257 556048757 932237237 223722837 259381215 202528875 749497435 881588641 678721711 91587333 530414507 867735881 315253831 411920847 739007705 730847543 932216037 365594205 170386785 208137701 287919491 698211909 495631365 674879053 272326893 656163885 580100565 249597689 860006067 436709051 307800355 267158773 325195307 908504487 658770059 775877337 161855353 143788197 680614387 814616513 431869569 276611197 602887557 776466517 888964087 710766069 594948279 563808195 394709073 579050723 745936197 72978625 728156879 862043933 705927731 883074189 630568059 275136903 700427467 841560557 544792867 665230093 79052711 480996401 571068515 211939233 73860509 887778349 693115543 400654137 430322389 610737473 942938089 684603101 747015099 89174609 478157131 706934163 63713281 486819535 780586865 693958513 995563941 248810413 190321119 873367693 318721515 941366381 236827101 919258637 381038687 714384915 435542905 276260631 983417815 115749421 854652045 74891747 101849963 786675667 839952825 881530023 613493637 512723617 438631269 923297957 459611853 952742335 107311811 537084203 204596535 812653275 745634503 460880007 779181827 266586411 125006133 279814933 777606577 739749997 43950483 201637433 882995983 291410921 368006195 787757915 937300019 304832873 264856365 845467885 318994039 182244425 686089569 149267307 686541441 507099745 152780663 542764119 491988795 283372829 91436255 571703097 661891803 240873577 157965521 299745959 919564251 487254969 367860047 893303607 528378883 324655887 961377311 5866639 94981981 489244143 975066067 127864919 993315133 554570343 624930497 955570497 566806335 165828623 525154317 782919177 972402761 877272323 687927453 671103089 326976389 102259435 699947551 664639553 101312873 230343669 622769679 676605005 320117937 913905623 631529645 882163057 517968225 322806481 13370367 842170765 990741445 297177765 81877717 232751243 172331891 950388133 757506507 65946461 323506243 840324517 619592765 7966975 940168541 904276229 896661845 813180787 888269357 503366059 345095941 558406337 400267109 21919235 958859011 722619903 816840709 475470855 17269199 895159875 966980685 483800627 776532403 628329395 63309003 854045835 609250237 388031607 413892437 690496419 598662855 518870465 697302021 601138061 191900275 267181773 241229375 287348967 359809573 533641693 177118129 138839513 986409487 582943545 275307855 520436497 256997931 700308023 224675923 628876999 860598071 83095085 257607493 474870197 107770811 454650753 502277869 270779427 676211465 746153627 976212835 271882465 912198201 168642799 266030849 476857925 751491883 470911477 670105965 165251883 818541959 645504559 122378897 277168121 887077309 339318827 83430819 75158945 805678599 841570681 551334943 511078551 129317729 154778033 566349513 923021271 3042457 468562297 957639853 696096747 984870715 457821049 902110239 522660833 372681375 600176995 782118843 408087629 798499049 777937651 435928935 566970445 125892607 964591851 997284687 437449865 800248465 470793237 308821221 175871025 307344663 415031361 571208679 364352503 358660305 465788237 490716505 480038171 433772233 567281689 218385031 338242149 883819727 749190031 784766981 510555937 652401275 169492897 682608817 369972773 139476523 216664141 288075437 652068561 693930507 528251535 19985511 579218443 516307207 965694839 513893267 400256321 56338395 483611923 741829163 736534375 702504967 146751873 822656885 893863423 286051025 921431009 414758655 321568269 870487113 443156829 894120347 443584801 423076425 824289321 381929573 209954383 21465459 504250493 66934209 223766325 737850411 499529629 457895517 675221245 496626595 967648465 984818221 440490833 415446741 762762863 656038765 655028073 307830655 852566221 957111199 684624643 38273323 439636817 548005011 199680871 187234343 697903971 144471387 847012449 550371469 242965879 83535187 220412745 657695549 518944773 175455521 546291195 463710943 894486161 110741423 381838815 761268453 689472165 744941363 472736993 400901251 116829905 337503785 470316155 492462013 537850291 302690901 845113001 320395865 902279915 492554179 278438641 891669227 935240739 968702921 168448355 149833669 205966351 393248767 397649299 220942861 739277671 355861837 820566431 821119145 927446511 515213023 821858097 464610121 72776561 479595303 700481651 931740517 576065213 346970339 437022493 933627711 407126705 370544665 237524847 879011037 824997677 614369553 741008171 544007441 43441691 827621217 370892451 939303027 244281967 358972647 233563565 141161057 966792481 866849479 629773477 241739271 398779957 355709035 54821747 752918355 622295477 468176519 635426437 435011069 587734705 783429659 647800785 594421893 103350343 657480039 813346773 387889973 571345559 435371771 203185303 606111005 661425611 303207081 38275239 574134035 740547351 325391501 543481369 567031483 463627699 42153483 725689739 251272057 439053283 799767763 990581543 936823169 436386801 990439379 122306455 931210953 228061487 992358989 557157653 710517777 4890871 722779331 720886875 425106403 108732841 479857153 554026931 900778893 633765813 338597403 730507753 601590825 18622601 13733741 979433811 512963991 926531487 27557789 624881363 49182593 208345979 110657687 456494795 931913811 839518375 717727117 78047787 315903561 865523891 896499197 322393961 799744097 872328509 461185707 274762627 451398499 330192101 249570979 994427647 700136161 785387605 540444219 27531499 543897139 234693953 465965579 647990241 553855865 483738979 967671291 373952761 639198875 379194235 850253367 547269343 51273289 701979219 490167347 366843069 289392893 643046337 904165801 956526413 916384245 131260829 850106783 641316297 517045305 70637257 381662563 556289787 822173595 544397359 559601541 435139119 873719731 633787331 973922021 312887869 859388127 920271231 986959271 746837121 719689035 405639779 393097269 844915683 74285541 826218873 806431813 518220753 949874021 419695319 39956433 13904193 91906381 44881045 303053857 672535473 801811683 956190165 920232127 752122921 953232953 438382019 612517501 107562547 246961445 735217293 995149437 212934891 568209995 893845619 833011997 717472233 476397071 726888627 39784719 533257817 189800357 903807641 843178563 365899239 75934211 425826935 813897975 798595527 348790505 386649255 557550767 359146939 59727841 594282635 947616055 543443205 372757819 97177485 284037027 844559225 80229645 747881505 401723727 995279975 704743483 549151935 477636833 701392819 308013929 306607339 278853957 166881471 375589897 461584431 242172589 112656763 555784533 442778909 921000345 961400669 141609291 454089807 906830793 2300003 461533109 580876647 355490123 559219221 425521953 19415569 787584371 534715005 190682089 982893309 443407327 631844151 71887149 386074853 131915635 205262939 672252887 746203533 391576919 364416405 252022675 259695807 140891141 487704849 612521435 195921229 379763767 720288899 291289329 172616209 937115119 950196269 858348253 849347309 473142141 717470675 285544045 143251405 765840497 140479939 523238459 842860449 521011883 433930709 957825447 102040931 997039951 278463589 671602647 153734423 34423751 889908573 39404225 207617735 561629385 215598375 972148759 468958085 893969745 34408379 363814493 576633451 292004771 408796567 882666969 510771611 842475081 481103553 140880285 95278401 74582811 222811593 323121279 71486093 385776693 879166149 709045283 600946361 308607225 754685009 818062319 227061259 813727507 913174163 782552593 661891273 278186873 152520765 18311303 794339399 140044135 214387585 597574667 445170655 449810273 986531105 524452137 480322035 174117427 690391393 235937073 81830125 91956723 596598545 252931897 463562305 763875577 543882371 697467685 386274665 896423663 821005979 59085977 143846117 196873659 523212731 919161865 520775489 368004759 973339859 621666731 647128591 698581755 620002393 911167615 182772969 304174509 977449293 980842831 168699505 42860475 747395121 795053993 83668307 200703861 843253271 432636647 536686911 497668475 832416149 161937195 378104817 941364657 31415239 802639961 384384041 246633025 147342163 244055331 985388211 717875873 758009707 964119555 926306145 191079051 917651651 228762679 184886797 594601735 65598105 192199367 608083353 214670173 381279667 497744775 211577073 219175973 858569055 458114059 468440581 596224057 597954677 967132853 79045329 453837247 845764689 83852717 240773205 65046307 546092509 276591587 931869597 315759639 270686339 827347471 768698043 292799127 217328443 440588211 278560201 226758123 586196357 501665303 224017387 209569693 761318499 259800393 760345671 624128129 454803815 241070881 969948435 19845557 431643559 345641539 687715977 830570395 931613887 168843541 490891241 566033631 861439445 425875143 951808127 896310137 995358875 548702801 401180829 250331041 282781253 757534069 246609055 322174173 302315665 202375609 830579683 701841145 130542789 319552879 732181463 789813003 16990895 928173229 611146987 51167853 46323623 893090391 797376921 132120003 894215563 902479633 535776615 428760571 941310399 276822095 386641371 125124423 744577589 758968135 721401225 291582503 836303967 719840761 253254411 339362395 705218621 226257455 712918021 711119347 281496919 538385017 602369565 742581823 355420089 780126509 236078601 256539871 581589243 433737071 359667331 301896375 829644601 609565731 315851597 71205105 938588699 597477117 456685615 370800131 904192973 205703025 493769213 515127977 789097993 854200773 392389521 321815269 880530699 510131195 532928719 211701511 527650457 778680553 2354077 698226849 904568579 590362915 969358577 167771025 349388829 736316939 679708101 652777207 393433671 316958921 257271323 452893253 664858469 663355725 556746235 139580971 243041255 75796305 517099641 270075303 97720261 182004051 604623023 691285245 138190713 576057243 330451649 386905785 421400333 552021819 617065173 357427887 812690701 286610699 327196195 777095933 330115473 625779883 604898783 423897861 212996917 411624323 47441489 79479413 989338657 115018179 843414463 782024255 59154691 267154789 363225469 964960673 383422479 583865637 218633447 595198753 539972615 618151825 289131099 5172103 723357489 898470901 104221767 583800043 100697687 696382313 587500059 635011495 496978899 641897937 285924179 621864799 686905475 72745171 652782703 963375617 744285901 363752157 900691965 901420225 677023133 897149997 753747339 288834329 486100331 660697021 224938165 489053649 370655031 740033113 629156895 985070065 311381381 925426065 114288241 28952529 653218659 749641403 459820381 75881483 521204071 890679803 736452767 463066757 768212659 462473525 262066935 750961513 733176809 786909469 580346675 813425709 633855545 679748137 516792609 169011341 248438873 408883097 659354269 513959309 382007175 334210679 771140235 32609401 590058121 974338707 649968595 199513573 467858607 455173507 135767143 207319727 398901965 861759401 136763459 876238073 443155011 994121517 307194471 851919663 223920117 565629697 133955041 874917639 419088213 932625881 626002111 502526079 997559125 797817657 495053597 100122327 514355575 649143913 190578207 825421213 268067519 181545335 125327085 52950437 215105723 533519421 228312505 534696973 673900161 222570843 689917631 487390007 554528691 455747385 684928321 56076753 148958579 968780553 594990727 323566031 519053681 132044223 836714725 82869611 147168995 397765919 766588599 33737259 604862343 746515631 261155163 680194525 881253027 306334401 755408447 15505299 576193031 561164653 31316949 620911785 325823239 992462739 996801171 759623107 249377155 728463323 406769665 763042255 130288865 861956533 360096167 935412481 846726925 761183321 45528597 122336213 972670849 386779081 422783463 149963277 535107641 61377995 917287617 946852793 46331577 408382705 345111115 456272939 576709397 795392401 52666167 980257537 13124317 297709263 753515585 436325659 113904181 427653521 661911339 789194667 335775423 30583173 831493565 24111393 686090923 747524647 444117709 490297403 670692271 928159671 959354161 51239677 79185929 67739707 380821199 995677619 124668801 447751299 769185679 195655153 211896931 988860715 149392995 238636949 329349 78319503 183659591 665923009 660325447 163014873 16996669 448464353 276986765 778406651 259466061 741782701 631364297 266884011 361161101 803507485 565347311 959230313 584223507 747810167 943721851 559426687 700945925 111928905 718235511 693849083 971103371 581423459 339183217 331059895 322911191 697816805 671316091 199774293 328667431 322446385 381328441 970667065 408544951 6493941 303645645 100854933 243176151 74353189 313221095 82264931 966930133 3915005 259032765 265412961 776951311 268471807 594878223 413310743 91916003 213608443 330370335 800884183 923647935 883581699 196799423 837761209 883376149 285647219 56768835 600027037 108301661 528297199 948600971 390311467 773863963 53107559 582572541 595064019 303786711 404506123 538088583 751044559 581635367 930448983 525378205 50851867 125324449 910347539 987722561 473929861 74062827 493908297 934038775 501250713 336097709 543385421 35102927 69190575 385623963 39863229 677956955 574197227 521500525 968790651 315492799 720484659 542144487 98951091 562897053 672402999 793219537 416644315 371092773 799908207 572820737 396386735 412727823 614477851 666641229 599237939 524015253 585189703 569268123 920828597 722086783 19630269 326494419 377172165 742762013 990145563 224685801 396954179 352587589 868231613 736996821 541449553 886305363 784180687 5937819 432454749 362941487 686646077 442288195 619788569 448312901 953123523 453715171 561069957 237393807 746787297 771615889 870033633 111188361 471971293 722289779 260452539 834280761 975486663 936905649 864544745 80950829 857762425 568714367 28791173 511027069 275134357 32955669 783252469 459285191 62362239 81610423 240130531 126978351 328492137 704510127 242264901 329974375 986900557 588707149 798164565 903509409 528536041 626368239 35147419 980315805 526573255 647659765 153561057 59359395 357863221 818631369 824644409 568969087 33431373 155455709 179698181 9066119 399015919 670334895 559091429 495329691 623501763 402423483 604240069 621221921 623843899 85206417 295448539 809690631 780809355 183242433 275597475 181592771 57130679 607733987 808200929 45816403 318530693 171444125 330827425 849509437 678274697 15939223 410873143 536442511 249615637 287553157 813728833 856332001 520683343 169398303 827670177 210723665 594855453 698160937 200976259 921085315 698341679 8971117 327745887 961257385 288744445 850367933 863867629 864481141 933785801 744166129 880396851 81037095 480473497 35520751 240202621 215224455 335369023 708510623 620235361 532599777 659762771 796837877 111405753 819945741 861245491 964930281 770153385 857008231 141093387 996662911 448761503 617307607 113405385 284338369 357558351 326152139 750010661 587691713 728033203 595778105 702479519 470984599 343248147 610651039 957622913 61455209 540507895 49542659 414993371 570934881 616785207 15721971 278080387 779310509 176805869 850435463 248520477 13248653 507863167 383450973 417054221 835635007 525229207 403794843 832612999 512097293 979202859 349305581 824206465 765155405 495457655 199631755 624546491 720376151 806683135 705414197 803271615 393942413 699581325 190724399 260063963 920433497 570580537 982339911 778162985 571482159 665079903 715519699 810907273 74743175 961568161 465630389 516249253 373803493 809870315 760977231 219092457 341738451 994264179 398782351 858662033 954025699 75867831 105141743 19104667 688694445 493049719 153848683 541872079 215453143 217622977 436727947 927731391 57040651 241452521 718173785 722772419 532670457 597991565 498323311 921303803 443518043 985270671 537920235 633612367 172458229 916077853 887438195 519532143 549269137 598855849 69884979 763887573 311794431 680244211 406777317 408549823 15950877 641768955 157583299 800597813 798643403 255467535 770918551 797527049 524919285 958664901 535784365 401628627 983063947 183356663 259512285 895765747 339271559 647611593 604815491 52280719 114688237 444442793 900903559 241512091 452440775 923706955 926436695 241847501 22192935 882238379 61600745 256997287 241578021 164035083 952266171 273529455 360818921 888055547 724232147 133082423 397427351 534295885 357693889 834006485 126723429 130138653 156457625 463207149 596887435 446997969 260478971 729347811 830198861 779464467 869286669 369041643 959325429 851408857 263152507 212179451 120283605 394816607 756878463 805127123 655195463 870612521 805404115 33528829 538460333 642327811 640048321 244946121 620661617 751491585 621856021 13579341 327409159 676995713 803758631 964502893 156843241 622246693 991473109 90724557 543132055 796770011 484120451 460605407 183613341 927403477 46992161 78745053 602861965 614045329 446841893 981582533 542377983 464298707 224197261 175850593 359179419 20944041 988152287 736866623 770966789 289898339 415547435 521151417 522988019 956465313 222813445 953856751 887356445 706362181 176105613 936579531 766243657 962323581 900570217 520912889 633894715 676786365 571964613 16030963 583160523 922404543 683703643 396595963 365033681 585726603 273065575 12524569 908163889 590947945 88762287 846353179 814569937 723397617 51225473 961420955 402731943 786402557 694635445 187908601 993452459 687436979 5447335 258175581 998980579 762135165 389777471 622601655 176645205 956373777 167272171 137170879 850480147 705903465 561471139 122607351 267494459 209867725 136083937 962113957 98288879 845248711 137281197 600580315 586691669 64711723 889770391 974614895 297180579 653338133 406924979 455173381 878274579 454862827 196129441 190624515 562363365 977439065 309652871 337795481 467754341 539978577 274230803 988567231 276178405 156950289 317210233 348352821 576581311 89849629 849711995 996269445 7836757 243971649 216647005 928877823 932007187 493778577 466226413 163770553 930311273 612370539 506955907 577198743 273754065 896966513 489245437 371456573 207572431 656135569 37392575 246215711 885384941 988996605 363522233 629309555 172343485 767810613 355311969 958525497 527615195 611726073 756775351 198987835 561117669 704150871 574256189 295865351 922547847 1773477 224440325 25029879 127407221 600136317 419922339 737560365 11541865 829588931 272770103 163622541 998145059 418095525 900220007 351676361 410730863 461853591 742754145 35417947 668543775 178666325 210619865 210727041 604814093 412138465 450965265 353871429 24082973 371719819 202273229 747665013 378101557 61357029 492172125 546196139 546139211 516696779 982278293 890072391 552580953 72632675 821026515 223171185 110481247 927045655 197393153 647435033 10105705 693045405 863576713 568238583 749927305 427940081 749553251 241938573 477299163 699503703 447191053 372606499 997369725 381451355 255259279 831584455 995510683 277609425 323300213 996322897 686045291 269148117 227389397 193224037 9322529 468132045 176539983 922321513 907960325 294401893 42342665 451347597 7106397 29768591 467005617 580531913 13910653 1311625 924126589 406822111 599814079 123847385 839531307 782806613 130059909 187869511 112849665 203025277 898311227 130580969 357214925 775555181 829607761 611261469 991315431 714863625 174854723 89355397 811620909 247639797 737546897 913018383 763731203 674745509 74837447 404048111 414195801 913219663 729366647 650888607 625384871 225270261 127642941 187482599 609722599 495141211 533953463 936212431 512959395 147151127 574111123 406305967 298272743 782602621 450635137 857480737 448064841 725042609 414338619 315227401 687962601 192098455 95172999 729353367 745466221 454951395 997051691 888774459 521115139 951589641 351066619 105572785 664606561 238339663 837904081 384203265 595760069 653042615 656995729 994301557 506894069 993876503 367877155 937227937 454615361 806313475 585605497 342623329 983850109 565505757 815879309 802322651 938425095 135621069 364217189 227848569 351416521 895711939 50238983 49770739 505922605 893971833 812076935 450926657 896986411 207085165 714855681 101368743 420446787 189839335 36200595 960753591 484101497 10436347 757076075 455329343 459870555 513208443 254098873 447414621 804644863 838868493 839715257 617414777 468365831 64184599 369863851 543426873 675046803 458354121 256172763 420489367 987560791 155631133 744740253 117050315 684319111 339394767 30857799 686794587 618775265 814917741 344034621 688255509 304139179 445473347 304115947 772748297 91256501 716425065 495390401 146792343 268706387 109401027 892092475 101016163 514793829 491209975 526409691 595614807 471046735 732344179 553116201 215942823 200812547 368083317 554926265 100554451 749321971 607202807 61570855 132691355 578527265 835428293 377561617 543061007 292187151 212499567 454257189 382736513 679746001 758253899 524660499 435230605 915361271 652014205 721394839 798969625 610451365 518770665 642020211 761736015 497025405 588447811 327653999 916741541 15094447 204216321 594811231 520396247 285492719 803731555 737538589 582746857 295866495 20704883 758026125 416215079 73654565 893932545 356386455 371803173 169530155 673641635 896117549 476142015 855654765 551945915 792835403 195207963 250534723 216363121 957582323 408161445 296284569 486771383 777818157 242459663 882722265 316116033 952705549 672920919 61829373 241531027 688111535 574986177 217409665 393844981 899797041 474456281 97249641 703842165 419568321 921256821 209382729 295216621 158764431 945861295 273579313 806572797 636384983 636433131 748321989 353390349 479905243 276954327 526575399 940571471 21916643 456387685 822440455 120136375 218780485 875133397 836074139 789519625 374510679 998970535 394721441 895171531 337275007 491128489 559077215 342243663 546009891 326915825 208223909 318263213 971319483 693416153 915252679 12018629 199487933 601470727 352010405 927675455 151353259 807125093 934791333 255449739 995241491 218043177 251083187 106513889 355348867 309744589 866486089 899748931 942718617 9045017 585820513 24957303 766138611 995985431 647310725 927718415 247420991 214101787 890777025 503388769 668492079 367159489 809179565 776502673 585742459 227046895 19003751 517118597 751892965 218777551 647448211 142905579 67491643 419731159 586277217 22452799 571045707 51324867 884893575 195215041 96220913 532308119 481977155 757283959 888771089 456359327 275257437 564271153 267843219 253963889 281717023 532390027 313526123 90490597 458956133 897466593 487182225 957969443 784034185 820260959 910832391 44359063 321346417 507732721 816851419 796808179 347463055 912379475 91692827 566674999 500013013 688542979 191143909 819995811 87617221 462051659 287687767 120566725 337193571 219723833 328221343 630644083 469547837 10849959 284676591 358734791 99239275 592928311 603269503 351302693 752482699 766582349 867275665 155567163 565718465 423435547 710678131 245723389 411797181 331153563 474670963 565010341 339207349 256206219 746245103 676165819 986283623 498263667 710266951 703420679 830406683 733651621 770320613 838054561 562399389 353242937 911662395 929110499 780884547 920855567 803816645 439112819 129850861 785930447 341156869 393128507 985324545 368855017 10360709 243250289 130236267 985420183 479200469 6925969 933285541 389018837 569064339 680356703 82404011 686806641 239538269 872910823 211334147 278798839 894245345 33451133 882171323 88030399 26878929 834213309 767620715 689945325 987283429 340723085 263282993 581055591 725735649 523177497 968363697 643776477 938275213 835802835 355368475 415013319 691362751 924454777 546724389 937489765 687142735 164987663 16995343 155019715 641291037 485598945 477554331 476581547 797288471 68306821 429811483 159743931 5003823 81838035 78567525 636750671 993301341 14436339 571621845 266259859 107486885 586862673 312591441 806513011 875217167 667915425 440893259 774125995 313927857 50093277 623163831 601105339 1730979 167770189 787689235 636518121 265502469 72061049 613416037 317657925 353837063 41068089 288567611 184991913 593494741 149056167 266624173 638959031 181685677 362083367 138588761 698853075 659553745 818448743 633291619 777089327 206782603 951358043 874450299 165025733 51698219 496154431 575577561 223566931 221133583 670317461 985805367 497756771 732096151 604090669 933239263 288593987 906253357 735968537 621960861 297162765 811489861 413565109 621449671 972972193 563992919 880442023 921237309 459020967 68690151 163629017 267791973 826483089 800085629 473415299 638962989 247155347 161658543 45143323 732211979 690900913 734337557 819916139 397063163 358428337 143019601 378155901 496818569 424101415 240880397 677116071 92987837 237625445 962300155 345266817 987015217 96030865 514200281 464174067 602568451 681724817 571988067 336558121 192917463 351083797 92386153 807360917 286546143 231310997 266904251 868273911 406042061 399652947 641998131 787309135 456800993 285845589 107540145 394512875 800311779 790429037 751365925 457078111 555695391 493893683 290063227 589041801 764514413 782052357 219950259 668267149 420932137 195350543 304254155 120905941 991883323 198809663 914608077 180031509 379415313 159130701 658075855 836932941 800659103 483722937 633080041 659742397 802486119 315923405 212870205 448883445 65213807 378819737 584261365 591785927 53154113 950634995 902744645 137014095 399416055 476852095 280525669 641751793 393543983 562716321 851481753 354587741 980856333 285672845 53297195 920297091 492379203 407641145 367609707 348763295 340048899 41199973 544287671 858556217 127836175 250433435 63288175 371750683 97064105 941727785 162434813 289311321 128206499 536429097 389627861 749088079 586219091 552360315 391303023 148784035 953967253 402603465 389119567 892168001 754619345 952022399 20799743 309797211 684762357 467415257 219887889 232075119 854652023 552229589 15898655 301592129 105343317 764020795 268395723 652731613 83901973 431908509 490338239 52599193 372211143 196238675 13675695 487077133 324351743 682044541 671480147 333656353 256969949 709161987 477790319 339193345 555379205 857507477 149028045 421275937 324266409 938524845 746708031 89561147 971744891 66684809 244000927 311302741 510643133 443705393 160776911 386411709 877089843 200499319 776836537 898360835 175982379 455940083 580304721 473890567 921081725 355448581 936338831 679502829 435180165 212605395 600461687 923330847 225484075 39959377 860970003 746034259 276244189 527731253 396214133 694113667 539496081 370748929 762855863 637340663 944968645 355053051 387127803 807226681 819007359 286366261 42086251 763986973 368912719 297152645 397425211 610544063 571959881 62582671 686322339 136061061 994321421 240349111 107020775 361255705 169178561 177005617 161582417 263699313 148789521 774190579 298623283 182796745 508753207 504198847 129970663 873262501 440999917 511943193 134509775 228384465 242907773 824180311 949472599 792718433 197096115 631391117 444939757 511315889 559549927 280905375 229554961 457429351 731217909 766168625 491122753 496580719 343597639 707329461 921350921 133828859 742333639 598302309 837020155 440612747 477954285 160196671 277307825 20850655 831604919 873893645 161670605 353463301 920672683 54478685 581194233 139461459 887135193 264385929 997020393 652798305 245175509 896822451 111110999 259300633 356213439 822108607 638151427 450279843 790255421 531588191 826337721 798819187 744851579 835494923 350706251 836207433 222976051 208598277 254484371 176177445 119467679 343385429 764975475 765217111 813952905 439167433 802895317 608784239 221111615 949007099 568323501 320216909 8214933 854018635 264773109 717696021 622059241 937505505 968625837 777136945 937575715 934489773 912138721 189241687 321276593 856489831 505924259 696014723 443002761 416319377 674610189 663660537 884993065 364285297 419863617 710503747 440582809 794212377 27199849 541185337 889510757 241130591 639046329 43917815 917273763 364961255 662221675 803942623 289233651 921798167 897043391 313670557 331563643 903997215 262646785 28595495 967487463 200503031 51659651 898369209 20127089 503339103 53447071 553421015 233819093 410576353 606961335 125685327 937257817 733866701 8610103 858143025 378616011 983715897 659268751 157597149 690567811 718900233 194545721 216615925 321107293 872396769 406440123 38109029 457742787 563774005 265610907 394482533 411259551 755317563 179201901 249122157 606437993 21847027 935559883 672709187 626837535 623944487 524953943 252850421 774523977 73609317 398820285 569331667 874204147 450108167 153949101 433971069 884727731 573824815 683295969 474925015 409958569 756536001 665127453 17731339 313045883 374896751 102291501 975158415 795864407 479976115 386399967 885608989 701627121 690644683 766170639 264855229 147393419 169954241 853434015 866171831 829731305 645273955 948667771 580562339 914843483 918494027 739316371 613766493 328512179 194729945 750832609 259482373 925104981 961764149 604265067 66997517 546551843 505035855 340782391 712047909 80577167 76259295 788134489 979215689 841174411 295380839 175203307 302306497 610590871 759918127 897814287 526265111 892915387 508067909 945067761 197099295 68405635 116815233 215815617 319789047 377889797 794662023 639458745 738010625 224672737 95942077 251061791 66678251 200969789 462209107 284960825 744759207 245364423 201896769 882044507 185422707 824584885 803919945 828936927 22948563 390301123 874517745 72890665 246737811 258270011 725424523 693137055 363641545 606451947 597154349 315140023 537712079 111756327 562990011 314977003 244762441 546488527 507606233 839043515 961522725 787098695 391659771 819981237 972258965 388892799 908836695 257901927 840789785 651402477 554900463 513980269 683334001 530593681 135929991 985377641 980869549 130612719 204233141 794347783 395710237 878246421 288214989 523816183 219495265 28982681 667801075 274659829 396232029 819405467 628587787 520306113 227356731 380262593 823201993 412650023 711338097 996481593 928759457 102128633 304545979 631955129 974201049 750928915 107053851 861067391 810733427 441128531 756353505 358450001 774190405 34816679 143427743 475660669 701888739 508774399 203477811 650297563 221794223 610754903 220691645 192331209 490475729 995189935 512912047 366932525 965086265 853252627 176446393 606957683 942641057 808642199 928390873 912065171 23821191 977755985 126429779 566548749 64542771 533696101 509664435 758215139 656128697 136788991 549948365 48265639 285665259 502517071 428819903 586237039 116857199 935947153 114234859 249594071 89211563 176331013 344033279 22642439 482358223 286054393 646752493 418370989 992796373 504461243 233278453 64387839 206670457 230633895 451459991 885445051 213630793 23341601 416970401 587898407 939382417 806595983 324718889 78372115 957924201 347862377 185208201 331834067 369899445 791539493 189346149 486631495 32332571 976229189 145446571 956112339 681382923 105121365 986029711 658375785 764492989 417417193 573706891 541706363 137191473 729590679 919591783 119634185 967512369 736244739 992722987 482307739 351727949 464163289 324165423 803689021 361816539 322416841 716274447 202013319 466910463 670556303 303246763 793829013 181964445 121929709 385157939 818831631 225826153 301145003 751589147 667176227 709671385 894052765 81293599 169741703 355116845 640672159 837997635 279478137 803196015 162545807 792357843 425368001 7884655 413598043 513277027 885684649 739206595 905808371 301482193 96154635 456621005 894116435 144367423 677911621 393330101 133623677 77702681 429495101 615527021 958360697 693964565 628884063 105275049 957478749 810545713 560396453 36797421 429276735 101680301 806277001 196604801 576270403 102944791 896264213 507292531 160506517 417707843 250017237 965520285 540894055 78578511 104762849 187882143 97941745 549904541 941602261 467504353 588558965 438025179 650517721 948906389 792404801 853795069 616187547 717816239 972446627 182878781 123971153 18067187 102910967 44343073 527931835 418056423 161815969 831782775 751362587 703701471 64061961 543627857 255339843 384523245 113557409 104392459 73073799 303023095 156931813 355184201 924326855 108955811 199056727 142481657 925548647 340349281 414024319 303756623 789014105 472728937 788002033 180588999 562861327 766781117 475033417 149442085 917993611 152661283 136001831 191024755 331189841 193700653 282533427 551427081 274295919 969698609 642500901 787422339 938364029 72077395 111863987 638915777 784745111 558614393 27333279 105349621 417195623 127942737 161282231 703711887 99661847 89695831 218788297 853249357 682816351 24853451 806712499 548230707 635235453 754956979 23411539 864670605 930163511 174024159 28225943 303777519 771058653 572103147 189309553 261058103 143813699 919723059 303076057 782551175 540498121 562576355 953381073 298751821 490312021 637658855 170460263 114057019 472148565 89764091 807760553 619248463 487734205 230024861 842399413 32423373 410912783 830142487 238484651 842935107 725827407 541990519 970389173 471378305 664180747 92908183 219518469 384127655 134597211 637673497 378506711 248233497 158819547 154914913 570103405 269730687 101005749 30116257 998268943 309512147 748702611 921190867 609988115 853527119 570579117 820137909 960180175 52683637 857695681 89810383 961069481 918853141 287745815 372868979 40928265 610256449 213101435 917150137 40233571 333152341 211937603 122500225 807317551 285330421 19286351 444390771 210116591 409401617 693004293 947271423 75351601 423762137 917313617 227768671 473000579 329822409 578190509 162611087 717030019 659872681 678390805 391448157 227996369 13166211 887565583 349044053 508587543 216741291 760935593 869012943 743333895 25009087 321770875 166795247 618573405 797873825 862837411 169191835 340441051 490228349 413706949 236550531 963968843 242158793 396873489 4796959 261668989 17512257 281626173 650493615 370854223 753934571 982580615 145828415 649849505 272912655 345673143 198217881 11844957 305208899 821050905 775471451 991667573 679059813 694554499 317848801 981141733 984815767 473557333 154031447 432297135 546199111 731264629 360432041 275794909 697505831 548262993 734852755 568818303 632313399 12619743 260150677 633963187 4943799 438993051 95300597 670358937 573170743 533176209 392822211 456239195 893322887 38890057 940093145 273790763 578463687 696309213 819442137 507319367 753100891 459876331 623528743 752923883 688499949 510814103 588770805 217925223 72382835 787423377 496447805 268833547 905568807 342284815 829312701 636192047 3461777 829249489 700092927 535344185 936223355 119144729 797328721 394952081 730409209 170981305 429170893 548571051 131862887 60487431 48409427 360289023 1196651 915265759 328807307 426407185 845872879 489965225 138133223 899649899 72814377 885560403 659607707 670238365 344940949 806782801 253784235 7988037 30953975 570248613 109411039 972447491 574146651 79505107 508366277 647737729 881225749 845803243 113483701 880753011 697959619 344899969 288611795 76265361 140619591 298854069 282991365 924774303 112096973 238430763 624443643 240324965 384307149 144593427 931264301 166942649 901714175 298591269 743517661 384375667 507507305 409506971 276605201 107625077 159118937 258386751 712026523 190099113 64472671 539782749 804686355 636332291 763806299 354616779 557363671 415879803 578648431 706257899 637407251 600377621 584875273 751005341 233332917 614795995 83281885 405673045 336145269 872301789 683286245 761158407 774062803 485918777 926166121 746585393 218592025 935772431 384528625 163564761 143154519 83753865 608350805 913031311 507065443 345304795 490984623 131588711 698206689 672594493 783357797 872827649 584011061 96536051 52853281 427396225 782033043 662740551 743881177 535279513 198014449 661116043 199242185 859456635 828021263 984549399 348851317 718293991 203324279 998332241 83765415 139716645 434060151 644208803 427208311 432517121 275531049 140174715 692938305 674909139 427256431 305941337 471983015 510755959 746209517 117027515 905921173 695328341 938814741 621667883 137724483 992661595 561640225 311396671 213663785 225407743 229004303 495038863 370822413 941347135 268647591 323886525 284508667 543804321 543682683 991286387 647486791 317936949 924752613 888063845 761978767 651150479 276233215 260211787 918200501 923346127 797751735 60901353 920761063 721014937 407511741 158236937 941813655 398162719 485572485 148350333 994216069 637030675 871924051 778589471 176405169 355321783 698093357 544181457 236253033 426925005 812841189 219711869 5596483 895528105 729256979 257430807 787323161 255331099 521317143 245757335 830730511 593405063 155161623 701592577 892751251 292584911 433506823 252026719 920655961 138936419 151687069 174982083 537949 455786297 427852891 585449799 712561633 397353423 832309127 505107213 332929397 910650667 318971187 245226047 762185451 472525021 401924407 922482961 409797471 559388153 372325425 9477565 919165239 236815903 336307341 547236227 990359837 168689779 309717879 673141167 211166471 326249639 778910699 137308305 443978033 835851245 44188585 639473287 586724127 573959687 943753781 285081329 683050653 539266617 47979493 517792571 780327615 394497617 302680781 207779797 182121187 795260327 493627345 47274297 905126315 131495959 923081109 34401003 597044229 152963337 765092235 330271861 434263075 234266731 863545581 763413609 919633027 568515507 417846201 509972321 560052457 436553439 506395065 562894591 831375203 805854071 978733435 487771375 330450753 206356359 821033819 364060127 182251043 792851621 472606837 880564879 76042475 868470513 179403699 917642429 336032455 353137679 246421701 736252469 461249579 525825585 593437987 139313097 441539025 173964555 968753423 654403667 903535041 413588697 773043857 956668853 77768259 894393189 276891255 177533403 429734127 399041275 909239643 422840755 923549087 601764211 900385949 761823805 114312569 614553387 163647333 931428727 112292839 285628935 438504355 284706157 527536031 279030903 965673231 38387505 676694939 247007857 799450667 44075997 682138147 892753011 784729405 334463379 21121473 525532805 666827095 379161215 713313865 873913139 217805137 220959185 151008215 659902099 303692489 470502595 216029649 740791109 668101931 960660889 707048931 573957487 907823269 179005085 255093503 146752957 41963311 617819937 480697443 835409513 690842505 674140287 131107987 288096815 775964221 740154651 886014043 898763605 729128091 476460891 946637263 468634793 941078457 727615157 646866253 7263875 540132731 278893731 387448951 635914175 890319237 73500069 190650683 692357319 560330827 167184967 827664587 182263429 718653955 196373019 700610727 336387441 110886829 868722875 39536015 929418889 116067347 254813385 427608721 638491221 348721859 580285169 867429379 548979167 87431449 775452387 859012735 161972675 572165425 776402009 312427497 655355675 752518389 791303705 385421935 666321551 255001365 698975465 573913989 415712075 329800203 41203869 131829991 187367945 281761557 33162511 599103895 998615557 464032061 253083937 159784165 576541189 134115921 492137919 284082019 776957271 378189803 220668633 419167213 303942867 634303595 507570793 762483881 273352663 202915833 749664117 68536321 315768135 624366469 534185219 121550763 663812243 986019783 97439527 600236451 491350195 296120385 648494075 443860781 62340385 338947643 754192545 427849685 668105957 955903427 200473669 971847279 962061199 317745331 653009175 136162327 692642869 155944361 835517267 240066867 923510899 375462673 450712633 88064111 133329265 974616089 537868565 231763389 223809245 659936697 242296889 478869341 245143019 265599923 651896831 630635727 893874269 516226445 109480395 495972321 583217527 414204313 311607043 580194215 109564681 941855725 875564063 997377407 820635751 277145965 497730963 561571851 199107951 441945277 373387495 981938745 589894539 717156689 507743649 103085117 704254117 955300959 215615573 970151057 437172277 218042345 853293981 990351613 549292603 347628469 351286555 913352585 113212985 890903123 609277051 45747085 402546241 877480991 345401453 762231971 169992169 842872885 874436525 309577137 996156749 649980287 736901115 165418977 854119445 212360111 372512037 894292393 559303791 950185529 396747769 363124163 928029713 474073443 115730771 266331191 559349559 375634223 131765525 469096783 203285933 622975091 473506091 563794079 767821755 461097411 241174149 242904579 395957051 948898945 919193631 565603489 940892299 485764565 498303481 101713379 583349135 505745839 905685025 588966017 806790329 706671049 451555237 284663155 812502523 666067617 699671457 966054655 2632661 66547327 801522745 548116913 977238095 715560055 958683539 150081373 49887221 459883869 887802599 6280225 735674591 435608785 411309417 83065183 434306473 783485503 187364705 246308547 217111163 792677845 826261781 750711109 86178307 585598349 148463065 439079453 643910263 702535203 856455433 470226897 719422613 592686117 499062531 78203183 321688739 107721951 546287669 361037383 906463601 948676457 411003407 416673145 659159891 822878119 294378509 60080745 451423527 955235647 454909103 289896193 637259095 958727329 771990659 514247797 525489869 26500613 340206871 36189765 236325891 969969259 930347527 794156849 985945587 816770717 79680503 533985353 70494503 743416363 220843917 346972639 12565675 880524397 362929793 308535439 597711127 296168321 966972041 521531967 992000391 503575889 407254119 832453913 449414819 750908559 968893671 242102419 327706521 158829489 195977181 962074729 817497375 915518967 502764831 726063519 946378867 642961003 491459987 913244033 566095963 217562845 322062879 730197667 685799463 805751011 526443195 206036449 197753515 319944927 555787613 411561825 781273415 239399673 793568007 734626191 816068833 546999843 37596357 346992157 588605157 934713105 384124075 278562569 432166475 367215433 814901455 969281943 368443539 972004877 998512727 384146259 309117121 87717745 871195755 191805203 300426339 480786255 159927101 588718577 258359441 602683971 502811913 758374993 382895847 654678199 180640527 154556129 136924813 800390107 8765597 476073363 263986481 710943399 855072257 221031079 852743689 801208541 780287897 661395869 713546451 482542595 295765699 29235269 645354199 729254509 214064365 47289263 242272735 257615405 754244231 259932475 741958471 423741993 140082189 762835853 7251177 450973959 672935681 996907919 390594091 765985335 271919339 295049591 77001983 949693169 952610401 442706879 755443415 147373367 280886265 624010287 373853621 634456783 11487065 411325649 837490973 396639307 87094313 512752889 223378205 304521731 154920731 720946755 776009549 945163029 745041131 146150805 524974537 762442861 582668123 749628441 946607673 597367223 550813235 751985733 54228683 541068399 788866121 737082069 420963637 538915029 964516467 524271053 293202871 162740975 441246359 422047097 671634451 489914765 119639709 592063855 318245531 291121483 740331895 303161735 42763043 568674693 776648225 618405609 784747531 83250023 722952861 124889345 126143801 922069213 1993459 960832129 385681689 353194915 53096505 124319849 787991461 18559031 254402949 823913209 141799769 428537571 2238717 622681279 498016827 6727349 800600265 492805521 164896985 483464329 942788635 879094665 317527883 309872635 762028591 172908043 118225453 510772853 887736647 404442821 795006887 987824167 759916973 956644523 828334185 848231691 998573233 575796471 884522661 824751071 507577265 158926385 709059355 385449259 656595723 875447073 970085905 686181441 789713709 893371871 293698135 297400889 747297673 44569797 552922179 383287539 949562263 138634617 567453873 284039703 943990235 820241381 843901959 428872725 714042589 317898559 955994423 537828647 391191091 457232643 414062261 261766217 860505971 92783605 297335165 508461129 455200579 114603809 381680665 821843123 896223307 287503067 828857751 483174113 745343039 292221375 45351563 136378097 397377751 545101235 87297043 245966031 32354517 151078115 460839129 622206249 218757383 721639617 634241031 780247159 364685629 85416715 584959061 25072633 201598799 521982149 955980033 440564923 691638819 145555259 639330515 846673031 889726625 484589315 806088471 119865595 118139581 780605685 978414243 176330867 516212847 619788603 237146839 521611035 537590457 313201723 392374937 602730975 134689961 535671215 462219607 239717755 971226703 440696207 45181445 308549487 944533955 380183331 392707109 283544833 296270379 308386291 467763387 406352449 955185839 840614615 363737943 658394379 104379779 290445545 480925453 352254971 258211551 846614157 910908283 642651003 103330823 884654193 914405323 270655163 71331907 795820681 202388903 228306101 305996265 292547345 174169671 63573287 639789905 465869195 390532459 480823195 318905307 486074823 522910293 761334367 69610231 599679703 141789911 158209933 174519569 551776279 678916679 483079685 39724199 133745197 236929153 231661167 548303163 169216005 985840365 37293117 799252567 495628753 986095991 817582755 387394189 173276175 457803161 614829989 561188981 194684033 587468623 692155659 943823797 97640759 337091103 702275939 873157109 657640837 171383833 208548615 992943593 300493571 424935121 909482773 208502345 971486873 311885413 9984633 492104409 127796595 188383871 600411361 61566819 884189699 473962313 741184965 481686199 215265033 617221243 27855207 784734131 637086341 752761941 246210509 992652855 435970245 590800027 432682953 785492013 739713887 224726939 15383539 457570953 77942315 808310059 200699817 99053635 579007059 328781739 331383831 882446687 873533247 928409857 560793899 435379175 76415395 66596763 475473053 953970925 540764287 155859823 316906221 386175369 290891283 808832763 840532581 618811873 921286895 359502917 943496725 511126045 884827877 776916445 93722837 161576817 472471569 596129239 298512451 467936021 142677463 510019793 957587913 410936653 795101159 808783093 978555289 524078179 961010993 460871405 173105577 622066601 821628145 99294963 262618809 300813433 669693359 745649089 440339283 961019701 91288117 646632353 815285445 300381255 105597079 910522207 232817193 780686115 154006833 193621843 443090785 649416001 643111337 856346713 755863057 600129829 877968363 81132761 379570347 940522841 439837481 678640065 201075561 466772845 569690337 770350471 478286665 117913343 304367063 543250729 694948627 405699247 321921303 987110701 492527707 217619241 211324663 491654819 749153909 854582299 863433231 593729055 536014721 482168645 473443913 980507329 480585067 37315429 410727883 245743917 820381411 736445767 536844815 20141715 786849885 298181307 214131917 199329195 257644317 753726367 341765387 886052783 967355433 114842323 275787287 922218345 278610771 593238851 206765185 883515941 914182195 657456349 416154409 229033147 727466281 673156513 567981619 14973575 722981467 634527373 535310857 405302385 26295485 406727853 76738657 625414119 108063493 982682129 533449525 859956703 303383733 575515863 867682253 235112919 260140819 244112415 488236467 53233367 616139313 68621077 957234619 631947883 863519207 556412393 654086401 628754345 98938067 695090901 387133419 946040369 53680481 781875997 862940451 193511207 504493245 117843979 363647135 629541949 593096163 762473969 333920923 298645669 972064915 12201769 852351643 604812321 505370705 141097237 872124523 545538549 844824947 520569631 805518623 79567855 995436557 833814971 676400149 863627111 759907075 590502241 338633711 242269753 620514553 894994839 155125145 670568397 693289313 5598691 451847497 19656721 784470389 880585431 639326589 531789435 914028851 321660689 416170485 886537 912621157 146433585 513903807 793283907 469744537 246961123 607884081 500546867 181677867 274652887 554406627 941687413 91238967 438047687 630806207 6592291 610756519 220684407 929336813 300872419 286123819 691007665 181158625 392169959 411357243 290249543 809606747 363489761 440050457 78740755 174987355 619222291 154322893 559738359 550167857 382648129 461849893 708303839 202131565 265514681 25239995 358013371 619538929 172695891 810848495 459080325 595258075 907250029 280076777 774223425 689887387 877738731 649295513 45338361 49652709 121309757 27915959 282050495 801998261 172714841 706884293 912435629 773410895 765369021 467640073 401569511 1132095 706524785 154437269 434989971 670790489 596399359 871120449 268336359 489774009 285527171 357809067 761467419 740213957 119902615 435867711 874765173 203994663 503230561 766013995 280863035 140593877 445078931 209316711 660603073 389107723 293404513 317126323 997799265 173746253 401023623 119100057 938278269 420882025 967834959 292372585 799867775 871549039 590626951 444037945 212530907 97292479 19776643 329801965 486210827 181663995 674660897 454150441 771999375 841112847 59395529 974707297 215455731 651361843 332180073 869505739 572656841 90436063 379512441 55530343 968201899 76599003 25265395 485383935 774469693 907710511 764974687 871321377 363910693 389799987 466479565 948670761 792205849 555232127 76218323 992868147 144212435 657533949 42354573 613156137 82132499 561562581 881697697 633788859 668856741 62637181 630351169 606971235 524994651 369363375 644406049 785343327 839285775 690404979 19196031 67839673 679466405 13800977 764628001 995941695 278775299 688244001 267607893 908334731 702500127 345015935 575856883 602253053 108807923 158903371 451439705 550424253 394348671 183558903 98586731 388409531 781496527 458217011 143285913 881803183 601513973 714416637 58089945 238848795 703075339 302664599 898963371 544921159 446560309 280109201 215799057 99053377 703885721 611093437 36086685 65151459 483365485 742914105 681660517 522293963 325208299 804357735 590870789 788303461 906860115 93443317 224476837 914790367 979606515 621897685 236349169 492239409 49971737 147791173 266918691 39344413 118350625 968132297 119555831 695435817 962610285 271688749 565385651 488294311 478351721 682531463 100836647 487199149 967999621 916993841 9411239 715083551 643365437 81342159 810403857 238364321 344017425 842324047 630983375 480435623 203664781 309088739 746565835 441963367 681947459 627192843 667303293 134959587 807770061 92101255 97980643 721231073 386093775 322568039 670599813 286891761 876703215 60145147 418498671 480731247 344778213 135535589 375079993 531632247 54970725 229995011 991287295 747988467 181056567 24126853 67599209 404929685 724651041 152663263 567248037 616720337 157089271 131356365 208819559 440693741 925614227 807943507 486137841 320185067 565279705 854611643 393453063 172238241 462802863 265425565 660898297 856995491 584599821 621736149 499137947 931171667 107661031 333871237 338624845 814776537 751354181 506471705 555047155 631313189 69106221 374763335 186195197 330153457 823268531 194442251 396499299 978772923 237276657 178680745 564899999 379794635 989096459 649954477 746012347 142818869 954921769 345421547 526681155 121963213 644410493 593418881 972964687 651369011 143255363 144854737 600641659 513076691 593804219 195131785 254531567 217006043 359931953 243421083 923520601 501750853 653137913 560401479 764326383 574915021 407208553 555210765 159373167 679264513 173404133 209027003 252563743 208585517 277947609 694505319 540454349 327057769 163021493 268367211 52650451 646663577 60536053 314586987 830033929 648584035 935761947 636698965 832646363 824730423 469521071 514116701 38697779 992686413 620880965 267255805 77598091 225869989 185322103 539882237 178469085 722913289 781455849 94404711 356078003 547748617 621267267 415209101 173389593 675861757 745974327 781405201 816436647 160839683 883097729 487852241 76565113 244677637 563190497 862608639 88379959 694914485 969805349 55105547 84991503 53127049 291082267 153493937 795258039 346455745 697060511 513427193 951394669 823976551 971006101 540117805 928342775 457473611 830512357 119789793 929800357 386008579 930718593 371725555 118186315 244929009 602581605 753926533 505141321 837725245 375020177 40894211 339998851 655134681 155493139 249812261 582337899 208844153 156313081 270189539 505466355 218438819 420693343 466868355 779274653 445719705 695879273 742161041 30141293 530873711 852644415 602602209 991402225 556211967 690510099 330096273 843353409 937350117 928518945 161191427 689505273 131239051 817890731 631748581 21039169 711692833 355093497 984021547 668249031 337619359 1830495 16495887 813061057 985398471 226102073 170838553 361132013 546450719 231709157 9536273 838362513 126225659 780899793 39678735 453633149 366807661 811779439 27407725 454513157 513337947 78225719 147394767 230755337 533427051 465849515 948013091 207895535 181688077 513962329 524615069 920436131 106626681 647203279 914514873 778140831 311602609 851631785 817343035 924282079 779927675 736942475 306046765 905736169 616265065 588197917 502321639 916574155 198954707 36166417 117063685 287382557 497264599 607986467 435091047 371613947 551026529 264061461 222135359 85032461 223103773 725246895 399195645 319250817 728263815 631585479 363965023 225642253 30071263 83582003 526841705 970000111 132945195 919283673 39476071 261786863 195164989 311904161 485407725 133460313 702622379 298070653 898278617 382899203 558355671 103532905 201579853 772840269 536850667 926512743 855121591 82708765 55483091 131731841 355277257 569864671 538239563 901115335 885242753 788920205 489028561 83315285 522706467 125517473 252271535 437917519 794414653 258603813 268536563 739923677 793656735 853773223 218290297 518110771 838155881 127917115 355192285 561998473 695060991 98259839 831450249 660314145 34265099 123155867 953420973 897862473 227858817 403360573 799606851 616818511 857252769 982216347 137588745 426930065 686505195 338918517 222940295 387959407 930406447 343069965 991047439 361368147 637895039 648608565 542436537 289904303 601122103 905291073 521805669 660281087 932130043 204255249 624252091 585380293 122803899 226494475 894142763 772940681 279440807 611476509 44628719 702189025 947251005 804935355 336500483 401355875 53033535 410562279 17817141 543897013 395228605 582944549 447314449 834503807 910301193 603138181 361288177 432167541 734924225 873503131 329297395 6217551 26497735 89672069 982516227 926037969 205346631 169103595 742028495 580780227 959145143 36160253 174397647 491424251 109884629 972007021 913706821 484217679 385799841 789964411 102047543 864241573 344126313 219171823 595687541 60047845 302645185 744849941 876491419 216340995 499106439 477816259 85011973 312668151 676490205 217864281 792927455 31803077 139767345 428187325 137550871 762701685 581381941 472645725 992621155 34759197 838403817 139110445 441507145 500113109 352369805 164458415 705766925 382143677 291742641 581828071 563621567 783796483 131417381 55696997 276251451 870487513 240357897 19905597 713703965 511885687 841456321 519052557 322360271 581039393 193009655 349625341 219281793 280265761 252788129 713234621 317291565 528555719 342332921 843825791 353700241 111639921 369211527 28006659 827450679 584402303 871171349 32294801 169344365 544279131 836007095 777708021 682464333 35875961 540676809 9343877 596014775 531585105 831252977 97096227 107018069 847882087 420819225 693637423 934058899 735265091 535831159 506725021 290300587 631799931 348565639 250265057 334563487 664136615 345886477 829670137 476498231 760347751 717413909 188967787 495626497 664363627 701052147 146738503 283206743 668007007 383610181 491873313 838990423 393362177 892274157 875125783 294164973 309049363 454178329 123208403 780080327 173928799 722548283 42384511 542448733 202590135 658975505 69135571 194636529 527854067 62589599 650873359 646456969 299510265 25474867 269219829 336134135 136532915 619190365 710131415 189489619 606788623 33057789 352689291 615001981 953499147 327062325 493347181 201652763 908640681 199612787 857319269 405394337 956517107 16669547 382708961 481971653 497142523 212720663 244243927 538098439 870393563 602803647 586195653 766714289 181208243 753506027 377487281 134962387 248726707 981227891 177072937 925360965 637230087 246826353 333175623 433501349 603368431 529566795 482231459 689778781 686036649 697041835 1478505 651718303 820960895 562097799 543355459 558965601 166601415 212700699 170807657 631638883 61255897 881469675 68697499 398210863 72146711 281205185 493519645 582731283 475643371 966447799 646762173 816467241 208473289 38829091 115155153 888769107 971074345 844432813 531220539 870555957 401673615 996941631 930705757 192979521 413806213 40235025 697830183 404170673 915199389 977866139 33383949 890728067 885358193 645600419 322127121 603792255 348700579 273422901 422703289 899907129 296501213 298098341 640761359 620861445 414033619 480449169 377676207 491478787 310320189 134954971 701080753 818220831 411977439 619292849 769806273 618298121 941663107 711400069 988061193 694494005 166567931 740062999 344755779 675298023 713486879 484818791 185803177 32899365 730220757 437089987 804512005 960455617 936597255 778960833 610450851 915439187 671667365 781539131 209988187 777421115 333717417 869549909 875490441 810311327 638926103 213485695 756153621 72653171 935358969 921776743 76774253 920891501 922855009 527355663 879820423 701584655 239471721 391779769 195919841 143064223 792723251 757500399 941088387 83757359 394176489 998636169 588552695 498675863 314635455 906777249 469939545 368026485 530237421 549891741 849876545 548543541 620952759 13367591 99016155 987039747 8953959 202071095 781209041 643755483 949555023 238382083 379281757 194534781 947999689 281303061 251648571 534997615 254507319 712618551 158520239 861787393 742686467 360518527 376011149 677646669 849455009 391206725 306294565 509355573 668908427 389444657 163828827 447203933 486408257 628815663 774380689 440737079 3833679 989592689 613444535 520231421 747330887 418110069 761936707 918821549 554428099 342574335 555737907 752856337 896897381 50207773 802353421 298718647 896436951 85555487 616519393 267610875 328129997 9044389 546370115 914476025 376589569 89286289 312566099 326469019 701965363 480583441 833508279 142750097 598868783 322871705 982961565 521328979 205036231 380394211 567157945 744329507 811248595 5732599 430358349 699783945 991453755 503468573 870002973 317526995 104774115 643261933 269948535 310185499 986729409 89663553 529001779 428095297 732046031 588055615 576337837 31297133 775833869 713615697 457192909 791064975 424381575 423922221 629401603 818533471 310327887 55147469 488642113 163437919 466419583 307009145 39556359 698500309 950467129 95724219 297952347 202093523 696651943 392729191 127953101 476082481 126212093 644669849 753390193 853874317 881999733 817575351 543427047 1231187 958850383 458938477 714433877 315300273 641292247 504676525 495517033 919576479 805700703 560127413 86252631 540181981 293113921 663395337 192161505 808313589 23529439 87493237 301590859 31506999 443138981 164269325 579973731 430456505 362027779 166252079 110969473 496430687 117572467 482038653 457183875 182751437 184802171 357996773 697147597 887387255 146351009 809290137 37300303 217284499 136208761 967654681 108885375 575083809 525281437 27786277 136543069 711865835 328854959 431805387 333687915 332161407 946151257 91456609 964036539 814413625 774302031 502086273 862091233 847947061 478286155 364402191 843582461 809073501 192745485 356352313 838648501 153057889 480009313 877955955 818536247 642981563 107625497 238262905 588025401 814635945 138681105 865493325 872998647 924578357 819211303 360297791 135020091 874809389 697572935 70142177 746721107 602559275 947442021 93878031 691923731 552290191 379276667 735558639 284270297 368853377 847268745 995699691 78486927 982202865 693001883 411465401 680225951 107771287 703384773 864787541 651131137 7678453 785999901 287412227 627936307 522616403 983628231 567396175 230327613 313722047 918105839 764339469 373516203 544548627 971465669 514503771 615720595 190148077 177017475 740295579 184830359 149764025 70665839 578465657 860355543 900429733 763699407 575961067 586423559 544916649 71465975 638197039 261477979 322308743 817562689 466727109 416660369 349321925 193267983 89871995 811122671 304316853 807422413 932684133 745261379 311752045 580136171 44315873 561389797 25003217 912250597 716977041 489703603 356943495 233727291 890091619 677753873 40378365 263733113 503859595 841861873 228492399 754413105 40397187 565124805 105411549 938053119 322849299 917343117 566321677 903577729 447609155 251846865 343274895 523720549 363791467 233308829 79510719 462940507 537896229 720091783 314939577 819357983 562414167 38260401 63624295 717012081 293104939 741395133 482900859 967267101 661869079 189073625 271019369 323394037 31150549 600631487 175771255 574911445 88751725 524329131 327264935 399062171 704268329 511198819 925332687 62975029 204841629 673596983 842508163 212191635 3373989 896486907 11301413 40053681 542952551 411390477 222014941 562848399 879667789 804155991 206251675 983927865 91589647 756656963 178338329 988158913 769605797 103405259 806885589 717049923 272418389 960897385 350019863 655898589 338693547 199062311 394562547 456638141 705017467 831041681 947936829 587692563 585783523 487544765 329935253 469630747 689468997 976037709 694382439 535274517 656026701 490720611 771055585 370201935 345489907 434794669 377370365 644177431 132744303 126814565 110456183 322414537 346808391 285251143 670864349 517863113 824983113 127576987 29749115 585501053 386196101 885015595 271051625 271031645 867984219 895169105 549264779 220256221 946221679 752878315 251883399 341773189 84038571 450368095 727764941 753771227 348455491 383328153 783041173 958940019 4868535 318978321 914648287 195864297 880011463 279109063 16612213 36175835 283975811 518771775 45412839 562401527 483887933 922978183 178602893 801521645 704275345 493844021 372424837 691389049 398028133 311112555 567369913 405776733 686848739 247312331 699642587 191057249 995115393 18299525 954252641 431145561 637267707 309783631 81303947 348531233 245412949 617613927 648295011 578262423 24157915 834033555 99302329 858509225 18512161 687164707 873095971 830938695 740348931 114674155 685285123 730576237 219045287 435185483 492618625 375837213 59496569 603867687 613362575 93167967 801395243 181375473 622530529 557455687 439037115 309136795 585159165 333966833 482489197 6639271 942396197 847912059 960827853 813921815 751684975 157589011 359852721 516558207 247770287 37485801 848002355 950653423 907421063 812324665 358214583 939125515 53261919 379612229 664738539 739130869 719615591 404016469 568121025 183628893 914273431 478604479 74646905 675975545 997988529 329104089 704473747 769676039 666573885 530633993 928932319 236222029 172909449 788684983 492378733 183956763 919322285 42768981 803872157 333278917 309945997 422180959 490167315 815633195 424405455 171171415 633658553 135803827 946339299 137290693 436612549 525733449 623328769 131089725 4364209 914535015 709414955 918745947 662679109 1440263 359937575 306015677 173646219 865382067 213719175 62751761 454058199 439930489 463711139 774990089 985356229 976469739 899177113 832450397 279441211 447547437 15050325 166836431 12494947 604377569 506245763 11951917 51843509 423225911 173806751 558532421 934647783 752841445 500545257 267792885 672682243 9803817 279158631 114027291 319420755 582354379 32361707 194969765 50907757 426885653 759531019 245217669 599231017 972213987 902286377 608906419 540493743 249227407 746209391 432819249 992629867 992715519 911401673 310666253 25975057 524575397 848354547 715680085 466136731 279683445 195933547 335997735 567623503 548967915 237014139 105002401 992230841 142112785 383047985 221035249 164138927 553521269 212653673 281481289 965382987 576220457 920326591 775486689 264809969 317322961 303148189 308871421 385487183 261400463 412937011 706335461 823117913 978178579 282777979 680350191 113778761 795034771 45297203 208086897 285741991 196003791 150482403 27684817 680169275 324582921 126457309 220199799 476758301 832690707 180053817 335168469 139540903 822739009 126446551 779269735 27949695 350554483 203506015 407085487 805207439 98689039 270809665 167842871 551590925 60050691 577711287 515560335 768037237 414330563 576437695 280163669 973417611 949789777 29029921 499783721 465035355 961519153 35828591 630462645 639121209 130659697 574391041 313647787 802892225 211683497 886222069 528641479 668080089 142589687 310746423 427463883 223111597 280281855 118198901 518111361 860733615 340236785 688684839 902700217 320904349 538950789 578941583 481375569 321421947 909163509 141880243 273390887 210766741 577953545 987778147 852436779 967180417 997261073 258596411 758454601 546165271 150495459 617221015 776137087 133214337 461772251 161713315 762605263 79847973 312629473 928771149 530881603 601497277 91469665 38238539 743339499 9616449 352929877 543136035 696539109 39749113 491919673 207258393 697455441 16630125 809824531 249871677 413910873 226325877 326456177 398282603 836695087 572463915 823261547 319843391 295538191 148581107 422256287 869945891 355800635 348450171 662809649 181003337 707803133 813635767 983138259 600478117 173226407 201448163 91595447 246662139 999857553 333684609 801425565 787730643 473719585 906984033 663711949 488560251 603841471 710460053 534177555 859343117 650012127 205170041 3478725 235928937 696755705 835792307 545729475 253164601 38134161 528992303 901389683 127060201 593358385 116049183 602650051 458074291 552185449 869095169 706983977 862930841 449334487 477164953 498818211 472536419 757329691 492690163 494274231 249559199 948451551 825767523 950417523 378367911 266040535 965930373 921046383 828826521 513436091 897844543 590814665 516665697 521259343 990932157 173663013 535889069 366059355 74801265 779385269 327897845 500091573 64818971 429940523 836019323 196974645 499729083 207896519 210550597 454504893 940161439 756276561 45349925 192910647 359935325 616244245 459798963 415462805 71395789 685167083 334435151 525551061 729692697 405685039 941503007 556755957 476360617 110190025 691849751 279901183 982440241 905101863 550059757 575231241 152695729 123997757 992139553 364537899 771041129 34492557 232293117 891994503 335412457 11266845 773181329 738269511 226478083 286025847 148330933 236915871 38765267 822613685 429736711 357372615 103695037 187732085 847167729 761974787 53367665 310085085 338766757 746077341 297431519 116297113 513242905 390729701 87828803 595303905 683007501 935594297 855660581 956300661 855334155 314816761 130337615 307815063 814622049 44368783 241665237 545908251 545240105 971034223 885164309 121858641 762748741 691608849 958725039 674830875 709149273 674840569 170062485 271758303 768050135 966352817 592184567 636588171 811560953 5476299 286733907 668991125 305251773 609302497 468466541 560394491 215271403 766598805 988242257 739847235 875677719 14321297 281924181 752774525 689238933 605940617 592483601 537104701 274256519 717635893 227209071 648141987 972759251 651112025 406982037 454086741 443060527 241962943 551406845 500806527 590324237 235483961 143660383 879042777 797495985 902460065 702915 559585699 358571041 436685017 771853681 96244897 930574895 579415243 648576769 735744801 494920819 3330155 696621901 155931131 424379725 522490289 82505337 709411467 491266787 751366049 810396403 758814137 476207145 319550789 983395439 834113779 985547223 218658479 414708455 744731951 497530217 853538809 283483043 146101739 497202219 740547141 514494509 209183789 816619053 574115005 535891801 844476805 252788039 871798677 303095363 883404039 365448727 652692743 306787153 505374803 37223689 695497299 527225645 800830095 144858953 619612869 686723533 315773799 707710419 635779757 423501165 228167189 369145959 685430889 484736401 334100563 900520587 947065177 540648453 795652971 617282703 917811433 596778973 149334825 17813133 882651017 603977847 536252133 890173287 262993843 970462837 466780285 581818817 291435243 955463363 222751061 357279503 390516923 730892185 341664093 280310405 862193077 553755503 772734987 411852839 768919155 322829835 473016669 447263677 158634135 439259001 282136281 254938069 662779339 167707407 271544463 78453451 944840899 555747429 511914003 232730043 348585529 155897445 379593605 338898319 207649261 290489911 671738507 898290679 948998059 592376911 946315089 745364077 524427845 575809389 201724305 883813677 135680149 342566289 301752711 151670853 268057213 199358219 348770553 236696193 26184679 529775469 101880885 417515131 110783943 596296851 897776915 756608915 25514263 469901217 947164655 290466545 933673431 225379333 776317105 797566085 283405843 147843699 593632711 891682823 487082717 538982375 163821863 834190841 301936463 910660261 141451089 643176097 540637579 247517497 794078279 985042705 315412413 788953975 291286171 528855585 29041429 310729595 894077537 657171823 110580429 727400107 769372217 370524263 223886633 937404081 793580617 332160823 563560563 918649477 512015679 450008023 439570429 119190879 564431695 757234951 939353377 890638789 160568123 100468049 927797315 191837315 826954055 324241925 41414089 286899117 300057153 188896825 262324009 870859681 202425985 508793809 542456797 701032961 224477925 105048689 534380133 178206395 223259089 405968013 465602381 553689345 243718709 830766683 55959591 189847121 768923783 670264027 351890573 796210545 854194117 835736791 121612065 208860521 233896055 951677917 625002639 56067217 678467497 764733769 880880775 568452995 35628529 577557303 862171843 338404387 41218159 211922321 58797577 810186399 988507081 164158727 70824735 874714219 888704301 630743571 980621785 199600449 695303503 931671027 774909969 750589993 464008561 336300465 299583657 969556589 120221783 723301147 138411149 176300703 984288081 743400907 607546285 377356705 430009139 57743905 724606467 120930193 657000795 911300677 845515413 876472545 858051249 669112103 459883625 448668993 675981477 649234817 27237267 474763439 218417705 588263119 703171629 636853869 704634045 656932447 74620761 893680139 65249129 625413181 734076995 500190301 715721145 521461315 612087067 885642875 13872835 45878543 657375261 408507085 852374567 427012365 932011657 748332543 186787083 37625195 933092779 703538179 646761757 475173153 133428693 45395223 370190739 361975281 287583073 737578175 563530793 935705441 233786291 277599943 447421483 491267011 673636401 601720901 977636193 853820205 348962641 485949075 538860325 636515971 114056077 850810453 217679701 985390187 465058917 763102841 308687701 456380499 393750375 670277425 915148565 524369783 512452385 797984509 114732045 768251351 385684527 435965341 969223735 953250105 538534963 757765409 716093213 549848621 306591961 70480091 214433995 194084623 8771281 610120807 530032343 64103675 400890071 182080681 448867169 268469467 661249195 273070799 776069647 656918625 8625689 418346317 953278223 624514307 707248117 732686559 169520151 382042881 347375381 414402441 838230885 78865507 169999709 339119509 848322239 385611261 402693305 928496283 827193461 430812771 335810073 539612791 866313307 612873975 382323321 910818891 244415695 230824673 289937881 314417539 184542651 44697617 110692423 637971669 188884873 104868929 310089425 335039293 261103665 175223279 975021203 326349567 616760883 91874659 721148847 538878119 540202387 5776305 657274449 668375561 905297631 922362285 891851689 387959619 289870381 507422455 267888883 56446391 28054045 804052219 432811121 684451603 631308501 872454119 741236331 577011273 82220803 669591477 37721653 42308249 953197789 296318755 990380329 896369283 144759585 875563193 533618603 992827093 223464469 179119561 813639203 257949093 434753161 829099369 102662659 172386637 869065425 229652861 903783111 256865649 530241485 213163435 65358575 829584895 739293665 937221731 10855687 670531627 625092607 166855133 412735651 217187695 34052761 345544985 363837785 528750227 510031537 447642849 507875789 721731233 157392585 396592837 411532459 456807915 658914805 178373149 509729701 47565075 454494405 481658119 65329265 516282871 848652891 241763181 529892311 935504073 616779103 816956929 382133917 438507769 155684601 234987833 406664857 413188163 466292709 981581397 300738465 539204015 779731807 478220895 880241817 417056903 724710447 206210343 846260845 993907039 847500703 241026627 579669263 14471957 854503563 914855957 534307957 913866699 567141451 807877829 454782375 383105517 910771659 316272965 341289387 538404147 496618613 409354827 511223447 618584981 372018499 641937239 830943361 194642521 515837359 667064241 753770127 404882187 714529987 545459053 847803879 352292479 797134859 450527839 875500737 996251603 270140575 518885673 402583891 59884393 30469661 637073971 436583647 398475247 616890793 331276973 369311411 658974553 63238387 37858191 752304925 730913761 393950001 556778651 267605625 702628111 58296865 591181145 445003819 174753451 666439433 277142551 842433435 77485517 118881721 233848045 844967739 866762703 440544645 961766591 981617543 284953941 391856717 712644147 211443201 991191885 351773047 828886201 976361009 192903659 808862447 119346569 731981485 411054507 88469039 619925157 443900939 143584337 636461873 684070355 993764849 543665639 575567743 259694501 847915527 292849605 271483685 208990835 201806591 565603719 979368891 731760987 762303893 554447375 636425055 585974601 376391051 11359369 524822453 229297129 900090537 594899307 843437293 469511865 500910019 229889393 538933437 542494707 91350453 857373855 46351715 53176739 101971551 62289217 335201445 394278553 137628587 715400939 127293651 115286379 554399371 857299835 217671619 33090427 87375355 652604947 880032207 686025715 709603325 579315745 419582691 594409663 289787545 470424663 31102315 308014491 980270821 559776179 819247963 283708677 668611063 397484667 768997173 87351623 222199285 89459511 942292733 876209007 745900807 702983101 146217793 142587993 527607391 476454443 441809945 280624545 510142777 221693413 542460451 702002353 383098839 52287637 915370883 313682361 258407553 142898479 194877673 284562099 805822093 461770995 434221707 235550301 829289297 758827105 950204199 604807999 166885683 961294921 900912389 828972717 120965275 941352637 570746609 498815417 480915197 386492441 226849601 195667529 367482321 428488195 26187989 521045507 963315097 475187301 958514195 758974295 823583971 266971765 427680743 196814975 718825277 648517039 376086219 401397881 69624389 978206933 86856635 102967821 585868443 952094455 235838269 98269901 360937193 958658663 928622687 262808593 300651745 475582403 414136249 528717815 416974399 623492333 518677097 221925483 601829317 415599633 493978899 102067739 379207741 401753253 506121959 294862719 790038903 59930727 552802459 762677721 437661521 955069527 857824111 323395119 486099627 216272323 447666213 795657809 776390767 404588351 752416271 429101019 686980751 34412969 783355393 337249065 841931527 456647971 42934109 231766631 577667289 735153691 238218499 170467459 49515279 994987587 139143783 431170613 430704569 206917019 95863421 599089917 800995573 501202275 70587075 463366693 481112547 257849643 846085695 80541115 26920365 963748803 498283647 481488283 907845255 721475147 691453595 586727521 857523881 957783847 458980401 330903671 698906967 436560129 598752357 962424591 867207129 968331215 25090791 735070493 6405253 75780555 818727151 759745125 594220977 491091069 949524535 589287535 248358595 330656175 134089223 357014921 92544803 305200245 55547439 758375885 705131333 523206699 184889861 670639645 635354017 179883895 973566821 668901149 131535803 131596611 777513399 445496383 849137949 219162565 70222569 539423419 467224663 433664377 632185969 778533011 117688839 42402851 376887371 460171663 218865613 72628175 992532483 334253117 592262995 495394257 967953825 894680311 557206861 577681863 797337791 219730139 161754227 572995731 282349947 929077973 394001545 509093219 949861753 488547987 366354777 476105385 743144681 228067215 485262771 992396067 706325891 834609669 716110453 835048149 887625089 450539009 644710271 381465613 343769261 782272595 963678907 208916571 691968339 540002707 966799133 335713183 913221449 492136737 499236765 684738811 450508017 655176227 635298879 455229917 720758317 653399693 686204685 761675001 654297963 114277397 31455511 753977673 874732709 703847229 285535099 243461909 741653079 822238283 310651993 429756645 95879815 213269583 2364891 9757841 46104005 848731685 724771637 322163763 895029797 382698345 256701343 835824433 623763527 735572869 248693597 919536949 200998991 465478827 73012921 857937205 932365039 252950737 210591493 973474413 193579097 643118775 782453145 583363425 258216781 128824551 759498971 424030429 656702995 999247535 650734901 163154165 692500855 827315499 145549333 359426565 425764305 943870007 470946043 688896435 588424701 300569469 872298597 184935401 242580579 604369261 513959647 877608415 30943217 851761217 685375993 934770957 169861405 312509175 991096145 906274361 968612069 988713047 93233031 735598703 417742287 759892469 558496069 647497731 104773355 135901477 709947455 178993555 887537869 435082249 686123055 775195393 803869845 815852169 469215701 293546107 288638695 765635925 695353851 151830387 347197685 266225381 765744759 355426217 889333105 246521979 993376033 36283421 441067933 426291997 330930395 160939549 828893757 722447517 731703951 322903103 738940575 976453779 714562097 283071325 914017689 942184799 174787003 903731101 102406797 899328295 810479661 978967401 486184029 191799007 879140497 600312949 247567481 296379199 383698685 319435969 693083607 95977411 394452361 721290127 481668597 356753335 796808535 243571305 321656281 840228139 80276371 808437799 602371347 131501559 902548587 807434723 268580535 207772857 909784095 368259587 750996069 85861341 815522285 839912243 325157699 433855119 582700833 358786405 246227197 912483275 896069133 745352407 36998859 684015953 642928395 603492107 331025005 658732711 950589821 273226705 833088807 569474589 420761805 536209469 633822407 283410383 450774895 301702055 196685477 341009049 62811099 583639223 140834461 783925541 142683029 883508825 303712791 630967013 871450151 598373567 666881 43992845 424228899 855641703 257831121 732489633 217254435 520371989 193921927 476258409 625805257 219636951 672668325 579927027 703278785 189292285 303396925 296264347 194434491 614164263 693006307 147506045 886813553 586268727 150689719 148794755 892424103 258746203 416639327 53838941 179343399 455540999 450989831 85342597 179627459 766545909 333243497 741109047 556946773 831910445 867143103 833124225 626949311 949851639 760936659 132775727 62485997 108639979 321307635 69957851 702803407 991747299 676947697 229012965 125053791 308579589 994377777 691509109 296369825 847976635 159295893 303065979 672888223 69616827 615422349 91969455 185215851 698005505 696968719 333895315 425847583 194015951 778599833 665478253 330534621 201186741 739492403 619166799 784199377 257682053 788606057 885342481 501727787 482473309 657792593 34012753 563896869 509740445 725689995 20396411 980330245 994335991 216104765 593074365 411187985 662485083 418074899 496979983 597969309 482180871 129633863 434800689 205207555 496760703 934843285 953827757 242195621 270987407 111108931 539250131 358487533 241146957 876706847 537604027 92141391 757912337 27710081 895031107 301173317 311359107 996379461 249968661 84494159 379794575 246337749 431064227 199586041 127761513 136763931 710326051 450513109 835752331 23148431 359863445 978547837 865881275 280767535 77089731 287093907 148356871 55378051 479989307 306470851 238644927 417421207 401236825 202679229 15199875 11325953 432947001 867811389 424660533 488785633 753606597 745485827 673011717 611775197 308890029 729507803 498577761 929161507 21366635 105312663 64261131 652355687 408031805 172430609 851411715 456089579 305572141 106699563 294297497 931578995 433746953 751048913 283813471 639720781 834555499 805182451 308082737 637268817 802522291 379595405 601835829 86011357 132264713 527207327 879829461 440889813 44240477 863258677 387901383 710883497 210093929 386163809 377824007 579238737 975294377 140877373 579814617 636533063 673543787 198566125 42799817 466110869 9303483 204535703 638978987 35156423 702049139 310072433 701108381 266512115 505539633 484954037 468217857 431964345 725796449 531993763 927862403 939527743 363177777 821180551 725680153 601186099 530148249 421360051 225459969 793791689 585695579 228255363 211974331 789864643 211893245 405918805 170988309 550947941 286150097 511175831 702513443 442310015 901522671 201916345 228881987 474429285 706860085 229282869 695232281 35256823 703401551 161067921 218836109 401752729 796875433 69322067 201287385 343674171 488750207 44542991 718371445 539454291 204648913 52084319 415015209 395335393 11731045 694678503 21812477 683243879 387371211 143373901 814649673 968565495 524587359 402619975 661278631 539084583 889667389 751448207 33530621 456570899 503535951 279035111 513901173 482250595 419038535 756992279 486934149 738172741 609795227 649919987 256844775 742306159 361217931 167020629 201121443 642477599 488061983 603886113 541497603 56360731 775016235 722094909 204001947 529815217 975862083 867829407 321995079 755329209 39858121 989328705 44862509 462534545 824943077 331063589 843584697 448532765 960787335 80773715 862109085 93336015 64929897 751895519 822751191 719009689 928734473 727603427 839546795 778757373 130963377 163431811 414286245 374274557 741641583 187451365 804544409 221460267 421786909 662688065 584401829 859827357 860207195 645679307 285839147 445408495 327773327 716487371 165033431 451215433 126849005 375275399 38975649 550064985 415558253 100611155 824593089 654206037 290494157 670758027 255242941 108301307 499897237 802746509 69762915 176700561 205238807 597501639 541669059 684272871 999315307 444646569 608754493 476819793 575705967 471557039 309165685 112669871 912051151 849634393 71007829 676807013 482370297 686253877 843164177 820664931 623857445 921002449 162821417 766725153 638893907 399630281 89725023 941534105 646163533 571029953 916124349 742102357 821724579 5376097 887954587 948726881 917039789 209607515 790731411 223462741 329722249 106542699 277671051 671364941 130471459 111313489 367559341 837020401 988142375 20147163 770696303 175387503 457021201 409165527 462971789 531797373 899768095 516860705 80386315 571929689 606768731 333377949 480058933 512233161 431293589 132433203 571340191 770734109 891955043 828962261 196146213 705474857 96904999 769219455 56805869 25399629 387300873 528815921 374197091 444190063 137810683 800591353 389491769 279229691 554627763 761418725 822181997 923465963 793530033 717526801 182853955 394354873 465015357 3060897 687331401 187064687 408017259 215259581 409292367 335269529 100840463 280229015 320134773 611312975 68181195 666240875 866061597 640205101 29712391 439966587 918543093 399113051 362319603 174306831 746549743 140199303 24802951 248553339 71566923 237009127 978541189 331384859 237739401 645599033 487644789 185993037 903246201 795615173 906126501 146131071 996777771 681598551 218121007 325682211 23198719 599365189 18027761 147101871 102995609 9388399 747644055 590103467 589184483 134798649 769107343 557993117 647713299 805408661 343769361 828804635 432357797 583524341 603658527 278189755 713942107 611321435 642806655 973706787 5011525 365749835 543473347 460718075 722424501 787728851 236469571 206395637 987006279 90515083 96521245 119231949 835869409 70168719 285194301 628310085 879184557 866546569 12968273 717031461 324285731 509410211 377137873 509538371 680635643 239907477 388338941 658138485 677011513 543437469 487691743 9937825 759965487 171865473 194333767 849448111 785219947 555446161 783065803 847541649 344924363 927263905 655764173 974695235 154343541 290088721 289709943 274922951 818874325 696532679 328708789 709507365 177087391 280799281 872404035 538105971 329253069 325431619 178199199 207633607 451110309 682058879 628374547 459568711 190513843 84116457 812687277 46682395 209434061 164126223 163482185 430691957 144731917 555271945 582780291 454513041 946538967 582007155 444410053 134087857 260956121 560501111 141687359 447281183 338518023 258368447 321458667 269112619 616598427 540703363 875377287 849675571 756082461 349736577 714125467 97189525 199390037 819111937 347649403 408355775 563069019 947316685 137097275 283680291 580249737 970803777 18374331 444583737 726074757 181702199 135479463 485578629 330413369 534194711 157709933 646923151 18598619 420339917 91220551 601418989 556850151 353723091 940752691 599742773 260962593 113218853 579340793 996756237 765886869 876063817 265139755 803278621 952581527 34872141 87511329 31674649 843030979 886319305 217584377 763802809 968937983 370944473 186677663 855106753 721664631 321780007 335433665 922591737 967617693 160842205 845068247 934900279 547914287 639425203 197778211 77019985 442646065 249482983 119475883 249249837 412335599 979403585 792039487 801799603 191449087 370241293 301766523 534354391 205135161 924065569 237528251 514653329 694374855 597347037 196820011 375873765 459122703 909078311 227546809 629402075 879412683 896512877 626158365 320012169 263785203 486686373 203032791 739003397 325292751 877367371 618869553 793039989 628408551 744682857 731320377 265496065 173057043 953699725 420935115 869163741 651785581 613849035 700214403 574852417 988542297 776209857 971887819 480623217 491709573 64041113 480729557 322067893 548504805 83166717 857628821 983396195 890694325 986721573 200683727 842845651 272719737 890908113 629689867 640138343 68238075 930157891 883058839 975141001 822006355 96745805 416840847 777970347 490813149 685156165 629244111 627367243 545347897 960253191 183084033 311394789 695662169 499462651 248249237 858592265 348695661 115859471 983951043 755843655 869727731 539648695 752474509 990610231 785931951 204562933 739950011 548668543 755686061 13199181 529952731 932957639 105136961 787963087 412661319 791024067 638513159 265883151 652813853 580646187 92460005 252484909 212021321 133178307 88220679 343329229 420561017 83080533 332962527 581777439 166509095 490334387 863614765 664860123 12761487 249397429 664641777 614245179 509693629 586882369 559860857 93300745 50254977 99040319 942784347 626841745 732839283 763106467 217038705 844844201 281496307 420890981 329275359 473808561 625895975 911486601 220298771 22246543 624825091 935456281 612638911 702034097 78594877 349295399 119406307 884584205 347338583 589032139 458886335 552916513 531584407 646848811 952044771 535654387 690726157 252530289 891077921 638870291 241317013 976401355 612186517 979982741 29014987 169770105 775045029 188595225 421578265 447611577 940942587 269271235 39416753 985418453 353643149 504993859 294588553 602578979 704623509 777390801 140281697 400204795 115927707 542793511 936825027 98848447 630066793 296274831 523356157 750012121 552753939 991211221 780424747 219264445 589309687 880053073 960272681 139843811 636314037 231586271 263677601 266846415 649295679 931135719 150309635 493068299 310539973 176803159 345276041 483567657 890137029 550216101 41871921 552219841 263164163 239263439 664854723 453918329 544590219 336615771 473501139 116442107 248290739 803892825 981557941 936408309 390267411 954050653 285456267 308368167 923520149 611722887 587927613 33026895 319380319 494599035 108205947 60358201 478981099 854774891 164268989 68492725 135918577 361228297 114090053 291076001 517267577 194627479 238628377 459325149 425843915 324383703 338982667 732129365 788585343 569898525 933023923 157928951 542938991 962627385 314230641 995723203 371773119 870342799 698546027 424703159 611357149 651425025 533121429 505824223 590602877 829063679 317166247 632095565 664952475 134099071 372000797 548499225 174147449 649844735 926747459 260666473 668317351 152707973 420209705 384500327 474813687 774439073 900340903 901662531 564058501 425929319 610539355 259417911 43721399 314622071 201232049 612058503 336497975 826858485 831464405 402443133 417778939 415616147 104185795 847520619 889178687 947146627 695151163 229887403 649755783 891222663 267454659 817031071 656534431 568652003 545302955 676681905 30775451 764271205 723837199 661133141 180919513 538790501 539745739 48861189 22260475 337495231 531679881 923973185 170430445 775616731 81961147 392556437 685495783 506421415 491078037 351084691 31606113 141068185 261388059 160592339 269467169 860166575 329293589 582506749 381275699 312444017 293164051 355094965 383721197 318768107 560925803 437008049 14008809 755427251 299916607 3407017 564170251 818028521 597684087 72771425 635742849 268259377 101450435 497656483 447520701 324969661 593471645 511903553 392587391 677956927 548634947 957773845 668832455 180257785 776836285 743596801 665936101 107851951 227707869 282983921 156505707 917253039 211401019 384713685 957492021 93609169 969407031 765906343 891352167 93652083 98545145 271401837 674523503 888137337 822214769 233240365 87768321 365479763 203746647 59038713 344608281 766666487 926603053 264117487 134616827 967073251 751403577 760022577 180762163 508840479 869647245 724595685 768989589 742110773 940166145 598857025 684103485 713328193 730063667 930495359 324265617 170388189 436534927 178899167 95257915 277571121 455416387 196993965 897425971 256811753 978019399 437158715 765493937 303168319 431384411 649814755 882923835 304493037 505638921 19117831 340484765 910146877 293476257 29498899 558403819 164267005 824505659 408015735 784272515 918470785 713852085 404349101 914384135 83173287 535858617 817494585 160431205 204159959 890404025 973650597 295353295 363044353 514673643 558090115 523716803 825528471 473767503 567882861 190238215 597140121 5830831 959653383 578878627 106502287 137531545 58355447 722857711 347397507 624127337 438444787 650952581 433875473 315551035 758622645 238094409 339295059 134946809 478913533 865606505 938627569 408919635 94963863 425408601 668475671 426866371 562644309 643130067 965428095 856964231 994935313 674562527 863806053 365529257 807571887 575120071 411661455 949691127 164600597 319073823 12692811 679205131 302981689 7724739 801120113 719692613 639293717 456055511 175047775 464712141 30463145 17545931 309968121 191084435 43095041 227105359 186281135 835024209 404349743 997383521 971986551 642819203 776366157 175175493 930222545 606648951 585333375 208659333 136283583 80831289 801321707 839245051 354603987 621640355 30516681 925294269 883650339 404288851 36763469 100185395 531864395 722835893 860494013 202639625 273437043 573113079 531160421 713251377 283705671 136850449 471460755 154082537 784229889 720307397 177629603 210625205 514266461 635706009 860587767 687049571 719012513 27512799 395371771 96065027 603762589 602716847 656369183 251065333 610254757 665646567 537918175 692828635 281958551 169002547 795510459 5732003 424851421 292090111 526819647 429582465 992192865 741180807 968845053 799843823 943003803 283653579 549111441 833499315 337390987 282431889 416870297 418591451 602372531 106404713 499880899 410608057 863160613 462629295 423687103 931149033 883346295 953387903 874127943 632271695 244507845 200284099 895889185 906248217 170565815 441185325 411080723 103303099 662189435 228742195 972033521 555215601 154847941 405967893 907534741 634938303 700349143 767415771 998374115 931941487 837178743 297414233 320681923 987878041 922354927 320002083 780876071 373660697 371526425 125905051 826507785 672092689 552001107 928742633 974087279 89967597 39927937 408918783 235097183 261501027 131681813 142360721 677440237 386795631 565772545 211853859 741536565 550316629 223723461 52255229 832677205 308565153 15672425 547209005 950162299 793151785 541989241 11665037 844208343 699312645 327488269 253573053 591034533 357447325 934894529 562326051 277656357 623548061 236968381 481550323 336352931 661542135 291509679 192022309 758023795 476378347 751148493 789694071 461406187 824592121 514027733 552457841 727453551 71331823 144404237 314986085 110948203 759709155 538245957 599944555 664612175 604267823 990716369 576843617 233691287 225133431 519999887 616707059 138230725 595911849 221329129 752218511 405314401 289424377 625691337 453020781 721961215 809929443 470964649 514001293 815684667 756496937 496296579 882594233 889673651 776636123 982297057 541244033 301152789 612724043 788970191 534928701 991892241 212717589 616272357 647220747 668381795 767434013 342324287 294053591 855498955 894754963 68920965 854997581 444516119 496711655 805976037 711723753 699462933 896989911 312029973 807961065 121869985 195694693 957557587 396243031 684552863 735174113 629106021 837713411 627551223 69194717 996659867 209960067 751514267 107554103 924809161 804761145 439912583 763849233 96143951 834685773 547149501 915891927 507219217 152434353 191938629 283310913 759726465 291931931 591451443 2924871 501357713 624563723 440769955 155303983 978836931 11597001 724112051 993041797 225345051 434153321 492561809 360223261 333613351 844615615 345420397 373980437 184696319 90978925 31519619 676093137 196727359 686738395 379642901 310526457 231619343 20375865 801696107 72542343 137941533 523274623 733746651 952680627 986784415 211272303 528809403 689882117 121018451 523337105 605037681 630395461 41190529 868725555 304791395 922351755 28062963 421026159 232480521 440037937 351384837 626929955 378490329 87392219 759479951 827691771 200011605 844339321 252269309 425370725 186961163 613089849 491592763 506078873 800485257 767073693 443161021 119599001 383284589 537187431 957152645 605982507 110834261 625945761 565384983 426196961 178066927 257604515 176254081 426150931 29237485 369726217 685240155 754187487 606843909 717542837 691793345 903908145 68243711 515660499 111009115 819632311 71553955 595290329 69259351 488499433 875358913 127897731 272518763 810104839 251909941 838269397 596078551 85713435 255195875 724464411 674593885 354983413 980630963 567584745 819984463 826373675 626953369 914413085 738151297 912482847 655407245 874260185 384754259 11316987 66826641 43655563 575891115 158631595 140947379 413266149 63992565 625362667 453562369 158817765 938097963 323326009 789095321 646676177 824868297 675248351 266012825 929489457 591529173 248112619 924832047 482736603 198874845 472014393 626217613 775828461 576361465 982525797 905154027 368819659 313587909 486376153 632173451 605671199 82290537 254327493 756093371 580256989 220805781 551116067 986361801 404209221 986489467 422255793 127870227 268605399 64489947 155288567 810737657 632041571 125721339 589880393 546679525 274326011 46941355 982434491 811606345 276647675 266633537 772893485 960948897 513038601 537447321 965155147 767319407 158490127 143889945 385706883 382826045 229542723 574057395 850349071 931244699 461196321 531406555 84639725 972896295 715759467 850014861 908437989 866799999 815893553 70947155 175977353 93689169 755772101 795777083 419021361 67771215 64564165 153307609 854256635 841582385 378705683 82598219 136906963 192241083 582729435 53224763 460095335 906785717 763871381 203796691 831700015 777968885 775609337 365317323 565891693 473208659 760185869 738966113 721595687 429340591 141097501 785539165 210915887 438160631 774800573 210661899 39513371 243075869 521663179 820809281 942601807 900445721 243791977 890550367 660671471 304381167 24296453 227277643 893057263 162238119 123173203 764926067 506971141 805251415 894083661 583921867 340618417 248063767 621228601 248905685 108993085 761565447 903107749 80331925 117134007 721094743 323883105 724524187 862530555 694783283 498620557 390908155 606040741 55616985 660848013 622470995 898646303 571214219 299996683 623600845 252074651 295200147 933544957 230609171 334909453 640399937 732459933 736948573 116446521 155126771 179149427 915525993 136562087 671326217 566424649 239163007 234407333 676774381 232460851 772439147 32922447 745639443 376388493 857014917 670008193 952782579 725470973 186974889 905092837 700766737 149498733 526102079 295228139 917457653 17210643 664567091 701652683 216071733 876084843 712953599 243739271 149387881 990804281 533623199 621455335 501152051 191022473 705861785 206837113 897629757 948658863 86426621 853603735 507458617 277624393 231696735 819517279 892824549 41035065 333655261 197983677 123673853 328518317 374244897 713404511 544119121 120277271 173594453 863692991 934902705 818972469 850953265 552567065 720850167 994670347 321868021 130258299 707328771 958193383 296670051 652136111 308562373 518058073 741626317 111738195 196114473 558643009 997578761 236678853 154410287 381273793 330616947 188100139 263115475 223534151 177045747 830327673 539412773 622765703 838636535 347869797 473510709 992970363 532649845 118262641 512086557 556648555 885381099 885935843 879169535 254961889 234918751 551629259 400796933 908917167 587550305 652307205 746904675 313418997 847806725 644035629 614293841 661922839 460365801 501450413 318484499 882594495 100914999 76293303 86047987 816249827 158711193 95290945 192383809 867990207 577599817 871207947 48501339 34385367 659789057 366254751 334044321 644370935 674097931 165686091 806508669 471537971 936645171 42943787 149742947 591928295 987205329 460600859 247649483 564138425 905562561 926886341 712179513 341709971 766162283 256158873 118961975 963349933 610197181 480498897 449365079 710926463 584155181 503094635 293509683 552827855 253739193 993471791 761849197 743801001 214901479 236939697 184100015 149895521 187464133 596730437 624332205 615827605 851652589 265533709 138237471 688134695 754393719 980768241 586724553 114814533 352469519 412055457 505563765 447955041 102806495 486405269 994477813 706087995 501488289 13446159 459252259 710138067 23735695 268463893 679330529 728838521 724770675 613145465 430964249 82596029 827778457 757747923 874903487 768724863 568019161 883649923 510545355 363383779 17992847 22400433 331127617 770555475 147568035 634885195 690270507 481890435 158933379 102509071 477455259 994289267 126301477 29843575 882349227 50749285 456705543 633372879 431279997 452954339 576540977 172002087 539523387 355352517 752238125 154886487 654366233 818771239 455396887 460120061 839369807 633547113 453816967 539410821 664922401 632249661 922071721 84039451 241402329 695331475 127380009 50601915 675634377 411568041 39728187 530416933 975320139 543209473 194064033 474955487 877180353 86939499 138373279 173762873 599109271 581741819 5160963 606568015 560780091 219580937 86135843 95863549 620748333 327885117 55510753 413816813 467912939 753575811 516430751 479209105 138992897 975138573 484447821 301365277 81938689 609616985 996476001 167083671 150539653 263232811 23528921 716980673 783152175 471792529 51564605 935659569 75004585 35619547 505246103 452955195 631631271 884481193 83546499 620635393 222106083 895558109 615073307 476765035 313444637 431749029 647805701 713049897 512716577 393921141 27462259 981182901 812197569 285907207 2433047 198035277 552624343 320772451 225535027 314985465 555914053 258598865 852146827 434910859 167049717 100209641 620544365 324452251 239720411 755904901 135622321 700863113 33126897 535162827 750204595 735433341 146631223 558014501 876960605 818448231 125518521 879666505 744710425 781171455 301582985 342396467 752012767 337645511 763355329 42628389 363203629 555211269 278003587 939956399 655750153 91600075 868763385 942252195 33876995 770387697 545846359 200588575 292298289 421701141 207446231 31158659 920839471 206168483 199339705 885562753 153927459 175021001 814180937 263182857 131595455 469877887 983857881 684499033 495765047 563314821 251416515 810029301 598630983 833782885 669808489 47981737 671635257 955593071 338887223 991219083 297605083 928099003 287127453 958017011 437440639 193910311 631527701 913530249 255536649 692158813 946815269 8234553 414885083 454405839 233275475 308704567 578206181 483417267 547621427 221900285 429519261 192562185 770031199 663356241 914898691 542566811 43447161 409906753 147879065 734675191 77110829 353139485 276045169 44048761 909110827 925485701 708735009 895720765 926678317 222798429 395056069 587333165 504146935 437403855 420397315 635728633 54370133 390433615 784887565 989828123 134076693 577148317 440253079 79733969 496050963 666394297 940956383 48420389 268699697 564230643 62263467 924229605 888563547 789371869 523382089 440270251 52482177 478334291 939550097 723359191 729461661 620593787 320873185 93337745 373784499 232994751 178447901 184102601 250827215 834681557 682505397 288177977 365204991 466407865 215950239 516239197 185345631 721051567 751516251 472370819 603371537 465545795 710735339 815173303 286723137 340424777 185239009 806525395 157617951 103491295 845616979 918946421 741027557 383625831 58938333 814327049 787777241 597996429 394588839 695194301 156304961 36602441 236993885 362549897 229996913 387850963 312043833 483610671 545100995 155781809 916106743 784581429 730639771 571964847 378094301 943322605 59892575 864537315 277174201 856100975 819627653 249039269 889008611 780692889 960210823 815868063 178578745 671441943 500479973 241007287 136334623 10457941 481082667 739069991 827887495 141330063 844153837 331135847 719541219 754697669 547989697 205553215 56720435 305132733 228440395 187195575 93384191 316362247 114300215 262597671 565162835 938541055 423032117 839380521 656738759 255228865 891641857 862587811 944599927 30295607 777078619 640250303 151643147 44583187 818904335 622740723 304153007 12917707 194726383 477848057 173713949 928581279 373315287 602396377 226480017 769749913 669192101 702848989 243341265 174747527 558208583 236643993 403902253 586989315 577258925 675572969 711803769 483507565 278401747 220032499 727584021 415381485 567122873 385916195 702015973 502714485 153822315 914543403 914379353 771701433 860652029 420460809 180489833 169016125 323168133 17096449 18056847 620588617 357656359 846772639 898406613 59005163 267503887 373190327 698634183 188161021 961315949 17660519 762673533 424148767 331221117 11836945 185229971 984359863 845877631 354687843 583618353 422588411 227222977 545701199 819989509 395866077 806482577 952267027 175399747 661461537 801846091 365317941 851958701 50874189 78722643 474354813 164077449 406716595 288604687 563077377 252044193 859297643 720122871 295658271 494132303 761205587 559663999 887546491 702777969 535926807 93367087 601966847 870888557 955905061 254665613 192262111 806397231 424522677 454860335 186923675 400226607 271070151 612837035 482505717 55709549 386065701 68477349 41916151 366214253 655970143 15961545 654532089 157237565 812627405 75975879 993494421 167036021 865270925 843433051 950308785 424606513 784030603 348290375 976589431 182917145 768872819 422800979 292415837 315625563 261297857 59017043 406510623 603685037 208827059 258813987 340518849 831562829 259275347 620396449 763777423 406291969 497668977 670280891 893219357 235016985 707775395 949050209 280429639 760689769 21818699 242465167 363991091 604278609 933699731 726229575 661114445 992890037 144154215 886382737 226842183 99336711 16643459 44610177 174162463 44599865 830243685 396511283 880425241 605041357 161138517 506531013 405338307 883442375 230267751 390784357 555100653 704369077 397050735 266366021 592500151 270106287 63585295 165878173 610484355 248048977 524992943 305746607 428926207 610931907 941219199 55190727 426406173 769969843 379384951 863702585 760011549 604776535 871230553 209022299 960662655 13738861 626396333 424918931 982765331 599448379 102458817 402783305 834827753 982493073 400486319 792286191 334465121 639275459 227122005 6097153 980216095 521262513 831970655 873774849 325227789 163049665 557585723 620281207 412688481 603514079 585560609 145566455 643684247 822305669 847888915 430409245 947586673 225733807 113378007 108346503 636523775 443677665 568492799 987308515 942893715 214582063 118430947 338953443 22832841 318745131 515816353 766955583 664648327 274369779 164024869 731262905 401373945 398006575 260961821 991540511 463714449 811361037 445738241 759770943 712173069 112887363 920594705 386614007 527177073 967554831 589485655 33857061 866773257 15568697 969514915 420613815 249210985 361287437 87555979 685391775 947756909 228129377 107215217 505014741 9681725 959694229 14453375 492793179 996074815 201973391 607866017 514967615 838253613 161970619 531112851 919671695 741244671 455447827 444420563 530436713 243133435 213496081 582746027 790947565 589781421 659307455 417984043 992894789 492966891 483240875 642676777 528508579 73815759 164833511 165275463 490359875 648204733 135472151 244297965 187811943 432339555 656686941 197885259 667981143 208339893 176521065 19716187 763130473 530934509 532123249 93542107 863273203 748773011 252746549 56505683 189092187 855687537 558756343 343441687 244745 16579993 474805641 783782203 731808369 893828461 87136831 687878559 46821899 962605707 813773561 209830383 842102105 857601251 225376285 712355993 938051817 843519913 364610201 953929687 347550793 910612057 812778721 372496039 189921047 185458103 169597431 429969361 920287219 29671119 820332639 632115431 482183 562477557 608920873 987599169 337885061 21957 740176103 288955133 332834217 467719205 405620925 764396039 489522357 338675521 430094669 126889229 99349875 466376331 13739975 406381191 339938739 733770177 536211171 309432759 170302803 114806759 349875675 123282851 473767731 283419209 187998071 953654813 194971197 731222909 453734663 565140667 994879587 934834269 970041697 965546465 123527585 152483085 157513697 927632819 91242745 23347195 196426607 352036645 147729781 314146521 324714359 998667501 810093861 50909093 96279795 126155403 433566759 337311653 101856607 609084745 676810139 275851361 197552577 24251701 856518315 835532465 783211943 751668267 169929609 226374063 832129065 481026759 197471859 745393087 615066341 958730099 840944805 776174481 193057023 193643873 700894575 894829843 950726697 174817669 444327201 576768647 970656661 643936675 650011155 342182767 31917315 687341891 82779051 512032149 897649083 938514099 700917073 499108369 247621001 275122703 646155129 175959103 523520963 821515315 232362651 462325439 933890633 373335497 722193467 250584707 444951169 244801089 501339619 908101051 332827737 851683027 936386595 741469925 366392135 812852609 145628569 700837829 206294857 585102867 830729701 847926887 109528549 845664535 233504433 600146463 751446313 627193575 6355633 914664073 549465773 719804067 400871069 994480781 238679695 977649969 981455929 590955857 353236597 278237253 128053581 954103119 927476363 542657367 151198383 229162815 800977545 985931939 4156215 421228839 225128111 824280631 303702215 786936659 835610815 620951261 961037129 771640153 965094155 269886259 468645809 42003219 188454761 80756375 66260215 337547173 166411829 505395247 79588639 677668989 39022935 494109167 78233651 570965071 255459133 116520845 896619331 767958037 377896413 981184907 771111277 44858901 865696693 299430447 866581713 783696605 37748939 160132745 59709849 443417151 783258541 577866613 99905273 10315863 748191347 554323599 587342889 775744139 616186299 391586625 761703277 620081797 461812651 403801533 858038543 954757947 5924079 401753593 896146017 298560489 405963711 412992181 585967291 210216721 177551067 844808315 47162499 423119235 246777479 534144153 874467363 322242385 604305297 783818283 304613641 33696473 839636047 493638925 924607157 884829629 749807011 429701353 430769573 468885993 894988271 960224303 717503075 189819539 516453921 27607321 820989061 946195767 525134003 705931941 26894755 968826521 653308577 14787995 441826911 542198213 522761331 980195727 349913955 435980049 302370099 941875669 454390883 425065751 934587259 327076495 756710679 693000635 94444137 225764261 776402499 130309417 613069475 19496903 789492913 324548825 299215701 264640365 444777011 227520131 586163001 96556505 341466275 61246767 583218569 288168465 447380195 130653733 941914383 317648871 927640541 901132285 453402903 134190835 798948229 902228369 978376313 444929941 14303699 45763845 20447889 765137909 488002507 229103815 158092359 520334593 342251127 202828427 638525705 987531639 732870121 140926029 87952333 654131921 22037051 529593679 939409937 990183515 308321935 791386401 757805787 190399013 136802319 928724629 848998843 241559559 364988655 724873927 46864325 292186271 17611625 917466653 486397081 846407257 365023421 932368705 466170717 707736673 22906935 861280809 445724093 68160947 326676519 587697937 985795827 797033999 887594219 526235005 768732857 338028283 263884259 720688441 319432281 802438855 83505787 561718617 171671969 719721871 367601443 704161083 80879587 867114543 459487317 873809281 676581123 309519697 847230869 971320087 404122723 771527271 987392621 90443317 141162995 873243301 935464815 758791507 167000873 300550161 567871797 835935287 415656451 419221101 631454561 951439085 809421319 997209679 380036511 599556811 829260613 184093707 539429021 55295339 462761297 160840387 674661147 524968369 144063563 687815519 760093911 426837707 165392345 919413135 312658333 350543659 916133929 771001037 131329599 176937361 22913263 981981527 35316631 623059453 696964717 189815605 960526215 620751551 585106535 557223737 304633851 126467433 359953707 892606459 659553249 709611991 140661393 17798363 191639609 368048429 459327221 585911041 970685697 10668761 698222143 686799453 160965701 994024847 944468189 369363111 747029271 785172043 631077575 1905761 229908625 845264209 273510007 943281105 443958997 112865069 785063413 221038089 718668303 286266291 196168145 651013089 457533807 846579455 653430303 555105527 912464431 260406391 845630847 225049783 402435219 659942853 320607767 49011535 916717285 270811617 896636053 779503287 753179255 774695939 629760813 288069551 679730339 440005809 906249377 785057473 186408909 998954167 852179253 612862781 340895323 70983721 541130679 486759995 207684547 125429093 497165439 223083929 993336191 670930445 593558123 47281921 864871951 420360719 487120863 751311589 65089023 411017373 78157259 326482299 127645409 598976309 498641573 765236163 157687887 68731037 226013037 966755463 672828139 859446237 897942181 901921621 250667361 434316621 660312415 732037001 13938529 518770055 771044911 775404863 524817061 394723951 399013429 102034529 756840947 599630387 457203223 221050271 947145745 659449415 477282563 981492083 200042195 206883429 343842735 689586971 219852819 102427541 1591127 186867617 117348019 552555809 734992581 139113171 782248351 91418525 300630855 31512139 807277255 242607589 659593137 566720105 64766501 902913055 827747169 211874133 294262463 888651957 119229249 687688191 326936987 208572765 481288379 24296225 722083533 318890515 259073735 650498103 874233455 506520091 367769315 655608463 72484259 417428737 354116631 647898677 722514325 792019865 20161007 91518723 177115765 679448831 81527169 765052823 974755967 968726937 801320045 566410333 465518835 909068819 448804825 955129475 680194845 66083935 474929011 53358337 172917071 321559739 39247985 12508569 979298787 377191595 934634641 476078545 756931645 751784445 715438361 680650235 699686339 919260609 217472983 399467055 29194477 209792343 313614883 781096267 246465583 276740449 355089371 89903099 459284241 912336589 114684003 601309099 168482585 112629711 305446827 668483479 869526235 660346593 382844203 588371903 429494513 44425161 985485021 859735017 54633725 27110549 724969547 848702629 213212331 415122583 82291073 823288399 69276331 215687019 525042197 367012867 636254137 659977205 790310439 425030827 248122773 906045795 326045021 191605241 68597773 41683497 782495717 14528867 359780847 865753347 224697205 341346601 557666839 929786869 864533067 417177429 734123623 945076553 866133549 200817333 623597771 316884633 304256875 549879779 468838451 190619579 694732249 937279039 780766107 586522583 484575189 619297521 808097539 824546391 187122505 576955371 767809145 79501297 812651679 728267489 264366347 787352481 660848591 935618135 308528085 678706603 58211161 420932757 588299003 261976731 217253697 641183913 880676003 113708615 393602581 226280813 469624323 533965511 295455723 228180097 563823189 298098051 663974245 199179083 252252123 174677031 137430693 597787137 411405533 912060327 169583705 824999573 281744559 539487037 337689787 72825803 71346859 48386927 169797255 672000041 438629685 405839625 111428611 148589313 405872309 183678497 679124479 365423467 98424477 49853713 678454991 187501381 570681449 769117053 151158099 989085243 688355993 397421907 473327087 712634043 209469371 675262407 138045845 607139581 67472221 552412245 918545591 329920513 603016475 341695423 620780631 307380881 250831769 801314581 474595065 625572925 816574333 857812649 340533163 480396381 262147199 283350295 691277059 115503887 374469717 851284547 900390435 591671359 714249665 13196381 630342061 251949721 713524111 363353301 543483089 658394265 278325651 982288233 92877891 604145533 112029603 781341467 747230023 438553167 597342373 917047611 866229917 764770015 470633343 320507995 34638229 958386883 4332073 597207385 20233 312368733 711161497 853600855 725408337 108271575 485585361 91957697 913850457 896980509 784657629 378934607 998895757 543241707 805332433 579439865 552350689 585130687 791682243 57360389 900061655 929762785 939925209 528190463 616455537 600705893 732467515 772081085 539608643 993987871 8160795 350153303 377554781 812119985 736774581 149478967 821537891 290485635 899635529 359326723 811527287 332481989 268184613 939257781 280358729 549824879 285201047 649120133 762037775 376729667 551222525 960725243 212682375 374260169 326241461 287433695 477764599 655424591 164737325 627460425 419434031 235068911 992788693 753720979 286091907 966804359 190292521 813987937 266370771 119019459 204766379 969197475 745107589 405017105 342596579 738940551 356627333 142396841 662077543 359961487 363390797 238474381 971170509 638257277 148712407 645408387 301553851 44755293 210467501 280287773 695032793 191572355 99338717 995368371 196154585 886619275 905082105 142137443 132344951 372562779 760912933 275846425 643400821 846080285 619063555 607853955 556087963 345097799 34016707 361313561 273846719 795117461 67189275 21517851 756069047 49381131 462435401 851831443 472742761 978262261 786075157 960384337 948254141 77066471 278958537 800948459 414586533 887198911 444424001 73612483 668824861 587103647 219752151 933043203 11515687 359182581 917039729 310679191 591596747 838969715 766087297 425222203 660035359 59756567 256578809 215599981 276725561 559685415 85171291 696602743 782761279 566251307 721461931 377931369 393098073 458472955 669104759 462082073 72533689 143793071 741209047 158106409 497649307 644877233 164518761 485273345 701394241 386354089 459638097 389101009 776660725 443374219 698313791 4524435 916586247 241825687 878783081 936648453 504443605 496206669 764264589 205209775 113815229 356186749 993925363 686557669 994125613 201604921 25001575 719123899 941597591 568523741 934794047 351721491 131933043 906339343 551161947 727600275 462080837 215351225 977196065 106674609 57566101 642452497 148158335 171252639 678492665 352612499 391042793 394973025 472811527 264647169 192591201 594224061 291570789 307662699 893868395 93224005 609532859 456365859 751382549 855242833 872501181 158543815 881551351 653310975 911041571 260967737 13667375 19124539 641316271 509253541 622312289 968576179 78937391 870611587 37829309 950931167 692718193 413151115 948801273 280881409 892246867 81515459 336010069 96907295 488264373 250731639 918770835 134631947 51158913 277557819 588040197 972278875 202583465 27596781 799815297 879691123 589528363 878097327 693458787 490922871 284642563 998620143 769808275 867850587 777059393 680471649 857609853 215213013 377828085 567741183 253114651 24652901 972761399 591787791 772865257 793604693 727353901 240029727 90163949 667084211 33027327 67058431 272161973 384442459 789380065 979309263 618355033 750264553 437678859 261141491 122139255 497121223 151041985 825958165 918231347 821593639 1199947 982579243 17276221 863726845 350481919 399311729 538767309 90888719 155997237 193108585 769265821 629270751 836512077 590989539 272730359 923860419 832451767 832765425 466126503 991812815 996889311 987092719 926832387 932479717 635515459 138245251 960514539 816808621 148917349 636781463 14360773 36746647 966226639 234442849 216479103 53589211 705779731 284299613 22779791 628350075 120873673 489533007 963263219 820859455 461759127 495174979 553656113 816614069 696844581 44738957 449965655 714975799 417616167 669794507 4587517 215945189 867759957 837081055 500507713 982480549 262240115 185288695 180866759 607114795 153214795 79148421 311668673 914833903 779976109 525131591 161884385 485910573 203199351 830860609 616987751 845611251 811348105 948040129 172753435 349474059 526798029 590760023 37110345 220460819 672943927 519427811 935015625 237314665 840468159 35683975 836223479 211705395 137161065 495950001 830821307 259474533 72713535 134605333 623211139 348770485 572418897 137143727 508973123 670474661 492584637 302085569 800382333 998186363 929332643 771316955 438407735 742697799 150338093 773178061 758258427 412618213 841717135 927593401 930826211 855358705 16697601 447009533 994073997 338440151 668620999 978666569 357080605 217523395 775489323 861120145 790263365 371624881 989743999 112730897 963660855 43242847 981806365 224453709 355903157 860432471 419251303 263263505 351301633 596375527 178962375 636258161 317966061 770079019 470608561 922691017 709629391 417582591 1474717 900268479 5314435 870339085 515546127 518942015 106090609 471644613 905002385 122571643 832630151 875508577 127108787 564104689 626607931 890334687 863790355 54534501 499231371 358961673 38269777 849262819 859012093 923705197 519889945 70595263 255745697 738216293 346490137 797438871 898760971 380557329 537784849 483751757 904501339 314184537 8033215 765998607 736769847 991432173 269640431 23858513 642887883 820541509 81233265 110072525 121498575 45069731 301924131 906366345 486612867 300308237 330487013 563365075 297739947 815140437 671403427 341418811 345417877 865534739 291666763 535435681 450919961 580437415 622179293 696693289 923770515 300360249 93698647 750505789 986094315 554376631 643910597 990593681 908423823 86199519 732077111 818725413 538854517 820454187 714101707 789178683 493967899 713816039 20119969 697648477 331470471 671735587 528559845 494618467 985961801 585109175 468942279 647788137 710343541 403175233 940956801 545667791 780505771 919445293 352430167 262187335 665229329 799609255 900481683 106108353 623760723 343750059 46399367 683708027 156915627 32933113 315852685 919542009 33833683 134624535 828578823 765242117 828756501 548719189 214240351 352353721 138349373 731800783 488389897 732227691 465693603 112278369 264168573 881460675 370285859 457710261 885496385 171076269 786978087 727862845 183164889 133906779 692021657 997090605 410206173 477415499 747317233 940902283 844578533 270626627 417496109 326495513 762210451 178925643 744639443 838955629 837546643 69710009 178913523 753961947 418957205 646613547 448272673 911457413 303915603 447264131 348014205 81399123 438752401 691530223 422095533 982399477 326391833 142993379 40126941 964806117 220633533 846436889 515003847 902696801 390117463 52171417 878471333 424981105 683227081 672419243 188464705 927167975 474593791 482246887 525532905 98985051 847034857 320221223 815176817 472453421 87265409 407466641 246881591 463771525 151044043 835153807 685144355 780125011 449423825 338407895 225396899 932544079 58726821 545578597 483472301 473883899 430517345 501989243 705025217 689489309 706790951 453200809 501622241 322628935 886855459 540911809 401509279 377692881 388505221 796465377 37376015 875943385 443647879 282257259 61621201 89445323 979025007 824557067 73176843 623670485 807870851 21302711 844209769 594226415 422028823 622798763 534988837 883257049 203446149 473502315 676078843 547923229 160032815 140540611 198832433 753575179 970148991 799406281 209580437 208154555 136288233 824267989 540760703 790792459 329570279 889493135 577466573 630154405 605229305 705058787 38512867 990259963 803991467 255559173 988861361 112645187 236896655 802973807 157695917 791478653 970923071 359802343 232004565 378872691 281635423 537491835 126339761 269772211 485031061 110309243 897782605 468679577 492964503 700711047 35300927 804823873 875821599 898477187 213728935 320506517 122323437 401719193 860116779 806683207 720720077 917355837 363649273 894256843 952066193 403472687 891994821 838489445 300350739 309397105 709574097 603567901 40146741 241974861 461325537 238399937 756179939 31990107 764617029 615851243 288708877 12147829 98853329 532655867 940258479 940531649 511536099 953801753 810398665 987255209 845473891 904954677 642475879 756787171 273540289 807531273 988591515 978245739 801029103 749839123 880017023 710079109 944795501 420756635 291830583 557698493 240115779 254697907 990600425 732952807 891189757 293359155 592825291 497943841 562672561 59176121 576238103 635218637 127152895 425609137 773021453 161189015 761775885 569588809 965906425 642364023 830632841 866480505 716804911 982114469 936380841 734352643 69487365 297105575 758258473 398214253 671282399 433969225 747458389 578042377 809187369 812714145 368494069 491251695 212506963 120313095 655914083 815057149 906865881 808480293 442349693 372859359 914595899 127898851 237867431 124039169 294821125 182440821 981988305 232636575 253056969 965631067 746176627 944174009 505998625 274316117 983987079 426653973 889097905 656785009 826585239 303801155 663459359 682490629 671423407 47201951 12965411 779203243 163074661 869600325 50808177 548985417 674327257 295305503 164223441 893773065 4399281 502961887 768940297 835036001 685080091 415324923 997372397 559942669 544683725 416290739 444856151 393073935 239208197 862007569 209410859 90256055 877737609 298079715 816351567 56464535 953218471 221850819 538820283 771109003 727276087 919843089 418655843 88506809 848836247 883966453 394938447 447759757 939049133 274946401 828048517 253873849 17852645 165188361 542894617 375867 556777783 126412145 934673957 624154199 581415459 799022817 212741325 717955481 696672683 639823463 872541241 394848213 329989219 391992541 82943899 353326889 876038235 941016035 276873263 186992887 598565429 264329953 987105333 267628781 23138839 382597639 602233849 460582397 862764719 774763853 630519501 192641381 340224563 711460725 547636237 265924011 427880801 954109189 918933015 701458327 724473471 738445647 115966297 323734849 365306973 166763371 466632003 874930945 447192399 563739959 406025553 991856769 635817525 304595039 666313733 949750697 517635443 411413329 775457255 691178927 267245563 650544709 788979851 874554893 279376959 819924027 197124491 467374987 3610433 686763519 331855755 383415601 906256259 140805915 10024755 887130455 906384407 600233709 359732789 890910871 124135827 428009361 473695309 794836695 93517587 358431475 9536059 865101889 470539071 356092351 485273293 385386059 347658565 114001009 429297105 205011633 875789275 726779463 875778851 434831991 949319743 346708043 772338087 546163433 330844985 711215693 297984581 208163995 976607763 755938787 740243183 470004329 480918439 429609327 841565601 870196857 694502739 432516891 502055771 681476919 744028157 485371859 907114283 737530965 739248401 875113043 216392991 642171345 493198729 293981721 82373459 744990447 430739167 531537517 33005291 546464573 888521245 631223651 100030223 601301387 571665615 461203663 655516657 81651449 606988301 52123475 471919053 312040937 165720435 19674455 331060709 597377801 329927723 9806859 184137089 502092363 571519965 682761319 663097589 296211439 10003397 164159021 623142557 522386293 366649761 114170085 801590231 880516269 282487475 55076573 495153169 571318439 564131533 782182959 590593981 214476485 533992259 694691257 740746067 321742245 284001269 978086951 795397205 414109751 585962567 335584487 410409553 975753391 256835627 95620913 429458389 905153417 161090835 151366919 856661373 763596423 687932161 272423471 803720941 200312761 314828153 402078523 108717005 398845041 907532937 356070019 550872783 680220235 170283465 615038757 526238383 725570093 753662293 661795341 599607087 390618435 93845719 873008873 383013399 774597119 845733497 656208689 229172285 406649119 611544563 525162789 54093431 402004135 544513923 794863823 579057323 370946275 457781487 241009919 743436993 417736039 612349063 398831691 897743275 414216209 674382367 705578005 702210149 25011203 190789655 221141383 850603761 165842601 874443349 491272845 412274009 313941179 666668871 280951011 978264237 977959217 319560929 542064903 965533193 224059473 635833765 131470147 91383697 732228775 972769175 73005223 926893933 468947977 638543173 795170825 713906385 570215057 375308487 236367627 624606453 928571811 739632315 694989589 303507483 942276333 205812037 964191831 975334545 976285027 650319125 782806219 22093733 713531455 128674913 238221103 140202165 553218057 577457127 909478411 987113505 20425611 768216559 996938931 812761171 881436375 183097157 845938747 988471997 958109775 671823935 352814213 277236443 406886289 769448893 17708855 891016495 138961549 127574053 308371143 947614273 860504695 289899619 631346535 272870311 455871179 801064689 700545563 412338423 155925581 201414347 441425833 594358999 277938697 420053623 250056611 928388591 862767699 210680067 761250657 660815347 690418119 692442887 87993089 558211739 603571275 478850977 173771887 53595307 425307147 380696949 926441049 373874411 951925369 825650611 667300151 806674225 34702675 289202961 222138443 302733139 687560605 711933645 4773531 980478519 615371939 9334191 945663481 687052485 331160827 144335619 304231419 218753265 331684735 87995807 429196037 123180723 707452499 203672803 364405051 672886031 533749733 190266805 625536913 950960909 270418407 234391939 441404605 791864003 757415001 711921987 30802495 441355335 964182651 68007027 628348769 622421183 570443739 803199513 541452849 713423699 377514319 873380803 116312203 928294967 422333937 969149577 120256779 24592803 328598565 461506057 541239835 81322203 774166171 415263079 472211181 640089385 857592129 33183315 948262517 185513181 936546393 812846595 884654201 82480213 352122725 426559031 710617723 134661873 80047663 491399729 127965393 616139803 606042063 763780547 150981007 734317125 386712481 309107267 851615639 552807405 375685701 477715341 363854737 103994001 356015789 812812553 559629037 488238011 799246601 51620517 56460515 22794241 511897559 366725589 951270773 156412409 101221595 466885787 219205739 217943881 371860001 187831931 780313171 205706651 105782013 489189765 747794823 101337501 381767437 271880013 897838887 596072973 743568179 892210163 943421977 300583597 481524379 278342427 961896465 347999047 841662909 494930677 622364295 522242733 957955409 769532217 174343095 302246327 939277661 362268193 305270191 818367563 762556461 489317751 751122745 604833363 521871703 527595911 616900851 901252285 433159861 344739367 719874107 322855047 493141867 305661369 470637111 415170483 10727143 525924895 341587675 504039499 982016989 662928839 889224157 454707041 74712391 424594603 621014975 632153615 527914861 636218695 276724423 46006901 142366935 861867937 774057477 805871299 517575517 795654217 533109333 805767717 239640857 926811475 283769683 360708059 125836657 822354271 57894507 998993443 842975759 142535825 874834377 740640583 884598761 725677467 991721833 970214557 16832571 891617455 749120009 624325501 837997447 643575949 20690995 732900425 120980125 854340989 550221621 303918955 585237903 42550859 990802475 425421911 215774395 99665743 51020017 728113285 83167171 581342053 798370609 119690873 800127123 657376501 760324443 896743101 824939105 453606125 324062633 836141283 122747561 252611523 835861273 685415557 994475055 304121973 5964405 754820677 403644417 112918921 877838667 471379149 427857519 615118351 296022261 409442769 532534809 269248667 557607315 873532681 94415073 448154701 597036301 996113209 181894389 474389961 149529107 704528683 512194503 222129217 296694045 284278961 865144085 203675751 1914221 364056483 101914085 807847805 957636105 904701671 907833727 934303301 49164483 872264039 30362747 744132115 344896307 115690259 900594611 53964215 324780985 269484005 773821259 502537877 872127101 295372513 526406065 644221839 820507759 325151505 834091161 839407125 392861255 578616967 399887359 426951965 233053573 54895453 118581541 396772389 137955187 506982069 835962267 905779 120870945 596701113 941769779 955712727 592208743 990686877 501580809 545781029 389010403 267825561 887815043 363510973 563899393 607986673 6776139 964555459 396458221 797455087 970996055 84546281 774695331 891648229 675289571 104522849 563924451 259425325 924223091 459185389 92368691 602569257 856202451 853590993 571281379 15429699 634781207 139476699 671045135 260648175 320925 662605155 270003859 125872295 784387591 527362885 976805913 595185899 520388161 363095529 287994387 432111431 489436291 753506109 131548085 774509645 823139653 610941111 538086149 651883671 491507789 641078359 457939397 689712071 452710311 587703199 241141899 264050055 380004009 340765345 673787307 740892299 787635949 424450289 153860679 112965003 947756887 820126895 149228359 213659725 826030357 438094721 504643675 881285783 15978649 757107603 324356861 661499195 195669155 305525407 372469611 20396823 84586291 164558559 652146605 431734797 785868953 714786333 928479381 147262979 4450407 857147047 657279163 424091119 440041081 548057167 69310847 814097097 560295923 87515001 233135113 565502615 884464197 871463431 723654217 92584287 581146141 718598249 434936823 839772725 597801085 287266965 68845973 81594419 41558439 904016137 669253481 96298363 475442215 128858061 332385413 704459319 974863825 601267053 396264385 983281051 864897217 513955839 470656699 498580705 555866717 27332131 455873759 949117001 973583953 297134079 965924955 860199455 334236047 238592063 430546727 206032821 764307285 604103453 515906563 501319269 371933735 167942997 909813113 643073681 598861521 168199981 755440857 391470245 48653159 88008563 320593211 150118929 900816967 899875455 194979453 881053263 580650771 397929773 649571913 850751459 649933241 617416679 961286417 886424409 795083627 606226327 22148875 343792191 682435495 18988725 272006455 602562609 20579635 343946303 348824671 294670289 952496919 422850749 238532115 377683913 165299115 855469371 864619945 506215885 459803529 846708815 415095107 312399767 58533525 512857369 3821769 485922279 474000125 29256767 333912301 773877129 651107893 942359277 170193955 240898639 567735801 61273053 208090031 871554579 623075659 79469643 951274137 613146553 803797371 554149629 584737455 149024295 537479963 215014209 116086667 959922003 789006599 924617199 475905933 701314871 601164133 257396325 282656989 179928787 62111903 950726535 901322859 807729459 347725419 469648069 92624113 558718057 697056453 609891095 808953837 538282641 800675057 980146167 83424423 150504137 661155963 943448685 430878513 263334975 513239095 70266377 656926563 950738211 633949505 808102881 987174365 392801199 683475455 354253201 198185221 981577513 559558429 778809921 746204687 56385239 365989517 27535263 519373297 637095181 874888845 785073887 956877421 234099749 826167969 616675779 778613001 25641857 664186519 541782415 863466519 403474573 226031999 185679379 739704751 776357817 958552249 738961059 440841391 341015937 392393959 660266269 339241923 340171109 55237879 973787371 237016151 515572977 742476061 132331511 1981863 263092919 945788883 203699129 511284147 978408275 58661087 594967089 15987265 425994339 485256271 137753313 351323105 802200981 768430453 639764955 600864495 503617433 650091501 946167989 753917063 138399531 294279323 129599883 72579987 371544587 673953453 607912965 761157061 537748997 537954967 540403793 557961363 329152491 401427221 499214373 385833021 138767001 178287147 703719869 307763917 282127341 810140709 569952485 388990737 196738005 241071767 330773477 965893027 588999489 98518365 626464919 435682275 456995117 563573661 384949081 193125625 495890329 569830593 291018255 401786071 85531281 986374527 29860139 37648689 179716903 803519699 76543647 116029067 627570295 941559041 603740397 639314221 141165215 839766677 950543383 290422821 684813261 545536357 808973999 891012173 727205681 769750921 164176075 828967749 868469255 727611497 567142151 485630581 890576015 799580593 707138955 843947021 573293335 522454101 643163397 153648133 888564461 88378767 823930283 864012575 600945517 958699493 74939963 984120801 871512315 898284067 759303419 853482397 754540029 154899039 334879931 851366251 602439659 317687027 962049487 998957865 16071225 438543235 356461847 211896451 479908207 396370941 151141623 671447015 568940051 422961557 379325023 564149645 87800249 1894343 26624455 340769909 386959357 44067669 675524137 863923563 275070845 817317199 550462991 361852921 193794791 936732679 261412485 321503101 698703851 265950745 170556451 344483859 114079301 506468203 925914629 545897383 939608247 752570407 855355091 732137189 505608713 923796931 166271419 180768841 772746767 595117563 48599923 318629651 333371045 166445521 51368761 166175303 712396457 103845013 651744723 870484923 251766537 722702043 319309969 92520195 518387125 721002875 289774151 476551809 449372329 802138269 277101141 510233695 153880807 792148141 786519457 693338505 624804215 240321885 721743767 637829819 372294765 785771179 575853873 541422963 655385573 950982107 3149289 282071801 195509501 543485561 274355401 407576929 674863843 341562715 192098141 334026367 523341767 631771545 938736317 789584629 619666405 218675613 427581573 749017387 760735359 997580301 431571933 9994833 735414493 84232931 707658867 923792223 934620501 266911319 729277309 70935575 825139773 85972465 244946105 303946753 292335867 388577145 610927471 349513067 8082167 338498055 650869097 710330479 384484515 284616949 915582979 849431531 928407163 365168361 845274903 67198091 349619711 237573837 734413835 809711037 119456445 225623767 330686673 14452921 245738307 926845313 618604251 865681281 749067823 86011539 404209195 714072539 659709727 752354839 205833285 534240345 685137857 908702049 297070391 822342483 652626119 233349645 28401305 934483943 661283049 479299329 195632775 942238977 105270249 455322983 713877673 446940751 500199317 218079157 835261229 963527497 95670971 678227623 282325449 314135599 555402297 480627265 847528125 741723403 369042925 135681743 193831883 913716909 695599045 698056677 751510853 825093035 756787891 372079457 16444671 665931625 699263407 759965285 727837017 632289035 247592123 38853215 227537465 193979523 907859429 111367681 645003787 53483915 528669755 999720009 843622601 388380833 612758747 905272189 222329583 2887183 866230755 721809445 257305219 858321637 916379009 614085145 624333331 608424953 756371687 287349617 316821431 256304877 978880845 9658263 797802507 289844009 124738807 856078387 951539513 400150237 627522605 327166009 715915755 691191811 286241349 421299433 931762777 275868505 620135573 910904517 132016961 785913191 280483715 394515095 739262697 472426881 100328823 587465335 42670625 263882427 659163619 379187391 620837695 980062455 211948611 757089557 9115423 929213405 291128601 936681315 994669607 765818333 934058735 630299359 957087049 864267567 479483733 68930821 715403001 760248021 230496233 94143641 17205299 601733013 253453129 849980069 48919427 23563009 324335141 395033475 853827057 297303153 793564713 575101897 697925655 904501763 837248787 409939807 364247313 169279907 722266533 426717807 456067977 61385727 272365737 206310513 405257897 467877263 53201391 59496733 354110761 96263061 245323093 798397305 21893191 79643927 346591673 737556689 482127051 39845351 551897099 588229049 21266945 713993627 815057975 549663503 391290559 606493335 830627899 798711541 974339685 732774143 633325849 110829017 530702297 708592071 270682075 201546607 805195401 21404069 266321553 743858609 872887657 429744153 636214617 932480485 24440827 377711725 771750227 170549145 510347587 442665135 669033385 587233183 28753617 362988731 261320845 289645843 574393785 887440685 395475515 727494233 300796313 136581743 672881653 526513695 138497947 943063475 130825989 9836121 422391657 145881581 425369531 693846339 874012219 752070883 257958517 241476191 413363665 98755095 828664467 135453053 40388461 889375711 726284671 790520751 494483681 421129295 956707245 62320721 202952067 436675145 84356501 207167497 526417711 713788021 300413627 755700673 898143565 933096003 552017063 995457455 634603465 360227051 856290799 233642575 211493405 650664047 803851563 818955621 47782469 209342615 904024573 476953853 751578055 337137137 336484367 998611051 715931315 605654231 426654739 281324365 26161309 866990185 238205127 589188229 476418979 822504333 643164137 660763457 735133039 783423479 920158019 477317107 895180843 487259423 838883755 548514649 869844879 233321793 524797945 633023353 154959323 457108075 50554383 12818075 957485779 47839593 144831959 401877589 996546757 472383699 65945155 874741893 225617799 541955085 778345041 607761487 429755769 26693691 90899455 434733339 637425281 203884369 602557783 491082147 635256077 402618117 437029231 153821409 393279251 87819737 897193311 469691159 979211025 190331411 255441225 60624597 212457741 780159171 827761495 766302699 727195543 385177285 738118845 51557499 815005379 405353909 556192435 211128803 858147631 317047551 653211517 268467667 933873925 742147791 817526117 117146431 564835055 718291745 882352571 255916899 301077287 578035891 72663005 41945283 719496295 52764687 689802795 293220907 502949113 883972227 414159119 461338543 502861737 153654571 306486269 349164459 392608463 982343139 354383981 726368709 829463879 21563989 695871715 399532009 627771257 864571121 958335465 369292617 25990227 202811889 357138705 940984675 357113931 782462547 833381877 401312507 958408799 765823713 725832503 884627741 164709141 583676713 801863553 163293725 957940605 106320005 964182151 550445721 990228523 408960789 326858241 130876531 767835199 236419777 206867123 8326617 696366173 246165561 852680039 474456639 64993717 254786549 425308655 363872095 518809855 999439159 472966181 803793471 441870709 972269829 326971627 215752237 473015777 912050993 569402155 364675001 658770831 555326803 393388249 819887555 463833431 780971979 370885101 624217711 572616341 443974849 222104939 790625831 905888819 683634981 757025373 200693921 123273113 422509999 486609621 359040471 281085379 177070047 21153517 106365713 505113133 868658431 717366727 990166487 401079775 333112607 573831821 800063233 380005989 737934359 305382771 61738923 943571669 785363077 435479729 363899957 483939023 346797269 412023181 11598161 219522423 304888373 47221067 6163695 662089855 838332315 108175427 119030605 209221401 918900941 546810573 672080879 403140359 788698447 317674571 440264353 284045 807644529 391573545 11807351 929982073 735639375 902261975 666260685 24351523 368874437 214006479 153830985 607840103 626372989 279224213 537500119 480760493 220869097 209837747 79659433 11388643 887125053 227432123 555015741 510884223 542047871 131328583 302275417 458312319 464799345 467859193 832017157 87172459 693564585 517351035 455325847 211955789 934152571 344686977 487945645 66112193 588527625 344138949 791113513 863154913 203146555 221428231 900859449 404400723 876659905 475540243 606197585 176470345 731916309 504746683 714944811 520784757 683971445 500356057 666212303 318506265 493938921 812226127 572601733 165422073 483614019 212078087 589345253 574016611 229965595 252769269 630931657 275949103 531442641 98338579 544507735 7089083 177225357 492885345 961267449 829635819 331523391 550989547 570439269 274650671 541277599 624861379 344165527 831624573 50843695 19169795 382147537 467450195 347925813 591065805 43881123 681678265 904909763 194090317 328002271 668480313 202891953 57213107 746908835 213242351 674846621 484398649 941417809 380267125 740732403 733746723 862995605 458875633 552767457 77484731 540798309 183152149 865215839 21331283 615104253 777517077 173178157 542553413 486135777 130058669 7973335 866906867 800410845 507335463 226366631 838971081 940049927 970507089 112638651 317319223 773218231 137242239 134616047 607197881 37246359 894914959 544526319 233975503 452653965 721860841 583081255 937736453 682858195 466281339 353966035 686552813 316100321 677638077 45742833 352928801 774306429 323611817 36452171 325641027 424007861 796357319 968385137 705977087 263850969 341021479 990894009 212832517 56915081 610726495 327784261 636689679 190330537 757932939 843762941 143030755 147316835 595825491 145050003 754560071 964708651 412297955 720805243 258064911 390940865 947858165 231765497 7222037 130076711 134879941 831524885 873677883 289715879 634876185 70455709 990923373 295047385 601682751 506231851 182520219 685814679 205198863 269285407 642985919 462076679 590745831 613330849 720840671 714932115 37569707 879906209 423945473 98947313 701157067 463857881 65686329 889699101 804435005 403430599 296083105 896553819 229569665 28510899 357729371 331770679 518186649 91365039 482875283 671801221 699789847 888380563 865248889 411598179 507699217 494784255 792417097 832975155 150250531 150792793 850872643 899313057 825597813 300619733 165408179 667563173 479654835 788858473 409736427 35826295 726696983 236089303 112727365 686115997 108360285 613815717 141763621 69000419 644506571 764890149 575954673 61506655 783695409 763001199 58249759 10984553 394848483 387546209 999734313 641898923 58801599 527458727 338420879 861897485 200411695 990597805 416922847 775615171 433210909 467411631 799204775 128788301 269189377 620031405 988264835 970960491 259624153 527253357 129288213 751617581 688444205 882092159 146466057 708408291 944707593 696017215 131525903 957551917 848626437 301337289 440844003 471618799 48816189 838501383 905157189 26659923 336634713 237087915 873223937 556942287 217739911 453356075 876258795 231218207 214595963 722514119 153348569 521783109 763150967 496690313 88132271 835848593 4380991 267351615 244128345 937804949 125572643 495697539 711619527 25156141 610355959 917420213 631025653 209049983 238392347 61082109 578684131 122081271 405420915 10844749 770603679 184567879 920410993 420450137 128630839 9175405 488664583 638838181 333826247 830507437 132218805 407159161 942089841 860478355 113390211 358163427 409392481 134821619 362820349 169177021 576612551 7953899 110072635 518084775 45233119 660519901 37263833 168899081 93251307 305346167 664865023 48762387 517272627 207703723 904597339 247955645 852402443 762198967 489985315 688472777 799450829 417296929 89387797 480177853 117677533 302306481 663485815 682503147 615070371 88945023 262318359 467673451 762897041 224405219 426020431 671481627 821510947 590926471 844534263 748953767 282321113 225400915 281939579 762125949 505714751 293681533 710827205 407693013 672471785 193038719 934388047 12791985 403553389 914634017 158173971 699215575 275082095 491855723 296480411 979467479 854787227 440987829 563079411 5688845 259218339 788954521 885296307 885979285 858525757 831299069 730460919 624693339 209924913 425548811 954712679 21882891 823501125 713812793 378076209 120900129 509237837 14705475 997938955 351793117 618816037 712982317 7689267 959773251 284016555 830691907 621171823 15290665 481738189 491029273 943315215 942144547 580750461 61806221 965219047 607421843 68865969 415598271 818752343 474902435 399309937 7605793 233841475 185273663 658592195 525511779 407095837 125226787 795681725 843719043 329156823 612594381 906557045 664926407 953937139 206526341 205952273 713157559 947646325 374372703 219256503 702618921 13622763 609063983 56086431 964907579 2427757 611389079 736895487 649112911 745068439 104907007 759438105 115836179 331571601 130612887 66503739 107244411 52466953 921084503 875204531 536911041 282387765 814859265 165581789 732959339 786820563 110962461 470045213 438180423 769946667 647084537 188920795 250394983 964257287 508144303 610421641 660682535 373535939 989291037 332749219 976786987 230350391 376115439 589461931 667385697 68429263 485764755 715146537 521758461 853887351 398822977 199394995 893640571 249708707 831363579 98455263 640282781 319639381 750257031 973747027 589274227 913453329 226821495 351389623 945516623 985221605 384768547 391194301 965656013 25598825 262230185 79294753 398417363 269960633 489272821 716105893 590070669 499338877 522218933 806873361 501149037 701041635 294187873 975377209 570481201 205838753 800724793 372917241 881345501 296551413 24588615 149390129 584483517 4614823 601475163 865008331 924874853 846374403 442723083 83963833 331686579 526874591 148062907 386188535 160124105 95989915 30606479 891370119 310564371 899479069 122356345 359026289 609131337 721614545 707043379 864021963 177551715 387730609 69813819 874562987 512461479 31560759 15440091 556204599 49471907 69332845 79958819 974098327 402680871 98486497 227177449 655543037 349968979 806399655 373650127 258056613 987553673 387485533 516289853 655413713 72639351 282833707 353837923 45530569 126690065 477828287 186815803 44272355 721647507 390252625 327199107 221971573 449784191 106870939 142591685 285553381 775407013 363668965 310862927 611585179 722427925 319486207 570041659 21815051 669002033 934502461 351540585 586958253 258829975 280960127 970395777 225664259 396115001 16259115 978603251 941734299 134786373 814404655 109623543 716422915 339820349 788540673 413003663 628634841 572348643 111289245 354603393 112757693 232753987 199413389 762834015 224023129 8176305 497510111 373529985 19823711 911669195 713522983 243505927 840739211 106090097 822866563 586852055 122592415 844329173 838478747 186040229 12289125 138797671 565471135 84295143 803694253 478287589 838677825 354707679 255054165 450312019 999042497 744075155 453102909 369492223 958560743 770787285 385386319 445473401 569722111 244868923 814380925 213267105 367948255 266322473 426023363 618561433 429336039 798800579 184463651 382782415 794724861 601540093 346508455 881864437 492013967 530456717 434423903 890234123 94021009 515655667 124009065 965627729 858307461 417554809 773986277 54380885 666707055 166028591 772723709 654240749 300669919 360314091 402852069 126535731 534034153 476908367 217785045 57689229 547760939 20118723 445284625 177622949 695037391 750306937 216869089 860876143 18023039 233405797 255551131 707154987 863634035 940621133 91827349 181878619 738218857 550989747 769955893 264152777 936110249 445096685 177965283 297531789 3098623 69732111 10600211 410971395 841487041 416755451 980467517 784828363 215949009 45278041 631035621 413445335 558387087 926094745 324645269 626085975 480368879 354239731 414364125 857885897 70860901 586541417 623835739 276487665 68824559 742002883 394031791 759101403 583388947 37134223 606206595 666188763 958040033 799781415 454178955 566955407 523146221 465025451 387186559 659252697 846335829 580870401 154221347 922182117 672959427 914451933 358853953 820753963 91243873 801847735 131419817 966989155 109773799 895265995 154607161 217744275 569434005 693555495 515112913 609812231 279121965 443491223 266426715 827558741 253117953 269516979 959779787 986930775 984615143 537208799 352245273 816103729 353985339 522837055 272340553 681215313 438292709 540883911 999642213 150262123 261229139 443109421 653052285 767758969 93610875 95706611 943864495 967262403 246457563 913911135 108079131 869737169 514122361 235735937 128039915 498473595 914314467 183575861 873225555 67415003 425994291 666291735 181117835 913769559 739844865 831782803 232179927 11114393 796463481 886390741 309413761 968277655 992002117 298917593 693512411 536315021 713349533 337281373 706087997 998225917 442460225 34534891 471006733 736162231 163796597 565272529 34243253 206016461 663822087 7590443 11112867 441517213 860741709 910523093 890913879 131753929 949385513 379938681 277653327 334957373 874154493 993523335 475894039 349534767 205428665 691111993 458004287 516658203 73953489 329827725 889422181 108869573 564640839 88828749 85658153 620796987 322751137 270693127 7283765 369609677 270843113 769827861 700417853 770376475 757606843 955669655 990348027 37228551 75917871 702959221 645239855 875625151 563583217 222626399 592233891 816703157 960301355 896769229 995333933 896497063 453530007 719293185 891317925 748804763 941966191 697476097 164309741 9130713 645867901 236765087 622128367 31514873 919577357 300008307 776812703 355618261 928710903 702208477 921946615 345793425 19162263 439832325 200921591 965005979 774705365 47385563 540779945 608989351 930287391 289111319 269147427 768898481 920543851 946681401 889097341 221477627 685317687 640638091 240881369 764230677 525811595 513833501 760960355 488804305 162006513 908314823 378124873 361946443 303148165 478605095 701311947 864231657 878709471 654410153 515187495 251658581 226138667 151635323 402276777 812158085 959317011 790838165 761864099 880043189 432511953 423672759 886889837 603442025 635003681 570855275 406227567 614309485 985763143 785262335 648199181 344435413 34597399 483506319 820023997 127100927 83539169 86772983 329202935 603208333 2455433 64436449 240536127 509572971 428006257 65237951 572846111 297521361 731451017 722462407 567002921 491460407 422203975 872163833 774267895 636168291 609883305 596407069 261130795 555939425 572503861 737234119 353712497 699917959 630259707 935705931 590438521 577256559 739552401 967150027 829701629 972197117 719599377 453455663 497128897 405642079 631641383 300055335 8382863 858872329 5694719 129112365 801196089 305527221 756518989 258528639 754009753 573013609 845397331 213246501 241970833 353670259 712553941 395410929 328279565 774347621 5941281 240287099 236405757 745201435 696265231 572882979 734596443 497176761 800381947 810349329 409961003 978810287 892883919 657102901 994733687 623917229 905038837 395658055 86379857 639239855 795128933 854760137 779787219 782707709 641594269 490344705 630957599 391585569 474476451 676728577 738097249 109123567 554515719 72581537 545270217 146571907 675373535 754824319 979068817 769411139 177920197 540287751 352922111 437671131 863004133 50097511 352929113 631400765 490810859 405695383 553868019 1137831 166473483 842231897 775707687 917784989 351931911 920285235 593477463 42140395 373357859 244576885 707669741 585884325 52195631 812601403 305004125 407372073 345276029 198094177 228182817 202309657 608903153 343944083 608596921 131021667 80070125 954203965 164172977 162084921 155382625 297377435 784809883 31866395 36398787 122442411 743502353 925123017 512784147 542231095 389283509 580095057 16507603 440533199 666364979 780081161 294165 107444681 583934523 70475147 451401325 93625671 112109193 848539835 733189629 661654833 499621341 351485383 139810917 890932793 711739651 114916899 861771481 578096851 494576589 573393803 237865485 660454467 841362965 166172929 240182589 118231441 98305213 460974549 555112755 109416587 90860721 521534105 404165437 188441291 369321441 824240681 87240239 896188593 580966473 690470059 396740967 148593765 41570537 299154057 169865679 385480919 571727053 8395641 138332881 26160321 313550855 578560375 203949925 536998817 249770673 876727239 259907337 511372991 802599917 182550005 829493957 441530413 240678119 157627093 162280485 343180227 130620879 786246019 752370239 767863841 511833825 974026853 952578229 209310637 361750877 205785127 637895847 269634971 36434575 327500987 440103881 991365347 151826121 380365919 961984847 280750401 123803239 137407127 463009527 532474433 751466695 565423409 242875911 929383987 42220375 991234365 156704333 49773871 566516871 84729371 976313633 922989075 803269841 299067501 139272801 927272331 152017851 955542817 556474225 223021317 64410827 904999531 210660419 617249209 368973461 803363525 636294217 950558119 87175091 584714743 649353603 141381273 744355273 634710025 227217785 736604957 263610493 325769811 192942647 631766927 326078085 821746799 245781843 392207627 781367963 145156929 84542703 324016251 500646017 552096249 91126957 653006225 913826815 776967941 844558523 34099139 689511401 899364647 337779923 958239569 652736793 609591393 300398385 880582213 745209201 659263743 763270555 445553005 437893853 274014869 78368353 293871971 819054669 112882431 666810199 959474055 845933245 452458851 784840925 61507841 50798639 17758507 726058711 616772547 454387371 106718989 710027701 457684353 762537285 181462533 872751983 420170943 889471767 738857559 122669183 567909829 55379525 644382351 559858927 78544289 188506357 372014211 454501707 842268461 925871711 942838859 843800489 804360713 25393591 675069775 637396139 671167901 785970501 70580027 901433459 183587865 207757135 207256323 390697391 574185845 37145897 330498529 569250457 61422195 402804271 623775835 731047917 349330329 239504575 680794943 603177459 13283897 803014471 657263773 162872693 903220075 135763767 13227733 111389389 699385613 781757451 442363273 949039833 415011019 756416579 404314279 629216255 242402067 920681581 956606307 267211563 490072605 891794455 125699385 846057685 435679467 948256477 563083499 33464317 2667075 765728611 136642953 324022055 333702581 479904849 713760101 208968545 493630621 670733657 38351643 973299521 193164567 689041975 683739281 180811241 166984975 5300139 394749937 219944955 747511089 496959107 721744049 301575335 325252089 420230285 583184525 529538723 969198247 456058277 230345865 542397229 320002623 943632047 487948271 500799243 328411287 497396883 909856601 508035469 928124739 270861123 15110557 764474247 985482917 405162171 868739811 504098905 400638695 966396411 579746711 209221351 274870005 909212177 411174251 435887779 561848715 520804619 179177053 281948287 92122151 402557701 65321393 199757309 919996433 174585635 949898483 252913695 788198237 794982541 223392505 238890617 351327199 449041781 216284891 77878299 352694329 781512727 903727363 366707369 952969939 906985395 396580889 876262213 597369053 109771159 291290641 98290591 110684497 610984977 252733225 349424877 413216235 883032447 834383591 471129837 993037881 126789439 365441811 656341733 825057927 241654975 158974661 208897189 503351023 896356465 30175575 560074625 142853201 284086475 9249647 608807257 83508563 108297045 341406711 465976723 893458793 193729941 727420197 92219419 997820363 779933729 923442035 149078635 848173173 677588879 409975977 695552637 382036787 389667205 770294993 886761947 71159445 444631979 913531199 528350867 153548019 306543795 706853263 665862711 999268715 603499865 417535143 219146987 264039657 577764191 514682289 760857169 480319771 220338829 449411875 271058585 290331513 389428665 924421049 448139129 696705091 610522041 310833015 124293935 496282499 636854899 628338857 233143683 807637513 560204751 234579173 116160191 264899179 561449151 546373635 774429887 156454413 848040511 892244779 440727005 939438611 779351121 603774409 462724607 431315055 406186237 5245071 327976343 86234843 877866329 724873341 630468761 440350165 458321019 783933907 429411201 933967271 20272777 588545823 423759449 682967393 602017707 694232119 422434735 986686425 645875475 982789429 683667349 735097521 270297085 192758653 855736495 200789841 145736363 177099965 504297247 601733609 583840615 475847657 499818389 896756851 563027329 269692475 615388231 678859181 315941463 921720379 540684277 587077665 3501639 529343153 687975137 470854429 691221439 467014581 987505117 812857787 333475889 484929953 405747005 936023515 421930261 504436763 134501857 580247845 728188143 595315469 100436527 335733769 987979335 207102381 918526229 496443071 152618675 227661687 154316039 779146313 898038729 484615471 295766791 501026669 76429359 865423839 341697433 679267773 994738317 256181729 880088011 770518673 729815703 440342987 383926837 65805321 431073285 435600773 237915125 187560971 259517849 727574331 159131567 61820235 282876961 605118047 633830547 548559935 369295213 101960367 120495449 439886889 594591061 619339055 178590523 820764175 747408063 742740267 580691201 920240067 816634515 230314807 978795515 520170203 569287877 204930097 394807039 982012347 135127373 735230523 375490409 276861575 234221871 642795971 285430817 678325811 259043187 470220925 115299987 202145141 219842607 90273379 84031929 693294029 420194169 292449467 196700431 192141957 99119735 66029843 445966235 617429933 95306833 928552509 831528683 523999515 18497339 77266773 768147991 475545457 449427821 559305919 690160317 228308759 909944875 633209129 239740929 401060159 941164221 610231431 833955733 928292063 562959225 362229013 563343531 347974071 822650551 194553429 819729155 815590735 980803545 802262551 476389349 843226619 175167561 679554413 344039709 875870671 523947129 599522227 466870273 940057005 691071717 251768207 116916337 707825725 689233167 317811691 961959379 187955439 581214337 194656509 325016085 17784061 605622733 272334145 928923309 328466019 748868491 157897339 270697369 827284207 561996129 978040503 823814239 771128109 762098423 204233547 771880205 730824567 433428225 178953679 266821435 512039149 994898487 427980075 313751815 899139703 150236765 626750091 701935637 385757635 811586365 508671585 201552023 926860367 450671017 225221483 325177407 632716373 466389113 990049199 718785357 286538723 228285331 754974581 105763721 749954501 919306463 225752147 217043775 832571027 564420433 861269031 429723207 428707249 949741537 126588437 223828733 823187523 307607699 612205447 962263369 396918845 275452273 107242801 792454041 675434325 586256269 489682451 425331681 79558669 198131711 468486765 974673571 442498219 61860589 84183247 371703781 76800575 848934017 333463819 930563633 304852389 35477481 392312637 9467809 751997561 163264613 983362761 985332435 848553511 986102833 434898269 316317677 383528155 699440541 68665325 460361115 950612625 209254905 573395893 530126357 783820295 793290399 57675065 952674331 513313223 68653553 866372933 464319983 791963937 448610393 871307245 549720165 739631403 206416715 48667533 296994253 723438023 407694911 772035019 301718793 501393565 257451449 274390675 586030719 527151133 185346627 478297879 168212253 277729921 957855599 698310869 186267993 897776839 384054997 891604113 123825713 134820281 558585115 641250135 57206829 859837669 676083947 702332283 660960855 606740901 427476467 642101659 925627209 338402841 906261491 949039513 286178849 48175657 717203881 123671459 716281221 430261893 271647201 633899309 406423713 784330661 75300971 564352497 104016941 894339275 633504549 982272245 852381033 725755645 163598063 168830343 184850201 496533517 420322997 76892727 305580683 442375059 28594789 859651557 406331543 652781551 37849599 995169973 777659033 643366729 660389505 283367697 853254009 166087313 176121591 56920239 191481509 217209983 259967347 642810249 583719699 827027603 755079181 291714791 33909825 248858649 266105835 352058963 710583093 158854939 911337015 896728735 283207039 458809207 122793761 477176557 544587827 474725321 723742435 817839515 796348657 2551421 787744449 42738011 659908319 862920897 366847493 819581981 929853865 469286797 209045761 454663199 556025993 316684449 99123727 619912933 94024505 597173639 429215889 834070587 706824963 432616077 998330353 304761653 208250803 283661775 60988579 79381807 962709153 623114281 571579681 284657359 590340011 400375877 892625643 134720257 672735285 991075733 5779853 416350199 479848495 547555663 992278935 869993521 167202063 38632307 312177575 357135215 758148819 812533193 883305311 93766591 193284865 272012005 700228709 637639797 312947625 719357211 367926639 594834223 248243807 109822349 453131573 255674577 102278979 912512803 776346491 530516611 550061563 257847693 97630731 899094207 63726771 457572933 542302647 928044607 489735461 269195657 774662489 401085189 918577037 903013729 737211091 911406945 537401777 406456991 914986513 396359907 542972895 632131035 476281859 865355115 437128175 626255477 987794851 496012829 792741437 296113557 5618935 389059683 915074737 215042859 525508099 999845107 579958201 893010671 698770399 295415497 856363851 615992163 669794211 271993897 442519015 971927757 964362099 443099549 531197839 712509503 897810805 108434685 192664277 91432081 91972831 168985701 679721421 276387169 320436971 319132983 519074583 810544667 937230297 983265055 385981145 524842221 349538805 826650899 15778241 858933199 10231441 457907791 702347267 681059203 990116615 837847895 162676321 783995023 823964601 100357367 222872351 777716803 231678227 337678149 827680011 67895227 899905669 221420697 316905597 683357395 984831369 727534749 969796179 256620855 956966051 652510007 129820913 864690003 601147997 595582881 218597191 912121699 586335817 498407251 519557579 802308197 876660737 486721299 263171451 546646819 859184681 440818671 382632159 414132525 446264167 968489015 862094595 575756249 847951729 171416715 294835837 33157449 11113985 938533583 780544621 158317925 321404887 246518061 412032377 794256095 412976063 136445723 199216847 644532779 211249035 695783507 437541155 157729933 627604245 357585373 709428151 293315341 443976001 369265921 226719055 893436281 8660725 23716439 102005051 247307627 992508455 616401593 348607055 100775747 929923793 34441805 901313513 782692137 109405683 817515389 889944819 22188045 262387353 944471039 592590039 713627817 115403989 707699151 46828173 785246843 85632193 509627953 167682963 326975179 14471041 48546993 640993521 447513515 769349179 620218403 79492659 437036787 592332069 21773221 351614063 393298755 499919993 416042905 70014789 290579713 264860023 684176043 661011931 450817377 712409965 6601939 392190943 894677851 818668201 525347913 152951943 527250091 676722567 261516947 159480209 881830621 706187113 489571197 524135491 396008513 416323003 995835421 709821035 867497199 537120493 47158219 605897569 956136389 741161339 926102833 661193987 606773103 254718181 204231479 159176885 933430107 814025399 823060497 860003943 11676865 231708035 87417407 528342929 961848225 245849059 824124801 786251309 757889477 683946363 193757671 903661509 105171387 790280179 24757441 751927397 90172383 857436669 781941679 222517667 717967693 282683987 830401429 419915679 840967921 833343675 320783773 882531327 510005367 38140667 904020029 880067313 122201435 760365543 767522353 704624683 95232475 159918681 508124539 290862571 543346177 748955701 781308011 728354807 956630171 966957411 206220947 868773535 954490435 883931349 914519505 552605111 404532825 247025029 601706309 469259677 537878533 780992377 699791457 705771067 853836601 477807799 840261589 240250875 523639209 145813075 594052255 916427477 304975833 301368167 515495171 582124361 6021649 750067223 825574285 834539355 216746847 643737739 346807313 445450137 535992989 530082805 978991277 435180057 903779691 96469393 572079299 134584699 998768945 808872351 40161281 883240421 85154335 537949291 271401817 324449797 700052525 529766217 918711817 873483281 371048477 98798991 638523543 329033927 780038773 708490145 109542859 615880301 523021447 602811371 612404669 420569555 676765035 388154845 820886215 811085133 542406911 727568627 294734477 971225531 59125487 825180079 360977149 229720449 381666217 540730521 774554955 54824849 751410021 684502853 828288241 425154141 148869413 123446095 823238839 11954407 164315055 171811669 260132261 632932273 345507987 966115845 69800979 365579727 455336749 443090191 685075099 250089425 107222425 578597423 678712611 148565209 413200323 902537765 529737685 410909071 790054487 284505023 222425127 25074971 346475473 56987851 392850389 910411321 622297457 29434661 284505059 909291045 19233339 548704177 827820445 792421287 462942725 628370775 486474135 783461897 512867427 950322697 582967471 884508711 594129335 154338755 328763655 738941785 600792107 702810501 211822347 366455947 105876139 747715677 595765873 619534119 642557939 950690393 284849463 82685991 384763265 239739799 330665117 957637893 337063583 409606453 337033265 174938827 273529691 864843873 783581383 379076869 386592655 607050571 949269885 375613643 489806811 420976175 112062133 619352507 320626343 64604239 35978013 280755449 917381923 608676083 947357353 729465909 149796937 908358769 390069139 891889317 122526677 976821535 591337825 356740103 177797461 934135395 267242977 576974753 291269909 890915235 736333349 549782339 594648879 229978455 499701641 187674689 978963075 652340725 85011633 481962619 257467831 209049855 307563659 394958679 211805759 30812163 355171147 611838145 841057619 674804623 825628525 728950323 836373743 637047873 268077747 964110247 398351071 11697079 654127405 455215783 736919475 831707039 37119021 524111679 819777475 468323499 876589905 384776967 436011565 766676369 882216313 636393501 767289821 15764505 880575959 398994981 232402049 49888779 418155227 4519759 124669841 688131639 290609987 425981777 585196365 363062649 664670995 486025321 959301055 248706997 639514775 880769117 335042999 431390931 865099619 250406269 654611915 802131909 997103957 405308831 353925983 759808903 734550927 727657757 923419543 79779867 831730045 241458659 54608997 90778507 147908567 304742493 975411587 404383463 795739029 660486271 45452145 209100621 158509821 893231307 514269299 108365019 853509789 344530245 312911775 361467839 637796933 939534459 493695433 362851627 180331029 428510341 205930643 303120983 84428655 251011585 418965861 786546053 814853121 672260883 920316015 845206787 74601663 175703659 107318187 348580895 771765477 838030399 78774743 880286775 617296629 222963021 316869501 417431979 252761535 578851805 159280619 803545829 223961429 951398587 280893499 491457367 143571987 136024125 552099405 547622525 667135901 990604611 967565257 960919769 441504227 975426611 336796959 117245685 800001045 335163385 264333959 906674785 529783215 595866895 757851395 89871035 83870073 452028529 910395225 278821025 436312189 784139941 583234843 533448897 743362319 117733561 730136481 433381069 850131917 123632965 272834827 401351293 824488601 480992615 723441471 949080725 407296927 578911171 40076017 911941597 630946901 159922057 652556439 310305835 921269367 714847599 24411507 388905813 512596233 293691061 962463883 685940801 848741209 379995165 132261809 55652823 459081207 497833721 702817915 621251595 56386499 720050207 745995085 552476373 25471199 296931563 950624331 339822393 142766521 75720259 133024873 310047807 973596675 955898265 850948701 16566781 416690109 781826529 718116775 262271115 271312935 845695129 837213073 285543689 219530959 713289415 772045867 390033063 649604747 713401849 89887051 782903185 806746741 727382343 8957843 228179461 12074227 336259151 396582251 876875077 628156079 98299445 351227397 526526107 209149341 703311529 426465367 233607767 625721853 653230819 230649889 159309527 710789457 58423453 359416555 492512635 196477285 857508641 602181385 212325805 318236491 622935611 577336975 74372065 435092581 201642817 265359455 556408463 529928531 209992211 709269281 17165115 55446785 166697495 787111493 87778157 513217445 435214139 440724741 279310267 995917755 829140725 146514781 559725245 216554247 914730817 65218843 572396565 612098453 811348395 909297867 431767917 846156473 225422907 329114311 724499831 536967697 213415563 879340079 175015665 471130239 812644025 19865579 785898391 84222767 13072489 279330731 246872889 195843737 224033227 555653351 198157991 693905269 462493335 567513055 573065403 836481481 467834631 268749983 607341397 649740769 429723877 581161459 702459493 843425619 397993085 183761011 82689751 230448121 198102439 220932995 306075563 446094071 304381631 381800007 775011037 201202619 671214509 705742515 651296381 970102521 429322461 243684477 310055835 302814635 136315465 303427623 196538705 882502169 889481325 11248631 146584513 568254667 809147215 538852093 672278805 250387353 907178879 194844181 860357249 610705053 216143121 578969307 380086077 809773885 181786789 493308603 635501965 996305187 378935903 1000929 880808891 519299909 782832881 250128457 55271703 483556063 392333965 605326513 483343103 331007091 528037877 37298595 774370771 520412369 980741483 52336239 882334717 159433227 715413953 979115563 80157425 118440063 212884301 410507449 214840359 179289039 86169323 885172673 668830755 825567207 620279555 974079411 592424815 178653181 159921795 423431881 325109661 924419981 528409569 906129921 129209415 182311261 807802395 533956645 638704655 154954357 966892983 451929283 304204703 125512491 166138821 388608821 885394603 555143709 309812953 688791451 97895147 71167789 320544787 143720925 487956259 783822985 135475735 100805291 358993949 191841699 782115351 589738621 626538923 67744315 976516805 86609045 473797543 471192401 487165795 359160825 490821875 336478259 1822389 464069243 113745017 187967863 697351177 315291571 561552429 334039031 563981877 325637121 833775111 29996503 32749211 649338253 448178955 527290245 34565661 643881287 374877251 302308021 247952427 81537511 152544705 814255459 389388219 693183213 305385887 366920401 7151691 829060005 903292159 537490063 248699617 653419033 386222347 143655791 886006541 395063335 615063543 252206221 938668515 899329643 350098427 405481039 973776131 948323665 800472667 599075679 616326035 835284487 214074977 99299763 167588159 120817541 575855711 178320263 430684991 504642955 721562287 152782431 788741971 214895011 118458547 896943111 760779967 507355675 217811927 624247187 505356625 293000975 133489801 800540257 14598753 65846619 921637705 940250387 163259339 582664617 128352149 280999575 673812215 246685035 445524217 588969759 292166611 931624919 771607047 150180649 131001301 140698861 6216025 38676601 404560125 114237557 969179281 333891355 278972109 659039491 184507737 312995429 636514647 335941355 396986981 541223921 18732591 468750159 686954607 627371171 134077813 311264535 144479031 456583593 350672079 850102771 651549321 372599159 109260393 300074845 69334839 543125191 906105853 128261011 247094811 737484193 642100677 425101469 604637463 866350669 803109771 490422605 322915349 351649379 335041949 358422587 995351049 442673597 495436749 516173511 703754733 788669825 650290815 678507545 157655489 285131545 418337685 49675809 423986065 666039611 720958847 237679255 715316847 466746593 394426931 68909053 575547765 878761043 987836463 147447961 31143621 362201115 747132795 657816957 585262217 544283661 474040483 645028737 222224373 698091077 347320765 275650117 796021827 630635561 400972137 958862639 677510579 34591077 212792269 633863283 71095441 937090795 451358101 801680903 896496175 461549049 376765179 976306349 164021735 597160211 241218747 676984043 430892571 870985989 102418715 433693201 165753143 427336163 611696873 747979579 760101035 232478731 324415101 699442245 306873841 675568415 278841011 431100123 202068367 915302669 950038517 233229673 164458507 816488711 532729645 27741227 439930617 273817229 491149011 95094815 462791667 652662367 805977573 278830095 400267163 284435851 484509931 690515851 942642845 322807911 42595569 126089193 915752105 758300045 85208205 688076107 135842169 784787169 283204319 675721625 732943313 633576081 453757581 625473413 616791675 585540113 923005637 481801603 69925195 859443485 643065915 235296471 790404119 970796727 86863409 239725705 486740931 365768751 672133995 776124519 963372345 608370711 645061943 264854539 294067823 354797387 126903405 986058197 394973529 900426737 289106027 529489389 942847741 402295923 971221013 283589443 405698151 195564679 524642523 110543505 804982693 410081321 451845045 852417877 960272083 84333213 289541661 210029783 762819347 653348207 117335837 434304297 890541457 999525235 244012097 405792291 155225213 253405125 524994207 26377317 133685265 159911627 589293015 80357461 660661139 539687217 511085327 369361191 826214473 75216617 109672949 165038547 586724999 275632177 330388925 283322901 309535399 489734287 726956073 59452793 557874699 878073291 214250621 401769039 483145247 558499067 907525257 884673199 68329299 705390461 816206753 565898615 203975203 435908595 15303077 564761427 248932879 835759435 347767289 241471921 371568291 33322425 937471629 270241737 595503219 790328759 629944535 334044059 306341909 82821901 231133399 267258609 513568045 607601603 47232015 768035931 764148583 430772017 809249937 411629615 795250547 967336689 624483315 149926287 67504653 172402151 707501649 300172133 818704117 822347075 30513491 360393053 974561783 182806899 382446375 429094643 139641317 36440889 381184899 606033509 240057755 163290775 437571237 466460093 217155319 394379225 71815763 73739721 301652455 220625043 485812443 849581347 818623835 401992865 435470869 376696107 99225167 973736233 317510239 824632073 647061699 150716821 267714975 365341871 481276611 44488347 241154625 762406353 941807459 649270583 289237053 737173747 225676217 189175213 817103379 67229789 654924265 628084363 141245893 8270109 678080031 448380321 98125285 575683597 914149259 820482829 133900937 612335309 366110057 750451767 337164365 927837893 472413177 269548229 495785305 940005925 401051529 501130673 629354587 22438117 836338023 62338611 513927561 203484103 737021679 33534161 91955105 209035601 226327173 364857433 867751145 930201813 658638479 956076251 230528561 426684267 187185285 604243127 917008845 327657713 88674779 330303887 161123997 890092819 461924121 763376977 392573701 98608703 581144773 700281137 779640311 431313069 108948595 849861803 506029541 162116447 639509951 888661121 76576207 293673243 627684167 771804611 711448637 534805873 800323001 933553859 660692539 432160701 376576709 17105949 360357985 239139355 320292391 601086903 597825995 935505015 325685921 221607867 688489761 851563901 773829883 531979679 636881297 796585897 320587529 623364383 65906129 454019131 362375847 382063935 712869663 60031543 675283635 611552587 347645507 371467123 323905051 856826839 548623495 20199299 442018511 767428543 163440325 887072971 260745419 73449769 228568155 849992047 396857617 155729537 837810223 93526113 194453673 546659705 828814253 481320027 889393575 805308943 850145231 75143899 394838567 750034823 563336719 773336875 910687559 469493613 648175991 916122969 200166453 512042647 337346451 720506175 204759331 999601695 585514875 258911613 673444423 463912553 41978571 433241211 282428649 538715171 690873003 16873321 776995407 565412159 609170633 695626561 533722831 44227069 571795547 130908095 95578303 614980061 913470239 62809713 623902085 344237 428642397 794332579 921584265 303866755 511644641 519829871 777958973 406949817 199008001 825690293 708461341 356210677 899778973 477690395 895158955 32886561 724305177 799687445 291933295 28152691 558908263 378137819 83064573 897972069 784511993 75080041 938504433 138789055 506259153 390194315 294764009 509323 477953907 704859857 730157459 950718749 49512941 194170515 117013665 194000657 87355863 324150511 281471435 266679373 63687501 191249617 295374035 296993275 134445561 860455911 392695687 643049617 259091461 268513193 383585973 800507595 914972969 477459543 94161211 119851181 665670051 446336507 181057783 468746371 709607737 926278501 957938135 602124259 399043131 35104043 488190157 236699813 398334589 634380977 976352465 533668849 581616223 445642011 670452709 506650419 988006855 806374493 53214743 235134749 613070627 219179051 927053429 373371567 566432359 909937419 64473117 784561193 378839573 341315391 568869679 598076441 26421809 734973405 335311317 92872277 601152329 793014201 520281921 347179255 171001205 462526069 583794863 223260515 681131857 347981177 528560737 340843335 492354823 556381429 132896927 664204183 958666561 206344419 436690111 763366285 169422903 633722881 183697431 698441649 192372391 640044761 597813517 892800715 364249305 864431289 412866569 824145651 406286231 211497147 43257469 883201155 208710973 788160191 743578599 458873633 979684005 161274477 606723267 952481975 249837111 20100149 236292513 976815227 540093151 242838607 447008271 35362793 357610775 59387325 375799211 554635717 511792091 32998213 444220181 974517019 996902833 224853625 446674679 314151999 367908775 811812529 939846403 111455181 158230101 295711757 613963509 896715179 286005975 485248627 726795663 403247621 567226327 352540823 187687835 482080845 411033727 368038639 288569065 337034305 598297991 320499901 191111511 295024869 589104685 171740423 545265605 98925957 669359929 68986271 432069405 998801079 7407095 595994139 133930833 179753299 10964285 293393119 194279005 536867201 419591275 244017679 220280643 355749293 579268711 510413471 999228685 611092875 534774943 52112709 637688779 53664533 716245513 704432513 165695387 371164563 552002081 327601821 922865565 708788365 232299507 364931753 128742139 946254555 448426759 3370363 190846951 869304215 460469367 83134389 811432607 306303269 333556193 671976383 686657631 957599795 126086249 407413451 117441655 617915061 469137343 915700175 42931511 72297191 85758745 486317707 630816503 341744715 881944119 640287879 267098397 543678641 796395611 69545495 304518929 124908331 133434711 372315471 418480967 785053973 108093569 831311633 496726583 591577877 74821557 108661253 908718437 255174165 751083099 363855259 730007643 965676109 666679393 491768077 643521449 436987955 935477563 790120023 727629805 86210961 313469163 645773639 299263687 130564721 986027253 702205545 491095009 816330793 625873257 345999383 516659695 770197585 636719067 557854065 50250665 792604113 945251947 923153759 497304787 955056085 36614845 386712977 213240629 588258511 268081921 339406207 424700837 813024125 177710831 992327531 569481979 772239333 100506305 433647451 548906265 495546447 722670657 39437345 676153833 986911825 236344763 206722131 426962015 656328137 277613829 466126677 805788531 612209115 151188095 132084813 611711785 900173809 889330703 691556649 997782409 997106367 72739875 342278565 68697001 591405893 725276849 82579521 356012193 58194371 108492855 495579971 331797651 555019465 550911675 686558139 740301737 928871977 836816077 478370437 402450711 947308543 5261441 643714365 639745557 433055151 437028983 652762959 80768231 640214249 869817555 285091559 217038807 840275099 403562053 534095361 318534199 682678279 1150725 88446299 574618463 689702319 727860685 863354239 350103477 884653151 160628455 23586237 808762275 721402411 705836319 724157227 479319191 557370223 162106573 389291947 672790545 706611153 363862733 499950309 674010767 596222269 465891719 953512265 142608027 693802725 476465129 556732689 558753227 573210695 883516009 364641595 886487479 395710503 257840133 146592401 690565889 661325201 932036931 396058785 79062611 132883675 603063603 375374533 54330209 779408029 324659817 737439005 607508451 548219583 392278021 750667665 483086493 384868205 161920683 876055249 202731097 986523163 645112717 165130069 430507753 388388995 876761949 38003295 845692967 141272491 800632669 540892919 413507829 563767009 648905807 972337387 921443389 461964981 643721607 662575059 856906227 891411463 778500053 884038675 834969615 428566779 890747549 600265169 582791573 579894267 912185025 854712317 927201679 453674685 330217905 525741903 870551055 407162171 396072547 779073863 516752687 925078717 581950037 595309873 751085585 625007309 775129229 612964119 477586911 178573375 652411547 653433047 119515341 11167791 414505363 339303693 128220949 346633987 949966613 597474853 543254007 936965989 531661893 806040909 756708543 731213643 45249237 582504317 158373309 137284849 838120439 824965237 864114511 633339355 9105773 1457087 86157525 549108181 44424827 527897001 330760635 35240435 331029743 581053519 153871985 978078609 71300641 554132621 668402033 123152725 771175917 200037645 960192063 5375531 728308155 891461441 427049573 678642757 374822265 264021087 693978741 159476259 836417181 918757991 818055433 544741253 160260389 990973217 512400323 625986169 569087641 388112673 263326287 10610259 788548869 125854395 567399259 75308209 264557055 453962513 953369511 681122423 998132135 150461195 106915057 263402191 934035361 449259097 398534917 335188525 499961887 8311413 903430325 752546129 542002389 667116445 865125083 417539643 590341119 282519513 971071321 120450875 990383975 569763835 40475161 887183841 490789721 962021531 946108943 29979149 89248173 855129881 557465653 991577827 117481153 821651613 743867019 409441229 376156793 565072663 740644637 110962049 469067589 743699519 909947645 435942139 378350363 357945495 974226757 631764095 3168889 422005349 390783511 782985879 445712743 457701563 473248671 686232859 221356145 179208817 281059085 249052711 47478189 138541351 393855899 154036509 701237691 770415171 123453325 647107497 519385281 563704825 471053613 302944961 370349931 450951743 18223053 658140577 420588019 595516375 557075143 297398477 856420627 26946887 415440511 711230225 279695125 282079 264651099 976183939 549038791 799754427 962770641 517025659 160733309 125189047 264302171 638739875 85556501 366625919 727281785 117069537 508181751 679027071 880480695 298200687 52912403 653647603 284328871 916190661 914180059 950304729 903758819 966320553 432658511 299649275 976052493 960175401 810378487 19801577 462534609 498564757 699259101 419414009 596662239 690965133 817910941 378919757 929580785 52551413 103730513 564873165 910012877 861578743 434909089 316831787 201325881 557165321 351640249 61657307 390785289 55128037 241068883 505512737 173324055 452158867 806155947 439384069 964444229 382558555 332899719 120128853 275585919 962656213 922944309 154843307 617527477 681741277 909546637 595682407 911427553 216391571 855340269 463101105 859884553 346681705 7238969 714461305 483290163 998853391 745904865 851517561 776276083 109121153 178037467 904034863 499725027 309023495 251689639 476145891 56355493 190857771 542788423 787144871 426795237 723890881 277593165 255092563 314077651 625404903 423671503 852957575 431288235 224596991 819191401 675354025 479671213 387585461 513806915 642964205 821821221 374013185 375344649 819390539 701748837 777741339 805609717 95937407 611506119 663413385 54359235 472834581 218217647 537362967 790914745 994763869 856738435 479976411 564997287 659224687 207197627 816218415 259464673 199962409 352081611 390687927 481758789 860289847 958231355 17670497 709764925 506028551 392514193 338795871 718770355 261650129 949864289 808842033 164428319 226643349 349942853 994558615 826226561 569007133 996671711 115335073 397451355 795891449 531413211 76710815 31853759 176655999 679486185 968411697 955665475 978495441 378159557 175060027 420885251 13472217 602377519 237886695 127111847 525393475 50458869 70157483 589744989 297434251 168607205 76813891 493767385 312996591 416141019 641502641 904831837 562999161 576115641 119016261 384938671 249020151 741481067 264708753 959798553 213480451 715375585 137162611 243016309 599035901 248354583 295557899 714305313 204992015 526802957 813463755 975309057 546321445 335401681 106319203 374410375 649815033 813869681 731367889 789381541 852161549 79322633 88138841 483938523 635989673 619880381 395559815 204437553 688613083 92985267 65912623 354855987 637373821 833170721 862861167 590680313 76721711 232413505 950753193 712694559 464706649 497114709 523750795 334119117 114555947 980714661 186340359 49042609 877972893 172487557 938027613 11892481 126785905 816358479 689325837 938859643 714202157 375091559 34138853 506871141 82853155 844869429 749351931 87355535 741026667 310549291 490992297 812023885 44557539 225516229 841914515 239085437 236325687 828868227 629314471 735421577 192302805 487403763 147818265 277173339 958296565 993287075 868131427 281887085 365558169 197797935 72528461 937888953 951609991 46540603 529926623 849863881 532097615 580008301 748425073 791376553 684045389 570968189 175694751 9049329 959780509 776517151 416486473 690641597 315102507 971165467 339924383 333188789 103520419 603839031 335307541 566075911 297524097 881910089 256442983 263035241 26394885 998957095 208608409 206931481 505215541 480317877 780258039 479359197 407594209 794010847 887943189 573511429 613040803 107552151 100227793 858490213 257773533 10394579 39802701 148582749 871653555 15825051 875485685 97211859 381568535 740094709 372377727 174628915 593128131 670651127 463455977 113166709 448404021 554140855 621545587 233881881 74107831 447305563 250735275 76509731 220837207 973303819 648212581 325388321 409040623 207262969 631160511 807528491 665997599 206375521 559139355 901187549 847917135 660919683 220572967 842371167 813027247 67740077 626384855 101096287 765116473 912698669 361729637 69233683 694880681 238632543 447178327 149859385 465633677 817329319 790282107 518206745 161185841 357778797 414054115 669543037 767526831 938052899 88721899 246298049 531749095 852052549 675498295 372611263 102715007 708783189 35619765 921918685 486303211 743147227 720206745 38305293 707963491 793705069 249337695 838579137 534882787 133565345 116254923 643581435 77215799 822450205 697833447 164815935 935094255 306311561 238441995 582591131 796992355 31814807 599378643 38352039 184293811 390214659 266301215 204809855 856800197 451663759 834455585 568285131 446471501 378183427 359765577 973336761 543872449 116546357 594611285 921802495 776745313 146935547 101637193 776321245 519763511 970794043 668169841 601393173 564052243 148900061 692620897 362188025 940197515 831484371 527535095 690153821 130956803 463109145 887952981 198408097 729964703 659362225 71464679 855722411 320878675 754037411 234740325 453352423 901376723 109225477 560610759 727404623 477726885 159954669 571225939 893268831 479430155 431585665 575958423 313510173 184651291 435579369 149151331 989878807 790872489 573779799 178367959 570894949 540998743 399837447 358858069 433787555 584102285 161592123 921108107 739499257 696473981 810431037 534552685 652590103 120400411 94195549 241274423 130874927 801181227 485825529 755225195 828353025 463653429 946852975 875067353 919876051 254465415 564388653 20116627 137222261 114389819 886187429 669717749 306157117 232597809 610360143 471979171 412024839 10432785 579546287 86684557 361444409 765613387 269954637 681260771 769858501 971051031 772605887 242242593 282937631 223191159 986855579 800025103 536317251 789442353 596400519 799584695 988868283 414494679 802215211 932601709 147814037 676517313 160079673 503256015 602727781 95235855 451944815 668231871 455264841 704372647 947420809 456335465 566372331 641013309 458572631 843419715 936751477 657722695 205161895 220392457 277092767 120379911 365414231 933621441 208050599 930515331 302460743 664604083 779748437 203640205 104681057 296512373 876479221 113460155 538219159 987147493 524770397 916124785 304371175 256750117 628625901 821091795 723266893 164864931 698144907 833735893 337898969 320400145 663344549 269415981 117459355 373396591 416129583 646932827 397650603 120315645 822210475 38282153 900178991 18154569 458095389 191395111 82760015 578582825 358871573 270095275 856723007 409202359 528635303 704063959 157093687 981601625 819998577 270818323 849819003 227769273 819623581 957119889 56342611 206879181 425834709 292435271 697962517 258543055 121914193 952394485 535987481 228259655 580240847 5446179 335866047 299599359 70229911 182838053 65798263 361600779 571100277 289046543 483711149 166077383 308763585 786113987 381947871 759685337 982525271 785185001 265790351 973958443 593084063 696171761 573442887 765108467 115249541 490974997 606864791 893316781 471263107 529358675 684571933 980629533 257924757 168980851 137272697 892149583 386859073 459778055 567687765 809447319 939660951 121875815 230257253 998805651 612577579 119403699 282036321 148030757 834459675 151043795 549723149 539967609 83190545 89380727 798824243 861334279 221046839 160381975 360988835 824616839 597136709 909382901 448943419 794445311 601238651 762709015 479287515 604406459 156786075 337686607 909695341 373496145 840740089 504566323 988966885 811348379 485287013 639088423 294701371 822260413 619278401 638676049 926589811 212300325 479516787 578562975 955322007 566136455 803480937 106270413 645146039 937651421 861761817 672028251 512582129 33356143 237713409 70396047 656336741 669535429 791773735 865996923 375099453 697844919 141159451 592230645 656978861 286063967 916960753 700937119 349378797 483193379 209580615 983435235 332871745 841186989 374975815 832409581 310884339 542646771 135469467 550096313 694024021 586645297 877885821 391171077 916703169 65493227 811966375 299557723 617161625 555533291 350006883 14134539 973611847 199184969 665779837 622170155 891147839 723348065 656179277 829080221 920827385 655882197 334504623 24839689 426173177 963894929 970709003 264522977 161758665 796630987 243806031 207688537 836754937 83160321 376387825 992618101 826669351 734400755 235712495 782755069 618325491 309077679 671072463 313689727 188074249 269393545 129197217 698326101 34058263 294351647 605821945 205911199 818136285 225314899 414267381 330602309 767791641 667716179 785669439 807875831 270932629 522974353 434422529 422006829 397322279 226592461 542082037 301515817 412883111 848929799 816383829 393135091 917772023 312454541 217829355 204116313 463494657 534829045 554944771 407024627 848118713 952923673 178452341 182725669 456100377 367119389 766492829 151159829 801318433 94104175 969077603 753422003 24277213 158262467 889954101 235647671 628106333 383664917 602930953 720540065 665401023 494501031 444763229 973796541 108645155 988384009 283691065 132283925 537653429 650983181 314755623 888863623 540991909 119482831 542362435 629804975 905437229 531607477 572418855 516145401 57184657 561096553 970840825 171729555 438721307 966057185 746659435 921617269 262603037 487117401 629253807 4489055 244699633 562162517 173720455 4615131 593814265 716616097 574173239 731245367 951227807 739520081 388983949 534910863 40534615 128667843 665421281 125593535 783335833 54792089 813865487 422126705 801649387 236157889 765405311 164669719 186727377 607996781 943270175 754225895 787619555 6745371 87675749 352438241 8854201 808567951 227214671 743286221 198092021 38312919 512705125 709793599 683909443 664409155 846059185 79679115 419129939 386539379 241432015 526702803 965023455 463005769 56560089 442459903 518856363 841624563 140461685 666989247 836787585 792336613 165356501 584162701 215026227 636552665 523731883 939199399 211992475 687533271 927605817 447707925 733137819 465077799 381985603 267450537 247551007 839865697 920912663 276236027 240929815 599197279 326040461 57672555 993720957 703091271 159921921 248890657 462180693 265170051 412202845 634734605 816409257 712494537 254872331 546125287 535946635 587252499 315886595 618498353 941095189 798992041 606128323 620690481 611800937 749614869 641845073 868306937 413549235 743592491 726753341 309753697 92866595 406325255 320331677 311241225 230626547 459070479 818140685 422365527 696094057 995889647 891773363 270714751 681849803 495521433 756505921 84011127 582000493 53499723 55638763 235400961 147518377 699463817 37909357 31381923 359684321 807462687 571045137 145642413 472035711 27219233 894190245 622361659 175029495 92176109 927313019 258541353 277808835 909892133 930423671 621807139 985274211 575097527 712344571 1155477 84114787 882893269 245884663 969196475 238134357 564518655 152685283 848010131 721042899 321770741 425632441 718618087 601276545 677004485 351044353 802294855 963159813 58782917 349285579 826252809 990457109 829251983 428084397 767001935 894981739 246170887 805198787 227106817 668651463 671435099 926437043 390512849 395418613 547314175 163361455 56367667 135158471 974105263 917665387 890148715 850121751 436930669 411552549 65687937 162688199 300496521 120875939 988610627 283967427 542648725 885512499 80194379 213911803 788191853 953757869 323108089 474849899 260116279 236013423 127073141 417738003 713662557 600581213 98813871 395897343 693055381 307025639 811281505 662507329 638298331 233601539 763958025 860595443 242579827 561603377 920287983 304817721 735362793 142253939 411921957 969567289 83078673 972821595 40910467 444049705 102166535 686312703 869990569 359673155 500408113 726825723 932158205 711772103 843137595 234101623 197848243 802427905 683407639 253411359 625517763 400454213 716918275 719984173 982379753 632291561 393712261 200555869 220058289 419034961 504069733 971055349 283343467 732050665 902681273 266333891 560167471 471097377 596826847 878343199 877873371 704701811 532513145 520589031 552410907 514707045 387826037 3520639 196560989 52982397 832939783 110830809 366215129 392306767 832719017 235506535 380040591 108127861 432321571 722281513 553615689 117867155 596312957 283776167 148851607 429233743 357778447 436495597 315582159 989857889 33983859 172292755 895114771 337361277 4069519 811605429 301749325 330014059 467092621 611609083 796548393 934863345 290135523 80787857 729100323 257821667 29138763 279258161 808279417 82500635 538855117 796699671 45524789 602844797 447103155 720288521 575758885 826066671 175374481 509952343 178982115 76495465 681888835 82719445 785586383 378440671 985656559 805123555 603330835 818657113 310830591 281392741 970790299 261491421 804663851 540923595 928929313 835414399 183305323 676341517 494887719 817954393 642168581 589662629 587718901 623520143 582227077 628956317 843088025 330167113 938396863 568036481 166900973 291406009 400132561 525525353 51643281 282384667 623101213 189127153 975445485 893947055 858227279 864638017 966179889 640458689 478348383 276817671 433343061 924672419 491344005 598238839 718048539 195433905 887444295 659253587 723233033 446410825 73563507 178752481 888368497 796643801 514584857 366039275 967719787 835427281 617865369 588545227 281498327 858271661 831960983 45077087 827264347 660090863 455945725 687002637 862849387 346135839 129284863 543845569 682547517 857149649 731639837 766948083 708697043 310752927 379494935 297414051 178349043 263247661 94166013 646994773 147753773 202139939 580006945 624645399 452858077 655722035 969467167 951434625 350449951 219727385 389134557 289573807 82869215 904173461 985334661 566143049 658040265 832541045 188653709 790385789 51240281 522415495 812522929 717596417 901456335 483253671 500938741 935723283 237734449 710688953 496208549 108459897 53588559 487933349 317309525 628116867 385022403 709554781 283930593 157589509 869494511 937570525 35284847 263637599 149957623 398345253 152670059 747243381 574144461 395951939 890993543 818205881 681882411 697489989 802321857 101104925 798721423 583802695 414143837 475862563 333827139 668432749 644466151 804459727 384007509 656095711 841592885 845339823 748290207 818890447 389237089 141600987 16539841 867096697 808696271 915823343 490532899 660276767 115921453 360427027 232065525 523855625 270429805 808168437 254705457 521234827 498137295 636152779 122178965 644548097 708128467 304642899 373772457 766880713 844517447 152529875 430890175 693933137 457581121 737116443 195148783 937183755 2323995 32982655 355919129 773166959 75395195 360487391 131342051 713613311 183820875 165253281 151179457 270124873 243381697 657473713 620913131 194690011 887049047 695377801 84831325 73323601 843265749 927855397 419186147 468786255 395258437 374940937 498315533 897329021 64409851 209392969 609787955 572824205 401793171 912583543 657554037 215618619 346262515 662000049 785336505 740863049 93166661 900562335 611159219 923655295 103459839 196397935 243076057 297571251 223483869 922590423 494314603 266418363 316703203 973248533 392143475 215054717 558837853 437859057 571847873 354993121 674005729 769126839 852499947 915220185 320890695 978179133 267239253 365386081 823898807 202867427 751087139 984556923 328840349 587893135 822323273 644751151 225121195 897324717 37441403 904697235 631127777 1856055 294282815 912471997 76941439 153103527 794993367 965545939 412213523 700058119 17061465 813537277 725495923 227911909 872855449 167865711 78482617 749226325 417211449 619664225 650890569 206734325 613016481 226292757 210078161 290155757 997455363 360946137 316320069 779946731 16172371 836209659 450541279 534144037 568309845 354847193 240024359 460018523 395259281 456691667 736634597 283233999 117158997 312354899 813582897 57915731 296209851 867231435 810684773 700646715 584383395 217959095 179164711 657276775 313770421 571290777 281015905 218342461 81961569 535056633 54998345 619853483 98644447 351884653 879348315 145947429 549465905 615352203 653860955 927639213 758671645 450611705 710416981 939749831 372593973 907104095 493472413 974649731 455538897 202893681 705505231 982200949 872328209 187750887 403261905 731713979 372082395 77180805 496376527 165374973 846778339 372539155 621021755 654550121 202914207 440516711 382228947 727795639 165952337 635758423 354093211 455541537 412186111 183763657 297981919 443151217 189319547 693564325 48412213 994658289 8071003 887196127 771069045 629268861 289060355 869279087 933217481 39388015 405261719 56189785 642141079 606790319 767385355 406661797 629143705 921938089 557459221 568457065 670645703 119871063 10626869 353975227 278161001 403030837 234536117 336773825 521402887 564365385 627640229 714888611 504615289 126742819 416352219 506392213 971731929 151443669 578249209 992872911 108147595 343598851 759248489 186296981 652903741 43322575 746699351 676622897 636840675 536067563 274127551 683687155 160150713 552366473 466297183 223965497 271940673 161852777 203160511 311017571 680738123 105490643 160988723 281046491 110475497 639646099 935780047 667817491 445534327 336259327 568415349 192573321 776323227 213262071 507444685 672716217 259726399 160602849 14287943 84651571 304459675 406444715 477883165 847752583 174283047 650788811 224242253 691710029 422983335 369165887 115255711 140323371 246525483 753365901 543156645 289154251 169496327 54887875 177008823 934941403 471609043 525360761 743821813 44299545 712142455 193085901 195248199 858607431 328581919 343810405 699520349 441571631 430610749 602387821 370273967 109056419 168667025 667208605 320902271 605781883 388615195 963507765 639327443 405689501 357625641 323355383 98879101 232268529 959698001 711810101 730732563 851909995 966920555 748730821 402638073 37738243 503771041 854131203 544535637 246740925 469932123 484546775 411094037 684971427 755588685 812899503 209434101 993200583 315736183 53522817 96591477 612857665 827704601 223923659 910600667 979169335 84618435 555678611 731770681 378123987 236933959 402799463 751178597 798144579 612453569 191892831 478228481 497018311 59605653 607262745 201208951 231951261 355195507 959779259 189237491 46510095 556574027 602568945 634761585 498908787 440508505 244362227 800147119 307969569 278645797 528571777 313211191 337490299 309359993 586378719 991626329 841191659 705068649 329084379 371782443 93337573 52591441 667900363 557498255 780670945 29496791 239089809 718963501 189078883 536320487 923208335 116250231 446056693 320274611 458366131 214879649 978232361 422428601 679583607 790776239 411870873 502522301 263071703 832481641 445757159 786534347 543582299 605127261 827694013 319223865 851674637 847602661 274166991 669366175 567795079 534363169 822365141 307312101 18878439 944083705 277726611 143079735 227858899 717934877 732186323 656926473 408295031 92888837 368694631 393239829 307891853 439178227 599826215 750067809 488731471 868126447 220814073 233205819 560200583 932118983 308761031 794233139 860236417 232205331 777176449 511589417 550742293 513616439 393245217 593751873 254693023 324923481 122261163 662592229 38022151 363254633 566837801 815041739 157678779 34771999 357919917 628457709 658421169 751507453 437617745 714965139 932236391 178587721 565578295 411458887 229484005 997648147 209093001 800321501 255559093 397449271 374270587 430966129 242317041 67270737 349205317 560262249 868500791 731755469 212529451 557051759 439422893 858572249 482927991 464629369 815379455 164137325 65007227 904022979 295268199 581145161 92843665 600736977 111255967 272124407 963182363 846161775 827718641 866012871 274161539 708668593 75296299 173775567 439504445 889483251 449184159 919391985 486174147 288333789 272000561 317022165 665200533 550955861 902305603 535770861 200163135 760939155 613992645 441777007 910810963 399825429 988489261 310788955 130219115 214750107 866752889 450564219 969574953 740674867 558898223 224457565 82903095 908830771 766437471 298577499 431893321 415210547 324689309 968345237 545142807 386987549 193011721 98076403 226466919 561258265 41344841 414452005 464507391 509396379 582727563 259704997 465895345 745707619 617862787 365836209 621776987 193887089 467501683 603545681 308106719 101667093 159134495 976256343 303897123 986345183 374313685 424822619 801225757 122253489 432908653 966490557 208154821 470350249 923091779 533896613 361224225 475116343 688866879 243629315 111822391 438453775 39530703 199113615 76793883 323003693 876581611 995002315 773462759 169965781 231888653 738537981 23481021 76052881 59988797 424618295 27746759 515607355 812943883 192052305 703194937 984559593 706019211 649995499 285328461 995855107 158988381 220531819 176206659 136395827 514942119 231885573 767517799 564596335 643905303 217358511 273772299 773060851 402199009 464016939 374872713 564257347 464611783 7404543 145186115 525925165 663270157 777167227 763821989 120870849 501495425 743598011 174571807 495689311 297465979 508021915 777124139 790906025 4110297 585308615 719161933 187570315 761069311 998688171 391671569 514282301 476844253 274247811 589894917 7091767 750568425 327648077 505414597 322639425 615075619 806156499 119843827 643890275 4810509 78562469 281234489 308288755 330006201 777379865 307490891 443065999 740289723 933626705 894435299 91148571 250170931 893812789 373542337 983923393 388712391 616970103 196826289 240886519 967120037 437686667 964887685 26232695 769036163 942198197 245255447 892108617 516589981 420689661 938934091 171275189 178118589 334151985 608593415 625442131 422374705 544603627 726234945 897359103 917785805 32112523 209459443 908353241 205702639 74876473 925358109 575266131 934727041 40788197 343739851 805795869 848588013 333997129 977282575 241157939 437826347 597710307 729170181 584144861 144975289 507364603 987234251 600384421 319616927 813494691 871080335 86328671 651965545 768891827 519274113 228980777 403826477 912633803 286811867 997271141 40077707 486200403 38321635 291414209 288108713 131066489 41176287 74264367 936733237 899849531 458275875 649751021 154629989 780066899 89810953 591275135 934851063 828234573 831893491 114309297 70572337 615092345 543264077 438457753 946332385 854975983 967335047 324652689 385317983 577000589 643364381 594418749 342662537 49990399 571985295 113769867 107002307 561371827 538130025 917737133 568341759 272773857 301756733 389927971 536826031 483415945 662186151 370638765 462038739 821116533 161250373 828348763 565345523 717740085 315414469 28030589 681081115 989822239 556780503 284215477 958221025 660513877 358270775 944742113 583443047 776332993 976432549 879972401 965464397 665913359 766236909 769887513 974007239 965206971 329449953 135454293 693132681 213722115 522889563 681639399 687547601 176925425 253332799 400206367 669150565 557308755 974528373 848889487 756521877 399525315 284675311 409124629 472123701 249354145 855948969 250396881 265126051 183255063 289841315 155036469 109123017 342305553 420602089 816890609 411403537 375064649 70818445 218501891 748317813 699207745 448432811 299122607 740280943 567638849 285577057 822181761 438747401 297128535 702684381 506226765 329295055 79532637 633889359 246947889 307742679 794373363 443803891 816585871 114404547 756834689 682918153 448053013 682393013 690459703 692589279 77117621 56310619 896524045 308518851 437656751 384210415 434749637 723834641 978725251 701867565 433626597 321847083 789121023 31476315 835037631 568204413 73614393 800419657 694812523 719382647 531659403 338987851 36937417 646867605 482707097 179832129 700873087 237428569 731389009 574514063 738490369 492241227 358200551 825237799 733094533 998121983 698995157 444864123 381156877 98828049 652421091 437569677 903534943 702606623 793106971 282554849 541958157 153620695 811453647 87764869 528224109 841192425 258263201 72327183 192078241 332444177 834468719 478342817 930587795 830168593 27402603 847723485 396156145 628523697 417179653 38378739 619423025 912984517 282358521 705639575 812066457 658827049 885275983 803230221 859126829 463092155 410069073 667451925 262032317 34786921 431057555 252234753 438812387 70909731 320588531 677697701 586013185 157454309 517545363 219655009 707805499 42275249 160851679 381449497 164815747 242628495 40197775 280511295 562062227 184030099 945834651 351838405 821301481 990241753 126458441 745540909 987720911 933480319 365234981 996676473 500427603 891213235 331619843 809403709 512817231 234932901 418094593 97744265 307489379 433645201 821481857 232870913 107098103 731661497 780662577 91376071 371041339 359118949 158345989 684013195 352167977 895532011 249272119 54184323 250219903 612140961 410016079 967256685 424915909 503861485 438913813 928922255 550002509 714929975 507571617 989937593 761646127 693751025 844296269 630388543 626270027 272436375 178356669 963696897 332175687 332191145 824902879 32790629 333067159 638920117 511267303 521289047 985693043 775524681 620484945 638489425 174871767 839068419 183770337 210345549 946847633 508830337 271625377 557402581 584833579 720752497 123313129 117506551 742757123 280008325 251088981 375830597 375118647 760778869 390847173 378272995 998253485 78425859 143647851 262035827 726957593 518273533 220382135 875875877 717817329 267929137 228650343 334091951 803221877 795727485 130947967 369545039 386617007 520016575 162316875 510804429 752504431 184243429 442546015 539593843 375123275 660809697 699271321 890533149 937131687 768238251 649412379 560603685 451457447 463580997 311641171 227293041 654527039 665253821 174094067 145379187 830829603 497462561 38462969 708632093 794488281 268634255 629948841 404610545 61881251 730231845 929844369 320590067 168216727 141982225 211085441 727010737 194352009 707826053 931464089 784853571 537344539 700737977 839924029 877596999 21952437 323567345 263211797 849954529 235804297 677644661 110496795 194946497 401121931 988937883 576853385 909577245 212717183 990162361 443422689 176361139 153005293 898312501 373426675 201376715 769970467 711008119 966131665 133290033 386295355 174149105 143347671 304725563 551525909 876488735 702441897 196555977 809765465 615521411 23594295 848242241 178283383 776564135 562388401 216041873 925478823 243196187 34456723 790030125 757517803 852059773 10218149 216448023 32124169 150244459 35598065 619195603 729652883 957795733 260301259 415943279 109333985 979156391 697659857 531276163 288302355 683771999 7177445 498559789 420281871 411468927 273317683 986398737 722213769 328371407 909852209 583445855 265815543 246411045 403232667 166204365 719762587 546219353 293240439 585375899 508739707 576318027 359276045 271941771 688158057 118281961 651211507 72570607 903139579 533427493 173831175 581680797 464884117 603156215 32956267 357164785 300839259 467747171 551081357 27404499 975755073 516316531 55910943 121970095 960918013 495250231 907546401 356310655 200271631 421469901 322684883 160790719 471206849 412192085 352185285 416273781 178526243 206519289 954750407 184887855 97086475 53735147 701156089 428840965 421230619 396293735 815484351 751855765 763659453 787514799 138718403 703770883 292308253 602124813 978663931 573592831 817467959 937333713 43259809 338616257 464415177 993566553 23693629 976094467 220933979 744502789 604107417 209039887 360619841 264828735 163245769 325083825 750821775 898237307 310927145 543318079 26929959 438786353 84077663 756742297 744558257 791271909 160404821 622055717 976571805 568407839 686226497 336616401 371525925 445624693 697275807 757636115 153885511 120781695 977734963 309550057 794182091 2577119 672019721 534621401 912454979 411757375 411299445 348049137 672812551 810940241 369022229 630783433 823061815 698986963 889867723 144014719 86199739 689224835 981354947 838653879 488028995 810514219 651375477 769771171 201158471 19209889 976634265 334364149 229108745 853432765 851357749 881303533 625877391 454933601 896387479 685008979 826367659 593562231 932233039 8523123 718529011 518100209 265801533 55806245 360230603 410402509 383750275 411290565 4232281 440923657 996381327 938156859 712837771 408039087 652896789 62153205 196888861 6406101 999331343 850488807 210255503 492868755 709228741 373642643 661415207 740159755 15260863 857533695 920406007 472499559 644870101 153999541 101565397 940785883 450679841 908915919 670040675 309930655 783240969 336868843 782733579 678397687 947249719 39409709 533081593 206539309 752851105 147463751 65356585 239263121 651112835 220861547 883431257 187938945 81023329 847052123 742074643 913296221 503337221 146479961 444351399 465744527 770444425 771252535 81687595 633386379 963242563 990198603 444348545 810706377 710232539 807006321 390089809 424433613 621748027 880783121 188150285 560598561 37618075 955660825 398810601 751088727 319941235 447586303 187973865 163572745 123832457 221308353 405285845 307213785 113755369 959476197 20489787 304955505 656490983 227444091 544426869 54300549 174357025 436167959 674556835 662454477 229265785 999383001 753212077 958471437 680522781 358925415 77199683 934949135 414054783 125353965 679212509 716019365 939337567 270372131 192891325 130466729 291038397 12109129 959395307 718815485 78227175 698458403 279758901 547636619 636888179 149718527 830720051 296131399 389591099 853104821 141515849 770623017 566113379 51597473 15802525 213420853 528217433 592946347 228986399 165169013 71254737 64423489 737594247 744429307 103675079 381832281 336985175 220203489 4203133 961024113 525292501 130595657 908266883 666579343 534046737 202979421 165510827 686510915 825097447 584446289 80843025 904764065 657689845 297814621 972206875 796290377 589287073 699684039 779332467 783743585 193818399 752404947 417411601 554848661 667783013 341020633 773758251 977533471 752088883 707362609 240603723 701596601 381422611 455763261 34626875 941091757 750101589 904575337 144464655 863484359 815449103 559629349 597326629 245644127 203345443 646838763 975915551 15674449 293589817 324087871 947369195 187808263 73198275 353027755 949518267 192378987 536156151 142992833 917899021 232504565 234718421 143822363 816143525 630653347 233484071 931075931 981203089 737637371 772601211 207532331 148117537 266954253 302814763 735590463 290521845 898698605 889432663 525991761 918248431 239922747 728640231 674883105 22507069 776481309 243955083 420156027 12486739 391151935 566500797 526988593 271722731 250188123 760342971 959128349 3013645 374336173 611893645 712220193 342233601 494012665 438768133 329146407 983655519 121427603 480323515 590585379 451456257 397713741 475487247 55625999 781129997 851955589 831238185 558028011 371630061 359502115 735575545 557744067 367235671 134013589 76952375 896352425 797249861 29467601 332405861 127490231 832805119 408127319 240900041 65688079 336143375 194406697 301882485 637937885 972353609 781107673 31820609 936433743 268724169 274361211 310536141 204331429 804442613 301919407 941049727 703416093 124084345 795035547 104078987 801129219 201094727 965085931 837810919 419743913 642772125 152409305 448393557 148089705 283903999 995323937 853026907 473638821 463055673 893358345 263529289 83673545 69940319 86718559 571643195 38577989 684427727 363607163 162536461 712622997 455007531 376779835 106187627 492192057 212409953 92132355 461660609 18434237 965252259 802464963 227512651 228018099 862256497 251733233 689421575 769316789 982618507 573854603 12553663 316293989 479865343 951390489 248909571 963913583 681450787 278238375 343831081 57603971 751098257 689667275 959210835 610462555 142156077 531404965 556259945 430657981 848476709 452937435 218898973 543940463 14258157 560773787 467816675 969956933 483675201 10978969 813627393 911838233 264044579 476608023 157142137 339550157 636521699 126039001 629979679 408260685 898195731 73325871 650739339 507062665 11294607 358337773 595510813 631464827 28817021 400405105 430953725 820349737 814613063 432389795 914329117 928065433 325979811 412202739 824078385 824142559 931048845 849235027 699469501 492249877 221768265 628898883 322788615 222894941 270275171 128948683 77618977 893622499 973077167 116648567 384430307 145107415 560176203 266093917 867259117 350479989 315046807 7473693 774966183 99388413 458261317 1519069 668326975 461394875 797316933 79450187 9142195 821479937 551930839 71047837 625902013 683907881 507521659 966297743 874801129 78033047 285094143 267672941 337595015 665195953 178505335 129724671 802086831 623347949 576619073 432612511 906824255 457094341 318477055 997941803 891436259 253121721 893615519 188626183 650818825 784842327 207291477 357972259 780742633 766691885 888820123 282678263 396780931 743593687 742748985 196248957 561476513 590786551 451563319 281167679 172222163 716022073 491709677 142105417 129706863 279071565 848306677 688782129 85749399 572638447 61230901 39151383 928935733 627918303 247561175 499305633 224516341 871948265 873738833 28097021 699110227 33284577 545295709 562211553 112444557 311509149 136268035 861300107 469248685 5101569 60144525 813772225 116125825 256172025 2539151 508662225 307390627 261327221 360085477 928772501 234055797 544776049 807750325 590492005 578688795 928731117 79458921 731470125 405713543 572762357 811329977 416438103 251929713 773365661 110628765 974342619 301032283 917367035 797307483 583087929 280335757 54953267 339454079 948204403 106364437 721540721 287236573 760829725 521619917 25785829 807892627 297601095 170195541 995152075 501969411 715964819 815206165 114232165 528555481 82948903 115088445 611205627 383124749 20573105 553819077 231129057 183810775 181564775 383666287 199933041 244714429 626011399 42881217 882962447 657632397 940751063 890505741 324373283 658345303 346382247 551642987 39595807 950002811 626084299 309332155 901417343 386482077 3962403 466975139 594446019 653314215 6563603 498682007 772226935 377253581 67444621 639993805 705639215 328291727 569090563 503271495 963886977 845633965 769428855 107139275 277811985 65912887 645809259 695912683 331418763 217909119 108000753 101683709 116575137 431605281 426484383 386100259 497702409 897095171 598865809 209265479 745057931 677354831 458431855 139535895 49795565 696747387 868678503 494470921 134563331 647666243 724373039 619743075 889883305 457271467 883381509 423173161 664278717 863980543 187812017 676983595 935031085 146542803 164641917 47910403 143155177 32384003 726362947 681172243 956058349 714037173 961156193 139957375 85733691 382123605 422543549 988806969 590923739 458194837 321745347 748660731 353429219 146577267 394207853 391218755 40641641 227435827 839954485 240819035 251158931 376749665 117296677 775470417 979664775 366767571 420231113 579612671 10419837 972575395 656287801 664452101 223665835 197356853 810408209 314967499 454890323 359745591 660395387 976307329 436606403 360997787 912452897 953942817 912566345 61142945 883801403 925458281 670423361 583102409 547267463 376370913 170156047 440156643 453732171 848031707 555465243 774842111 842159191 255137903 33650647 412720253 451505151 481964413 929334207 956651265 813099043 174333867 277506901 896213365 573329959 501427309 34690081 506743311 775916029 712298747 223659193 747417417 1822489 784632657 272854963 411782891 743343991 500353853 116099253 856475903 332105889 154762057 643424103 229459673 674389155 306099667 633081467 447297557 222528277 388165625 88155821 394918297 656381973 286749857 439171007 355906703 843716423 585408383 779855225 245689197 590595291 559910921 659336879 460159727 111782535 525821055 898998845 661111065 830032009 245427947 12500995 859911735 462728871 28477981 987367401 835144159 593323313 862020267 741393127 104920041 124628475 803453945 346655219 501568381 7030117 566541099 965192977 642665479 927275349 332140085 677115465 279671865 798935097 296978123 149843119 705586963 996634117 532843379 654405983 249965269 834691899 445959791 764480121 112759821 669368799 993233109 272693287 875482257 899821695 841461113 838181275 962028667 918428467 467195389 230063633 795179311 254710425 706662857 173937611 956098139 74198741 367868687 63794449 847241971 958615 672131523 229286201 556738097 769445909 610984105 430264729 416769693 426111501 233876041 383473815 142647551 250526407 171507185 805553307 299602287 79109391 682246843 174569241 214503495 91191611 12865671 536323977 394905901 100025899 407727357 275485293 281893387 560265285 554165901 200722515 455670807 964910709 520330607 745013449 146045133 288771893 147549861 748141421 182274801 865031041 598809333 419586271 684608911 975835615 116172785 141706697 778035963 878315869 418490097 7746013 929494481 185093779 73761813 262790871 924070903 917850271 729660739 835613049 297871769 908917797 508090671 153881741 556604457 581548629 928759887 933987299 803840357 158817253 694542821 760489305 436649041 31221269 282994423 346622927 891141177 707662247 463830871 298396719 722779571 358675437 961586331 599282795 796457879 749806523 537569575 321697407 243811855 287243379 1043231 985478509 664227201 853018357 62986103 858045503 538392487 314089141 474140901 120996613 498475129 944737447 800493289 756739037 953029951 602079305 363389645 135144423 764658049 187508897 459491489 200323149 57845271 634416445 308906043 694042947 852317211 460773685 238997053 624748801 703472625 772651047 30060817 643354315 599966279 656341815 101065187 765214697 372503313 431784469 579661231 934850737 473496203 732612599 544931379 783868281 975059511 972140189 585877241 197309351 696271333 158057289 590595663 221130915 901559463 510996429 992608335 811959521 749244377 351967103 309858265 810639577 245151777 884086843 614943125 275082767 613341291 855410537 351970547 961596941 823998697 522246903 851702573 908062051 451543065 715648089 768234561 712300719 927936445 810724753 96240631 598064529 637921765 880213027 467534561 862591411 358202341 536415263 949683031 287641033 50441557 313215257 647535737 659259531 146387229 989999409 725676335 477673917 98490473 758731787 467606825 643086121 49747371 182404567 654915551 22652319 799081379 144013389 345777043 236414973 598898769 219447207 644471883 413065763 482379779 833032111 152159961 763396091 828517455 1313969 130432467 199398009 979403021 633608323 935451805 267552917 60552551 555852167 361241693 796999763 414446277 293186463 818575105 884553661 516325851 691381561 332343365 108877795 390762921 350346831 438865577 279093731 587066479 633651037 317874291 507827165 395044541 311218793 86505141 169229819 711860325 567284739 28976197 130450801 85711235 189064767 414030021 366082935 412740987 147368893 914210207 512349777 672807933 670197921 939906815 94239817 291833337 864485277 948315361 610068657 404144811 29206755 337735171 534852833 233526939 36268851 74094831 525627711 443454611 777364181 869637365 901513269 156899495 196441749 989233963 298026289 711650099 895358155 87060851 832653747 290418653 869183571 58107253 456250425 487137425 41975701 928595875 592012623 371732609 322046335 238323249 264889989 273540395 933851271 894479395 612293497 201957715 222009259 651970625 37562059 499707909 397953905 780213273 807275301 835180439 183771369 39703813 285326907 788781217 35501735 357095717 661187013 426230541 398212043 39704673 335615623 320440577 639239929 817917289 646781259 769707511 83970915 443180213 459990499 85836199 696534971 115648903 198179369 508128023 460446019 558928615 449106687 788631957 254014143 429814435 338918223 108804531 373251453 296199251 347483917 8083533 752826451 409556571 113480241 981087111 862493347 827594977 453037505 103782863 416301903 254244565 710966977 735937241 660836807 628911343 830923081 223693471 721108225 471664817 699445105 831161449 577323131 449136993 333052507 262646721 759627579 126721807 871535411 216183675 929879249 476940183 256230951 743059123 929136209 697499543 8657783 247685071 793220955 526225781 269296225 193906041 628979987 993110629 751377457 255006631 448375595 799310685 507226937 841818261 987363541 474354205 437399505 212537799 482963923 859620399 983245153 618127113 391986025 440647651 636389709 428556143 688345445 197723471 517253643 999952471 587407647 996999509 775513107 620375651 435625075 881199775 721497833 113586303 89815753 306665113 591244311 967706851 704976911 717162623 512390703 208551431 453116347 813406799 20373963 656566193 960115149 871947219 947587725 49317869 378379207 664151449 104508449 487025681 14553019 663870459 510449463 432121781 39305533 41656857 440348297 521969091 910111853 355546331 599689691 295892323 536881905 476722673 201933559 546316041 529192693 326560981 628995247 414460277 657593907 723915205 336968157 420559527 461716197 906471625 542617187 277633775 268353749 628656309 572473901 78764509 21736529 156429851 410803755 439114067 447550763 127865441 91507031 542308975 322188231 664260269 511285173 987574945 347265543 864457455 195613519 577236125 209030235 724760799 538354487 813344607 872231609 775143679 429142151 286582571 441363359 892615061 717006689 53402765 889174805 325533107 326985201 41730905 43891111 565344305 727551847 492573099 565495659 268725935 266116349 164119273 825072385 991278739 518888695 433516733 977291407 373325329 496017313 625624093 873744065 333212959 295793735 779030087 66812881 355560063 35345483 628342715 599421051 56195767 816539145 685609799 708877061 392504599 485833197 815884031 923307069 924742331 24097643 564926785 688469115 400411519 514035709 913629103 658203291 803305231 757032483 86520375 724206855 727866327 691292777 359388171 998010025 538916371 30986337 217789609 319700473 242571459 333716389 435016919 892911605 566940331 735045335 803962269 780563237 763968353 728296099 552385363 821761685 665932345 870253753 784020115 91740379 274871637 16032981 894500161 92359447 745324701 425840055 185873291 699100143 847135939 785218091 72973541 963338895 58259515 42405379 465841929 790888881 356916299 504524569 777932031 24760465 687676917 51166287 867545617 277524469 828675853 773363345 107433681 257656619 82166571 97867727 841601569 643214091 47911599 335402501 669091359 184632563 799102913 540317747 204244797 157431751 793895251 49608037 840597291 937939191 566322201 536824237 840936935 586602875 944310167 725542181 214331059 639580365 810823955 20510447 999191327 25348087 709153951 329164343 922508287 979587203 713302547 996196141 829950571 373061517 739855375 688453133 463661259 246316207 433885947 884854295 848366539 819640593 247458311 106029207 112336733 874422369 20665899 436332511 579018175 140290003 708002599 952632395 44058229 234145065 407513223 880234809 352539979 468191655 969267349 412411415 675303255 861887261 890132847 776638805 40228339 253347039 545227249 826906477 557339587 996781771 485614279 390723557 14523829 835911755 123269983 918024259 684482555 925373257 450303729 96748315 917615893 876261693 980147069 433639687 532218051 886755879 75241677 861403051 644797717 571792265 283504497 78795437 443506523 707670389 246463423 687659715 256485175 619690881 922513113 623821479 168529799 421231561 191017897 669355545 589165947 823246837 844795867 621542631 837360007 10788915 881475819 581939167 800188007 662101049 806156055 491991005 917939231 11947077 775317609 814141123 927839481 625821725 465114543 141331069 412973709 506238479 546979203 380105211 207210679 859630067 223529287 991256633 85239961 105681959 72855583 903571257 416447903 182170255 684702205 58897667 866377855 98081693 985026713 726022315 142394933 443065155 444796021 60787019 566505733 724088835 361993177 901195527 827504507 352103903 215846355 409346565 481698667 325613929 998364989 351737213 547804403 35238583 625290167 463181987 428855669 571946597 816116393 259111359 684875423 532701851 726096451 999061783 317491043 793618951 511662205 977419263 974857473 221162719 432341529 72288211 386060793 880415713 388756893 651580657 925722393 824461651 72745051 418879431 30364791 37253125 135297899 163695557 120206445 952314955 277009069 272809575 955745951 836790533 633852359 824072749 829456635 711376023 762628397 991310757 360356021 566373873 241825557 627987549 58006855 683531147 794347137 197214193 622124921 584447583 9254967 823730437 711485525 326536951 659221961 812371521 533228077 202553439 893572237 512355159 349333411 419364143 192801959 688471555 901489301 854480003 380488699 543207173 685138229 149087491 230491965 564430633 122322163 829983709 708390113 378677315 908238219 169463751 877479981 19983913 723529221 780676095 531412005 300364737 619187115 991465291 490258585 347462641 279579409 486030075 835629347 688922289 361116437 731637731 617721381 277732343 551839705 654708067 230080451 496007877 759858633 114256993 69362415 931506217 433375901 453836361 236026467 829872689 998795341 457567765 512202653 840392441 125770271 805300031 228861415 150823845 693045151 40522449 294891855 154056029 997565345 889510999 313173423 640128595 196942659 626729705 392903079 784999619 937209575 256699939 569702303 810807277 348820283 393175853 444402887 970094879 248735795 566730677 76973081 6997159 319506441 906635505 626459987 48921315 658676293 172831391 506088957 207135025 115071663 324270087 861469289 419524863 111358047 868840181 113929903 465216701 584005295 849069759 600885167 424875239 152351299 948731205 246551569 852485375 736127497 83942379 195010883 924002445 622754869 807640739 259371139 848729639 86263107 479023839 64573899 225776227 870607607 267536033 329036521 455071975 157819739 848638317 98924647 712055131 726839751 187245905 101491363 582075505 419105239 307363813 987107003 500331237 524170349 619211077 82285973 849131641 740212405 255718169 388118757 916152053 415051557 458988431 941180961 582866735 459537017 202099807 963821449 90181629 802773685 48699331 300754727 699712325 963637285 705048451 493055947 363353327 98767965 149535727 155536907 249213933 509762363 497494747 50557771 835878715 568655841 37438631 268982447 76740827 124580797 311510841 198981163 910682325 800119681 418122493 929791859 216664127 966423083 954511341 124100365 16396335 914531327 509745285 712067387 807641291 355821451 171367115 257292051 827253307 748127391 688673613 490216297 203451825 745593179 399640611 652944351 486122089 257222435 215699433 853348829 917028517 233616289 258453193 571154837 882915503 927032265 831034733 345700603 362815447 105564379 524480013 331167443 464488827 860714327 59027815 535883685 964569081 350286861 468185025 109545151 479401919 755451151 288438251 822440251 245158463 561911481 451946043 966860025 857391345 88119985 267905933 666264993 713401945 774227681 91674183 418747811 133394175 567982207 291909979 593125175 316715641 173235463 476524861 258999135 175778397 183722811 395040491 909016289 162793809 575968299 839570155 231945039 355805181 240923689 399612491 993650689 969334293 790531539 238532515 540206871 958029137 460342027 253174799 462319223 465137267 430564861 93816889 427104469 427723337 305543199 197557067 762473639 353995427 745637679 621945853 182007087 592447321 410540077 337324429 617899379 241560401 364373095 72237763 878985541 683153779 668865137 264112875 396658747 856431027 922411305 800932571 850249401 259700745 322919601 534910963 810185443 337437047 754120055 557559577 283406253 632068875 894661933 19261371 911607245 78919381 285949395 533609165 216048835 345555693 757759657 353990097 406562777 505303673 63304511 632655819 146226463 287756961 693597797 378493515 706756203 512027545 979543867 227571301 327985759 106462105 72486949 663548855 885358949 684332517 532297165 226726251 389640361 429996485 8840233 64268587 287202087 811411343 426551155 525024815 545262749 603238299 266878771 618921527 866390165 871573835 233093427 669470341 728183133 165031945 296999047 722115819 868361999 926356039 46960779 995326655 855849099 588120193 762383845 174940637 237903993 837139001 366976383 328569773 780776521 568993017 401169807 888342555 487633205 724569939 444408465 218471585 747431739 538518495 607854153 433506107 801332771 971647555 323072707 999980399 159471231 918563879 815475027 637630285 468520615 135206463 824936343 358053481 789066171 167446851 246367857 383606497 135072931 968577271 460061455 944354399 319216399 248580389 870434787 377823501 254069879 930969757 6701995 33556131 664092445 917977149 526819435 971414881 428316935 107421157 846720625 529541387 49926407 631206783 494491469 669281775 790713267 167916031 181191903 880063459 842335855 284179037 150607945 732780871 779170401 82186397 826280697 412540417 251993975 275571401 834337187 542125183 570982253 793133555 763702081 932194487 935894211 388459315 199524379 789823271 345330111 311970479 207878329 641192917 875632499 200476817 126570227 713638737 38613173 191528967 221619427 282028975 874966311 482676303 619381743 385817999 601970739 445291435 186300865 147708693 357023237 73131621 454380367 206815985 791099545 518427599 55235029 370576219 620536495 727980355 846870999 945980173 335938763 756560675 85888545 525571153 816026179 783637465 267169991 389706227 673432619 565465305 545124901 295924811 594671717 395860379 362384353 145971765 581110937 676945059 850803173 135010841 418070841 165647483 86464873 102589669 213146745 167922357 901572581 792861455 920047453 220148969 340524575 437013397 732376749 139931069 572462371 47766781 104733687 411490779 630436165 528305239 712993429 486124273 782544163 300936759 603031719 971401407 632747167 889020349 343475733 294487043 52901351 930200973 881372559 36270473 989681261 722265305 646994319 741806369 823490033 511729747 68968785 936973993 557240179 447278907 319479267 98317569 826178113 368923737 864550161 892616981 888103665 129995001 611694195 813482195 360080477 797576691 240880749 827446331 886256811 512284835 244481829 799360587 521568325 631315955 103422347 994386447 755817695 168398667 52885079 20428183 531544185 495538087 440686347 151564033 484917333 48488581 44571885 822808429 839333885 92382439 861429263 677562887 371645513 368184415 229081159 764784895 962905171 705828353 21857337 439641231 286043777 988201837 767936585 791630843 236170111 120953799 464081323 351959693 347765055 339007169 165598037 629509271 374342653 645997453 765227271 291321971 127697217 155373037 804800075 208157059 633291989 906366757 156580721 784169777 822973903 885704451 279549071 239814641 494414727 716632799 858620039 32567357 313599653 581814933 788204035 40738197 166823957 776744333 415183983 740231557 627553289 957175733 673633543 877286045 150451455 334933635 796286409 482312059 539714747 517495797 555920511 12757953 594177867 930197395 140632503 991374101 979097087 196821863 21626827 416053805 969210487 610235149 535560667 820990401 312629653 506332319 180058831 856088469 281104007 633174467 194744919 718105459 47068609 875160747 652344813 173435949 775697405 915172617 549224399 440076957 153198915 184397599 298813445 225605285 219882459 363891377 878442339 623830065 527677789 884395533 816132219 883806769 356638627 390411531 227593907 580722079 821671891 778754569 717214001 808343679 416066903 215575787 25308133 605590235 45309669 755420705 816312969 195831749 824828281 364868001 638481817 325541463 149987669 347667433 979166049 597170357 262954249 929004289 141134577 545640197 804394599 183884659 297825569 721069693 701840781 119560539 851128209 758201943 815451099 845306195 216644519 112949971 534275 767339905 576869271 105122877 768343541 644080279 339681111 518575591 777586671 427484873 402872745 886226731 49950581 25119955 463708947 285645419 969894739 575469311 661420773 835636755 300158365 727025179 441271355 318890387 785524913 894149243 450300657 242316389 750062129 89375485 415139507 786481933 178402827 685003785 177275373 335082005 68546929 710087823 567683803 227982607 212682211 617990913 227048573 489897877 44227105 384347231 730698647 519488587 415082809 381593903 733595583 471350231 995722625 777262721 114205769 435149807 350457235 70556395 192109399 793667661 492787027 685016969 143751889 73585073 635480815 878019843 254058857 918415591 511997915 152542341 531469717 742534593 424766931 444180681 724031125 927128089 220898265 885163275 374598513 521178323 976291645 493220369 583336443 153146581 649866897 985479465 821936587 842178069 30593201 730149675 22008641 966135949 816507843 894895989 962991237 513829181 687534129 242117867 463496841 609101617 928487857 347791101 904890369 509316731 94750271 178770593 557120113 926426933 790658335 513664855 457911071 850071171 920784861 883017249 904434717 829414795 353927501 332853393 871733571 157252227 703211661 944292797 356542257 378254757 453040639 424234817 499417679 956460081 76996687 888294981 564486093 598921589 910318963 804958325 951363747 249099711 227348905 33408779 282888849 14931307 111529073 217249731 884191523 799486427 62827929 89569763 857693859 99475579 840181813 616337723 156392239 124448699 531637667 89679647 930858403 451891223 643013253 970041709 301642411 57519375 814869961 687592847 337607093 883598895 861872547 776447855 970294265 159245321 414348941 831353989 512629111 693996343 192929359 855141585 441799673 496429917 996958449 665134549 131317775 450445859 936963019 873888163 810030095 861231675 108268663 254933969 990899483 814401631 612202459 622371451 593012253 656459861 146139425 358495049 847976129 872071139 776804543 851608169 34828419 215140829 331076975 700004751 707145121 228471069 23775545 713861373 897628197 337842567 24857703 397098103 407113949 818928385 446777997 549367885 960637027 152355971 212874119 773202003 171042841 289483521 690258043 315912937 880576291 621840515 558605525 803483635 693921651 219933455 659402567 75829219 187877571 873548217 698050767 423003819 984485263 595105691 644510129 699998923 996552741 683271385 450998393 494521931 681204113 387684763 769240827 94631351 75222189 76394771 811016533 470858535 836033817 425860733 637296873 970040119 457373245 667246105 442788707 806572047 476233 219677747 100823995 778303581 978028853 164043295 107062569 904696407 448318403 830748467 624945203 254586555 139069561 270029779 189829031 959344079 229783721 597441643 191381397 238983265 494218603 288479339 179001949 410094795 459070111 720457039 133528483 799694309 870692843 729677209 637355345 887493659 628889027 885420497 269299355 858054743 359094365 823518603 556814081 152220435 144521403 910224993 875968835 874595657 940554147 364135671 348857457 923554691 242256551 894474741 771788509 528884941 814019357 128307469 281352995 576041407 633235241 476693499 863602473 167999349 205330095 211485567 160438041 380061335 319860835 341016679 660214377 780404307 472168635 205628033 755342549 727027039 327177975 473587113 549504353 458463993 357240865 818746051 26867545 220467687 354953223 601709751 37971281 635689849 554824259 121028983 369089573 480425603 489634103 528105727 958919675 954383461 992038151 761917007 186215231 998920195 70875301 455558261 133627811 436984527 958255819 306835839 45520165 660693435 460355319 246612363 479315209 917970505 46298739 102465463 918090973 221452669 383681869 406871345 472487281 129446117 530238303 918322729 935973349 929147289 79727945 904721627 649938587 239375669 317825907 259611785 662639681 435539169 402063629 891950715 371779785 130155083 788528913 526118149 880436851 264056489 729362237 465554051 648923327 843449785 751246105 637065811 979643773 437332675 518796535 502056931 9346493 594712465 835692783 325951909 635588319 65240447 601550305 568729105 968808839 300938853 898329717 650499753 102123679 23492527 592830491 372397307 593022557 831917897 237419531 218569109 335821629 763740327 593296453 779121429 14127873 35213771 503245461 629975321 815777721 445494329 377435013 144188239 429761207 912954879 709449587 496125543 987188119 116248245 863382397 649700125 543270207 569513591 586125961 163509555 76637913 628799725 516565067 56587891 83756765 359366213 214208057 388825005 67793411 551481397 819959955 653028797 852544591 608957691 875737955 897378951 794546195 589814367 888825209 82020851 300516061 118927533 199560555 806198003 295789195 817123771 401515165 21477507 877170243 567111657 192705587 256917669 499802481 662007581 889317409 116945251 403768009 714939843 103558685 181405645 453493573 670912981 532824743 71018241 413167915 616672719 625042439 829262109 122293511 440464821 605957969 888524879 517686447 505325595 535240537 319503305 396294717 588758803 70454209 286114499 385722645 48254267 229108209 854258559 561289957 698282683 691431451 737761867 860923553 899123265 579477555 895600245 339728771 405540357 360427261 651972955 937185299 463588545 786209025 872973661 653034777 900892349 81411981 358655717 736414381 357423817 804989883 343480165 31854889 470366011 822031723 440252505 545244723 950228719 974043205 492518467 997753269 461142091 460523193 499413931 782786277 82882113 913152767 726205991 273094463 16809797 982003225 665489231 438319495 277801555 473286349 624799171 29222601 919795189 228115629 967376945 313529177 206585145 435534097 493378635 850162643 446863539 238371865 161559497 359569437 666581377 678816173 185369455 80568419 291915339 249708667 498353157 3361815 990094913 840252161 997447009 39509751 942219285 924056185 226430297 661265415 108184327 225572335 418077907 300981907 807210463 886204211 892629687 996758321 576949737 891921883 657437945 912594105 872663035 206448715 2664849 317863253 275772277 921998503 661741443 883749739 743610685 540642787 439634391 643306677 398714561 87796405 933839011 393897259 541187317 322012829 804916735 915372053 342215515 35952357 821828875 921384187 506299639 153655709 111491831 290351285 218742617 706348187 62718447 337678429 358862741 813802625 98826289 522388055 442879305 545881017 190779647 550977873 860232095 84255599 109733283 548473663 364419137 707874463 213795437 168564317 976839783 901798663 151520187 330440239 275678159 828817457 28797677 371707519 50141121 291798123 590966125 841791589 413883913 807350735 758798767 301644091 425106429 923682109 461280811 317594023 609976191 612241245 720113253 68209301 500398063 331423135 626967525 229788215 51385665 779247933 462981441 194802443 779884265 541423157 860593425 480409301 20120805 739686991 527039221 966565793 642483387 768509469 87665821 426593987 898647163 979786743 132837045 513182679 320499129 837551357 936196093 4803523 388355219 105588247 8098865 546654643 586532531 244464885 544300321 340070425 635366467 710053135 974851485 910824885 548402427 366147239 652189821 812111495 831196443 10104771 664821159 771742429 66335845 852188469 676365573 517898317 881833771 131651987 446607749 211869873 432332099 803954753 605588007 192018733 198134537 2521701 985372903 674813743 629441125 527744493 511952341 574747497 335420357 697158807 824064001 682268379 565063967 537252061 656995461 395488197 899519217 808107275 302005635 738044599 42232641 52969521 469233957 98310019 526352541 686892837 58989215 373569093 548077343 909095305 348257065 42187875 100672351 912599239 386651399 944214407 656927625 980012811 326865537 170651303 987376711 760395345 650283757 610200829 176344529 18481497 446076835 963367185 324402919 716066983 427405061 197908397 548219853 130658705 396556157 932133093 845651793 601828139 992239231 480781591 464182729 555573079 750187395 928524259 477338135 48279485 940213005 910415163 888113309 764172495 137047975 553671759 584160843 92571329 818023651 402393757 287110037 864367255 328750683 373355753 97524607 276662553 739635889 651565119 199207561 513973205 715083919 125926133 427545539 686545957 576598441 254719907 646968775 133930537 566067127 873804851 163538349 937204681 600796541 28879563 991665697 199812533 742322117 809202917 8926285 792091239 52478561 553118777 982968555 785713947 771308843 294792143 336985397 653678815 122881797 952109807 955046901 407893375 427781849 680020529 369809527 170321557 286813339 977315951 654642067 969583231 617636931 559402445 886128293 699429737 399546581 955142841 301850773 261043777 736292187 640445671 47823057 884246975 227578343 980323921 233962575 238741349 553295507 263585855 70016653 857402489 728191105 71466555 419429011 63159053 982322395 580884249 443311595 147418359 844119509 354961909 454404017 927200475 737578407 498236725 237769597 871522077 247531925 746883 884842107 413335281 58376937 766551253 640761941 654046029 64199157 167153511 444618309 52059633 798142227 237501629 616783879 914903655 641159589 296620195 961927391 544971519 662480663 230010413 108948129 558596559 64815063 777253561 285543069 645959097 108054117 88108265 665112759 73655143 593771583 684691369 656244305 227954245 916743921 133095729 864943963 204985231 846801165 852464121 281154891 153947971 209898285 99341767 223349791 996015403 60869363 384558759 432100189 811457493 25419785 729087983 190255893 366666651 111986979 722464057 977781469 832387485 680051451 635793769 971599055 343189699 589729617 749177261 76500631 779498175 287002609 459966583 957553761 955797765 211130797 726127751 430641633 939007449 851693919 506578397 355987289 51807553 187492073 490032329 243255949 401030673 552520757 508073181 30166475 2290397 502865463 166917621 43325675 198258437 488709097 996414773 67647049 103378869 138092875 699007499 887589839 981049563 718534249 840814379 374604263 606279729 523095637 234026897 605063817 476920371 422521897 511140225 73820211 35195183 684763655 17996679 448419563 214382127 487344665 538944887 32837953 614849553 142404499 249898349 6376267 153222771 378172335 388424911 931721637 263740603 505607853 299698503 341128821 901254941 751844569 610626509 328249453 314349967 603201925 883493273 174837695 47809235 89040395 249376561 642823469 853961583 933351117 202796897 350767867 558567605 957130807 925499453 291964921 589662139 470454201 491991587 252931705 490530403 917129933 856122037 980581215 141448279 323656697 95792609 882617101 19026435 685729731 736958169 124026995 843871139 347676095 695477019 391022087 532990519 58828167 63175021 758720713 613342339 564742589 461941975 943233851 488806429 380492557 795644337 302203503 819939417 962646311 891146389 142152443 261658457 625887685 372071271 512714747 701521159 250183083 228656725 560646677 970887183 872886691 306679507 147400315 89397485 552318335 290952347 246904289 767451871 783088923 399033525 602063235 920986861 915571541 253686379 675948589 76739817 586790169 922206287 376598823 963679853 811148893 640573251 286431051 441831379 219742997 518650213 15324149 56099145 768423495 566704935 750310415 297078719 387663103 826828345 401958659 124579817 84394827 945071769 864130505 302394699 260546375 309117321 228059103 417865515 420801557 699277465 756027469 467806619 566727393 216322717 798201503 514668659 703949787 24736429 660631021 313243219 737529661 173494065 679176659 528663971 783443021 759418581 3490679 836080531 863400529 621866379 525197963 167992091 735730077 832352657 121970243 777912315 980713611 781484651 444795485 62142911 858055293 393222629 618538527 50972849 400691935 345237269 908770135 379946223 303766561 499115349 64151389 792814935 303511743 308532553 847179791 988507791 487143993 232001503 151319761 643674123 148133915 242985801 117612949 960261377 563305209 548136455 132050381 144686961 965691241 588831705 362735993 961696549 130663695 226494159 291678753 666737837 758067607 187414587 708729809 271382111 740781489 652474297 850226207 42600285 87222297 686598189 286099757 917079697 94619791 527723205 305098909 25598887 882499807 337808373 207707293 161048091 34923995 978973817 751015143 817634859 334384735 49871957 960519095 808620513 822644297 142569427 770100947 855542283 468849031 350919819 267336331 82186053 370836745 639449689 76452531 90116843 875212235 820131423 297373611 464943655 841718221 239309321 329660247 486742249 396795163 969313805 121931303 175405291 708461257 240174439 113387027 935879851 586549229 350523995 817337237 649366641 320400555 193844597 279786679 447488335 448969519 958145675 821303813 718673437 15110313 62366645 444085141 138027643 990837845 107093083 308514825 114084817 229989491 686922281 310703491 894575695 276835153 142638097 538388659 119605229 997589565 996308819 463026637 418756973 333938323 371568239 787189139 730551637 449040567 636324915 511555147 379593975 333405967 783365301 155730111 327033195 551379731 673186383 681773385 153458833 964538423 161458341 322575559 865647631 413226755 675707813 801861535 707630169 660801533 108051587 418264253 60576677 230966969 92359353 228613785 212848373 744017107 501240591 640880691 180494607 323828969 597061263 916062223 186097029 603351465 188089739 613233467 925023149 773758659 916672677 131142733 839031211 245403123 928040891 632181863 555441507 464389627 254228735 312238123 339889545 317945251 225520097 448508105 449036435 97389247 589798941 313374455 231382465 504319787 372510907 521244147 382581277 906052549 548779781 786678915 214611829 317848955 998298511 333285367 529321829 621209661 288551223 520396067 160687689 531911175 401964063 616683879 919049291 731131355 724183219 260012455 67804251 892982465 266444971 492669781 499631923 417541837 239848447 361594211 829340753 245074459 507857909 855386451 538422527 414280649 895978009 423710249 717530955 99371269 620904255 932622195 356070159 40293377 564126853 723739207 260597995 600990451 635918413 605934151 775665479 962017059 206918981 232793237 946342739 56212439 211059553 966417633 225170441 245364069 719625435 156799073 131834151 620165155 473525563 558623955 680242229 721449847 950885449 99782013 577663365 707561161 970072349 954573359 149180719 552331403 674074897 812492861 152804883 230817593 797395657 970011527 137506521 794605653 751680309 859882867 925113073 445414759 999398531 465229805 105084819 532234499 494378805 779815023 631839423 963852741 235974925 487576307 913461313 104774475 308677141 562709763 770537637 106151747 32914853 748655789 60304963 906160223 990297945 623485827 888300607 419741015 156632595 330687401 819664765 707824109 726152959 624289473 462802865 998849007 77409939 110674683 550816337 888797739 425426315 286234125 806011293 571807103 116070379 495245365 122686879 313219017 614326271 289208635 899007783 32806647 516524891 840336233 716820173 384971771 195691997 310610587 100042735 938179533 264700071 451079467 611896247 622753903 681577255 302950143 516771351 456960495 588115983 369134217 133201605 887286107 201235549 704805821 74282561 354815441 304312407 701227287 589984981 868179313 746785413 791055521 864664463 898221669 154235581 61910249 233464137 249959391 908653341 205790209 165905315 618073371 750414601 979813005 849310725 595570267 883998251 159569583 726335649 282301927 579074935 658406679 9578859 34229013 794731053 514832891 575344423 860379451 997018317 968907291 472798813 760053439 57394727 705767353 165332059 506595337 303565389 969578919 858206267 776910987 341962139 128287289 457221085 64451009 768674743 157792847 470567657 646399533 440588427 576762959 528892367 726185561 113088845 104052519 370207943 562405845 695192441 573147467 35868371 319651391 20008913 34966461 861525689 829376055 142759781 225392897 504989707 403072615 379006599 346116647 55297569 799271041 198424021 395413953 9439515 555903041 347256113 831724787 250803425 172085865 398856903 664097887 198598689 133331395 454577167 397281589 723784025 235736607 975697089 404725293 764132291 985355099 45242339 717216385 348700779 272356951 872277185 815402233 368779041 675555837 513235439 468204773 430427005 235252287 349954635 152929051 350327773 195453209 626039799 445310711 940280427 276379533 945274721 414781793 499088921 771410597 722017341 272901061 706608541 148147313 835667589 196826397 113076855 300464399 304878975 193849061 285756913 93430687 53445817 802259491 687152155 262984523 78504195 177945701 244037835 250958405 361432445 544529091 992884899 449168587 63102091 778271963 107449869 143539737 681340631 172998609 102094901 556922239 832071767 995413847 867659287 318465357 265161541 340006559 742404465 86381019 366836521 591210857 511876557 691248271 387977165 786800893 509408121 283816145 917584965 940201255 187628175 826659605 500282861 164875069 251492335 410622419 233751403 59286815 626176065 406799503 465480617 958414899 362792181 431256787 513892061 816765543 5318469 852035887 991459203 213150001 19258159 820066881 520129887 421833359 751456891 838783913 337176701 247757831 365342139 536225553 586763825 46661543 944381767 221526829 73549337 584921863 774879295 498285237 776295703 366363717 598365067 41375085 958473817 585828613 624828635 429473565 113428049 962886521 784624039 85500571 762526653 515372883 103463985 243450559 170486945 663613139 611434623 871311723 168432459 615597505 181916003 788309129 334612811 779862633 36883829 8099597 743876225 868209827 243894291 726900207 382111759 106429643 264192105 794421043 172778339 977624777 699197029 754752737 405887281 921845515 34833855 344373775 839236211 747669895 567242999 150928341 793647473 978809529 282137175 46451797 858873011 948348589 734398191 16187321 716772881 477437419 949334933 377351989 305884069 946451085 782728173 669447169 721211605 699239217 151913819 47913569 11044683 74316285 46634001 458195615 71319037 650312093 483281417 741907979 484924967 677372489 800140803 248280579 53468237 961043137 121529475 770423527 85503803 592363847 362076895 674895139 613889797 169463471 943366187 766107685 355865607 82481481 378287689 16841069 461550567 284146679 718735585 178077561 43512463 508863263 867515493 712459475 777321271 602275247 296073993 734825233 94864215 361528349 377455057 938934731 494012341 84933479 735117189 390132643 356048733 451093013 39460787 504443715 576149667 569524017 749986741 827355743 65148453 999700309 210078123 427191471 464841157 845093791 171898749 199236855 297808305 864901813 834139099 652113409 84003675 552904643 610990911 472953247 265476739 206432131 537467621 664362411 347004969 734064431 513766363 269681415 808054171 863991185 952174061 914302621 102424431 862686197 475777205 829594721 562355327 982271283 579058321 9298507 57145585 799890087 967068077 862031711 6216495 859657529 511119095 307735719 216932589 119562327 347541799 265465909 53699115 174774007 860521407 890412579 516496427 499197079 682593285 339321747 623266423 195866173 817667083 138036655 903466983 837267321 707027879 810030251 413305749 565258079 299900797 31207105 493162471 790450575 762861041 396685105 923033993 356914991 886711351 323640135 881715821 897200619 581083973 877179731 546642641 934661373 942072027 957190067 153109047 797407775 6602883 534716359 644741231 575081627 534301325 466270459 920734349 813518397 473171727 979944383 946036713 707127901 88113899 922222221 446739755 445032665 916222667 794101993 595498303 256470293 923988507 425555549 647083095 925146881 871399959 99348347 321913073 805557779 45889213 275384029 379265233 150100041 861554135 606214181 479684613 324123433 927188467 962908415 551306205 472891587 500665707 548280857 120568825 235865771 42680159 541271603 76259131 198599937 627099831 716067083 599802065 776460651 552206629 996759661 901063471 834551829 178547741 373796651 996183311 869028025 605039075 786282015 547110521 21175699 668463741 16378667 759836597 87667305 409325759 957534265 566404699 567690633 129109309 429513277 431811141 214285003 172996439 80392241 494060697 343382155 216557625 977301525 40091841 345829553 946845649 174857205 51183987 737290155 349331929 183495395 305573803 262365039 725342413 777271801 279178155 516275325 465802491 419650905 72242691 61300439 80260973 602850095 864757381 292958479 782384385 226011307 592545615 65567033 211124565 53807879 982457793 201177589 968954831 527963271 676916109 584157545 422447267 500216181 792183715 250779203 764681159 456774947 93529409 120628919 747847165 83307755 397587179 790683015 843555275 580966193 750558061 961695479 51590275 245333595 872597725 583049685 717842235 85651935 102469011 147679865 519558101 78785847 234203447 462236097 20195835 521738467 36359605 455336977 171809817 659032943 907310145 476370521 676376171 747904621 343885397 11866383 879703537 732819319 385935543 768767793 784777583 424263471 914272885 465327431 429906043 242112065 506136031 323849821 743589993 372649053 804647829 250706697 504570715 485662525 266893691 908332139 290284347 370644391 895217083 387220777 639419573 535808609 243459529 326667377 293731397 852188991 935535461 286202615 639144745 86799899 177792911 609127933 159464041 801358807 341356951 857185863 671533527 874239839 841807375 860230437 610064653 708046499 23406547 569279339 410391141 510890909 62336265 361783415 442990605 732667731 794167835 694657331 488716533 705129675 574850751 321921801 339356113 66113049 806277873 342354673 584890917 524766551 58785269 178773097 476613943 450963879 648190295 219094649 5670169 602876469 859709419 278796461 348267427 730038577 348853455 511443483 615947125 253866711 524368485 439537251 926858999 227030119 391282009 140218027 99042649 882159405 27394979 108384417 507624851 731910523 779786107 77026683 620424549 97580971 434886759 215769847 399188059 87246625 910036019 772025435 956940991 450756419 162052083 503150453 528783023 652095111 758818565 119434141 988848905 311054695 116100621 79186097 664627827 162391397 313845235 275891733 400352865 196272649 220767473 164323257 750191113 397405671 137395071 702193941 35818347 210396569 362715493 961317411 645029969 458265793 32890539 720629357 499177803 569016587 198076073 289204223 791933615 985892647 9264377 80385647 778092959 864482257 266963073 194525149 594680581 539550921 34634859 964648431 49588877 201355741 585210669 238807763 902276531 211725787 414058369 932401215 430296757 674381727 891809647 436872305 481621917 985302283 473372481 156246319 622276409 860912651 962301579 579878089 274616869 537856399 348283689 996476691 584206269 123946131 842131009 384449643 690077995 551579927 380843839 42708155 987879519 460090665 653349077 616648813 321897747 475007447 862567937 372667769 33349061 332427325 653050119 313332831 195852477 372064381 109241971 902674723 160263437 855045315 958237209 747446355 843986317 632535103 116505623 605635589 207648221 265762861 177782735 474033369 792583013 907097295 182286063 110464757 885387349 543091821 944951401 467691783 273021605 463488091 468544379 7397189 220238103 560099315 497410217 327981677 351663665 881268121 921900225 988914373 489820997 142294965 157838291 282099485 751473003 550221753 430967359 740148681 649080963 835811617 512247721 655466921 758222387 608799853 860773371 233918753 97411311 942802473 879693417 13227811 236067053 379001833 803633779 576231969 179914031 570771779 930735323 695403293 239617659 726584029 665064107 594352281 190534755 887184221 45668923 783892393 196078141 659062907 824684069 609743069 831241773 267056107 9214543 109589337 482343959 477695605 896326371 286371775 231862959 373355743 203652951 512535869 500168299 544972543 692810087 84938893 742059659 656257195 58003991 923328747 190896153 899100871 236616371 721575711 551498979 714929215 907085263 698621043 221528709 12347653 531618375 809284035 674528603 874647311 859266625 65485927 426004879 841255781 846817833 81013067 844159505 15857933 760480177 671540697 785213339 85662237 885577431 969493771 14878123 632644779 869251807 193427035 910262667 376390621 640741207 632076499 911877449 403909339 502383375 801176577 26511039 151004631 806563111 631096567 121371277 951329549 315140609 264126297 799809819 488801725 306476619 700563529 823592857 505825589 607243255 678443895 334550785 700935619 812763461 836812313 261227281 460870083 374864821 446510061 529739601 371975321 774977815 738097209 556485651 530471853 135949435 532519629 962129775 832558449 677415745 144078077 873166917 211772513 841463821 646173353 613069117 477148671 613107145 761529655 149712839 258921939 926303915 923031187 242680091 288268915 679837487 220894775 229121337 552735349 169901335 176401949 279333357 924331391 405293683 239292879 348925379 225553721 589842581 471871321 964771091 1445461 548597017 503894611 762339073 172400527 940017381 624589019 984166513 157407913 708064547 501600917 137990935 651200875 221616203 890710961 72502889 424053417 373446933 172926437 804581545 770531135 180408199 692000623 254162907 963474701 154095597 924198933 446059733 575464957 173631451 113879079 770820141 897909505 771330861 965816187 459147073 491170581 629085963 475082349 340347707 632942651 292703451 277112547 116637709 870625915 21494103 563021647 213139309 407720171 842171255 964969891 593422299 584200865 616719745 470955617 132499361 73808835 692561409 537532813 208658381 477926521 986702029 231466421 979510073 100620277 97319935 30106865 385478021 418816883 981285115 648766431 301185049 271550773 77330287 228327075 231187751 639934339 71897679 802188781 613783715 174197171 66323157 382704627 954041169 280070427 851441545 74041715 912768441 318463521 809991475 39929013 849595177 498108205 688808939 430602373 800334523 563266483 329478667 338255673 990502479 31062315 60290873 730565553 193802637 747330073 710468447 876313171 183694565 38030085 41326003 891450379 623001743 994246021 297109937 689441619 250480013 318970159 882230813 957991207 293827237 680681129 355743235 816459789 522237289 739729563 383331255 736434963 933014833 387814071 285090261 258558161 464396317 994412219 978073667 611166821 939353621 840296803 306208557 970221683 334676423 791694207 445630469 687292459 94374833 260389597 535916169 506672195 153687821 224389979 308308925 178984955 809981671 731148761 429437677 247906837 159675151 532391745 25072815 306841571 225421597 831860613 236544477 198437947 974832495 423564451 705098395 937720441 468829233 439086999 292133207 173655427 233203279 938196849 68484547 93497035 983550597 935964225 683974109 738918725 173867089 799896095 634460907 295862895 351968509 200164913 833262709 856017231 832471705 504523167 417109843 647660915 915405563 571524765 724751519 55348211 990838469 935526243 294489789 987543149 846644833 113391413 308456027 200268293 959314683 395405659 759667565 141075051 833826703 850528811 392547887 405194455 383852507 517729789 217421861 274572547 382425961 419913265 198914841 596377145 28083847 387315767 495961635 406696517 567117135 167955067 620827807 756276861 277928609 946328443 133311277 323675841 338760997 781019321 196651711 161484919 404596811 867531711 945912709 271282061 255709517 151042333 362347005 612943225 451013673 88162673 189937131 780356663 786487975 370846811 314260315 674942803 149316953 490823557 939461025 209009365 292636311 950280099 386964569 936718935 181910401 156296045 726538857 201282039 165368063 803990695 65526525 962422105 772494017 821403419 836243593 58825391 60559423 313737113 711342535 710073771 228966331 975512319 198040765 171692685 486157115 144162605 357843383 648994589 431882641 146922509 302181963 882075047 579838293 773803667 449650259 234922499 295291877 83871159 738344691 4172429 948946541 686613373 643486617 619482413 101132507 353935855 534807287 842567759 478939879 948122141 627893773 338465261 280880913 167567653 542374171 624661635 412641187 284659495 605486769 263868951 505230765 214647885 371138209 808708409 211524613 372034507 243280647 307736573 942045263 954923737 456383817 879274243 676946927 568702907 151801617 285374063 42917145 360324283 437243221 888925939 946574785 368664875 915421009 865286849 961712301 283664485 108271495 595079835 390086239 16991435 815430343 704542915 298056749 202579655 724214051 745167883 345460523 554185677 717174009 943749833 241142075 745168725 263344107 705850841 280630277 363851235 968409573 425999267 946276347 397613569 59980317 42775317 182879569 566613311 537078287 979123365 768551691 452564795 605607039 501789009 37385201 986540181 74749561 692688287 970922385 496669177 55736915 240357535 334090053 987470613 364118181 483178725 142974765 117678505 550462297 726958481 338313009 556032627 780465813 539962695 306533889 515128893 199497171 861609785 195064343 194755805 241766603 987852825 877223599 450658347 689912965 72183593 12887255 225346313 445703753 298064685 39908955 861676641 372157103 797719411 101046997 614522919 126288017 456788691 232569507 417098325 947714579 438212777 651194865 624420843 28227491 479177693 937144749 319002613 422969077 535806429 376865935 767314051 704766469 436747679 480587289 369846707 481511957 612422817 254856593 374462629 979086005 304933865 210709257 256807045 288381623 453216519 24134743 686976897 863096631 728271631 675629599 107602393 861643931 964061089 358794437 100317387 678550413 162349539 801393533 71077795 243478531 711248769 603916605 194586291 317669945 607309749 92812229 596963925 785163699 885653049 298484383 740263403 13770813 343139927 591771675 399525087 276793579 823633371 101841999 741808549 167621915 43676189 33798685 755058869 361762671 722377977 605155375 534588819 947171539 155903959 742551537 442785737 322339199 182407847 62228639 663153129 77728747 712368347 751224887 119796877 773116381 738945651 572699779 403205975 178013537 645275381 558518289 140999667 379676621 950906481 303627579 204649745 873621691 930651259 918130465 245952875 338440463 720284467 762735787 320498885 202985975 744196159 885308811 395903721 845263845 854783435 442091829 661926569 247006105 467217809 139476973 237145823 511151891 113186763 891025851 737545069 940282531 479372867 996615021 309204031 249126363 937346887 568617373 96769093 413693079 10767529 165328297 321209465 511936507 272083149 271571133 895241951 771669877 923517333 446384327 836129153 644235193 34832241 419757441 840380273 441795011 134972503 938248039 295111113 482856407 621813445 326274759 131117227 230619265 372488899 503952555 975019075 461459861 376892637 476463601 607372737 553471279 828233001 881079351 192244319 928050357 821747271 748684515 900537955 597710801 381925469 378204713 842412563 414005627 634655767 387043327 654659267 353260267 966036911 199698215 367914957 545931943 258204641 441081383 699987347 799550843 975436531 748395601 643908735 134123899 325081523 943542971 122046981 283371269 371322489 826289479 977145247 57532347 83858977 490374047 533908941 317390731 311257365 425660975 51171611 532356519 652960831 535002931 657851163 6450061 314875927 977456043 742903655 616135171 765309339 695293531 403235491 920790545 127588179 426629849 243625333 201827855 539271243 255679609 944802195 651315351 92125465 61515101 115765431 492691853 674178781 781693295 200679841 385108767 638243901 21071707 836535069 707751617 607818343 936356253 423606525 178439213 77359631 892103539 91887899 524172907 31500919 921764837 925422169 880930501 358857315 311261895 284871587 395315663 436561699 744142253 5053673 181144677 647008649 671848185 954760743 605728939 519943929 437015251 143652957 663108881 668703317 403317291 743645847 880049479 748263695 474277817 848460519 930951499 91069465 279683327 285757287 628225633 992900339 368868675 521127739 542324243 736355493 202753687 700150153 823010107 875748027 198306515 131323527 400722671 236938315 90773655 654976111 36234647 672432373 661170763 567551617 477274591 624167903 749911839 48844297 907320761 157443255 217401355 294486363 745854307 740461745 708094671 655311565 212575841 358842767 943082231 748561859 539318401 36761749 333248205 154168745 782853331 34789779 160825455 157123823 588184247 907751389 367674555 224824847 807789775 655770963 568924247 915868815 638010377 238762841 256973495 204134389 897714329 533061087 968668433 40472789 599513849 355048539 575717221 689270729 189622511 502150349 152084349 943201397 65306249 170863801 280227305 699807871 303899929 512451117 311053055 375765663 888735803 30295743 769200097 268894089 938094803 991176335 126565241 846455045 216751119 366360899 121553267 36390617 224999523 12127497 260393803 737001433 357724811 490086807 256905535 771449055 546711179 435883307 488044889 722441679 757422765 617137035 321248359 483528335 877704329 996662021 141041413 745658389 11815419 221649265 897027727 600095579 833966629 362881325 189903407 338773603 606007411 976363551 421535189 41193781 729652123 281018035 292091195 656666853 548454041 519691489 941972191 378321549 760712625 93477161 400848649 107295825 2117487 916813709 875159243 988260953 629012393 54621855 896998141 633441751 378018935 624302709 200627519 358285317 999997249 265892779 670031097 188895017 155169715 621037673 818679899 202098569 857026239 908816221 895412573 477878905 239138213 59117245 420818625 178948949 53820645 974994247 729586445 337695355 352544589 497326401 758306195 137716313 17022707 403145595 585783147 952120415 188048945 497766473 534328437 293689353 478739627 809166987 987408983 68550615 81697871 330993317 7371141 467351127 306782289 708657033 364407349 206357783 248731693 319875497 585155433 801390515 468593317 919554053 397381095 587136719 761833161 557241637 706201921 352492819 820183787 677679125 758472397 883995185 266254759 536917357 460087471 215135717 362308833 573362761 456661707 546796783 836677833 292515665 457710549 445639709 560923343 111120819 707897411 809193277 55130289 368097317 421241173 183026219 642270065 98385381 854041621 373941707 321939039 457662395 198579793 242195717 451490829 451361009 955271589 766625739 510408025 424441441 433654381 81560601 207579749 107618153 895544531 930922735 326660509 765018351 183951303 323891035 433807033 904628831 219414019 4672363 525738417 722784435 901079813 95610171 262639563 208485221 776914455 817636847 55836307 781005695 651449671 382259887 946295519 176994445 666823791 565364653 337227719 350138279 898232879 803066149 167848885 692674665 316137711 419782233 756448591 865054715 840418783 754053265 340746895 100242955 372847097 249164321 15925165 565083087 954958587 986998629 554033713 207123207 987755117 850143675 198101987 9840885 392782497 285354129 238438875 323600747 3294127 803621977 932085619 191574973 21416055 201646475 962702671 79900619 24331681 111632809 443882591 905886969 846669981 348776513 5917905 821804345 278790307 165084641 590997287 301271037 655219125 815965477 569276707 243403591 551594393 902424497 45234385 624831131 183291105 249619245 786197381 39993351 703879139 732013131 381220059 13189411 946741187 30391239 957577657 274616331 690960741 718163299 682828617 32641641 624119421 331974375 982242305 638038119 481661569 815215913 462418077 526772157 227959219 832440063 240625441 483147945 593306649 855350351 606251993 427733233 443399299 719049473 748999769 679421157 194868621 847320071 704182911 9835609 483310739 825757789 987785581 144337325 62311103 165280261 255465617 447399623 922156035 219511559 671719069 796480021 487463445 926701689 300158607 719923595 944230261 534952305 498761901 61545387 247620205 595566613 474100095 994290297 163887115 120567437 284648155 674912387 149925673 635623437 546749151 592808929 824652135 257274317 758648047 393131823 250287661 893170191 496230581 209157783 673942445 183216929 380130085 894231235 88460763 231644753 980453247 230978539 253481339 359604989 551804483 988488397 414195477 669000067 396683841 659468721 221463543 447689299 414498187 534586209 39554363 18961113 541201533 543386681 600202433 9050771 892805309 209027859 53057585 658043395 594997813 677952087 463237115 751772081 101148187 450535153 312169559 559433523 37968875 729726811 635592775 415122463 508994663 748397201 930031761 432684315 167588511 701878041 261060295 275343567 419208933 723909121 909525569 248203503 328852439 921109473 153976607 689290547 747328855 577020887 86436169 775843935 151542673 71685255 180123501 241001787 71486973 579657505 34357769 341259165 540089939 344240731 64819799 966965595 76686233 337223027 151588707 472045403 724669723 16583985 31605501 211868805 339046765 272916705 849891517 799828685 633780077 847307609 533674753 101665835 902108989 559830009 401891317 348234659 696866635 323327911 56678533 140213309 381164875 91020241 922008941 990765071 533062455 986753389 89009707 708088111 373064277 933687799 268785673 860293827 274869811 550812795 675370263 897882099 374773153 950156417 605592875 579447027 33178559 230500643 283969767 576057851 226477297 738322431 440185525 449954895 457656289 497928249 163033537 548512057 462377605 874645889 263581447 686961929 996732183 133904141 954008133 154447901 493354271 95068317 898286341 826994645 610953831 375666547 66754965 686347675 479214083 107018081 733936655 78898657 249239887 141983677 261770579 638834469 698093809 453105763 329693193 384931555 848369619 996613819 345401249 1332395 619309099 980203187 800154965 867581709 186134645 382462399 286635811 515973793 824097397 946955233 804550867 697772301 846461495 843429533 361958135 279581691 589441807 642568707 535777767 798811161 411797147 521025959 349056707 382754341 679564733 734583721 357674611 31530465 348399523 727454637 949320359 918803735 214505151 742129123 778973399 351530137 289759695 959325699 565008197 251745087 490867927 40387143 445806071 20260591 122307621 458326137 515506623 111959953 906807625 518270693 63253813 6794777 771435043 930396513 552564663 650976639 987726805 345365583 289681521 530708423 308709325 708367247 547687249 231323899 620800191 828548501 173568527 888592941 911846823 246230101 822600491 962046581 370937031 493407821 203691759 866558457 210953903 303187331 900452459 215880931 570202415 692690567 859047029 157874785 299895911 291688813 952843953 201757107 168139707 919429845 323199107 79606551 712391893 885151971 625723935 396771543 788517547 156400711 547157881 147208265 907506297 261396793 960673623 350600901 999257283 495374451 489039419 339119277 163995221 571558463 136439675 794618475 785459011 477436265 207253035 134167411 692400617 430851145 843107373 655349053 36813293 863828411 693600041 60781133 772197179 547615271 500042129 637989677 824720133 552269435 52848025 371739503 697195721 93864237 927794757 690607787 942990155 648585019 753372765 852118407 836765591 394155307 288672623 759559853 238290433 418526221 509891797 857231821 550189351 32544373 483354799 550245537 455143659 971180419 778416869 966577133 816733563 357602267 378412583 688863355 61741641 834440879 36710127 359084573 182294293 713859761 546882681 383823531 359802591 15206691 103280595 736758539 626302711 579192519 844838601 189466663 365284845 415217905 439247605 473519087 482258593 26891377 913511093 246665821 808375607 727541931 355608117 525346421 793717273 762993793 904027747 781406017 477656315 126045539 846950903 537177299 57454045 659303495 503695987 148202307 507961857 386600619 889801501 303604153 332829425 611796373 866761735 280790873 735830405 511885973 924515591 969736793 258663129 453456575 60375745 514605297 323158861 716679091 345079705 638759013 592114579 857032853 844369603 343635455 623217563 36532503 89300277 372750353 446888867 723550315 231117999 946989813 965981997 530320467 966958267 879040525 620207625 462385171 706116009 776809667 490928971 594734969 2530191 448676235 129511499 7663581 631213903 176999647 985314737 247624987 798478227 348353087 386610281 642578587 42525127 914357559 842257573 133592139 466308391 567328345 998579939 114336673 10349489 294743615 914647785 841151131 310381359 325875339 9087167 835591873 485691439 187301607 729020859 572654623 816462091 501443079 811336571 976190027 159215843 907770019 477453025 429340517 541296287 608927361 739829531 880269585 579384305 863017831 408621213 366877057 559403085 416789031 89411105 761583209 245058039 8682911 174666671 386262533 461737719 58709425 633833359 599592479 794906139 377349699 323850585 538224899 735019517 896362571 383975143 249802889 889288187 476084929 707761503 8266511 30998337 598879147 226091563 244323961 113932733 43275535 398877697 767108407 961647913 677744129 616875485 191918399 140454913 443293595 270546945 696953615 671898771 797747199 956390653 815995567 421469675 336013655 427783331 466203307 382158561 230495447 118157585 963167001 728884505 71962553 684358055 191700121 379065335 233274429 426064919 29997393 374174639 252532911 696699729 813444589 988384311 813508705 548886163 52501671 390522449 621617325 95573601 784567355 733459075 872490485 126082439 857634031 727207967 78444197 951020571 312152465 665906235 127137325 162392181 905695353 409181881 32900615 627989565 556762243 350713155 932453047 487256415 178603033 588691015 127755975 85495567 608930341 138714619 725801929 822162119 673123103 955619685 670814041 587596621 510118917 684600135 824918549 400013743 238384479 460179767 692065961 547284541 635612215 786982537 128693961 120157591 20652329 64122719 138465327 784006561 433582415 116689827 745234331 619110021 354983761 227959809 662243289 504072631 599803995 459343605 527386299 291828471 887387431 977780669 932362779 363880775 721953009 381286753 974391517 744230385 32570495 358572469 328182759 628741517 175069983 339926093 354222383 406287605 366774697 919148427 256468143 316029007 434326907 641971095 250077031 416387077 565479289 124377441 122535011 680115149 731632915 823179681 774212021 622889891 519498561 381463513 828777849 606001867 587095421 829342031 939489997 994686673 882525903 264430101 150519007 55212681 492221127 420244995 61806559 674420497 296800379 923580857 18381319 198374091 285612935 947926431 85337757 333176931 661414163 825489125 226531559 392760273 626000589 254012547 788826937 176566093 202430953 408022075 182917613 126737501 163963945 160683923 864268389 788016845 830188753 698310363 5363213 298840499 737971633 764706351 865907029 264649319 551644189 778006125 845454009 706569107 258120691 400711227 520818617 492545053 208349341 982483213 228221409 887929919 29215749 175875609 290535875 333806195 74709411 394198879 654434299 242025595 827461495 322125993 270594087 92516965 82417923 89617031 8245749 729259399 335862361 690668367 150880789 539705723 964709135 425950757 123684161 464660263 577779009 124063213 750916927 374789557 692209303 622968409 996383701 612462491 226995519 177027811 541954007 180666773 80061165 180067273 720432671 29774757 822373347 671674645 41266833 657435675 735020519 464848789 507543317 643582089 967104835 864581093 86486173 72287947 389130705 751653217 679163939 932712967 258530287 418474803 371543981 947663785 53783425 11910987 900133185 746936419 666131193 640142691 916788723 281055539 883228745 695604729 670841055 821883485 514616305 439258965 564931619 36249197 217494009 537226377 170713069 479267639 385672941 382911085 662350701 721809625 31186661 563145889 965989343 733405877 160690301 232116365 906483587 789686393 779135965 392604257 557123237 40105239 895841203 613856789 837285017 544103885 429944373 7658603 639046325 31896865 638237217 532135913 510977373 695527387 544610749 263273953 425127165 2888721 543156697 938657131 714639109 772638753 816845513 807658599 758864113 542684079 803512171 360975483 765791555 15506597 411244585 937096731 150244483 42585657 450646509 445971325 181451845 96326629 661785393 908644771 957354021 718441073 724405999 454774611 869008577 916466405 283930033 423852063 186693831 775171481 111280259 683241821 188592103 759562023 27675133 267264817 371135453 892695925 766446907 760111999 967086443 286509741 252320485 548651771 823001945 921978949 922503721 633912347 970997627 787130873 28834237 292238367 628702123 571661005 180595423 784649233 888550093 685608973 906798677 449211839 220238793 28226125 301244271 893470917 305899665 346588777 913537793 2356095 387449121 784935559 637274731 332493847 87923835 55869715 914610835 751572861 537946535 924629951 242582757 796582507 798757561 993811081 141269081 482637407 790575053 866519221 757850735 983669411 806982145 916064209 274382379 132582725 87159427 901628589 622465307 803298847 368085379 471215209 681324631 777040849 994489661 802941799 398302587 61620931 325737203 462550101 171574703 213490725 544354797 491472677 945319585 177133297 836316289 185184791 722215303 349931237 137628421 41293483 849002527 281913225 178222303 197522609 461109169 134652207 696838519 719440697 902875655 240661999 803024703 245203875 897655421 455304361 770875059 304212115 81034477 729832965 300469075 471802611 161884861 144670067 891097773 41251065 966938591 663018539 661224783 636209441 14076869 590275119 185532887 528246061 249397361 569510725 913084387 817405741 929164135 943300095 814994209 975007347 589395637 88342707 757446723 428460187 646319091 432432773 116425729 904690315 293074237 781573209 655357469 541097327 947142715 12216291 949434981 774827961 521415451 719920281 283936679 533350951 105301907 368815805 442314433 113975485 562677219 412044373 5088145 181268935 100648397 693865521 413249029 489597657 525986723 121759981 505316111 837518801 541109049 15222757 497313703 247677393 364201711 10682947 507628495 602727493 147033771 157528057 24412053 27252197 850797785 501293245 987962887 88102825 938699123 561589519 914444867 569128407 590608629 589606713 292420199 725497083 885786981 205083721 977409697 556870379 145669969 310165273 550703651 242423233 443072209 809990985 250133029 11976417 270403201 813529665 10118891 196157433 448840841 430050867 95800509 194697213 217772441 351137043 3094769 653517863 760832995 990507429 487290077 269073663 211304999 174578289 163542759 994806607 311440043 179292357 340291447 311510313 776136255 394110907 92520447 523927791 75329337 985292083 119622651 678678079 493399157 487324373 112617965 701911817 590287449 457041681 202311775 355888257 197718999 165712415 717347553 484901411 537392995 491409665 189841169 213478579 287575033 220428415 690056077 906879805 61361187 762025509 95789829 322035733 415674095 645800273 120475941 950316503 719235825 509297697 92862891 680010857 402941767 982806141 684185945 376282103 18794139 86290195 940290295 8008691 881272343 686318177 250767451 149804059 603546227 520839585 586325853 436987763 616560365 777115615 960518365 408638279 553937997 347217643 334063561 671999021 906225119 107018845 910825491 304478975 586955385 890631827 865583027 314982369 615899003 762367929 851492781 752147265 927661515 223842491 859090699 298262737 316119255 147555925 236221405 925963919 298339731 673327109 582672449 109252545 75192705 232200469 774004055 341975023 751810469 250389397 905863241 951696369 288083343 610693979 889119561 780789985 340764243 698398473 457324691 458925347 638874511 813950729 134074217 633629031 871024749 639473287 169766165 310552475 679434903 763801215 73517031 173022721 77570885 470157487 235099197 925408795 521629751 517278369 54376823 780340659 721979567 682557603 785925375 838924769 146794623 126392527 7572297 782573057 854601981 351218693 597296333 661133491 957931525 786680045 811909391 109710057 922666239 714918647 889161111 866774227 919749591 447108957 81093883 700341999 325933575 625370141 765686227 406176513 883472779 396639999 813208001 813135125 492740073 82996373 478893679 940948607 834413873 254323511 237796495 148592347 542343415 848140805 471204063 271385361 370563417 86100455 989261597 296717383 781488641 776018061 150584595 313051895 70977817 582007663 848672151 757892569 799500889 113812687 286611841 46090995 143555585 633652915 285651635 253195409 395643347 945178605 581895959 865775177 78501411 910373141 739064223 681156085 951530689 858401673 983589193 147715769 915749391 321348725 734184979 602337795 167436275 972614599 377141767 521103495 720441051 783456055 939714619 793935167 29931197 917733189 651805639 727194227 481501719 1024059 950602445 539566251 610893551 856076073 931917687 284041663 71712725 157870309 319141113 641081289 728894173 970856211 517596811 315634735 116434085 37637399 361398385 867890843 49597783 272046885 161253621 755814915 966171037 382426929 993678183 877063587 387011505 784184833 418293541 77261309 520723021 956662807 28434575 317571041 716219 665001673 615833615 858698081 741257415 945961259 763102489 537894107 235172809 182640927 517887781 254670321 77402013 55861325 601918135 652545167 721553067 627372327 349384793 724808171 205507041 555652577 149190557 833824641 659720117 95135103 234796573 999208981 397674277 504200393 941351035 551577781 863862455 393016653 609187169 78823345 390146939 588549221 835900547 713398185 53255173 252270129 758114201 724519039 550900595 253282969 25749863 857072225 478705263 691573837 931839159 355636929 269255715 877486023 166502747 68776285 70568265 398924867 7933229 692446523 167632667 497064143 670417167 701029795 969047651 619031351 227300843 229359405 604789869 293561109 939018165 751935667 659352081 776108743 613182053 686712409 152006315 983592057 882796287 485292685 604136739 315395353 775549069 908619523 341955815 691893087 88661793 364344759 970254573 214987469 621317845 483895787 397609651 91944105 365653195 587952431 460973377 281645829 681827885 844100693 27019809 943498679 213339439 444782201 131207791 460128099 979926025 477568001 785224133 527978605 992854017 569441687 946525001 471543817 294837851 690769713 56874157 344626477 7237487 380308235 535332131 254658457 15635349 435376809 791163501 460807383 673828911 791129559 350258639 634984247 673455273 244274601 480723735 553289935 626957171 228759421 832210333 319008385 878097159 820234229 420549437 485953783 718188777 961741309 774331231 883304861 546072739 489204173 874537457 763438511 540613319 432565725 396585577 503405355 761896431 86911475 888877765 153986523 658318269 741681179 233567373 488952397 738460123 3581355 944827339 439817435 37992189 772465213 927683099 337758885 769052637 778608309 388400023 804307091 966236731 699957313 195822565 117450839 135536099 716226899 138564407 62044005 979652519 894091947 117665087 633556993 265029217 14132809 935420479 883609139 406179315 461027965 321021947 307551945 60445767 747096793 400638145 880727133 210985553 194965817 739382889 777499725 220008203 868797121 697410895 59473349 136840821 17117409 581219677 293309619 855811227 402545223 706369277 750318801 538805391 403972597 402234919 877425307 237718379 671004717 278411097 797195359 568956753 174100859 176531609 777862953 196837485 673551795 913284727 465951185 910731245 520358641 121086217 610785787 100098321 812077723 17829611 46298381 537142807 28529755 584704067 947601717 623779659 570425129 600066499 76165743 148949503 335523901 491266975 478311291 292973965 97861661 938118803 258962143 210233943 796908437 636752105 365737965 252482249 366285497 29830511 122280379 527916627 346580967 543727225 566178861 205464687 127838913 430464741 740718823 870552483 982860597 675019547 570552413 104069237 109415541 511532041 17567427 890491513 768219135 331025447 823949087 47069001 203432601 234400367 83369525 233730951 851358027 968392041 870608789 74336735 216108653 309942309 818600089 614033921 481079961 151296825 242997089 116666279 866340787 689366465 277504983 700728727 937102313 997811299 731051175 61904023 119377583 271313489 945026637 355053691 865429951 222532159 158721543 152299805 852820001 805627755 900334301 994635103 581921567 371081883 586178211 624249901 810141005 325101853 29766893 817670007 640634759 515481033 606003741 351324983 360437235 570985469 952104539 549796979 56740091 987567773 726355607 613876273 613252181 194023193 610606473 937870469 425124349 446931047 884923059 61273481 760546615 307041287 54026075 415275103 250396047 301611771 686520723 186588723 496267225 459521749 19728691 536909621 194593073 192003755 230936795 772306337 610647549 347736089 652752627 411419319 463676649 697264711 722313899 628998083 153550311 107944161 44466939 451646743 457678133 825462561 626913701 98832141 207632983 49737923 210327599 166185225 812377883 648075533 519329003 908839537 972044433 187754959 78217711 586265019 185267737 993784413 838361631 572546401 964576341 945235605 407948319 800810211 574675507 353067489 705567587 573307855 883845607 388886571 880780577 637100211 638044139 785019627 581471065 76597291 854191109 968384543 105887701 503381465 293363779 314430799 297526053 430462313 58266103 186260103 570661791 790952331 381822653 369536863 500036711 380733691 542036345 888310259 838765665 108138361 698888537 671924715 985637695 879021265 683783889 171788147 764637819 677403607 83633821 529144901 432201299 805085537 517992129 290332317 724427985 77636947 84398473 92144193 676047555 241497497 387285641 171706753 158927045 763162403 501626781 905885233 922369075 506458349 626145259 345530033 428819511 347818231 918032093 137872613 102825665 787899725 972504873 792510781 740340107 89553667 334043595 372059569 130157331 516333359 565831431 54100667 476949409 475284469 845732713 8530021 82477639 23984513 418826951 92993851 148590045 764809987 381631801 785528661 271066115 486972855 828126247 257209167 775619105 370319325 251873597 299427665 752415335 971685827 64609135 122070537 415171277 167398071 269641719 650225581 147787285 439277589 303119195 526319865 306623685 701779521 26642023 407503417 792500271 588452771 766444337 256990773 927826283 914958253 141599251 199866183 757977177 181710811 406989489 879497293 308875935 853704365 389551865 673214893 514830001 26896559 740370975 125038675 549535429 12822389 84382111 17210553 809436125 740012181 394484283 982311897 400807615 946673843 337931011 774261821 803155197 996307067 584234569 823054577 410198509 151984029 335277225 607091341 453694899 528155605 924851209 81085997 504468019 144537061 295255187 455325817 146485281 853899413 843064765 325439135 360546291 341527993 280593731 393526613 336186089 246911789 2080295 304140249 635471885 908397519 259701689 920592113 255977261 987724429 383815307 497617389 839308773 802866007 152791419 943859617 834345617 787876905 288217259 170835821 460267867 99677189 268266631 832886837 860716851 909458931 940443335 906882411 270946003 571458569 713209699 472377857 634625465 223957085 969968033 827468153 624978223 463716371 124880653 337109207 680266563 110064727 137501309 989539753 381329871 823747931 582984969 425115911 464297843 782992727 451503899 569284237 491820695 547249037 629982553 65431395 159478891 919675723 891050941 466786103 404614121 237826271 116364415 670737215 753879759 211575461 968446759 901331769 579586213 387516417 228972413 979660907 309548477 439228507 370668185 504627877 992034863 827493925 954459605 495439675 83798235 438679515 608064471 801078797 198690921 277292287 864411017 706977409 513174089 481108249 596079903 684467843 895294899 155615421 933376793 283155341 493273257 332661383 680561977 36609947 993366769 591107607 790069643 131047987 810224413 788520727 261028707 248301411 228361603 437843513 589321309 668036291 910853447 843664953 956087647 563612783 637137229 704575191 62943635 555731983 904916297 411848161 544595311 69340625 489672881 171484197 837322159 453925739 238412231 3524225 285974103 103933723 102806673 129444051 781095859 225705641 709849055 777696521 351944535 504020065 204933197 484785685 152301857 795769369 658338103 480314095 356929075 759509553 929966535 357914523 547222011 529368207 277151727 865486881 765461803 507263391 458085221 664918421 180188865 709945691 871345321 148643091 377218819 373702205 324324869 613271739 200465017 116351055 567747207 840867511 183510267 595105823 665944841 199932985 717582497 941165505 197740331 385425533 421584085 97953235 946915927 403170757 762251583 72109693 557402297 561335897 745244371 926508653 568498763 584556431 210951377 903642585 502980047 222263997 994346425 80642945 801480653 794232905 500283995 443410343 280661395 939709083 722329289 230755101 272183867 280228135 695799647 787264567 144228773 202573669 890621379 534225877 4884857 273273303 408749535 760647261 254629927 476277515 237655273 838975165 414200295 476012687 177926237 476474729 237750715 763579393 419439871 88139107 385110123 997214721 372518873 903791407 664672133 678933305 405675845 789322717 392744033 514471771 658621913 486536193 841859875 288677923 40342909 131360441 269919153 450650707 680046683 382498477 404526779 947568309 460740075 781984525 261244089 488963865 885495269 380769419 92816619 207442781 24472399 160216167 467970139 754542689 353166709 600997225 579738329 938155791 420640491 805926619 560751613 868117337 70823567 674602393 738649637 129983291 880723075 101662973 205271421 86980023 820451125 708855791 518705393 995562967 167534169 990274011 133895485 596004779 696158185 373349819 391828449 229552977 132102955 476125963 797056033 539940841 518930861 812567761 823154195 889727133 916998207 343448221 756485515 875702689 402297345 315254147 359730477 297999149 411825495 356828961 4398429 146593411 32537835 165893279 305817933 11665137 84608179 919133613 931438583 956460231 777493739 727377789 889334553 648434269 645388053 503431119 877091901 953495833 34153217 361281515 513524657 890034787 546676161 700057501 823052175 770834095 489226417 426738235 164790967 973046389 824754807 888115623 469287889 364877625 157254653 407544641 282096205 306109573 961636217 415955197 867332965 290121961 774600039 966172239 87994135 98458371 809161099 501425973 282404651 582146675 393122289 71948085 203255347 425919203 448550893 672646749 669052551 286557959 726550301 256386119 260023111 262947223 95836259 421012235 662488923 822834263 501646061 435151957 334577267 23983889 68068141 693486159 941859847 427842197 846173153 186074801 587154521 244248513 178394383 884739515 381876079 357605493 191176447 282427695 343868443 317512347 955734855 12183903 834887413 763369255 560804293 635999265 516771675 756698385 226731419 921054673 917106297 55222365 926011959 269659735 420247101 312184085 544309325 69337633 743142495 944705609 718661337 68666149 420265311 962295575 220797469 826172385 389607303 276141983 995223209 151567963 846834663 975303179 431517773 537403169 493579605 851054479 671422251 518341707 852327797 480409955 49500321 278621815 826593707 544665547 563177567 954659275 647785515 436393745 850191193 352316147 439198953 773887623 239975627 472991783 590237355 455946117 153511737 930949159 760258547 556434033 932847983 978303799 551901719 840084917 765770625 970984997 199961131 808619711 81862091 850157383 258200081 52963599 808730611 407697279 806406001 559547171 97571813 265972015 647984829 558175109 123063507 759675719 350004265 487000523 795507771 930146363 169748153 136294285 967824609 279746829 458746677 268973933 847256529 392102467 794838827 113350677 71069023 552803047 769753077 834344761 183902249 779937683 581351859 252974225 862933009 918615397 634563149 429971681 301615429 654091011 67685491 712130291 47493433 364939673 619856031 518087321 11583911 264738273 285830159 166548909 244775829 193325333 658083787 593335057 422091345 849807359 716096933 14358959 540960875 25847275 57104181 483202939 817753795 21457329 812794585 341379693 869542781 937537709 249523901 433861515 755878147 596151239 126089167 612231129 533932299 584886381 196489415 345439087 629749647 598955413 199087911 56376933 808970199 92674237 116641333 509955549 638872939 26153197 720986627 521692417 733011747 279596975 197309031 502496773 795913243 280575005 880875525 171022627 334797491 8157141 464593729 102157211 815733149 576647677 70417743 437948089 987316937 555068481 266333989 395014351 102657141 423259099 410915971 41464373 675851301 316982917 127273203 685616211 452586917 313622409 725960901 233195661 508412937 6331573 12557839 195050841 42288813 588643163 535830963 958469423 958406711 221823839 325607003 647534483 421005203 420091939 914220915 403471375 996899571 560446359 163100727 970971957 438224085 791482161 808993445 491965343 444304639 143455471 933743751 385144559 554636665 988789335 638994027 661317329 547348377 734368121 44659371 54777333 577683709 750396905 453723239 542447893 416638599 660982215 932901511 188263925 683573093 10520761 300087997 702620767 934461451 99370733 951894653 581206309 792508211 652732439 187579915 529171745 975458533 643557497 419528559 266514485 204198761 525394903 37905271 828825677 184936023 743807103 359692989 833395289 399487369 296537161 424380063 578669395 12501029 595574161 880341065 916605759 956452757 267426879 789613481 306137639 802923663 762558147 229347961 496978717 786309135 564122895 183014709 505377595 3433047 672704931 757451307 474544803 347014135 298173061 338313831 280614785 767813825 70531141 942595265 292600581 515360467 551680247 682515165 264684137 650747791 459171131 747677729 652281841 939919009 760713527 285030075 558906855 905976063 139179929 817073831 637373853 299887589 693062805 749711013 51702381 14211031 978682605 403995963 74135227 108980641 188499173 562340795 271480045 800730457 862142283 421358907 932135033 912417111 967767671 696765343 26109145 379605827 895634247 108420747 791837325 992835337 229245471 580383859 476805153 727701469 25449967 120720779 680589095 94191417 542038317 292712665 974046009 648166371 400441049 641377057 524791545 483790569 506362229 468287475 287405843 692995739 309658131 670727337 721755447 414053273 299582279 29255523 23337761 773721543 483961905 624183819 362556305 969415503 847228279 342975821 913656659 828500901 470531655 894841765 107171897 410642569 68395351 757723729 415391261 428304637 15678947 481473625 553165793 736144971 525485237 57240465 921804401 575459083 357162267 967547277 98662845 586751511 931245545 596191407 653998529 606668181 934692989 680765215 890483069 536578543 818961857 112879053 827955197 787982555 785055519 821868913 682210643 171134549 821310863 374688141 849400217 611133345 240223887 777633127 648669681 332525131 568328999 264333073 699302279 505227047 860684003 523048035 231279243 395951955 441598169 617802749 354012985 684008753 185655979 572873287 245229777 304171373 877541241 67121777 889123999 371134463 856386295 66100083 648315125 154816287 289646681 492634895 932067375 766934099 434769245 439254731 805234603 119348583 198311753 605168377 59545815 294692209 798292459 889478575 955186723 46579657 66264731 627651537 976537609 24397593 918946615 700015107 477871631 402646089 260436771 6266809 586344379 688471949 707911249 233500201 587746721 31158117 179626035 596517715 507366491 9684881 886763209 333597953 36238733 17519135 85779867 85226435 713682653 865106533 200905397 342643695 425881345 415631869 398952365 982383785 43138227 755020749 114944165 122123477 944152499 439438591 906583357 770906661 703147983 683672073 494620073 435169299 74553301 137833383 202878877 904951517 428777633 26561499 533750103 909193357 129204757 359363829 459662493 638066673 626041885 415147655 649819071 566939045 867930537 271757421 870353041 892125957 936837557 161917389 760321393 375506235 735327297 720807443 971918921 628032567 934839643 595332593 321828227 317671859 367993361 100706405 74833177 279485485 561921407 730863027 787365765 168179181 526490569 73701479 304829137 985646085 460106517 136355925 948082057 998723405 765209243 342967707 127980483 360503141 798689167 443827611 262242849 76674997 600410169 777058819 767925957 485684845 458605791 801332165 40686685 576621445 154161877 181447711 941783843 528878527 258398071 927874967 677907411 540996513 492177699 412644085 432030389 133761149 262832711 710425681 269449875 72049515 339809875 21596675 29691847 212910155 111576771 373536693 766510383 749457603 784956951 572334927 374811441 120540999 713618141 472508935 977414329 564894221 339717795 591123287 468774975 58050071 670845701 519452679 624989379 36469803 65064615 235194143 917502153 944930267 968749103 723030775 458857311 1340541 685038933 562791977 509792539 390242869 428969423 713960091 780869407 100101863 554411103 493244023 352864781 183458119 305892305 419146035 168111893 159039435 942365689 5628555 328158957 285947315 462113453 969814403 603201235 999010313 290945235 805461351 410902413 981523611 874280785 795352267 510985323 476350213 80408095 521002123 592758849 622568867 398025011 175073997 192430191 532851359 574619023 155495933 993774041 355645675 688975425 529517005 538110961 107170619 485680983 517413947 945465257 171866387 261912301 50970253 984178819 306898363 667895335 756572747 253453697 560126273 512750125 474246731 250672695 697011071 127643441 107248555 570879413 675544341 896285551 192751309 583688095 523577963 594844199 993629791 752698647 604605105 913923751 209318485 147951053 892363489 690408765 674576105 971121911 893641913 857468999 647165345 842967635 338594753 29975843 329080907 351713575 845952587 527603007 393900023 593337155 46419055 915046155 986589191 817020411 395873549 356392195 496715033 939295535 139257549 704765609 669634589 709580869 311063839 355179397 712649031 360678185 134774075 966930477 771233555 502667093 924738851 108443959 489145667 336688835 533773981 750272585 603346919 149873917 273860155 977676043 868634705 743019025 815032403 842852399 103582749 163224465 262349833 574055537 576950321 858415521 689113153 131083667 728954297 49420259 983181999 447610205 646831911 929928327 322481865 187903141 395212089 109015875 239999185 509374017 643164659 902448725 808864973 945174039 307682209 454442373 404768141 352015375 522756055 12610845 277696429 587523867 491802739 162705145 946821769 30645303 111839895 996384115 803899211 64252261 592130479 637176945 975546341 664558253 845126771 966268517 783341581 620917541 568677339 532377921 26970179 893707747 550760493 947541383 446809297 587920141 242651127 376123 487376581 622972107 382915849 605810411 253036281 338411087 248157571 627226799 972800781 770801365 506878663 744368933 66843755 612978335 609709699 135295089 21382463 482063351 243341227 943939907 667110787 191655981 368122745 890268113 188124665 533730463 778972277 86522073 312531753 262763435 860254569 511984803 833991265 171530175 178346087 222217211 312149179 830095949 22717393 891224375 75469847 917830349 120964421 641792823 454796317 822873539 23760051 678022241 484243773 548831159 920361295 500267427 596727215 294808127 274110101 210492785 893408373 238714609 20953417 750069453 404048471 267354739 593603703 289265211 479884515 741873005 514563187 131859145 700748145 283539 313608665 619430671 112462885 848677533 143762575 145483307 939044069 960566093 513297089 803038401 357528673 201227377 405029345 79651841 611272465 598074329 147983277 772091041 513613877 83943261 165874985 212951009 987484375 319589859 789816739 60583555 562132679 54287443 801812907 331946969 23309725 742859425 464547873 657918137 941505463 480365253 586662695 722409087 573633857 372684225 845151019 550903827 425791271 569981091 867304927 754067681 635254821 173655931 976611139 749662179 649270715 215399521 210048151 233011349 57803053 337646203 819772265 598248957 299551377 841958129 519152783 968201641 578295739 914356727 332412195 14682801 744272207 654960069 864907659 329619123 167603633 127581087 688752753 118290131 797840915 578434253 445343689 487115969 963305839 991609253 785836499 934246325 118246275 153661567 854384657 799852393 264716249 145591483 187862605 771265831 78071999 313241033 214312351 291538619 911520847 466952725 775291747 510615931 490949481 695371293 981357113 744975175 855672501 346761059 29892371 439796101 286198691 248427889 706905633 974723107 339598701 472564441 355980257 688301207 663174161 955317811 247700503 292340959 831680855 768039717 415450831 730641025 682848721 637687127 226042717 123697035 360482263 424809853 975384927 637458325 985694857 281723983 848294327 119393469 878038735 857767825 632679313 298558631 117053529 438229261 14710629 778413445 320802463 918701971 506191851 646381833 867639779 57707521 765283625 718694771 603550763 662429751 898452331 351113355 514415177 917797407 833719879 119435421 319404245 61374125 442557335 971663233 361325869 935742169 140690047 856573331 420429949 781682343 603043949 228643003 294655667 496993313 248168981 476657511 546532743 797111385 88351345 160635787 55528313 651218535 709670345 842976681 424728275 283041393 442216613 478838215 398675621 377685663 811875549 92342895 542208453 98649125 34738315 841318331 453504471 317463099 939471125 574066249 876269119 469546789 263775781 195387453 819866929 815908141 361543857 427243081 934487201 224107429 412125173 630581407 75542869 322183143 979871859 584848897 447138257 444941397 896712443 541823153 704532837 512577369 618964383 11925379 548263723 578095719 649943229 138023623 367728387 390820599 521519607 934802783 264608919 787363725 125077817 559283633 241335891 479643827 553136569 579973291 616146033 794221563 140339443 269177539 861902325 566768381 502790571 867669239 238132129 38629983 752899823 167626701 834192137 468504779 879592207 243825749 594856837 781508079 180392619 28115235 910755125 888178059 5953957 158045015 982816257 774122077 190758443 53682071 678228633 488772913 761958831 919350543 5377911 845485015 411536879 871905911 69116377 284128813 172694001 406335247 957681863 961945875 730600701 192696219 28365331 290334581 816417195 858446697 3376469 339022145 31577813 61904209 878308075 836888183 814515871 379357871 116940033 17174549 78528887 751685227 539222661 782120743 701350673 144719859 995350063 411049917 516317033 193863741 741137281 849218037 961169345 687935175 639240641 385483503 559878057 882051735 329904897 263186391 941486067 702464829 221274903 742051549 336702395 582401485 208989863 225670715 375091047 933490663 260673045 357578037 245741985 902260401 276764821 516425493 2826847 304872407 161814301 311515693 281102813 468448915 726214509 134385879 657414559 287149215 843279631 346735221 231143793 138693957 207013459 240913521 476084839 627000401 638770511 798983999 967153631 980399899 369629925 108169049 603184251 811989887 307200447 968997439 291684135 466866407 494155081 252607357 638671899 158501693 824449727 647395747 253074895 983635449 957956639 36557135 30645257 746597145 19489075 560253985 387560661 131228195 596443785 583481285 465078153 538930471 971383931 920933611 946126783 529214905 788483113 760733773 386407003 199139833 768605307 650855343 351132811 625954189 209285923 772023515 897967811 17027745 990713749 622971043 44774333 912195311 729480725 485891041 244673407 495111859 581543595 467050103 893950039 983865777 908422181 461346897 875298263 777914429 894646045 685003871 679016923 729257513 902814451 166805915 566396295 857272787 177852621 106418697 76961355 345719587 955700895 43704243 318670549 716963463 763985441 616640939 627490855 646614517 902171599 492366603 655437955 716036589 428084215 83030519 690122869 375696497 38835109 499376789 919879633 700402195 548376497 131203099 627365555 495600871 620449215 792986563 470616705 452714381 268376885 889147853 44859623 614356523 342807617 831499909 744090839 723061103 428121823 604987197 276963215 289777549 772778447 876044111 254822291 354989383 467600279 566914845 138092463 849863393 994213257 719362835 896325623 123824425 261769915 356720799 987594441 860166263 398371089 634115905 445937095 722948009 542997551 858527095 894719711 749374755 7193225 400994765 832854851 797292501 867651667 564511701 538042483 379747893 261085843 922898729 645041455 119827777 218977293 371173485 326409349 741560193 413399633 518689863 232445131 151960065 414400185 740540525 668338331 290069847 264080741 430421657 342231001 200575139 318826559 625082763 55931059 423857803 534701043 155892751 426921629 346016829 340795133 625453047 208669011 922185325 755922075 855647005 665341399 6932573 777457621 627061861 848527737 227771089 314275967 20791989 611855051 759831833 76066349 378935299 546175657 281354761 283171137 450501193 221922617 751381247 312134115 410253959 918892261 72309475 238789379 375057353 612314467 836789029 810166617 811287073 284334767 461927095 135898727 469379497 516129293 252970777 914744691 717674373 725426441 146814291 203240079 861013211 501397623 497331441 175082899 520075745 353470323 145530121 311325983 661155537 27356259 457964347 573915035 858061547 530180083 527934637 196199991 160434045 305284117 764700941 45406699 316060373 833606407 846932369 732023417 801570127 355546701 19073013 305285991 623814733 344530869 967628677 312450823 891664187 768048719 734577673 747373935 379464841 416470395 412270811 183497091 867097267 628105179 938767833 335964135 735310649 733935197 979256423 833397263 751974311 575137077 192706677 42488625 991719055 101368541 661727099 589798733 498348683 461876509 143413619 674578989 324093247 632731133 246566375 421869665 895580241 143957717 797582563 6234687 535382137 599502143 428287485 863917803 233610347 748663327 200695637 225727817 524226543 435877541 706813073 470830859 86580939 138245951 544119775 540315563 724858323 774211247 928083701 181437799 695392737 432988407 836551185 738018377 212212441 264664163 9757433 273362209 859137185 444453511 620662267 41542277 202585649 525436735 809115377 854313431 165935741 446907825 657420851 892459071 222960525 807956807 299210157 802695597 903036775 2339511 864540617 976622043 936101663 744135933 550516351 689051463 652672975 755798621 892275791 798431289 928218011 755278691 839888187 482230723 211241131 11996133 593780183 789213885 188451889 899823611 718297139 217385159 948535657 740179213 744892145 141615945 607726227 429738183 660064823 138695283 90954747 770368029 865638067 144389181 884547829 345591369 886180507 27513193 125863639 298289105 643271853 142304383 754696197 740419971 766272815 365280971 801996011 485840751 255009009 489058155 347784953 950390261 398737479 222129213 379219883 205486263 585929233 121712361 12217219 171591075 14062771 963368413 306075401 242967533 884578079 261337941 639592913 345475857 260896199 603989073 331587445 987421137 132801453 931667351 487188633 756970813 192850771 779164857 988133 865162663 936916429 16097037 126765835 951245739 841750443 687895223 456611783 584497967 207714319 299048347 791588057 100740701 704794527 720472173 928465167 265832619 9145737 402173347 794204727 183185877 219360387 703553661 117868589 741346013 921511371 348148229 902692309 374580499 409206313 278946825 89918999 659547915 829928679 197711909 500129509 273403293 288287969 230803125 632560699 202641137 338055023 503855587 121185561 891126643 409920381 541014177 547033741 919989973 887430773 649418147 995666085 949455125 969754961 559369325 410858365 218733943 204889483 293824583 257398329 5044615 778000941 97151807 347952129 49759771 138197699 225418543 484100871 8399947 628627045 117282999 941574023 327058561 48891567 603416127 698525891 229010787 498815179 346436345 159979011 927205099 882188387 477455321 849881499 116921681 114552495 16700067 374125031 107710493 613159277 316245725 136905797 4795159 584643043 681383641 165947939 760718679 984183777 841233071 583053299 328581175 514621115 19086143 863365165 232880733 656226385 80902961 116010067 824820915 338111497 777604085 228150771 364800367 851285967 1003203 663003035 258644747 366258973 753721245 175066599 518459727 530580973 90250825 264609915 445116485 135229385 294320985 129685247 612133185 30940349 69134115 512439845 800958431 97150049 58744523 490562217 881758469 950553299 138765109 850336845 148370909 148900791 739068949 435304155 607656669 981489469 740871905 785041187 287265985 427075355 675285979 165288961 721389965 431053711 562911497 639351641 561436045 78657631 111144251 435707667 428869205 82072539 292974861 16353313 247050179 758432215 484128731 532848511 811278073 819276467 745760463 734634287 779354469 213747797 306082267 301271867 54194617 128718635 150836405 39954099 227753205 264448809 163860957 746434741 229087577 609607377 901767581 15080799 186664819 262321191 429667075 645820127 424649497 599467961 396772585 670910567 128154723 161011103 572314863 923975471 358239419 27022967 239897215 659549561 614120905 233448037 289946053 212465043 89464449 82987033 214686907 620916427 352007715 11822537 623035939 100444799 203983153 147990579 905229957 750182671 90259573 973768607 926544175 389483749 791848455 535576793 102055739 409238899 393140801 949941303 67921033 686085173 81653449 476198041 336302785 974852525 744613257 70637157 55535699 626218083 946694583 776989831 952900983 121506285 32061135 693416313 279230255 906531299 441776533 256298039 497336387 506174181 659484435 636730183 428098625 481063329 432879523 190679991 530269313 617434057 604285403 771649055 51710247 36279573 895642019 897806749 922084889 29969993 916428581 560915669 715749383 109089325 636355545 272645879 289054057 488213655 688788343 574205625 575459199 179005789 537743621 388301659 457841491 213634917 360215503 673725343 887244469 611059095 212227177 254277335 698902845 169028071 368086449 24319959 362976585 561592397 300515785 713106945 61187845 146210253 128470815 765939765 319044957 662948207 275013479 358662631 636944653 602398025 190737051 66696715 910663061 636564339 751782401 203138591 150181433 406027021 28337959 983056169 4570895 824330565 988558559 724733111 602415083 799345229 646107717 359127521 387694961 306244701 528611773 985640517 810341893 767432889 798437365 62944007 913109209 622570667 823361761 337008087 746803943 945361027 344573629 479807979 985271789 49597087 283173643 189236483 317841269 173575775 858995099 258794593 313718733 250492205 103864191 376679895 120552719 152020349 627757587 519224507 238660635 744772039 52881917 877958889 525531033 290680719 494139431 667192265 205724921 781656157 315658439 512021833 73387893 237543623 904048217 314622173 911435531 118067557 235042977 868248199 165145475 645945303 58961835 388210125 182403951 981039565 677666509 84704441 369522471 123228659 724810143 171471077 195951051 129602311 993940233 358394991 574275651 949264075 700086327 382850299 914988607 720689417 388649883 264322745 20201783 952968339 578959859 255514465 777622381 181573185 292274501 869093677 160537831 207328761 806654937 303564775 960171639 862122405 456249669 329028059 77614773 425836083 588789095 476066015 115136255 785644705 718142307 937074005 276336769 491875057 965783713 317356319 50238249 973008685 301012955 852343979 738746031 561308775 586741771 574358515 378022291 444025273 923081587 769143667 871225375 69502277 814128291 77929265 276780387 641030965 694677355 848804797 578762805 296380091 366698477 186747691 40697401 16788757 325085575 290457627 962799315 36433025 324629993 648243889 855218231 492485449 740676615 45161887 154594905 140860611 219460381 671537943 227261439 695759943 206663599 640704473 804734893 455901751 814640265 438327853 81502387 277488381 769801151 298432223 48348203 98383885 770858925 11317319 500645365 900936927 45618681 728881985 468434363 148101111 702536847 979012149 445732841 849718751 677332641 723073553 653050555 129205289 426413997 930269003 1483055 47699567 797667959 581552353 891618317 794737491 238240779 79700313 731512551 981683071 758892221 390480835 614251797 657548455 263223083 741966003 491728055 55798403 888122679 611106633 870207925 233977303 684513551 128811561 344871103 29327213 875408935 241952901 526450255 49772823 849324089 508896527 481646499 554047661 521525323 350909193 799452099 933197079 207932843 610087735 679250049 265238841 973083881 762000103 235046261 748462345 395459301 46951663 435398909 924440191 799411651 362623153 9769285 360788639 935337965 254217999 210151227 775886451 109331225 533384569 792375191 508652045 627330369 754137829 254930395 686128007 118991277 109972177 214585165 52162051 844358119 783254083 374025727 87701163 939156161 387695307 550724551 426781107 911926621 136633725 800273225 631459155 138057241 298144249 772805353 919829711 585314215 120399203 7769051 453598577 988033015 259912045 397823765 523138443 661140295 922850633 738484823 892702071 572121371 649949369 357095723 987977367 872981311 713232129 306109409 310660183 828424391 286565359 809981583 237539109 400407823 950152411 19820055 427314049 915742397 881271713 798310691 45754601 151387325 373519273 392054559 569086185 226569537 123392225 537864007 248296979 156814535 486823103 339988889 647792385 428471573 549567299 711768543 758190933 248462899 409443823 560649383 551663289 280630135 324944085 800508491 586492897 297442943 639468937 913861099 136557447 743028783 596074539 922748015 98633579 302840239 242171489 456717193 482206041 842416505 420033111 351212717 36149795 372284487 953070535 851417119 829005475 178638363 594138859 222477287 24028347 492483395 569130381 132007123 838408277 894319957 542311419 139025277 849016933 885862955 555087367 577023813 719659493 257492203 38050837 765801297 814272213 291889919 679002631 6735765 930081089 387920157 530742861 617939913 90823739 850488385 148424413 170292841 505032925 706988717 535055925 573932483 424212809 786308337 133560925 534029027 184257961 339059423 754264545 779459233 131311409 850893973 502023895 50637473 382589723 201157493 346401759 905176137 558197159 979706667 441197855 597926855 625209633 305376941 325537091 896126745 557864155 383147319 692141189 133646073 854819887 272072525 566096801 596059123 160069503 250485691 478477533 859196759 350887223 585489559 599931143 880861755 459751111 589227577 723403383 660415619 569794473 509096523 112111625 893506515 633868899 296249011 553566759 880250015 262752635 548460715 3350459 617584925 361376901 7679915 678506301 379084877 474472731 737432185 693054379 335749369 437799391 297733155 383381901 806764207 845026171 508059385 584244719 710589129 290808739 43522971 467965287 378590057 720952849 195830765 701767957 2888819 184728965 527492633 708715423 247511705 256686283 120184211 745953841 775285333 700394933 549749787 889120645 996758757 17142303 480599731 982859991 910469457 442560743 799931045 389799149 240576877 190588665 845722249 294063893 808692941 190922313 751155001 343674407 539758035 565565649 663849691 205692801 860074663 717545873 86801881 230576135 597648441 736813463 963686377 289293097 31127873 428640497 8270087 607172063 753180993 427628987 654032503 621674915 370904447 732541207 212938693 791652735 418166287 904327217 253897669 511863039 792572099 787497273 801345941 574577465 796850753 720930409 941064599 371898317 102401263 300048647 167034999 93752801 796536317 776322137 796667437 606645027 639591523 939868851 460701937 168371911 472944611 826287215 584628809 221253775 95410691 533613807 404937217 972439999 150554389 780011935 124462383 631921703 919378223 187564271 991480107 273960731 645060917 515174747 508733599 515054201 674334155 286117475 326021235 97045931 545840741 126699923 696664795 468792987 98124345 287308159 376643671 146128065 250494279 900636861 955097767 460945437 719825241 950527217 308803035 245863985 779176191 732417991 290024259 532655887 363110543 599169007 933978751 952491085 725499181 484928037 47509619 448317959 359880637 763814441 339623497 973176293 287017457 638099399 402793079 558336533 81956675 978624977 662947257 770814029 383500273 59515171 752471057 363043019 354174469 633350555 420838351 914611029 614969423 521696039 841788037 704484409 116558693 850333367 644655631 820612431 933031081 758163271 88508819 702951669 442770755 988000471 272596093 572585743 150502691 752006003 742239103 381805583 41151491 227031597 948068759 887758311 793738337 606542369 669393161 804004633 542609541 769630573 824046177 628614567 217795969 889933375 554543987 801585699 16225837 199702983 747233373 686551203 877827113 104414017 457747073 1885123 336512221 232406253 85500813 561857451 487925369 342831897 12455027 640041737 566571255 103864595 707637873 243958803 211748115 540560439 884814349 700312455 238755675 499551977 85763087 166322091 804518171 190895503 324594319 528404815 706648939 615036321 884842471 579287239 613260335 294753427 24849851 477207283 634435853 389180653 684476409 909128247 962002547 770392373 354313685 502176131 878474399 22013695 315599561 937477967 636876939 953269735 512595357 488680085 246241027 168416907 462928729 309703647 636874135 460309913 855064149 193535545 705373085 47257281 360478507 256694843 777769273 122772415 441836993 265471745 152828495 372619605 568205889 842831155 279709075 489178187 939369505 167043071 61702011 858374261 94468381 983442459 441485127 578383279 62513209 573121221 865320961 610137815 728303297 638456515 211408247 673818843 132991817 395269989 516127557 884913579 531663535 227415935 522825671 307178819 939147029 373249649 37330727 6150309 837634791 264805153 380701783 204498649 109805019 475807995 772420107 554767859 313130477 903256313 501377479 827399695 241691747 655413909 970655955 582598731 64200389 494504665 86650685 497575893 444252137 924055889 732964063 148663519 951346925 398819093 505054297 227465119 163838003 163093953 776830995 659268957 891140201 219406461 20746047 991235423 4995971 913572599 646262993 72575995 308513211 242398821 730274957 581004167 781371031 100828805 380425209 960769897 412361701 694863007 983556967 668828425 433668791 141647487 695165679 648373465 257872489 411296635 502664049 351573 858120095 52160883 142044565 813950463 668345159 770023371 972190411 857038431 364582293 132511861 353650763 733338377 402934021 507325667 130680343 503239321 51556185 640382231 143212533 999112365 485181601 6505621 232748151 820942067 895766575 590101867 271697907 806703133 101096863 144631089 514957 946093795 216075735 372975619 417553449 418050311 972611587 164801417 673670523 812877911 252674709 42970099 165826297 73970593 115261003 534410995 836944101 853994435 176997161 494317769 996610885 48349851 734755195 270533435 802647785 98079255 317251797 931625625 374525037 43386665 150735637 510559415 813461805 832744649 421486941 894309877 730249811 246856953 722654489 702882361 903026641 996936135 180612865 246219759 405175133 765246529 320508429 985769745 16386935 773050245 740441219 25270299 384748137 984804785 486732529 686897427 749734721 761190643 628600615 859182727 953056473 132400253 701907269 82656399 562079953 722401159 605653165 113988551 771894419 434237525 250046733 542516313 148609611 175425839 103193945 87280879 727726581 788477803 357330637 900194241 974743119 481545311 260476395 63592333 306756065 539080305 727372163 575815323 636544509 288074249 33975205 255374261 460148667 325033625 183035571 166409527 419525883 646620061 655466059 937660923 797947749 531691415 478530655 675754601 647961961 923721489 859343391 905685357 902198593 775224731 710387463 768635265 704457193 707613395 174956511 17897889 115263023 386746201 718876081 15320659 439302047 263790039 594993361 893051045 422661009 695894527 91005917 168780079 381167657 773239181 560204469 481088781 99731277 313994051 229322635 697397993 411435949 310059499 240646095 679469037 915642305 120710997 737898815 772714705 490570953 207536991 475850975 931028691 412177359 12728551 645737981 462861499 97590435 518995677 159173417 232329685 759489245 337395501 22724931 611925751 576391899 959163349 479931501 719678849 32497353 836125143 442951957 528405081 982476691 875712061 789630189 624511213 842865141 566668567 872529397 742714931 999865711 769268867 935803757 962386855 869155655 104494497 928466659 721574483 203837837 779001755 684268845 464993221 483788827 615380131 377067877 867638033 876884371 389628661 122415601 702074325 789202009 636927443 165765499 26059579 458227615 767916679 528760823 661670125 8427615 353916259 959078821 625049635 106669655 865253055 363043847 20897949 194801425 188370945 93218023 720664477 978114779 495708817 186914141 489251061 238266831 514240227 434640069 514852859 376255693 101749615 772363711 617552523 546953853 859299769 178819389 787831821 270901841 381399883 590905199 653371503 518303613 673537205 476454611 939809573 992275973 318183573 404941101 200029233 952120751 209511051 792944777 194242839 11847949 383070785 728309307 333191655 866625143 230304875 804539873 132214837 881717517 979621825 297440861 380517921 952463799 242973191 954257627 998654799 929989669 360526597 545173459 679711727 682199503 752292753 94395389 720676281 199708407 429280899 995723615 500243687 846295459 888927677 297089093 201384771 903080101 920306985 369778245 371789081 62444181 879708603 680976697 376302655 82171601 271843947 566480453 358362389 247405701 883727677 217926359 168508289 501131167 380641849 200340387 328386033 574453207 670450805 197055395 389445723 412564909 467194121 189272351 501126973 424647019 725575703 155119263 382851741 306582561 677370313 289233403 518921483 799920805 789281619 311122253 914898587 69124763 96101869 66526715 245168621 502581607 666359771 911777711 617831205 710187325 940224871 268449119 899376371 196918291 509577185 897994823 416656783 502870697 845366439 345628905 58853299 431574409 470877209 514152981 833974697 268801 889574563 450185693 205494333 578711851 377374643 410509471 152388039 954894567 884388041 793487869 510285091 446808799 384875619 958328803 604082873 940631935 703813899 148919175 673791351 940446979 721134679 912339557 457324499 487665769 280437727 926400833 703814347 279559801 261583941 451994409 8550629 297170629 130750515 83085421 39651121 779356837 82885469 1785261 27461699 815640121 19253115 944493771 71072059 528128361 634613073 593079797 339850429 239093989 391801769 662678173 840156155 334696231 331513941 306662017 41694631 495517549 990698287 138649255 460714755 964802239 74101529 376097879 13841617 851529455 978251517 108185641 216050277 546257813 64089295 501384439 344400015 578040591 599599751 761234661 113265331 642388873 492243241 799360609 996780467 752053745 604841407 105629983 981398271 982940927 262430811 86717723 928235403 905990197 543842071 981578647 565888219 757256409 458449685 976665635 603962351 768273661 47973247 555392913 247491161 592331383 402163337 605596925 752769837 720966635 996481133 103939789 51158027 157065661 949625451 519006635 394961431 659969825 702478287 603734413 133692163 811436301 275634921 748143279 47451137 54947649 785173015 740681365 875202259 15962951 861806265 585560331 583333053 71347055 927832123 537014053 30402957 84113871 37125901 209422913 39544987 164284235 776788393 329629441 9314243 79148679 120478611 48041553 18018413 727567093 708896341 964630633 131852423 291666895 792863361 386962881 404757383 824139539 5932721 82629151 104144235 790483595 972603015 777464207 853406651 773135045 313088429 218377575 390576259 333708827 411552471 871411521 645397849 419755437 322313919 190918657 504352861 186528357 267183397 199151317 870314291 124371951 331368405 293926449 887211533 804188101 991179681 26115279 320768157 555612201 371950435 22747829 985328933 144825635 244139773 320851505 162922345 631116161 148932697 198520533 136601527 516073437 717164139 872333949 591056359 109827991 612733485 864012365 283386967 807793621 978214815 224036789 1525995 996088459 15745229 388554597 634484243 746396017 933576905 498776665 38584773 311682309 19668141 315495129 726730367 250282895 886741659 620366703 185646153 580039201 947803327 294915567 695091629 210335633 227894345 291044981 931218119 359008131 722039923 522684007 948568113 434211165 490530689 518507889 836288529 707249485 603042237 879731845 930360089 438101841 771883129 34322657 711911293 100884515 427550991 536414473 120987641 448150607 965357539 913943497 710815959 936029477 510744411 699099445 195133669 387327931 207827181 674178987 120211575 71290869 963388947 801674957 304119915 958677879 570530637 924775561 199214889 879010485 737754407 417207313 8821665 960828901 18957107 1833189 811385925 246398983 971266827 699796421 513118229 852047845 508321617 897177535 321092503 868817165 983513777 884917033 423198683 999106265 292465883 519064221 418595703 103386987 577452425 239892991 260167559 967125671 217271169 604364669 461658291 704103231 974559625 464533643 228966439 760000941 233074549 945283813 646278813 222134575 153504031 140562317 598287185 823710413 386806121 231982035 444073737 378659931 350757183 374285385 918756627 378674541 186675857 84124107 555294791 810626149 644055385 919780991 823045635 108254059 369580701 821886671 707437355 144297839 523509091 130489457 594243887 718335273 868007871 65840993 76334853 631291931 761136075 544116451 622729261 991403917 112046249 509610627 496663465 875250573 531280261 121780501 586285323 800264691 48965775 994421173 358369129 601010531 72140803 614929097 115732063 784724547 141969697 719423741 900686613 904931779 489285429 146345027 455461687 985214683 226772625 311280345 625531391 852301645 535230863 945721413 930233641 208084639 796133267 747262543 810056187 886166819 158771203 215011341 733645893 594638063 315960149 459111133 363810139 160543463 20888067 527972193 578151195 123990959 253347725 517279367 72669935 792927419 125874561 625869443 42073281 969627457 733823085 855269327 745579017 729064257 496034029 472914483 810240199 599051397 789571235 104958903 3063933 946428317 441738555 66399667 593713469 523471071 627525989 838710209 936829597 438436719 39420893 706674885 160564409 536939057 928183395 820170223 426366265 11008217 565455043 593366957 406543435 292168923 168083921 405818561 37245859 812848251 564776547 171039021 627346307 499905473 519440477 430349629 175573935 645596541 93089707 973736069 410954359 744913477 142651197 371143393 311808431 731733883 439724047 214757239 641364919 300627015 908243489 857140657 244885107 835403417 113121153 13044293 894145621 295613483 604646205 396241455 884759887 447532411 858531953 910466995 460295137 165552337 969947967 743268189 455719443 837906239 297635283 563244291 804275825 364830621 803221341 109913277 102563091 18205579 493590809 465752053 431491221 667695729 374841161 389739601 538672415 10367615 227056693 518004427 467266911 188835759 968373553 683469979 416810891 778294973 660599191 738800199 698787425 507204151 299783115 335559837 789297191 709566313 654605365 159104941 464626091 4346731 619771975 731488727 364269895 85274657 338234749 714405053 271273939 316554545 188645975 419240013 78681019 205965065 621338465 229618619 195406313 425715175 725200943 170167939 581144279 986599109 827177047 408153447 223315327 80666735 191887999 211334519 627643499 918363253 72851277 886982405 676625063 610522157 186549881 60395693 450532043 501047739 571252151 250714197 885993459 542131971 662189007 525969447 167093447 212519097 456105351 534721945 140175477 699314003 215820469 29716583 896455091 241642513 687218991 439920021 922408383 852580861 270743001 217808493 839681375 141555429 75225503 82712457 396103651 585479781 826560115 998348223 547746847 661899993 836546635 261344055 242535283 446626411 238977071 887178845 870562499 778335757 32421669 266848995 763956609 520852083 676592451 561536711 155192991 992582433 17953951 588790093 132789663 763580767 882403423 418392577 858063749 904827195 903778729 77029305 750646239 104789135 915594933 850156429 161271237 844847099 430454713 533146599 474307795 780794343 817655799 125854575 240163377 835166597 741086909 573807641 135477645 706177993 604244569 225041957 956423197 871783543 716670247 680332563 535673759 758757653 712742539 648662193 579170139 741206005 940744173 33632277 525595 276718895 738957759 60937881 749205051 285256099 987086461 395916003 287640723 971669497 400997801 777816541 464181135 963256225 606868683 916032957 829875995 291619283 676479609 723031805 909962411 744796305 524951881 602570597 927422529 292691361 7679713 672187135 32907105 989003157 858923753 883655967 916615705 62606019 914908179 423646561 390551041 258456143 653297435 464186027 137987381 906611487 99491267 400852519 587619165 279042273 668466131 347238987 992681127 940000529 395959839 959442387 676946633 436748271 379888003 426212035 256548355 253234561 478859231 148692327 911803415 230903447 339146013 784684885 481004375 65206733 580998191 875298405 817013143 948341375 195257873 310624703 846318391 690777559 179230405 53866703 566457885 870964167 502541907 662515783 749359797 31224837 160657873 650296615 204093177 130010385 100032597 343772591 671880549 720841525 185228293 965856877 237797885 273013119 650918665 563817783 626769749 187856073 187531411 314635815 51917695 97828021 384307167 408789153 113086745 839998631 786218799 863393875 947999307 544683217 33951947 615716401 760704451 603112237 970218505 730684277 256561593 930920057 355787327 290249895 273020135 885439805 511018451 778095759 774730133 341702859 92375853 307462469 986794643 144420923 304847297 229647139 232016439 128741741 740772103 315114447 677241693 338975241 116889473 893499699 221599339 180212863 467717565 832219781 182261843 103331081 904249675 567697217 390118793 879357603 624721347 54316075 326325001 597538331 283545035 570680399 834946397 434444541 807152139 425348097 285855123 457996961 105243701 163292637 806216255 121887019 92777989 752373705 638274175 523504257 338227773 672243697 382407931 676321619 452081063 13380039 388427491 514005529 806708755 866965769 864826601 521494547 722649951 16483515 274799693 272161355 763239019 877945897 159982551 956845713 526828577 868531175 856226003 289661565 831610995 532056275 387508247 155080301 907876191 591596815 797225219 150725261 880033761 142032649 150433917 200096713 698941193 938780277 413354995 887626461 229373157 744888653 126688345 372849993 299799955 231058647 197214513 60017235 552338483 824641697 397557631 222342155 997942255 854757757 41819859 398894155 848200955 480648839 101440577 636932533 632822159 656245283 967568231 739614381 786198767 807031551 743393135 479034981 467483235 812274447 525307395 995316183 873092673 665295503 741537371 840501441 309510879 815732481 64141877 362455213 511730595 217609269 583354585 589676009 884100597 365754685 84694035 412520591 711245897 72348533 919528251 932318079 755842839 992454019 894101549 209189729 995804643 611214417 150000209 259714471 694095927 105460245 605189011 183313797 159471267 841289035 667575661 175772415 936441285 801212855 129910747 903218139 332767549 95726949 897299043 122256557 881454261 901830571 356232981 662503879 507163361 523643425 475918213 204751439 724298873 163724719 488515537 213867307 64414529 695910785 336982947 133467659 95174915 190269449 612442917 718741095 436785295 414154245 287791119 555224193 305742019 942043515 486003873 342815327 834047871 510938291 926306973 247520979 571722413 871600451 236742741 397649013 294076737 271942409 660234143 805634723 539647027 592582953 155337943 488205449 724457351 110925069 635965925 991153173 566087 24547177 745436983 436979967 727634563 603028797 994032835 414170055 957782617 476745417 395772679 329186999 930360041 99285149 707999241 73394399 919379549 394788491 984769625 250492181 982640105 862529711 36226571 395032317 432855749 23977581 606272445 852648443 789400373 269584245 160480153 571318339 351815043 464955061 33003593 568918987 246397185 932901231 797312519 590044499 440720137 157668901 707129229 764389221 482009083 830922659 475817253 838542671 342826567 191508989 117138331 367665195 672117595 696588687 534033733 728933337 710652081 357456383 999362309 989424643 360420557 868965177 282337597 225620245 308426809 621163631 369183453 957177163 107716741 36593439 214378587 850849699 376398159 962045965 636490421 322563301 462943031 902614085 963059825 571733155 821713127 46418973 118602397 940049461 166331923 965470765 418715091 843291067 170614901 789991005 870820651 956884253 151805645 247300825 557235025 62948107 915615717 29824789 212331887 222000639 122355091 193408203 96163391 553144119 728090543 359838465 570447099 917578171 370775323 705891589 255565421 497785693 58486977 627471207 580522977 809483189 57571989 872049415 202432559 59431201 687099537 207961097 225992371 277821389 430039989 33072855 872403541 419258023 879271179 798768935 239923331 800629863 365861545 847575795 244997171 689008271 108647079 137494915 101880035 53181029 553692199 560770145 398247835 598404603 325394005 619567199 903606757 411106087 582078815 23256223 521718493 96675981 697746309 172085631 519386139 920229521 736333317 653048241 333048523 270168167 596458539 220281637 179325081 359342853 515271241 808251417 333433529 102954539 691511481 4448785 201643245 97832803 289975517 303968985 406559351 440245501 296415263 504146309 92796715 249286415 125181683 81701233 601314905 831605885 265747921 586917699 877303781 627870187 906159677 389311975 568780081 389256907 377839553 254838159 919981613 466171479 438862575 941805755 550702159 150803085 833416289 566618411 141975445 265731895 68483001 632761069 202638727 543827683 94337187 502693717 992705071 100287979 465761231 977101825 32912681 467923311 321098743 305836501 107111053 991406681 592603359 349821433 530562055 303278165 518224465 607785191 366163907 342482141 359898911 856315737 842108789 434223667 688927267 663545169 601906015 791346271 844140351 691069215 57040709 669868079 752674399 25829971 591098229 98332733 492268147 729972429 825025479 805195753 290821237 642648497 858376855 167949913 5725289 205751913 365101519 318792067 351173721 518586795 399410649 113576217 747997527 375709299 295165613 111036319 43133565 320805125 237840585 161721691 680285165 766141419 846345779 711850847 172361683 296244477 764698491 37683841 176051551 532273239 323321527 291227749 928024523 184800091 256455299 332131441 886025565 707683765 855959301 156805843 8013403 208407643 700264175 331312521 573249561 646371977 169883251 260626253 272992753 38945475 219233363 460607147 44210245 443493333 233680083 311973619 962728831 49956821 173841603 308965179 378643219 780207899 963136629 749071207 765274235 976253777 28360909 887055131 522207799 628155997 765244461 922164939 802049235 32109945 579931525 85777069 766435297 599241245 22804299 872782785 63416571 435246863 290578559 218161873 67793603 563905885 614788515 819994475 10990053 147199831 826283977 51501289 144773137 835185053 906270087 869588845 562824451 849220115 319232505 83188955 437205883 746045667 134019525 555312101 187652165 674552195 933687837 377275141 655138611 275446189 589326773 404146553 398742047 100618857 996433355 819232841 35848683 486821631 721557797 611817289 711308675 594255367 933583633 879641613 9210071 777330779 694081639 498273015 151852003 37300257 69492867 190152751 504477095 588164037 285344847 312047269 926326575 750928121 982159157 206912785 532416141 580975545 227424813 764923125 805487067 254299981 523488951 571207577 215600701 878636351 597328341 489417483 103132889 695182947 923249433 844068131 39379941 897090007 186786201 918701189 681730971 468941309 777085681 947791255 664154939 93061505 564875335 37542793 393483793 84405851 974328653 439994707 362271855 941929667 188949303 887380663 817151665 809861183 85261763 459979579 553257525 177940123 787339319 37703985 402759273 772044013 785640545 810431663 452855741 806352015 624490905 279172761 373776043 8790053 458544573 43473299 119795385 834991773 793134129 634052881 575804269 156723753 648646887 165965897 428779355 526493513 144688977 484492603 135633181 478247869 922945391 861962673 235900503 789974421 967239881 874701883 890384047 278353953 877895019 298029871 100167387 562513665 355607277 813787057 609736085 191339801 690515307 958167205 162983583 597338515 966945421 434344895 477427137 364741349 626275967 582897779 823410639 792622027 83882235 753115399 785378211 505945671 93254717 977707389 767107361 973989033 255276555 688727211 762241071 907396227 779423413 939783973 342613955 496956339 329929231 503176269 714776279 142596953 728718457 570269515 91682157 884902631 349844439 551917071 737373069 483085581 772783769 695192659 962490955 80914633 501515447 965699733 526082241 926878303 57087147 833125661 498716947 18385499 575344255 517808381 576574311 307659409 893992639 690930957 634489589 162252575 916536195 683673325 394546929 504760167 321400679 722395141 456066467 517529879 706205331 662369925 107149137 798072097 90944437 459279463 804280143 688970435 926045953 184631399 975828217 261409411 617109817 75858195 36951725 266117417 91803299 868201399 546854617 110698189 968344073 149182315 619041517 728602057 555652037 406433299 639907941 636284865 987965621 726677333 333598657 753420963 259983679 613946271 355607439 522149795 721456207 552733487 217571677 946630715 17209437 662910207 175303879 277721907 508546153 714402267 42655345 91538323 266131703 783816019 606925571 625482163 83254549 692000957 644418607 850585133 358402393 998399549 784058289 506436327 862551269 398862775 365754953 903847435 317821531 690383327 288282821 667499791 836979947 516959531 357554931 790777775 464644427 67085019 988450991 88834799 873358009 363708409 640427741 475685403 215188987 842101333 794598501 195869127 491841633 738633093 737887033 786088145 27146431 451551211 446424405 626881371 411965045 736568239 856243129 683645393 811699303 979206083 521471347 790092265 272842759 68931803 54615185 528153505 963957319 198507131 139125551 378274873 973661865 596218347 755457649 680628543 632301105 586222905 687699839 367396743 710040685 636987967 570120843 660184623 836060787 843164061 679280593 205676441 539583461 831633339 163568275 787654771 706907621 15406027 452479001 243224753 920632867 434022081 801218743 132647565 877350869 168063585 780453065 724277133 106102457 738232369 944773549 349298559 535388693 541149315 176643281 523153781 615232441 793114991 671664295 535858891 351401209 224614357 103557029 707957797 52890037 448961117 581104467 270451825 8104275 690580087 363312441 121649123 559860671 904773467 880390631 97606903 87946867 336463627 31045113 975199599 413797739 728654157 104090387 65357147 424273451 104096435 700407005 270492173 198069959 193207187 257404425 307873059 90624719 524007697 854502739 321466237 68986471 447464979 690496637 614194253 257664305 227108935 140530511 716954627 359120221 945657641 571632799 131138909 211185313 357304569 26722627 475194975 121286971 844830141 57701153 295131477 884201203 70095429 818148385 258005459 239877653 728010541 131496757 282084791 195336823 902287825 885312345 615766051 580659321 81398619 999485583 506368643 128658943 664292797 569080031 227598735 779165563 352946349 116575 490788927 768834273 649165995 853860133 837640409 205770413 324185601 166794839 958647275 289668329 465197501 337614621 739097413 554109475 306887353 241590441 490542855 309446765 35804823 206250041 337382035 312007787 929897147 717425673 219172247 745461823 844580183 681245801 317956871 146374809 647791717 782792359 67820575 721850799 359109795 401926177 583887201 934556225 368461977 487307061 608672157 727632017 350439833 856631377 443187429 404312945 623304379 656056551 250603925 820073781 894539743 107823215 482096465 14262973 116966573 593180013 417386505 197162095 271492501 353872489 587881197 442234681 667251409 267446521 341953913 921901455 822723933 368242867 383995509 883100787 94965255 561119805 654060779 164741737 633962075 777921599 657798447 886292609 357499825 465901165 980471775 38201165 944219693 797034111 787587293 342503921 475121077 398064441 695652437 366764815 451691257 413293411 929905597 8472023 295131761 567788243 186360529 135629057 939813213 789064543 725610133 963861447 681508553 322627565 937700439 386499825 537209471 664699749 18421927 494929871 101639709 132895163 206656101 428419383 372884479 932977383 203740083 830902405 550239313 5989357 408319743 815505569 336812031 143948757 250088955 836094711 645960133 754304693 760911527 337392257 443410723 614958243 456306755 944780475 817216863 758269637 90636381 355525291 145839753 833374787 320358347 16715231 523320955 352323409 101113767 989650287 374342103 113348647 490727511 159303417 398550785 196090889 816857733 950700961 72584491 54664257 805019175 710714649 364674383 158707999 848980343 90258067 383922475 501317377 261435389 848152015 458492489 875473735 158219139 624044565 675856119 89971035 731585307 696778545 251563855 39250863 228385319 256819321 174665265 687552705 754711367 98343885 571291205 593054733 778999143 631665299 812455165 725032227 712661181 463312057 448731533 493375123 807930309 721249717 211357177 635026677 527041091 988512645 798339079 470642159 316980803 817797551 883808843 642518313 302986521 230837313 678451479 912873815 2283107 296502483 985147281 896411441 468037891 95720323 499498143 678855291 414670373 127565813 137095153 413796607 499356225 581976155 541772031 757779855 969182223 432979047 427289611 693681923 146432405 340494937 42528027 468996929 709890335 180195833 514922753 705805361 268936259 73819539 745706069 572276935 923546331 965020927 888980597 563529723 44103691 353862297 812529293 583336401 258540353 61989449 34954379 644024403 621833009 483757693 751828519 387171475 967753941 767217451 997589985 641241513 284573301 649020625 750711299 132757435 690786969 367765365 992584093 168510707 990456601 598743461 546258309 230527615 596337679 740169081 284731231 954830751 947042017 182103951 618304143 305945745 93769529 161690125 795986761 90775967 370932749 70057375 556900227 557909023 260706969 215197309 955298301 750510953 104198497 545869671 881060673 610093535 302022447 110909089 375062173 742701547 926189595 458680057 943004971 350241537 175893633 368286405 812181195 509973145 329853443 326529255 73994023 347534647 33143437 221356481 39518891 458850149 636754261 584513089 113680275 158396085 877914585 864952033 400275677 746482367 268995801 270008989 69890385 114064425 909646179 12362237 775636097 532435869 83261387 554600459 167365573 938372811 834250415 731249505 296246589 482853229 569220593 222727453 609024209 80948295 516740543 121719269 868297521 898011683 362262411 847813861 270696663 32924881 200830741 529249495 806492417 139468335 751061853 703708405 139701431 160035101 838941105 947632649 800797131 126021767 157847719 35474783 648035285 432176733 629122841 407952847 743348021 412699801 76595499 816156853 160126481 431914559 220109131 4314361 986736477 380292697 246055725 539477513 530238927 452167417 42870477 823198427 8741609 947212855 645621101 524023021 67267569 867244859 380510365 441340229 770305273 391803177 20414767 618945395 303142871 42201655 539363903 142398603 43969327 283095709 873065523 361420333 337988965 431628703 611743669 89519999 764585901 468933255 208025275 170567725 698748157 188313511 167856513 922167665 309857045 149767513 384647051 338325253 830329727 713855743 55798949 19455539 341286027 260657155 701403619 638740167 34253391 719592153 13269155 748965401 870499247 165142011 429679495 64885255 213079375 176040169 453321597 83641333 726967969 231390511 181613239 592655315 40663263 795416927 520142771 728883479 299608071 801466897 223743541 334456255 147611107 629413101 993194571 615765329 12710145 52700055 418203973 148087261 372239291 699151045 554806979 776317687 578972977 785306927 741869991 826719423 538647117 930095259 235437343 123477211 895556795 70656717 199532447 376350071 378040309 603192989 994345441 173081677 719670845 174268131 287059949 78495129 724413851 831234435 693992971 313088289 409952989 539070051 161936339 424508211 300008093 386189433 191469855 184603559 976133691 838977725 200792853 198947545 189745887 175627573 449768223 93913777 618151545 858188775 155898867 196745117 273637569 897948645 165022859 587712917 63490105 411459149 760711471 383943443 243918631 954259265 157214313 130567199 985093789 239394535 842804749 255227209 416892785 99658869 799295031 38602917 113607495 578510629 928071757 258267347 715848069 994885943 141412859 915391993 483840603 673960695 401432627 729580741 272127425 57972663 45243443 997431659 180928119 779452113 531528831 198985389 830927111 508385959 76722147 273478863 774805185 452559269 109200499 670922399 224784571 49379643 523401357 814911093 572596953 815246051 334713811 525829423 707564735 941568289 124704819 979880241 628917473 311181951 106688223 72840043 292289397 72228495 657484631 865702995 558439291 443234029 897223259 197274345 244118973 550054455 986240761 273352111 590283721 935002393 438827911 191083959 598034681 348533063 620641951 336446357 518378351 769655419 228670501 561655401 582468879 430374773 573827655 596235481 853002379 244420865 126615673 538358803 898348125 277729521 521953399 925024459 284695491 6483231 277438787 191862851 190051271 427018863 445311021 535138623 482565687 311422919 542604743 758722831 893617837 310576925 251929837 17256071 227241865 443370603 773542853 9172741 60269299 611054257 47596217 848291699 235607515 145486075 643075967 264453435 970564345 336499035 96705043 59600213 328635343 7734765 543977913 489767743 845027749 282111439 214433789 386952705 756488329 792238637 272906163 554575143 450272851 373134141 533998583 450223559 567004583 397028147 803475759 253784961 346648811 146934615 202701319 651243899 291422543 351993583 801331313 457647459 850043339 412249679 447958187 520640111 5533217 431258065 378140731 165194845 659616727 306609367 853216489 100572275 243198783 826541261 997339083 22189183 55391855 654343203 20191295 118291929 748121675 144274261 513390311 206196831 602412919 598450659 147216049 827882357 607968103 481776985 511341521 264734475 427191121 571233865 217770689 156721817 487370039 960975695 305364297 350839321 39301341 223797769 542690673 988493077 754306777 595383333 219550353 932527001 967818111 496807507 225551427 874604347 612279795 19099981 615984491 110727707 243932441 503285977 322546489 25158623 758634661 991832765 653100573 86807221 186219531 55677389 125648595 857160787 335179665 714624739 832641379 864823543 50468665 383555555 363771415 634424935 256752089 888904373 779157123 319560435 474226181 662082123 344720515 743218799 841775391 609010079 179934013 529594169 534921807 176878775 868101147 630751547 763479429 265173401 829731285 799008479 973915259 664428889 566207843 15581213 312805807 384971027 738344201 541161333 490037097 394774245 232279385 781237995 672870589 818650877 407164961 902485773 900756605 47579787 308836735 968094705 131503695 214418123 734440667 779434553 875718553 615707133 114264539 719759365 510859403 876311661 782817145 614443529 304467231 527724399 840535789 182393977 298300433 934806617 614570685 185420819 612533743 712236943 944191415 701276957 178778629 742016893 231409643 833650791 19652971 100090771 132531129 716166213 805389829 919951693 732631749 458211735 253469049 626519853 294754553 61643969 685533237 828744123 594726281 155075253 98109559 318243467 604109813 328297445 85630265 998486329 955123453 455959379 187671367 384754275 542703537 413919617 633537585 968538807 744165987 570886019 610779981 520638437 70242223 104353257 581324991 853777321 653095803 938089943 423841387 889289925 562365937 336283119 415352581 343205377 193434247 345762657 956710147 834841393 787509497 784191201 369265061 26154543 216375371 499899313 709793781 106335711 972729801 616586903 556076483 580669225 338603015 563054301 18890917 270946303 615524321 803218783 525360381 731348573 613025149 116508533 990309619 696580933 709127495 990284299 895977849 512129471 686515441 463180427 51269443 432638431 226329721 678520815 943011797 996818369 79092515 574040499 484691575 671751811 916157563 682381019 96976695 372393299 24221015 714441979 274954223 316570209 55377105 113068835 805480255 821269993 790326093 787316471 375871375 857719597 372190585 654881689 188199953 278936437 964494663 743308985 256803769 139447063 707535095 906430349 336915019 310402665 745521161 751364051 357566797 508298961 251414091 469353169 782185745 691090869 463750355 330630743 263556527 74444173 559044859 879146425 459901447 620712655 527279977 328581335 462140609 366746877 484626183 860657431 803492173 182871973 254758923 127855205 762333411 134062933 54627567 144991291 184797061 633377963 512747387 480454803 751646969 743271749 253598137 159360759 187441105 92616913 50452221 391856499 824028259 313906177 53807843 338773407 78543827 672422285 962648657 178277785 651443463 575950647 102261361 365947653 548646317 17719501 486912953 320084499 244042561 532192541 1044197 972985465 540583939 308447491 509975545 72971893 324734457 561883747 375508289 69460431 952231411 424523045 693732947 948110545 786179213 77574205 43534087 342943063 508952355 868346019 764434053 303063483 655654113 405549657 652631609 961941987 106186675 956579181 724061397 176290369 564758357 66588909 124694361 768642247 718288453 161011191 891061253 813841911 241029325 447696553 919330151 977033173 570824699 733309745 64263509 933343983 465539241 229546177 634213865 694867805 941807737 167224465 131997831 588376509 47921871 367483107 962774749 110851635 644910045 181341189 319943647 877343599 429478813 151377221 194687687 407305639 845444813 478586369 422934045 427641241 773451765 819825817 105987753 61957517 339952231 45149047 783634051 942282831 535174971 336224781 83151365 313444917 485181009 698148311 30151893 249971743 442258769 233361751 718178525 40219251 310808747 967413527 779595091 451829277 441577625 692970663 231513523 27504023 945338391 869724069 67107521 680195037 836674547 123627183 238236553 714102645 967842233 183645811 657422943 31694701 791177921 997258915 812448735 270192733 159665967 149425399 930068463 165891427 485458153 378831923 109747899 511867171 489922719 952218911 195767221 927395021 401606345 14578065 977285787 492395799 768838311 139763041 759134321 21816129 61888325 967458671 47525507 284469261 491777645 971788969 544276839 978684621 878988733 294327553 449603573 982842455 683516305 209900143 893627477 816445959 184650773 651596791 14354675 236781763 5801525 710441121 62274435 652930557 171579565 295330947 745039871 493601961 86622461 990965173 679466927 121739333 276494443 422474583 629906459 580258775 769638151 167204505 850189339 362134253 452649643 152207271 493305033 213110431 975484921 678535359 174508681 5161611 922086229 736868643 630641673 982711765 566125553 452788253 116579645 692162605 372679367 387224573 75759201 752329419 873835925 379750177 712338167 671915881 470416357 951167209 242125519 559661905 694818821 547502271 726306043 191011919 74085391 826720023 889738967 598052793 122842851 407062633 792170249 630055279 521479465 364040249 499904123 520860375 177426515 539748879 865705317 83456991 3393941 464240257 203832893 84926973 488724211 735350311 916692173 258323245 237515827 616782499 635547423 404812027 486814697 3422623 395384457 435041135 794471527 807533517 779724451 669813283 974596819 328223723 274533461 914950965 591517203 642011061 181057739 381545033 142479319 344274171 588487287 475660177 793434007 526862477 19593753 752864447 818127765 397498181 306526641 817958931 678639575 280334595 505446285 605550933 909152047 792889271 347473729 282109137 349988917 216618061 898162347 988075615 165860423 9443781 118369519 568844379 913666193 876881437 762925943 890380461 566288129 481110879 190210807 615084995 303352143 492279969 684519023 687069585 127390203 754628347 51576351 88034457 684254543 892249231 273271959 676543713 529846875 566991239 986061737 12723443 653701109 288043799 36748657 447247081 893953473 129414775 875772243 739708769 686263587 226965995 509081855 797408895 460157519 570954685 267241829 233523957 258258235 659738941 596780993 491106549 286305959 163045833 766249627 913226049 508769565 197972417 703759549 896369179 996575723 972610959 595683899 494529109 413424683 78861479 155987313 508326981 392002493 523174529 183391237 921687751 780657739 379782561 648533475 140326467 361270337 131133073 139406909 205622695 538984923 471131875 473752721 252434793 846212119 493067825 869980067 826536071 791961021 948273437 271992447 156302215 129315423 459373137 387859835 684976505 482014037 678652289 587581231 490139889 734278847 108806757 7685507 570251023 135041669 597817281 502046371 194187895 126109527 977895007 925787651 424842843 512790447 24552465 20197725 257264493 108042443 948776113 639054263 224876271 223672755 598828321 527452767 711454629 994556473 40166475 86988261 830252253 925348341 959572515 774656297 398051183 322736967 661385377 234852431 178980535 953354325 225920201 612366273 465413021 657602579 598574501 26329909 921671567 105864503 735468359 86978213 721362307 629685571 865443273 624203097 159924471 483901309 108332109 629790427 86797041 498386423 479806461 467689471 365074689 213835399 166729997 827865569 825335867 458256337 300370357 396674791 904114751 797502521 615328057 300808123 690580531 240276211 362847971 227764307 300280259 846595317 471224069 41883883 604322857 222623745 278887929 492434183 584235807 500443035 275331361 177165939 199201263 301922329 895888873 800882243 782899813 637199247 637215423 392142803 733692377 719613153 694705699 120631753 843179559 124025011 643110291 476904209 260700857 279451255 155220123 967069661 167383417 114044775 540938701 710194349 222882783 840117633 171242947 738084161 413234153 395891855 700255263 618502567 712691485 181185311 525336715 248646453 814114699 789445003 771305403 204044675 131327687 624213237 307968617 14526843 777024241 559196225 15243861 516454981 959687599 582170401 76799819 244586581 796080941 672621325 951751197 400832619 140507429 594046023 940894629 309517959 48834001 216841943 631729605 51703033 103247099 944658315 98070119 734190417 957593329 253893885 72068223 228751727 486820231 156806797 103023879 726734455 399363355 327236451 665204223 578884051 170484629 639013231 6370675 148690489 346496355 301381737 636714101 619743909 714427515 843160787 251123231 544352091 402267995 81842931 97313939 718129381 652190219 635267035 121185275 204158747 288875799 434061409 924647307 266499609 96555669 272327721 720895613 621719873 541180709 550403737 298399505 225854015 70917357 994514913 613703571 149731849 241296025 588139001 142192469 946306011 596248675 738370977 386450353 894682681 20581127 277253475 649512201 119619569 388358859 103262351 333964745 878539027 770916477 602330683 587665249 381266431 887566965 130260043 243548491 990028887 987193231 329516131 990831629 621129735 990450229 268658935 770884141 303247431 553258833 110422077 935323455 725619855 814695771 842805557 991938269 860183461 164923217 29507753 978877865 893793943 596113851 220251687 131874383 654562229 684098469 119807753 242754687 906106271 943751077 480872817 350783987 283616313 559549659 746682691 192684911 317012909 898611693 418841905 202874303 915689329 651930121 585422261 891345073 504728383 638973411 416775181 631382049 347570207 728822461 888404803 426815729 928946521 745461595 54066469 780214285 505465221 223530253 624812877 332762981 201448831 892618405 810095643 514175219 935971175 578455943 852084151 956085693 382790063 118477461 109054225 372169929 744623623 21457729 344413921 802900523 36443755 802215549 898016937 464231421 651013155 908537801 427959729 491120481 710907065 500504621 181322247 241268611 274255617 162268981 924010883 835454099 570054681 958179319 551909577 876452555 227431011 43515411 8717375 811274097 654572173 365866159 822989077 997694923 838303369 987699065 633331267 793289773 865309333 291656103 634110859 975852273 851652661 519347445 683919987 137821051 579524917 457644717 440170317 44168497 452413611 317836957 477376047 309139593 198196721 848137241 697515005 252631549 954676651 211845889 988517211 692752141 391299783 124172473 303751101 789715783 373116279 925921585 372850265 540112697 37965883 295455199 606745905 343799167 228277971 765317315 210455049 156976059 901687119 285700961 545356663 714026905 754623743 884945351 53101007 66964425 837406595 168638859 525354549 399262983 736238015 774281933 816657293 85702931 895484125 672399667 65867659 717451193 403666771 206055659 514079651 316731851 674050525 312556971 732095515 866465317 866838141 106360241 230236917 324775077 920749443 886228675 972641031 652964665 946565761 831482671 61931237 893812945 706492245 898389197 880668657 27611241 763329311 889984507 529021779 861760513 19469137 249997471 865123579 567130021 541442715 583276837 736265379 143613033 65540091 326699397 513668297 31994211 673105845 219036735 951452085 807535799 608980053 788821845 478339707 46475409 960491951 292728665 739631085 968422945 364316641 497890401 936531889 180470947 14976589 973666057 124960045 155181655 534888097 275926905 332314769 17681291 282781647 191460447 711216087 705033101 973152023 518257137 226079163 925841337 158157561 91685101 83645643 27331699 846602819 604005785 608943187 985810977 343078667 956179653 844069227 20483131 490073003 48806597 340853751 838292535 766606279 411400313 626369949 690908823 240910669 211886661 219799245 136414695 280484721 552937243 292413375 265437115 110764973 468377453 854448499 408139689 633919177 357011003 831146163 2724437 73283533 131103757 98029327 345107563 608112401 665757679 806671325 325049755 399337777 614487161 210623809 223696289 526774797 205367495 548971807 708056383 782041557 502979969 558907947 259778365 908004349 985026005 690833627 548756847 61880385 421593721 590597231 823760305 568379813 586400427 944617457 304769761 60120437 656248627 47156017 763065837 788008005 158574427 349052357 368238277 180184307 72932861 866721807 917079397 386976161 351901303 221713975 778492111 146231995 999862191 594071855 375447563 234584567 436832529 282344363 204651311 609162067 887976343 981553967 277319249 570254863 611346107 44095747 50061973 28435385 771926407 651499317 429698855 56742181 676052871 844464543 420921 760893809 92241875 848363745 53563395 817666303 65005575 689200483 470888391 204280445 819841867 450601559 614105299 578285535 386300749 831727793 625447797 515330399 5162307 925306421 6362633 355222659 240763629 383105641 15520755 691124505 978374029 811899809 158390427 877331507 371966197 185714159 473707123 817998125 146457721 19700793 57774583 595954859 874228729 480325925 60849833 997948827 199294681 190556707 660769809 468186161 269958923 954163819 346105027 592379625 894359553 149808127 233370459 959545735 269106621 560674469 389188985 185554965 328391619 480561391 552582341 797722603 395115041 715455795 34445303 610781861 91225711 802411157 819703237 442848547 289259209 309745659 81372657 345640599 103480025 906541331 37467209 823494513 984968393 127483737 499290523 299590255 199233105 749575437 918880965 536714133 575396783 495443509 237845413 120940847 930211497 790729633 928089641 979096785 705306511 183600109 221025603 11954777 486926901 371789941 819348459 364020969 278626555 867598949 975732771 465267183 689977799 411809705 416030201 820234269 81761031 621845501 194255483 526197873 292166319 652643807 857515719 422210863 272044353 236211097 817611005 191552741 323837633 346038329 869652295 518430051 177119677 869527705 505470679 731131081 278001229 672082523 323665641 132174971 340462349 260656867 927230399 859211297 519602727 252721251 666674593 662415029 458007621 174224597 342813669 236719985 834235295 658495735 255485409 867777751 781902579 588355921 210267643 636284343 473545865 388464437 883003035 270258723 155562285 587698619 311953205 803768951 223648053 829832899 932439873 560647767 164083073 413068277 660933953 703097267 778481783 207814081 984903619 299862971 96888067 767458913 410005077 735105515 840764831 966507217 300832405 817857803 128680775 383534559 285289251 771408933 252677249 246455575 921292969 917954957 469458011 410963921 909671129 758297569 146882925 199343153 12342127 375637763 372026069 545784349 866371885 74542367 287123767 151404101 417314525 486826923 754147267 625314081 638089807 640561251 920728367 989704689 19334497 734239309 402975929 356501953 974296819 268151473 765750569 883711579 957593583 243834405 136846283 604759901 848343111 673015687 718063989 779921699 793573367 598263545 878246279 17496025 535871489 322613481 897228007 751841387 290114415 492896521 204959491 39730069 665544273 609081177 653840593 997690583 114107589 770513177 364222413 762496887 323467755 807187417 6212355 589558661 351654125 983173225 100858875 132273883 33078269 211551209 880805327 275518491 286288729 998925501 463220765 116482473 979310653 633453967 976209417 775300791 114866169 988651605 141866819 847367231 565160669 312285513 979700481 147658751 953176897 18832883 364103427 916299649 940947595 395378717 287003275 584083219 41576995 72340187 92126059 258138831 10128509 163015049 646666489 335116693 604425233 957482189 239712017 938937869 902134371 531407761 866384667 234154921 604813565 77154827 732292869 527100317 980675183 907665591 272385091 577436653 737804631 313470297 440793815 230846049 345732949 290520061 697350725 891387783 891261459 754098167 464956573 341922231 551239749 685681381 450537843 283642901 432896675 569036713 188708583 930422663 339653361 185211247 589417629 821544893 794873079 292305583 112441029 885672495 384787851 106913825 433118999 559130399 401457541 617393611 732002765 403459219 385844423 799555579 203722929 352664925 321383227 464759873 592438799 924188693 28895189 467202173 237903805 350308377 261930381 123286481 185884189 416502421 354233959 947393963 573978383 339038583 963330157 107562687 630258951 945194103 346570927 26995207 123649017 238453781 244552267 926126539 549015651 484589723 128055137 190387347 538662475 630233369 206721563 189886519 399234625 437761125 150409645 178282705 526767193 78944803 294453583 80416711 907552563 123110839 512216901 271493315 192369907 930243925 874460633 673975995 147417163 69875443 818727517 467585259 146349421 750096721 527911465 724854231 718321433 835976441 956376483 632571977 288802711 481821497 368208181 492148825 949487539 896655659 755288653 593732195 166187461 397564593 479472747 740595209 25832617 856931695 619383821 912805175 776510151 810078679 770755005 611557669 469055245 592315939 214854929 603360587 31309809 788348241 146673057 589783663 187462257 999316521 800436751 138367901 694210323 152693309 200006917 334330665 326417127 74647783 717141559 204920241 930012801 459850305 150099805 19795735 955822337 816653881 237039931 543099785 55142667 658051967 332891291 45561977 911220689 569335431 408380239 941749671 265809925 720339605 220733745 8887827 157552873 52441263 74298659 951773963 389601087 860814503 600866831 521155365 564015195 444604437 992325097 421280571 941555469 361889113 787571369 969549681 720264377 671368345 19465555 802516533 849244225 686184137 844915953 17029947 326574869 512817311 438922133 232481919 348712491 657110941 130521945 661804355 935276801 549401353 46430559 203028247 909334173 158852341 291439825 610893005 584767119 968960313 740889571 793790337 960925163 46039667 707476687 932708761 806061137 694079247 448144597 634994623 171472613 913909305 491979585 120166889 222602585 280219885 499176035 166790739 332361951 858540779 488267929 468650625 348941625 745862583 825838403 764951615 671761835 489869735 406096333 713912481 519437827 205981391 805488807 205310725 378550681 646765075 14809163 162612749 381766217 309180439 139977277 909014183 157795707 225719373 615896071 824283397 458593053 776180719 994101819 740442533 366608549 512726267 613968243 162496075 639639057 131251003 214404945 987012357 232939241 308853053 259472257 458515747 588440889 222870877 452386993 694276677 601929367 184504503 840965025 478408525 979368227 655345717 703250959 912695145 50334849 965753735 85180871 158487309 572957411 818039845 627224987 387106035 109926909 760086097 964035685 617462563 976716299 360687635 732185607 735438821 419829975 777336889 208532077 638859473 298994861 852663133 651185797 813743553 129601893 360735455 467500879 477165019 365868893 804280295 52765385 215897737 517971065 905065061 537672447 105040001 100270377 340900369 618605315 833674429 54407011 55762797 98669551 50295173 479716261 149884607 28668901 732281699 135673847 137103641 549895953 598654507 448234725 774261075 295537315 748537849 677579397 333185803 693912533 715862067 203978615 542644141 456835819 255699589 627138017 525559655 600827439 83978209 98657903 35968049 511852787 55890821 197195099 30694091 293387409 709438965 371985249 176953791 519982445 638941181 633897671 504224349 181832685 410007985 438747227 619587003 540998023 841235311 453388405 240648637 590491061 423949017 491653617 491387399 634272503 186445789 285945145 990275853 797466585 385634221 967282487 908437765 533688813 361741257 303107171 735636207 461206221 47370993 254784955 965252501 308747547 205084211 62273479 110203525 789022595 758453733 112976273 937015579 807595957 970521249 834155957 188189555 108348267 98411595 166439245 226323831 908950379 426062097 492481281 424311767 231600251 837252199 371745789 930896141 927631983 205487625 408251131 242800215 296869153 766402809 750531383 326924991 602252147 809551495 135731575 979415571 557890129 280575301 47670025 646212589 718782379 346528783 577389765 110611629 359829883 572168971 832442889 459843707 558073031 767314595 569829817 716397639 327242901 164093069 654521157 912744649 265357561 233671365 522831781 296928131 861263885 334800527 646126675 45678013 261403891 262474103 812186199 559226757 631614167 938667601 359047489 321255093 511051753 149521465 511113767 768825835 377396837 741695381 514420389 269941139 176737675 372464913 854563811 319230171 774560935 275224223 218623375 395848891 271789067 579739775 173049565 790399733 680460305 601433649 917024655 110327055 249029149 393494915 54839529 266651483 660654485 159177097 487764155 565017071 173850865 806712225 585867353 694656431 269283493 194338413 225968033 661866303 825241657 25235163 670551549 841049619 205422387 955123999 548176727 982228833 953575975 575299507 365115175 112697131 434682799 119975519 958279021 966418231 609979757 446832427 418516395 138675221 993539853 877751151 171897331 65105953 51118399 227793093 442211291 133871735 684030655 26318867 873352063 57475073 364408653 215841411 338913415 737520241 152482487 442045067 972911393 388489019 17132491 560249573 276891395 766216869 695484261 896106905 331985513 660283569 248157031 726741745 781842207 519616053 353924029 895824001 174672237 775441349 130049879 443617829 483815213 923824835 415373105 491137283 74985149 896045143 553806155 781935749 241318401 610733681 274616755 586036579 496811883 596652235 994102647 511807125 2874605 413235683 3695539 289600609 336980231 162078209 296482955 662966099 921527233 460163129 1247781 937716543 426153383 3204959 520894905 913146947 875229905 835386643 451569275 685906369 191785435 246255297 684432563 244924261 269245165 493149335 14395047 988890663 634916021 486473871 81514923 383084863 533272425 835510629 909098267 284294963 775595463 558037415 34629461 168762065 427426325 476153505 341517511 567030825 429508899 731124587 867464417 399239067 125343557 831413225 525174559 630023883 88526169 583858113 799564289 669942179 28871113 425882979 424612373 352309591 271202175 854608135 407952617 315138919 271801589 89698733 806127641 507670163 323287845 394602015 450021961 592759275 246697113 688175597 633600031 181372353 405714525 51224687 387623763 637459633 303299849 497282499 405504923 751434913 997263289 654943699 527513017 842503611 278283029 942717265 736271993 717268341 843076171 511214771 170182063 553430411 293163537 284075321 565605169 710817025 326407589 370231789 503256549 199615267 485267917 97090719 261351089 641308805 278589401 232813285 202459533 11802115 973892765 869095201 8218735 987280323 593234297 34579323 249133145 57948721 433977683 447432933 712673367 722690815 953999255 55991315 893297789 980447787 360398653 718890635 837746401 269494009 721710021 189012367 300126377 391235317 766101555 856191283 41007869 994844917 276879893 461743953 116450319 741128723 283591811 867224197 274702363 67426995 510597913 748713785 873339489 70022531 817927423 429346461 440678959 574564981 913813475 885288873 444721107 711593929 844599035 830906911 816448427 583642879 932653573 973183365 907809557 175376871 779378761 567810607 422789503 615862673 212756369 407959087 377787225 299707229 515110201 282409067 95757599 66120175 900700955 972635017 376403539 337701937 192432285 270907641 563059837 625193561 671944113 459550195 75312179 939345121 20660681 792022137 682115595 308198289 101335271 627114065 445555115 330517107 209608335 592870413 357210811 386863323 994406095 378717189 898736109 278826597 31837503 96600919 649254397 577059831 294618619 853831919 462992045 944535739 610057899 691308153 278870469 151276839 61251453 537609073 3102235 568302071 135852071 815670807 432224389 441954095 142682345 808752753 392276713 502668571 647674245 687915343 218284847 250485585 251330637 53067597 64159817 749206953 435280149 614900167 593178419 611853643 892061245 880839657 297382895 37391267 765605803 634532255 168741509 714130275 626679243 967785637 166082571 388073867 308438679 6732153 889982871 279975003 357214347 604251749 195757903 118962273 815306669 26337399 949121883 490776435 167513227 964690059 294781165 904469419 598985021 792426557 424372033 18227309 975572575 754303223 536292505 83557223 267279897 913922793 791214399 155913101 820904731 159294477 982793347 310314009 814397335 84908833 411378627 780860819 385818701 839841453 650773853 795999939 470216579 103883267 774249407 314835393 768953353 299634235 61449819 899888871 523481141 525925173 949979817 956361691 246750947 707621017 268312365 389943431 730109049 941450967 151308399 862204449 793823209 663344681 357284357 350572069 435270055 306050443 302665605 649938263 810462383 485320651 300075925 453507267 789347723 920434293 777252061 813510845 606203721 776286947 192333585 378372065 364178045 494368563 597987817 858835989 533021253 527751505 455563815 100748677 24250699 539213803 686719641 188498339 696651961 117878137 989587215 876492845 807255879 625723707 561788769 926445607 711839795 277467197 979444853 351784669 562334277 665593417 361807155 223357157 979527369 962518269 36928399 408626455 181753493 525877941 859430273 825624477 182870281 173217693 395904523 216216797 99940619 358941857 493254203 650477201 4109833 364377213 258933793 997608113 227331831 880858289 551055317 737112197 178818903 480254083 460921981 346065813 627205165 230077443 268628801 958746297 333998857 88484109 849452117 391077643 903774463 980945469 774898161 752745711 851297197 538842109 383616345 551140627 556371005 27359613 554161109 980492651 644677209 634849719 878016443 714119731 152975161 222677097 41058147 82525933 514150557 783645469 696250925 244542825 112930759 272130593 767143305 450821817 754021513 181777807 687744995 206033465 764435513 369752647 440010681 582654095 437669043 182205169 219813517 912399015 845692255 221905151 105383401 670664883 744891433 999136165 191409759 438358833 387336331 508337383 774893191 931137507 737002113 848679565 1841671 460739801 255066513 578286373 643194503 902987111 688040907 790741769 393510587 20185381 424073411 663977303 862825307 645896955 809681047 7927035 276283435 27334677 471876849 375899043 853727989 76677861 661078011 350049991 442628233 252022827 300563309 113800361 408416197 965576679 947447687 139099983 511320201 622822503 437342221 648300427 171686079 457697089 523515213 540847605 801865563 183488077 540572957 755331051 56231253 785863861 819890653 83616921 602741937 853845985 856071027 338173421 910963065 931639941 430185037 922987423 374159551 687956897 294259809 355598383 126912411 347044213 338483245 326620647 519273523 657125521 88646071 939307991 409798319 862455495 290540431 394602711 581762627 715973683 99764169 285885573 147531303 430196281 42615555 464860235 762603167 855565449 402903911 973686875 885458421 221808147 744274847 508251307 960052603 178423315 292169701 34344443 703732363 150978833 760586995 889348309 467381639 155215319 334749459 148257927 693287641 906854009 498030353 501391403 337086453 625859923 724731205 597128611 619691091 773663755 838669451 32256147 330099319 613563021 738515275 885530989 994026731 356660747 320905331 283084907 918234431 4701699 865097849 766121099 169413905 331519289 934691931 561349269 874197249 598122681 695220895 886336541 950791611 57556185 336898133 76554871 854129389 956172849 165877777 622667715 390794839 860736683 591816435 295316461 165354679 970744429 344823711 806437285 302419673 987382001 335888709 873365343 915541133 186437103 351580317 565153887 98388913 358128749 106237153 517993899 522235173 744494009 902969563 52667157 847302613 967639139 587651543 188854837 943252399 690664267 714790061 24067947 547587763 438850197 325164729 917966557 61248479 143998123 458904291 787201407 20051007 916612419 795798169 984679943 956517859 82665047 943641297 385195511 138287337 697688879 186725129 657704597 100316273 473997141 73602121 666627571 888477607 988947869 129973277 984228841 139840699 691980579 948599195 813308181 351741927 311224397 975010403 414877667 800343151 220532165 977504153 121772415 428956061 75714433 540460271 25602789 918949315 628847549 786375063 525342677 306919739 624968189 640981843 314857427 567513447 95019533 615344487 603413301 806358449 992973569 133852065 118653455 151849613 439761463 36277593 81566021 225570419 417311825 601065579 467859835 260014313 696036923 233790527 95485475 568379253 496900139 783280323 886739575 713701545 728790175 153193837 716165749 681249571 941824855 35766843 433076199 687041667 38330977 35647669 586023259 891752565 382764307 317878501 183744301 872296873 804889861 324220519 840707193 207522521 8761121 367728469 327845929 319635913 794165391 295981397 727269357 773869123 467353539 756121753 755923773 450238233 742962557 617712339 809948763 476229925 696409533 137028677 539343695 669489225 476318419 743542963 830444775 930723953 293742671 179540075 570772925 436944013 388688403 340043589 310991665 487781271 59476797 483176863 14680171 36238227 573542205 699791709 640508763 921674379 283212487 879617263 56929721 446719377 499588823 286235211 965347847 490641855 487164849 572106735 494292619 598253881 594532833 775794659 717064791 728006181 226564411 975119025 703459907 856849337 239929819 621298293 861979117 553996589 660615975 423772105 759153345 140389575 876342473 760001747 553967341 118469325 724265399 985932357 242693225 663990419 610011437 911514707 515375093 957860211 547791791 872759737 957722651 120975823 410994187 457662657 645850155 230275089 815895121 399216697 615443259 225792429 680301281 595752565 782603055 806448669 809700189 520326739 111525803 213979617 437426097 13692987 63159075 135894917 486471445 20884251 387224013 96507547 944073985 284906347 246685865 441808573 62412349 808642597 330811009 614651535 829592529 261609937 300706019 623546039 5001749 524600191 411142443 843345643 203409313 251325381 370932085 305766117 168363103 654951359 593557931 985143653 411688055 547766803 801659005 858924855 857614687 306756595 86392933 407284269 204920017 38589971 624288417 957085217 40540629 972067761 158364731 229892599 28239283 566593939 561008385 564013205 204393731 821264135 171064461 830238705 500314273 738856677 402632511 44301317 319654573 246224523 376766783 255648721 153580441 214996701 841647997 91308129 659305749 743974731 310166705 998242247 931932959 511055563 400443485 774539805 363772665 859310301 493147081 473017479 952459827 606264963 86536963 435115051 35260831 647048015 357202917 74573631 527241307 798907991 744386829 627571197 655681225 103933239 576843495 104552357 842991511 272196375 116433057 905406341 362827447 343280547 444987699 803051499 857389159 425807381 431433823 664028979 529090091 716578857 747359147 901735103 802073551 199018789 360675177 870947323 969594985 295936729 346555311 355783511 943305555 334406297 468643169 593834319 85027121 178021443 630298403 179226979 276818161 344987457 398876265 674819871 940758213 47468413 944163945 660867349 648188205 358834799 455169829 305877983 434340329 540867605 96130147 157353249 656453897 716396023 84310707 370054273 993175005 920718881 293901937 928983735 525911047 130905643 728243385 185022583 301220965 341915185 637080181 595632521 644588071 925262299 385264983 25322931 413971393 215358295 41523923 387568585 44360175 286536281 329187631 954864805 825066677 5493027 262721645 699626027 393249373 23129977 230198627 770639937 344217215 329115563 28961445 172587999 399367927 726591885 223998357 28182009 270236391 999878527 619729243 601129623 248616891 647488357 224511463 438110655 922291753 30453679 450008307 879246981 818941741 423204437 446391037 546170371 907031819 782407633 886753869 199938653 968080975 484709933 683008503 885447611 257700557 655154165 487128783 750543695 359913123 930699585 393865333 264017493 137095475 661230765 545422421 923981581 889765931 756044897 350738589 870234563 241368701 568824075 317571399 334075851 306347881 850290401 584072463 342174331 163949423 916078753 942759043 735309367 267873117 38209169 328951535 734724459 365367113 149271935 508101995 188532615 637022605 858322885 985077211 811355655 325279181 90322491 454346213 285537133 309201399 540308301 512923129 609134145 53402943 495198693 24301647 94589975 655708959 111642237 810173415 893800073 520778335 116563471 217748875 741382715 310097929 120282405 453581003 201301973 838062191 418536139 775214335 98583817 533868595 815483289 992035397 662621075 642513715 526152363 613408903 232987699 964016545 413011625 918130807 720115639 195546861 118798529 979542155 771025389 534324435 794567593 311217155 685185201 90038875 794737311 49455081 277846759 913224399 305952873 239359501 105666935 414833347 172445783 123542533 905017427 411915541 463833405 276640819 530013047 529924071 485542523 323152063 836557283 507267493 194699509 949622939 433578661 268393991 475394589 707334267 413211595 293283589 505011429 859264997 184517489 816587749 821786831 764732955 610524859 18592307 129043167 686229297 139439825 607647939 659322019 781737729 689118181 250924211 667448115 679143463 271761971 139468901 672106027 240168717 225786109 593721479 624128691 50656483 861855115 614131981 818193529 894822561 953598513 382596145 386241203 900171273 440503627 853032827 706918175 355424417 147180599 450352307 769164035 388464829 679236195 180608753 368695343 598793327 133225025 991160719 407131127 166030493 314135113 670810417 748408891 417223661 906781181 371943109 598421089 924071375 955282155 528791679 770423893 377395067 529779105 154062043 456775569 279974643 121154747 3550621 759115281 970101245 777362909 567839439 533495131 355826987 433596591 751799241 667766141 744143061 746231267 7272999 236454415 712804889 463657525 839501001 846922541 895031779 345814375 149337313 486757503 924684767 650194753 696892639 248262707 996943241 965792921 657228673 729279999 911924513 952361541 231855819 819519009 407933613 921802795 123154697 513647713 847655167 774479923 754867151 685786379 347506861 510313295 517664507 295480821 670906649 855787643 165651375 459677567 509169517 829193145 991802201 461796239 998556053 384807187 373566123 772202641 677380429 755998617 693545123 615660159 625501971 384890983 963426181 606067155 280821041 261235617 916551135 595002519 376903349 712918383 481061249 556405081 657256059 421867269 20094091 608022573 338954783 406161819 839244897 71845809 235706635 606667123 571653805 529830925 636076911 448163035 380783715 114159 601701701 277904673 130838723 758521741 701778763 804890531 572383821 688120231 6817289 202775745 831759313 628191871 744302289 653513957 379465057 747379431 899292347 371446657 618821977 886255923 152811943 811722257 920202077 149035587 816123197 798613271 856769885 913774205 70671341 373387035 119886985 667711183 659291121 712777139 216904287 764988845 563657285 567535733 56396193 427061273 362125751 362592263 322667359 93762199 800148947 229388049 478972907 889842231 838565875 585282887 951615459 165742477 595476533 169780321 934334761 801887159 962236037 372511011 528248297 303235933 423805329 108891221 506325913 244242863 81248721 560081869 256731639 658224479 538413191 320238945 372039683 321823149 707733177 950943223 769220875 115762529 610136119 103992439 580069795 926018503 285128349 332266197 658487465 160814517 494713927 52334345 222266431 794456203 734969185 959749143 348089043 28398895 721692377 280846599 292837911 110067983 190196581 589105647 43586571 452467999 201134731 808226023 577892847 902173921 565505935 73744143 30380371 898336089 67398785 979902869 135961863 84336151 856608573 796619947 295764523 451254319 687689311 410794121 376605475 837020479 414530129 820050547 187875481 758439023 718841411 624711603 563994755 872809327 392331567 391675033 786635547 233654129 526242515 172406147 334706153 950727221 719181497 948896209 125733559 634754819 576863023 47804141 713716377 512523175 812990543 796044619 235978987 774414711 964885753 543619427 819823699 564337237 830978519 320516281 819459515 627199393 499558997 687895253 928601433 447286607 218917805 714604109 623367081 943558355 680158177 107774393 583315567 348913195 101114041 398887097 914982327 587285213 327754947 416512253 186041557 701947641 352671321 634191153 852184423 274275859 816077465 330656787 970294863 900752457 845425263 768382821 367883963 219933509 887531913 659300593 357143837 659106609 478894943 922035081 125100595 481504197 313529395 213733893 767301633 457769793 618767883 373517899 937448661 787114855 299411385 712589893 102935615 105651849 913656789 927258849 198814751 284971645 514065855 58298141 533624727 86659999 69578397 430911739 275911701 189497815 437193827 305196677 851417677 395124115 30123207 297759949 641589049 928700105 623258697 938252525 522953505 993152503 556082483 215320325 546816141 940374307 812186773 207869765 222116693 868203739 970063175 97968345 943827859 655161657 790124775 266615041 845546157 63811797 248413407 168964091 17270349 194893275 546834273 87085073 721280361 648110837 440585827 409919641 255757117 859941979 306078373 599460075 796486733 539080397 37214897 723129193 47996771 891842191 664043989 112671357 131956377 44828783 345363243 491369883 790129733 165793987 689665685 603756091 174412303 421323885 805875127 554531553 178673121 643987407 976635139 16231447 677283059 66118617 81095859 639621999 116253373 7254271 199350725 202388099 579196421 589877315 988600577 713973237 860223959 868729899 431064059 189592175 871400583 533106113 457229831 198428581 410730675 423323553 54875973 582702927 735366717 802074851 861784481 687192625 424347987 514564147 632167371 953526549 846212967 247545531 336382007 857177549 95714873 610756405 434713129 6199857 81914569 554923739 383662759 620229927 436660837 684064375 223210371 109101977 62384547 569611093 841664597 703640439 584858973 265424461 2219389 825532091 399889335 638716603 596433185 198939241 528969505 187424135 813954613 434779019 842637129 260373023 506763119 801861683 291138097 624924025 389527633 575026299 550616347 591690003 944550945 859596677 636601233 633672181 817019633 623142523 370972779 682699689 315613849 567912337 896895683 888304459 885667767 781007103 132082431 898722931 115972791 652767753 861594569 314749005 960918725 678002681 345140505 87862403 440462557 326109473 592652581 337928271 69484223 563341787 572544887 399605613 904482289 171923337 264251353 755914529 100716739 190081941 438816609 210239295 334165839 313286771 672418151 538965783 61637239 427107485 147445907 131936909 368667359 486015379 696992209 776718595 957182969 709433569 257360723 356899945 655203071 907832601 844354455 87378485 891344367 514628309 359122529 982564453 892361875 821364663 951299519 40207999 963771769 349271913 254803201 249380499 81751293 630366367 775663559 622318645 164643899 530353683 720064755 424727429 8157213 240245125 931900851 426358313 768838227 571774657 646089851 284137039 889180757 351994009 590823941 490684331 865474149 222510053 363612249 933312639 24736395 450844813 766225855 237530255 316886421 863634037 364911055 117935657 309934109 411007123 36090979 806520101 431161219 428789217 371510433 187214303 772229359 83353695 684681203 639103551 889676881 670133273 651024655 544153269 823757665 254723105 600709871 378944307 596733601 263070097 293781467 686472249 709074007 374588043 768147037 6563277 149369749 286136633 366488649 811857535 717822259 13869775 145260987 877915747 5401807 879114887 615650841 718447641 496711637 419395745 262857999 345970119 856216691 879962473 351453071 365339675 785066145 643400241 913971415 850451273 479060255 459651667 760576875 611896851 227123831 974316081 622151191 16772797 716943353 234048567 747208431 326799893 588013755 639445 325644369 706560627 464132257 321151621 859228639 843889845 329437007 293200077 682319751 782301503 405998905 402479923 259026555 549579521 915043477 862000459 501029947 543231089 676157539 335609007 739130247 178204303 346276205 159597569 976286061 493453789 602129729 712282091 298005059 136684397 331813691 99078177 874675875 301231059 870283127 335110237 108394609 588161583 908943839 306592607 23837659 225352999 82103075 902735347 891872853 536230889 843797437 291631083 23462299 326684459 413719787 165143331 256597167 647229993 675738551 946039929 337216225 761001389 512193007 547314905 973117635 323341573 652737325 310146103 254791473 215137029 729804753 144050317 985890385 345218827 317230595 375838427 433746061 237457409 439646899 855547949 228204443 391681361 830514841 53880983 444063607 825410035 493702967 991887407 146623845 54677861 624696277 434158105 794899185 227260591 977663617 114573185 803471599 58090333 258658581 311245463 137925757 631060101 784067631 294433685 569249277 539935689 965882427 935300545 690456603 705220681 311650919 133690465 881529037 15810489 437952427 563539401 263883345 532074829 754368457 934925907 835714599 567698115 411688007 417692513 671058973 607109985 360274295 588584543 265315143 967600373 610109807 372309437 295479043 856556759 577741075 796719607 539646451 399379173 423183625 177249933 14106373 615382659 515982015 493644555 372263533 810082723 638968689 579633155 135300773 200457143 494175519 107963921 915704181 715048127 10716047 852996307 60093157 927899715 273086801 291309047 555464781 969184847 250716353 360143917 851922759 319605369 170740475 255147569 496442553 81696995 107437289 694828483 371862477 152139567 800643645 543724207 264667897 991576459 594681451 760270791 676945143 407546289 533810105 689125863 240774607 701255645 70243369 976834797 831259595 962143189 497162385 963380423 367881855 43715561 374389125 334829157 554705863 734197229 675092583 550065347 758345929 279573567 923932767 701658081 871479535 331412169 230144861 518154187 757258993 965490677 739911451 342778259 859587527 676338109 637952023 85383253 673771447 511137435 811989657 777898031 748354893 211866777 492954037 611106127 309623389 742190659 637239871 891824357 219779845 734119855 878279127 306361901 878913703 430458239 499110889 124032871 354040047 151507925 981047459 658271457 850757845 626236255 900877311 678342121 748758417 589592663 168476345 415431643 378152873 252313977 255439711 831064347 740373995 773342477 484795709 868974095 30244455 610074589 693760363 590550575 109959037 100925507 680686029 656248559 145215185 675859741 437592073 831691479 646806605 64357585 279992975 725394029 917415205 760955979 570784151 452990789 630317273 531803139 546271777 902189307 166290985 78620921 861455095 310645805 844332069 461255601 495064489 175377801 362363679 529946937 648648591 976808127 879114675 966560807 416448199 267500427 754682823 5297053 356271419 940004527 477424005 367536701 827461021 370859251 129281123 720630071 477635171 441270827 414419997 602883393 524502733 307472435 742331831 184935833 574788069 785487849 81809021 850294021 656740731 44744763 445040387 20200149 533973797 999309081 903220773 30172125 372239173 298157183 643387913 503916925 990716419 858752367 976281371 866534553 175100497 609728753 39580941 282750627 290973923 697102105 381149149 970272397 158134591 483274755 919716559 957773273 976287399 570864845 984793455 34439561 466603313 846133925 134587539 505385777 100540081 743771579 614412629 753822689 889082825 772452427 863848985 576897853 379892449 697979287 271027085 923874919 411584809 911541479 828103075 864160015 406954393 388794513 683897499 891075691 551413235 416578283 603719157 272610361 636948927 944808283 612932481 724909503 211381579 422164809 243665999 304262861 25691311 18158375 289412543 756154551 39923919 513538929 331967093 47324509 393789009 74524585 208851291 414845989 979247269 723107671 392056487 550656763 498076931 208048911 584629459 887313241 584256365 811646317 98458535 573066553 480116649 438512143 145653037 638546469 378844233 409347747 526969017 492204075 92764581 47607259 925321191 969829085 641948891 205756015 866184093 248924255 634609367 995106849 859735301 634141267 979109701 709004991 525181079 14247657 507366305 147734295 398343433 225440727 279793707 173110791 802000485 539130715 95482089 243693421 893386485 290248509 901956781 776559927 969405519 637959623 310291469 840636503 879187531 294623957 253843563 51969477 812675601 956122817 846905073 269090691 370401549 172023665 428596619 105666463 766358515 898592087 595235317 507735847 596665789 473311335 653387949 169232185 860170417 145252637 970505213 933263859 347069787 267767171 932721395 64035203 288529297 396703271 402100843 932277019 311759213 845251867 988043777 847002099 745859155 327037699 780488991 757334607 208127985 192755201 24830965 420143735 787830587 808556741 78197885 213577665 814690667 597983109 667096949 114776451 174079241 358696193 415436645 687583267 340000477 694525307 217114527 155936265 175407871 115128773 274208059 489955495 917430729 413425203 708950553 537332089 523853537 890773413 76025313 994952961 591694897 947122817 864866051 986039753 615598831 425412533 234140089 475470177 892196503 83376565 569213185 395765095 571568109 90064259 284369827 846425211 168753149 285382051 106035505 884220743 518653723 846611747 28574979 478742397 448446947 477678747 233270583 180044505 806992443 442213161 831468985 862279709 517053519 284964209 147491127 861454867 825723281 194777763 68076585 131033739 891648959 749684087 990318545 649853283 816859613 537938727 599538997 473880441 752021815 918791803 481014821 923843005 940879459 806563011 906341949 147174427 535229497 493364949 550206937 487466641 646866147 649374733 7062309 775589409 610388679 695250771 813010191 193887189 827986847 564444691 571788877 109413821 170430819 148538183 363276901 161841143 232119131 40876651 112703131 230897059 634931983 583228037 896830207 837699051 335152983 324325667 561910125 488976129 470902605 733770589 401738881 322714401 530617685 738206929 890583717 679522701 149887517 138300579 476481803 959397775 708480921 300533893 777017511 223233913 856224773 892789673 485706557 945523107 96083171 373848527 761625173 250833267 246411779 458823743 375547453 898638417 472867959 311466181 110727439 552913073 719195547 918762167 140061611 545939211 812090901 130071541 72965307 216719075 950702801 88873957 836063659 67188675 644937217 516212853 46113717 458866747 341359139 44763419 423228123 407672041 544018683 357987797 768050917 111413613 122537109 843594281 800420961 847860593 408531525 54003237 257527721 873500073 952027559 367439201 140934619 369169101 127028129 875255291 464312291 671153313 396997471 973384087 977153903 529921773 779439443 266248295 324414455 583380103 737989693 751547933 450988989 520266823 909111837 247407353 465089735 159511055 884617537 245353667 228453863 534045129 356994879 28386759 815672245 718476903 895173103 117298141 750612369 542093031 563895931 661353313 8310945 76278087 665558091 197929531 740684505 76891025 663881235 416943833 401655279 421870299 461049043 645301551 706514019 805050941 832422603 109990847 287626879 545480665 83489419 579072143 594947923 913994713 59077093 775067177 199027127 53098865 676496117 313994407 738356553 878971353 306266399 738186919 899205491 691055445 821104147 693071439 426164839 552412207 162803905 372359755 374340635 25103799 414955621 960910035 842906959 954102091 62540679 912597671 536439437 904667467 26971377 596555273 697338659 680602145 518977719 255320013 767460907 585767745 103656247 282304579 383184775 151846435 636711441 683053133 445949147 855927627 575609143 331730513 412146841 282848579 697009625 941238077 175629563 198135197 435857781 531365255 978174719 656497139 995806415 743960621 380659053 44052199 253255923 693937077 126928857 522928419 620297783 252372271 48474519 250841691 548050739 526911279 77013193 518924359 78740433 688393429 447961941 978330027 54884919 734286535 837293041 155313489 109009887 33983537 580326159 904170251 309636737 139518923 61880307 308372659 506980133 997532373 421817763 944333611 19714835 54810643 845670897 15379293 672420067 390464211 325832821 796886333 926047087 841641965 330952079 377734339 429933275 426459325 711593829 630908659 20420501 47451691 361546987 50086103 543887697 480499621 312649433 428307585 161698313 741532193 673836715 7408651 518701829 136115997 324521901 33496215 704875471 463746463 396298223 787405135 577300795 265728311 268247369 699751015 142733413 580501241 969621081 842599449 175012787 484949637 653953419 55552421 754345423 329028865 767635467 991616599 598281903 997416985 361873109 17623167 135438479 238970631 618830761 376480891 452221171 984052613 922230797 841204651 608762791 280717021 218785361 153242491 714500031 93462235 119992975 157872731 848537 419221719 255823785 79276741 565404887 784221359 190272579 351101501 29096805 553968583 160655825 523702349 968927867 155672591 650791303 365486471 734720657 862809341 907311465 75776645 167758701 92062351 118178111 892432105 204245275 396207691 222343063 199386205 179388657 810656321 718567629 557010325 436311687 931807749 156278269 342236491 957883079 102417847 607095313 269953343 225591513 213373181 181488313 276583741 110235953 744865795 749373295 374274583 260094607 684318339 219333743 725863079 814138099 939941049 319875527 682429135 97045165 83011691 740014659 76568185 39080271 734429671 954669181 366132377 907745973 875743493 144829909 136345641 550340611 452628513 941048179 772421929 582178471 498297635 766191943 653656997 406489429 925493881 366372617 526096559 701157129 130735129 204933947 542432609 88834567 69079683 550029347 507087325 887219931 142373305 250414291 237859919 108120409 660657741 682288675 231249895 159565213 397635155 919185841 357813727 441149709 256078443 950557929 484693627 60639059 279580347 388655609 838761477 125896551 921145841 580613849 306857423 613849729 645893185 489806409 247320883 338891559 328575597 182655699 321303701 929102373 67319481 694186951 357975131 316235663 655850483 355543611 12009467 794379203 878227571 574141971 375423215 455311971 371600151 943851251 25115575 598152029 610443843 928447823 923083999 66118627 199976679 791756125 768902137 291217267 202881913 273039901 963574431 450954963 885122295 872002649 248769907 383814411 527453161 644976031 362264353 772345971 586046299 710700363 965016921 963777957 919013347 707294585 349219285 182729349 948248737 44133395 279269723 192326977 276059195 616994249 301423281 915374925 687195103 55246613 362132395 822700131 258136129 164088117 866146339 49831307 209685667 480585011 137837819 797212687 340365257 425813213 598189343 974420097 204276483 723581901 690939519 551759811 203199781 195139683 73744149 917946355 14582157 774453959 56760807 191445891 649859875 533638633 939799547 508993571 648289623 988782211 227290469 893991377 174605083 870884369 798565951 562365903 868360687 636317665 255077803 744462253 839823579 608811007 851379925 252539967 684246379 860436549 715844589 766099613 98478773 184305489 515759919 782774063 70954073 773002127 248798683 111023777 538692477 831105581 972676413 782576357 539652559 810789411 559771047 65361977 342773381 6686003 842294131 72213025 939314011 211321059 648337413 396819049 646227357 792902533 8514243 948630055 667748627 143799599 851379747 149707445 574346007 460598981 978057375 9820343 999368583 859453165 532300727 473933595 240088007 952276245 17884921 283734035 871605191 45928569 199378675 684222495 284142847 628445977 383509569 146605311 451702121 490077371 391070341 366273731 373446287 194799599 274333035 378928317 43603581 926131985 585079203 745093769 383642313 170878269 777884137 316398347 326160787 310072157 927263741 177737585 920107649 775197987 615951787 110188079 350708161 280037893 365928391 289977857 475779849 562176579 121768231 559456491 523328663 525606373 916156335 532656439 890680881 54056383 821582155 443981949 409037863 456125541 778306795 162967705 204043853 110758713 117292427 332661933 410249473 963224419 23636267 973835813 617274413 82031827 146121177 639651767 211866171 421546307 278241955 607929439 440859427 72101169 148840101 918060641 239754085 191017189 589842433 347435081 297774341 544601971 970637539 183178219 629591697 359767983 879705723 257070949 825628703 734808377 165607429 481095705 607288911 994035581 765874115 393718709 811451207 40937641 271708157 217534763 320587189 153918647 910836743 126199227 682553807 156779109 406597947 158124005 463227987 103643195 604484093 63085687 499496839 21910411 439658165 32801671 195943483 286213995 911464661 65359215 184800451 916697023 190097369 862030291 256964095 682139181 591209025 650231457 209626707 526165797 979637401 316203277 364381873 93401823 822917237 267375761 896318859 487617627 823093611 47834613 860654563 845299811 172547103 524045891 48302651 562744455 932151101 709289933 178819495 742563359 822585463 251627317 171028151 501124425 603177859 112931417 347586189 883837935 4208937 722607467 712808401 321544387 45997615 724015579 736876971 857630779 662892139 175433573 523843287 75898263 695131571 524113169 990922897 538731489 773061867 757061673 850281889 301816553 288595711 889406785 771712849 857223749 77134305 487769399 109999229 319153751 607701383 494872621 574803069 521453383 564416249 348110991 471168573 907875847 372053821 435222037 366463783 270689101 549023849 847327927 165405237 729808025 530884243 577509307 516641505 438770995 300436193 483742893 347455029 462938415 103247481 824137825 427787709 64058465 14421907 906567157 352213649 913096555 444231781 840427979 883565135 314922165 381342257 7654545 973567003 848418671 452814405 236128315 133993893 848692881 415164655 291703043 260351011 221022173 744002187 737308273 48334675 925764315 852642429 528915533 483159675 264528345 966140461 6813103 544190827 647603439 789193229 881965041 693759351 531645185 854339225 422886327 727793279 970421429 772493139 725521903 400057833 25513339 923038659 17998541 449255841 570685067 189561471 109716173 535602977 454299623 415776285 866936243 85929571 347127125 123164227 823695753 964798193 732615015 750278809 526680487 544728791 825229941 761933777 623451049 316844973 294061981 887683239 891206257 93825425 213576651 436902621 376447275 362837031 646124715 124332603 752195661 827451807 720057787 839867797 51760787 451154863 682267445 317972935 559576065 55759509 433772837 194321585 14799587 149658647 63724635 3382333 560171725 428612229 774729581 958465885 96149917 420570549 496848317 676844301 450766965 407258625 297774197 204423503 376884419 579323733 858407297 501413419 671417145 717846045 796151965 904774327 200275669 679593037 405656135 378522633 280373213 400906855 608974025 181389383 35576025 737928815 449935153 504438169 601846175 459905267 695388763 770017073 944816205 269914123 485360099 854542411 487673927 319286869 394982195 699778857 48438071 731486709 437560443 181255699 777530385 399928731 506310069 996400735 487304213 444025213 387126687 900174691 876530627 26146393 484356289 387786117 507096043 236401271 890992751 574993197 515465375 657255587 173336507 203708367 932446779 307983155 492284555 786735843 880289893 602380039 507216005 420578539 801426183 668958853 533173785 15642741 942355287 72386713 867620737 703715087 344608465 344402365 922407355 9348183 508632119 680861933 771632015 826562797 29900441 23276207 768081551 48783739 786025033 214871057 426387987 382552499 737744357 714482603 9699385 541497681 202312015 145729691 196009197 150973207 868325555 429806469 531939037 583315919 412487047 576310681 759667329 963258185 62447497 997946253 423854363 403231075 817836473 802891937 365516209 876035325 172010853 652198295 530297875 860538625 591917857 339937729 868575197 953835873 340390347 256756723 556134251 459877401 685727621 102212495 413425897 41796139 886236349 694040949 518446917 432596129 73997605 298271513 263381303 803782027 211620541 263486319 951910975 178570503 518550725 51189237 257585575 932053557 653110989 256596913 633296253 544053311 924410789 795338801 21127581 951867737 770306669 560821389 949213859 768051643 643811721 512934499 422564089 892549801 232312739 491964119 927016401 191099755 245581489 591028633 515402271 738062423 308644077 792396257 528420775 709552067 387880415 91539817 608031217 223301909 652244817 481934201 366468939 694463413 990307415 315844065 932397519 475722263 43699277 20532727 983228511 606452915 891462617 4965271 77797279 911860493 293803493 108683817 351066881 889700527 41786023 696807323 989691837 273441321 291134619 94149987 836792789 816127513 976681861 675742589 859587857 193320991 852179825 473067381 366463487 804081637 803868083 470516051 495893753 300703263 978597353 968316081 689726749 691009413 991342837 155559853 365338455 19665883 304813573 213687787 607138133 844174571 579235211 729590171 8105617 947800965 760869957 527449717 708271431 602730119 286588471 600284851 420309379 996121041 845633967 274689055 648332309 405871437 286973501 331071237 260071317 37566959 534937025 16375611 68425571 583633071 714265949 869318435 653355685 646833553 636545663 863888031 302015823 986074783 798127067 576418845 292254487 939522281 839111275 592965527 510564991 673916813 774524023 54882185 346344397 78273707 311306375 848815609 942193681 329625197 361488499 73076599 108228647 852440583 899460693 35503639 106443691 152501937 852409235 583627385 774268935 929781935 23038935 953769153 268540269 584707659 287630871 70717857 826015187 841362135 481966991 116383051 341541881 856479147 9528003 320831615 165417065 294586157 509595263 135690117 275151985 32219591 590271191 273409321 245154093 227142887 52984359 47060931 556526201 804271629 471479829 565365807 631591423 686955447 2040971 599259349 691653167 700637297 368594113 712489123 626424643 541546443 392954415 152165903 522413113 224053091 945741723 798977047 718383577 469104601 96764945 170686785 194366903 27637719 678364133 11896989 220811047 940312337 928486837 121332927 239813707 471914817 735977827 694230727 224986891 564356391 382105885 275454809 703874583 375854477 469710421 894088103 217213415 427913801 989788363 504366179 889070013 737889587 379163519 798440655 224959647 531876653 315152319 46685103 582182495 6341921 535232033 299557457 214345365 875042051 6728575 640411531 412763553 858095821 396696575 623876287 936536489 504313215 271275531 512914639 393857953 706454051 137923927 147975467 507266625 529330895 356994019 412241097 813711109 2104219 250760945 276265255 113226553 630725545 932976139 138540875 208808685 503291941 565957641 270617285 188550649 611030845 384849925 125136041 960577787 904490801 680137829 991254679 544632927 289027391 933154773 55586229 168658257 993640115 606516807 393581487 746525389 178990559 712251897 460040637 600733843 455218461 695285869 453189023 466185257 956475855 45566323 496614041 296165855 839573855 440905759 898187385 144636881 552792641 1975753 209651863 983157467 802840813 113774873 718460623 401793447 568262887 859894523 434470537 774337447 657622457 24546721 154931635 562341391 175140853 569005961 822432707 624078563 335404597 701999735 445721273 291453931 774274587 146840697 142654999 731916213 488806739 90445535 488780271 204393117 251560077 616548169 337571285 96984511 655304323 606499993 984963561 726951941 784606969 745758717 796822481 157788959 206627257 385910761 137123257 748446855 517573013 402878743 845565787 873750649 81134951 54147471 440838385 756939523 80998161 89315225 161720901 321771761 859990655 443601101 248242597 987585757 334311073 975578885 835060963 345901095 114608753 903873383 125411939 274677751 981239283 368187741 11623943 895283261 222208817 517423517 754600511 178679473 214637373 784153379 211153665 224831957 565786929 250892337 197279435 602127855 615485231 995912535 788066725 494931473 914310499 70835303 233652251 682958099 743444733 687427967 430146115 169128595 226397495 476651007 734420157 597341693 646739543 735209369 437293999 628276607 597620387 738520893 926664133 505574161 570501999 595846697 418122041 424194419 110202389 273833185 111788231 252012847 264659191 47902769 56870069 886001557 66363007 284564015 231674833 445829565 447662113 43368243 784065139 410575749 108545367 899831013 524321655 983694999 272459425 783620401 944934215 429579109 912990347 150949707 567469773 487165989 55433383 282795693 346482817 927470551 607951503 441774621 930404193 948214085 435624677 851079337 962424821 649680893 231226965 921757857 919568713 328389979 831385231 330555557 228719603 723149179 30614351 407318679 768605971 460713031 977409877 68130471 860770127 748644975 403445613 603982915 659048405 102559853 589155177 422556461 39704921 626332031 493590307 567108709 383550749 516105391 552168317 280052027 216545253 844385739 575947107 134694465 243097855 58125421 924157125 803336275 131097411 252349173 68180895 693088663 369667087 642683275 316917489 558959735 635683399 258333983 825693639 319746729 744317275 9513579 41114675 824747561 317677635 817127659 871824463 88983099 507461753 442592749 423842623 704604779 27707655 604455293 878140969 672229261 18615673 988313461 963017539 616278207 310148325 70706291 369073351 15733347 433907947 154277603 846021621 318932261 568620209 711598067 695505945 35292411 757853669 31796379 977246597 348095523 238506939 906186397 975398037 550257181 600731637 723695999 735554215 536627895 152915415 296592787 735749929 290608389 930151217 95482097 199787147 193493093 139997527 555865719 528414023 458779515 249110569 477514961 837752547 404740399 207650571 485743979 313081061 247096763 558069741 263946113 908067809 583687575 713604165 888824083 812776561 281440907 293570067 433732583 55671353 104537247 621726425 100011149 305585375 757228843 101366953 540927841 682476313 625072585 416937753 993151 414665121 345886047 967994437 865352145 28523065 542800151 240308181 980852745 551298729 425436519 231316471 389921693 734716869 913376521 728122977 236640973 237058663 377207301 55122769 431306657 884533363 698875557 690476685 712757485 124102607 409419901 284564579 586834245 235526001 384985961 773292203 254068747 524469843 711155855 186684355 500183143 675056759 948287835 377017743 184243273 492105701 357417599 131765377 279266155 938921905 756741881 386314379 243973707 692187893 69681933 565225007 795443 564029397 509996359 56826223 773965105 644989559 267544443 908985565 819139871 948642835 696502727 44850319 238802077 170562013 513376141 898516257 336014609 989130269 953681017 731953339 716953263 484130073 382437763 685956107 952933231 717503525 264618467 830352199 545178639 464746141 15604767 997551405 684867863 126037727 901736197 673277443 318006233 850832729 485326501 622642841 923838829 758137723 750533983 553063235 982015921 953211585 588698327 862509793 516400209 606692267 747342071 704340439 571159483 877595847 603548403 131953941 942341671 972272547 115940939 749093139 54030997 357862875 999231937 513999051 149254607 51374099 558206559 872230087 347374437 69103859 552443517 190878227 958050479 666400813 211760309 64539463 497312203 831529853 332183277 595450751 128012453 660742051 329896783 789580643 332627945 93987693 955098449 785527841 21992979 996190889 817157295 944076399 108332129 682686259 181220973 867524491 4103645 517133295 580609495 337393211 938262103 876399557 374839681 26143695 67305829 141245607 577678407 591759643 501806441 693443729 781261391 592395135 458908811 160957571 865615365 183043041 512855997 100643211 872363291 127883181 751407541 362965943 54982031 448419293 568976883 304081187 968464037 655167467 767279039 807949555 709344747 412609249 820355373 673068623 906697265 228151371 207621137 457126249 271650967 442950465 338070285 535454845 848935807 209410399 680688265 505878221 837973911 398382029 868276661 118554017 559258833 691900473 577756553 380002637 771638637 515819993 36863431 131656749 275023595 153209451 508859895 892950431 705248539 940711223 185938023 395532049 911950093 262510601 962200369 74280693 935675937 572682807 890936115 265822657 284612859 590618529 26304281 414190845 559816325 722472875 482003537 859849263 389497589 271610439 214766611 272346093 257290439 95291623 570246753 494189261 762867133 448455053 461613313 115415157 780808679 841706941 257635973 374446221 445624471 132545413 752252741 129691079 50993513 952320125 121349727 42217183 379748163 624127169 414094527 825889687 949863759 273921019 726309395 924060087 622644741 515859029 37925331 83975701 458491933 182028679 531634239 251597703 289584539 173974479 515750241 850181619 98895057 383677171 716694537 335345985 654516557 756320067 984194765 375148131 140477165 310481043 293824271 875719253 746682583 17928515 555065849 213501721 933535351 16918841 102124407 83804855 176175745 909711587 723708229 20528709 188111343 323154485 436806625 139240665 441696519 790128049 900813717 864579737 735782485 729946459 583146863 365261741 330835887 688339905 512639563 40887623 443467567 532726523 806766533 946497699 334937657 45835173 436218695 274138627 618359931 851655657 710996225 744318385 450873577 168047729 172341485 542513917 154496701 228022645 310307785 659971397 661797503 599593907 590943773 74367207 399801591 890294131 382881597 16141905 170262589 48234879 894278205 470268661 82012331 722596915 201785085 271074379 881326567 4205673 737594153 237709527 384147419 176283273 584219439 967927585 113162173 854214527 29537097 746311871 12617481 502035397 453125237 409121095 351597699 311041111 803883899 146909535 995459383 717354427 997685229 790876591 936613753 811306751 393489187 106039787 499478501 401228987 5179707 296399307 674965089 355895307 107377697 423405587 221432089 368965017 338564739 152613771 882227071 58044559 418223321 957832201 879498577 969509285 691500645 295278947 420294547 651891737 68483117 433972351 560235921 398673075 111595009 124090437 980222945 236768959 35262333 994237097 596666203 708210963 495890173 195326883 377396777 328574223 917596333 315591223 8425649 917800345 220985211 658473325 79140013 132000799 849256991 185816411 710187029 326153111 252176921 74383383 325237297 610532221 624286387 886438087 398438537 262962395 362552827 41122963 433619957 990475071 179654605 619819951 619650447 322801597 216486085 824329299 836692923 188571123 807695181 449013699 170034983 674802955 176536215 63276871 194946503 457798319 965204375 2043701 410033111 612563991 381222929 873888229 931835099 333498627 75958669 708700345 789927581 121527477 597725785 168947483 767299637 759940351 356568209 201461117 906030335 441501495 822456081 56362077 500524955 469177145 614078595 418416951 666492155 735428205 633646679 331550107 212606799 195486913 840030661 486039577 590596373 186392489 661246671 4364617 44740113 793703719 155626301 629219025 163134543 215226559 626257821 682587225 656676643 199326337 459379785 976411797 641990697 461276161 153893471 418890301 327905863 454484831 270412491 369636117 871405225 961024063 979091771 629941479 701753281 208853713 232362281 416818309 34752591 465198797 608244433 574045383 315957331 800326765 107053631 600103827 12895771 646275451 62399555 217505489 909643069 44018755 490227573 216006517 970414995 918850715 301156661 918159991 592127041 205847267 278898345 720888283 579765 400978689 926286277 74187179 871271329 484006243 375694911 34709753 459512325 680472063 889397913 380880093 87564321 14728531 317204249 954077565 864362629 363484517 789936847 486409475 739688707 114626245 502356119 960644765 436410295 769892743 930501133 425052555 643643911 178271819 589487259 785534475 277505437 862485813 260504691 777687655 795724143 735975157 372361099 544638453 462608567 437604803 139843747 865729549 209442813 451746905 421132357 603616017 511409675 436169473 236474303 631831915 877227765 653954695 236949549 133824655 415994649 672095043 327764331 691275765 732326423 387584529 211859235 730479137 56666081 994929497 323779013 305011613 345303975 155134985 263023499 129234939 554675431 952280215 670989171 726022867 152245861 226251777 281231941 132521163 189652781 778178765 853814165 711267469 120229781 268628491 524630711 177708487 360664629 492429391 854777805 304064569 31554295 792727737 474576575 800917153 326789121 77795309 62617661 553541067 714755789 35782429 509246143 509354375 246541075 331161339 487351687 949405107 554882011 981250761 505206171 249358127 904348269 272061257 196420301 591487207 757082977 297078223 891281077 590159561 768702865 799337259 401879475 962694357 347762977 116123841 395703789 948233737 173693055 886909299 404449367 364868977 733267807 253196977 785477033 498920735 590887869 465377649 393776991 185147691 975618779 399109937 45377221 121275067 454555209 302061303 570503147 292969721 686958809 839765587 672104105 506080789 887125415 212089945 265554333 814008393 837252889 555585193 935048499 214419673 893672409 640242791 440909463 727018767 920064989 879281477 961175749 466029373 589232481 82255989 622414205 208949693 92766185 986385337 63456325 429425137 910777665 420019285 560825709 923379523 59933821 909025303 666534161 724970023 782405371 852928087 810941965 877786903 55272797 624878833 181899531 210228115 827246735 595678541 738006397 996864807 747872457 911794521 290811031 715721829 174664835 830726795 21274205 545632741 765542275 775188705 131838615 340922703 137796053 19071971 92866517 734562375 502795471 590957469 529810541 604682627 325956107 514427301 558585217 2335163 361292397 913838107 398159865 519790771 392092451 777782435 88254341 970684469 948018847 159351151 828029343 242774803 168711585 810285105 540499589 991181863 551080489 719929131 889265215 363307859 755564679 55905313 266024351 582693507 244544589 279622497 831926589 468038823 681832791 192978115 577577593 499847865 629435593 240464037 526659195 227863743 955955729 631921899 330321203 117741759 762736611 572640261 695218265 803825611 832921403 8335337 271179887 58583809 578513501 736441621 810077115 678366339 27806677 557523345 708354895 107902583 233747319 703366119 985798659 246189075 313303903 806034995 321027445 53795473 282851571 141676815 143908625 335606833 940999645 414162083 941492997 40703807 589802773 75198363 776960329 350473997 985396691 568830001 969898141 316986101 796620445 199967 522114443 515113305 806073919 912347311 80163171 883772581 474032845 369009583 267051325 384777801 909856933 935591539 962853111 60827583 366011753 252600793 7577147 487899531 26329351 565211721 708466043 398575159 466273457 598153395 900105453 180973397 914242533 918965129 349717905 209324159 315215721 306019787 914620465 205215321 877496389 507764737 136166491 635241353 701253841 354965813 915143019 37192133 774596519 455938563 58515837 172395719 397086379 261608325 509689979 917564751 51381771 739342947 127891733 377390121 573306683 420479945 367556549 754159399 804747765 947440753 643893705 301102115 964332865 123137431 604996651 55530497 197165161 651214337 651202745 109702567 670782465 209796861 648456973 592560907 302020837 76181859 884827527 712859175 469480249 115760785 816164943 593913339 128959853 378407275 627939413 824029587 298668337 251057505 476992083 419025153 189428867 262823785 737189829 197435999 425618087 718691587 888813049 931087569 279296295 835946289 340800763 786313085 900948189 982438789 878131365 837990043 472986335 647425813 329641877 282597983 38819221 996940669 906932791 247420943 629962667 530760165 349667769 515955959 701503763 93470201 126954259 582362981 456551435 471224563 479193607 572801461 590556695 970555535 996568091 881479497 76787973 314419219 919443361 794408333 963346405 800184655 424107697 874651377 533441559 667014551 421807145 847393777 98913853 608633033 976683189 986464781 34322757 165841999 816929729 794586321 826128227 145183251 853203593 84626639 942561041 592553357 434807565 237820067 364028949 280823485 142227731 11278315 163276413 292645157 59414315 893057109 435384219 620511447 675621297 413460113 501442315 375720297 541431745 279165273 340534705 659764471 965503557 443742835 776805563 312789801 439345903 267068325 616915101 811198509 865960757 669184451 917834771 700947895 149360983 28301735 59925793 391655433 460298077 837955893 821800977 414095593 967580699 161406037 101098107 659319969 359702053 978599417 593713723 130317067 998926045 916904731 740454003 934226053 569760619 303519681 417633935 644378355 461494721 777416177 288438597 455262407 337545619 389194943 989761425 610390003 528200549 312222535 576493495 143882487 314686847 960454055 169620547 213481435 236673263 597407757 772032267 993018667 92416655 24566697 832081447 752053503 836440575 207716791 716321023 283306483 591632037 214836855 89385279 97999919 956404405 78160437 626326489 244815457 95831079 954230341 699515917 254810815 372049337 969145341 540664923 525173255 16742899 88380353 23594897 332186239 451307559 37123581 329275333 163620087 194683757 968516129 302214993 708194243 584651683 956218281 806969305 143557057 149170805 441388311 725742923 695826779 223085137 394431219 612587227 659066235 136053103 489978065 443658757 463198363 75397327 147594829 914557835 210493365 583347003 90517509 146743421 540892499 889521219 773652647 966454573 424098945 605379903 87384547 738970679 471655895 15998029 155722101 847492991 722031729 370512217 375828509 519556405 648158967 92444943 213099689 498391753 655402647 11765739 923140839 611756025 259249671 773770539 933828787 49427911 547894405 272956889 294266609 903631235 924001495 228211141 428232841 537284031 733353037 796570757 963311981 294616409 502478267 263329915 260499865 250651763 252942465 347515855 906112015 121466745 904226691 193154419 106296279 99788323 737274419 317412381 481703173 598357097 518986627 431098701 788638645 561527185 769361141 397037643 563395333 855503143 813655949 504993067 317885475 450870783 638810329 827322305 165634367 844889399 536045041 999161519 893448853 9877811 42194033 804097117 172048231 257634971 934076289 696866811 412985597 458293609 21188303 739743361 648677805 99395541 858217361 725774769 48302029 58219367 176670597 544570131 327233731 768495591 284809203 323195125 545549301 690538093 974916261 698236273 870148059 257664595 925531383 864969573 18938603 940629565 805379777 150172541 12094119 759661339 260058991 647347495 470424733 539760411 933689069 999541659 134815067 726151871 670091439 391081691 299005823 949686217 32552119 723093677 579743911 375702083 427897993 374413219 148692097 747408261 213045811 394098197 340145087 927083307 251586381 824289569 902649623 386925079 142582771 676661171 8232017 299805557 97124301 702681465 426518325 892843451 948742409 992531435 401195667 49482661 424751965 539668809 377355079 989148471 357569289 23405981 748160309 757173949 173523919 82808759 141242949 319538635 181079041 481546797 54271851 864477759 652730227 478422625 33135519 307814715 293349509 133087101 464570083 73218093 527583005 614145901 732486469 248451015 366056359 452705773 279114195 133330183 253410845 181722491 98509227 722708531 918921467 491245665 611606251 381270995 857699911 268369325 369630145 745060797 844466831 239438395 98960735 212298767 883378667 688891815 700835069 217123373 315017463 329633627 970739421 102006721 438761435 561364871 2534221 37505471 455516999 583753765 947926427 342730087 651153773 842903539 833687845 590267193 698600717 872445305 739467851 204489733 403257453 241323019 763821431 662152669 312354909 955792061 477395995 622476061 159746867 835909487 539695027 290124139 756348363 906665421 710106817 827976881 598348427 628169285 288373711 191352357 237635173 438852369 841481325 154831683 809731021 461569839 107526713 934287565 152440767 481601383 531752913 795041747 846816453 434385739 16505315 583770279 682801645 250073651 269623841 422658023 772544459 711081021 357466691 839875445 345337213 556843349 974970125 26833789 92493229 508653097 917805383 329908599 138350981 425563953 76084935 734584091 880170941 654775215 109306213 361034095 518605715 591388841 424256001 78968767 480141263 707170801 753678217 263271583 916347325 89968413 321457647 15660269 505976371 652355217 288351531 718243019 853877905 63119473 735093313 569628839 550008253 695597489 601421369 371039285 46991141 844409095 478674729 679479151 446276029 968317939 296332585 411573659 884719367 118349247 393209689 116033095 886592007 409589881 91196137 631899203 301292621 752688637 47862277 812496559 829209325 329161447 928809195 179439599 423708549 731734433 30272221 758190253 722059583 552290653 789706021 978140895 743889861 382600975 661957651 845634751 15307343 471464571 156450821 458722261 288133275 152910633 857950811 936210923 163821041 416902503 397421695 766389269 279066141 641676113 127884517 293177263 4723319 677289923 124439557 791415647 793828059 980095847 329761635 936826383 556626609 222554029 877380743 840793077 227706341 55771085 355970567 58161037 835268593 466152905 404373115 202076827 323901649 666263913 583586693 414111531 399528459 420300603 760284879 421526673 667256239 258185625 269760779 481473131 221651281 943463841 205206775 541645723 484848911 380798527 456648783 277872975 526020755 594108193 385422563 673112569 651639815 58429377 331700611 810714199 801681187 162168923 118993161 593313389 951588391 968080125 577636181 716493449 651911893 393111665 747804759 231850043 156253567 159579989 37515003 353401699 522136059 642195207 930214977 394806051 705839269 998218413 586304037 380458729 672106341 957314619 981639863 842092905 391312041 316712807 140585735 185857949 586404967 687961267 342867503 740046285 936310557 776137829 40897617 86305411 727920849 193807245 996892567 172791697 371727379 458470663 202101045 162247959 57299703 366260847 984141923 540153465 399745051 111958319 508517221 639961953 714786217 768471417 503910021 497625797 931893323 520840003 751586579 473276897 745370683 344589645 550029421 833251641 35484723 141345313 294215923 389618585 245046909 608315661 123616527 731369237 2141157 211279149 212162101 978718217 10587843 866187869 772271581 541262875 690190323 925230663 909484171 946192181 16769501 398046043 601703113 579892879 325849455 334071763 969225257 170591137 996256543 305002669 154204741 739589937 367567851 929558705 49037759 270569035 106191961 735772019 650655041 610459459 830215543 920390215 952225919 285320887 404509663 882705231 218539313 170328201 855484073 847224435 103022619 638881511 592641153 255834723 566512647 229559619 948400273 18112919 639503559 771162973 186402707 290102097 786480693 779973685 380657857 496206999 672828723 18864411 292098277 230901051 220060331 205001375 521793867 168859861 765122193 684339105 276154059 871628741 696131805 980015685 907975361 291866163 289695891 200728309 891635221 467779853 746195645 797292389 607578677 970797841 790431085 816476565 540361751 938408377 123208893 342090951 661425977 616452177 453603279 523768965 939089059 866623721 398081997 479226791 245114335 193983833 59547371 964654409 761440265 899577407 819507041 126601675 606336697 460630535 411545715 131548127 998624027 740807133 525146475 499211637 117694683 22767293 115454107 742071499 357565741 350457447 286303837 306147171 412311507 581930081 692385299 241026317 118560785 240732411 9673001 473876701 531090869 363224657 961580557 320088107 591208469 168788287 584102207 311840159 783634707 709260399 810118205 389145637 496457233 820609875 897417875 241401839 880950015 594327327 605389523 951010683 521086291 958909913 967619479 701690509 222177547 889551171 756855425 56466227 175046063 855242227 93943611 940297917 374065993 616112701 335326329 513866443 837707637 951109443 616620789 986927167 182756941 402879981 510575727 525562439 766367095 165453803 596637875 203062103 929981733 510645431 361466003 799631913 524913929 392635023 431232745 849817797 291333989 528386427 126497175 366519155 827167741 675097677 834627207 799457739 338238239 440616861 679689901 109012391 476076195 383062219 856473347 983718957 883011301 851561215 40278409 497963207 111517135 475376681 390732875 999666219 939743179 400856065 427328091 950301013 200863953 718608649 667946195 920583815 394112863 159873927 845146581 727577169 175202171 766445197 550798219 986035845 431231413 685947123 913685801 561395521 14225443 111511127 956695017 728972261 774576481 956328997 382396427 724430371 386132373 865549451 540569563 609901291 110379377 782616961 332717227 608447867 909774633 293946823 426810325 718481495 663699833 1551847 535124923 629222475 30104235 944830769 385091273 296416109 861946765 748033213 310602351 821025301 185987697 528917609 473093159 275352043 456656955 814227935 115065975 353117403 208538957 384312721 5187045 75422745 468318359 380761525 563612165 854231327 63205007 378705227 759490673 555287731 303425077 631576349 401446347 611780579 933121035 435447993 171789503 484950271 229568803 541995387 792791805 45161639 125745171 434960255 346505279 305676479 460648951 62716079 985062217 601579377 72662389 977429947 580751591 798694449 119160767 402887453 758222055 960028351 778038153 778804755 422691621 277790235 742496273 289432487 514423427 129927061 846680605 388780967 819532269 569329599 284430075 998272429 288837971 169482101 825356675 546286617 353156271 414321885 248598803 317800211 615801605 84053089 10296463 196268939 135027553 153252791 869345639 615762491 165076433 881767131 239398033 686014623 51622001 160834321 197546381 769943045 614691939 542823909 138741597 613154937 748249811 58516011 188432275 236049877 545091057 360870145 338912581 377166519 223278071 101191881 667803151 896594315 852943915 368933423 990037273 372050303 186523603 741495595 670959631 753467787 681124675 467962357 122043947 443507569 343385813 624400403 988034857 197309623 467231725 173545809 27535439 889421743 268858353 168622789 332263275 687599217 564175703 917307335 517172181 907137499 505432217 791912705 297842539 425048217 221110071 239776089 522312593 663566359 399285949 823838985 189175865 203051921 637663679 648549513 144319701 365641991 329863891 87486881 776333669 805529663 422370205 901201497 425210737 263318985 793011145 227702281 97149189 961056769 916969479 203916875 234294201 73568259 323265811 594693637 584607145 631921337 19087021 249761377 268311165 831640021 372039841 638883797 208786529 230679757 639254465 725260571 759795471 712625121 709960425 254033979 586654915 14049051 783628279 632550783 772439875 630402889 2798297 825349243 854065887 668289285 320928895 231394059 792661867 999112623 260035045 728462421 618484039 814918767 307465995 534354885 752578647 967156535 282725885 511110669 613832459 380737979 591896527 170593835 782632283 829982335 374656407 467250275 872180161 589005771 228018553 669954881 82133575 177263277 979157409 85821081 473319289 864669695 350970175 59354761 487376239 973904225 85235087 139020403 938770629 357154361 933319377 565841413 205155747 954873021 467646291 178846257 31244471 99111647 367213155 317091893 776725045 154233699 188485469 545419927 84758751 587215055 312821925 734651423 932828411 329207413 753287329 676935907 124574035 327059309 329331913 848096065 742608449 723061653 388726417 109172445 290773667 719956633 248478849 73552289 263011039 682043623 907220255 706138817 592327137 24723127 664581633 99071933 582538273 741340425 953891517 696925015 532041887 888314535 185096183 447409305 404834783 119172385 832186459 205822427 165485807 705260495 5442457 103163831 797835367 898364623 728593261 93915155 589890915 261830669 744347801 451598617 569045131 362411061 341725157 268991551 254938381 609796035 234239781 379152705 266057631 634245109 582569013 505795875 456662399 698557909 441278451 307501873 761200499 525273395 983275341 944282111 253266635 378770341 895899187 41662569 919507035 407249293 714499233 250113685 270770051 730820373 818381209 478141167 338843431 613164329 280709155 645122345 416117433 603313797 119355475 849653057 325051179 140033703 661805637 55841403 15998463 123011287 985549591 996505189 715245625 431776041 809023991 166412239 632219495 808303473 215620375 180611033 731443873 782742097 775606447 632666341 759984515 841223729 840051713 582418337 726471477 541821505 798157913 833265663 195100517 982820217 47839243 831561791 249043785 595490715 83202413 587474401 947388063 970071087 366666725 464837813 531867309 194715523 509598939 895056331 855439171 943316401 214811841 424854147 575359925 703487383 513291283 833522561 873394147 401078753 749510739 962918319 480718643 931641341 349987593 742115139 761525649 134491939 386090697 514586297 474293879 177843541 800935983 881276883 339672033 22048857 680629465 487730849 343276371 632995009 110709 417171061 683369697 912180453 633776053 371882731 769844765 684255715 481113937 617151721 592207141 373372071 719514379 496794011 723971489 785885919 10290353 388396915 244534207 995821571 141834001 375295791 835313973 999042643 89577225 784045267 300533825 49684441 485396599 370941099 272277675 895616357 711537481 631374411 92940991 800607629 626800753 240077199 973899347 773715379 285362407 912386975 429327303 605509889 655555757 8665569 674734849 208608099 369280465 257087247 757589613 938329237 693693281 429220385 678628357 75286805 391844475 322995549 554198595 435556653 972912447 836333391 836610353 860718573 438612439 62868941 990231901 141753387 169653621 245829873 272073945 407084937 524690261 814544927 4458569 22194031 39785401 955864325 549134799 415331853 199806185 458547351 586864155 907233117 428264507 587504143 234727779 732839965 109117189 242971637 891514471 116293845 674715565 577850643 932410217 484289241 991891611 103423355 525118267 65543997 191691587 981017999 11334193 273498081 542972701 638759661 49475883 103608433 179859115 740649861 552799887 63069019 892778107 830193291 468229451 35688153 808341019 38897019 631523795 966533609 105401129 159814425 726713129 665139027 414932037 646652529 10479057 888553641 323151897 571928535 166686939 887308099 272565847 358085095 344466137 88203071 578052283 311966855 796748015 476310153 391508487 504795107 351210431 674964943 346964741 901711213 554835577 453957001 219093381 807365347 116560341 46541049 749126501 616089417 656832269 826220325 593768325 788939755 457762025 560055775 378416335 77008735 508402361 656006333 357353269 299937919 616825683 769689635 84328627 165915503 272831507 804493877 908738635 342387357 312864225 316228583 743070983 238086587 334012457 772868591 426159351 63555783 691416037 385473997 650321977 605357319 440592017 465448651 341461997 239032835 882070835 920415479 875664189 818936979 570704217 266520109 260454491 954387921 170953243 473097993 329846149 981464097 545200919 881326581 575880183 22110771 659938673 860884515 943015169 564487669 223060187 895114375 963556595 471523241 962126983 636562661 487279653 280213713 65524277 767025349 283255293 657406775 906639149 51966581 814068195 198392819 808018747 465261073 712112203 773025377 952356277 935164533 372083117 907234593 968628347 815798347 358884749 922536741 441209075 877698307 874143093 259037853 589817099 846394837 201908213 692114439 563593785 530626243 516545451 722706215 237217915 281981333 50071607 74400265 885112151 938901721 964268867 622277633 302015195 703024873 11165059 617206955 624773279 100578021 463119791 217360111 189667009 127956915 606223243 723393011 509754087 644756743 249079519 148086833 586446141 659018329 42754177 409121377 82306939 662716389 640943433 885582985 218377185 626015673 345987865 29207797 873845809 733756063 467102683 389983035 227771581 110474549 193308291 65888053 634223451 864940249 585235977 369956871 805221479 495567025 300746353 99494687 10493385 619302577 570002885 678408497 908793327 660427407 31078677 411436343 579282639 751203533 695395199 641107831 306016487 86955953 658981155 21295743 256518205 517958731 183171115 759528481 676129631 140999031 92675019 481559161 257993317 209716433 236905787 291541741 355868141 827369411 699634879 276445991 276552733 39236735 647539361 24008733 52289953 258268923 157188147 759023371 551952049 942939639 399227085 171538035 460523533 113488893 658013397 40146213 719441401 349283419 492526261 555431731 641743171 926135853 829784027 339166459 984122945 879805775 578530759 200170015 483981781 980501355 787217655 568802955 93517921 533658353 216060405 725628277 880278739 369625627 820382807 688216665 7867813 562863079 919500213 320438267 284185043 63325981 62558897 138415463 343477733 60676433 152834037 122141939 153606373 539377623 474218805 690950457 442900845 344647889 77729321 817550365 846602907 505030695 586196885 538647499 100494101 515259017 62712387 510114747 429799431 535698543 369625093 674025381 276850219 269418267 203257013 791238801 139881147 619631507 770328885 530524103 599552641 458337705 521175663 745128415 973891785 611029749 581664343 515567539 447700075 395340247 284168421 341038439 105745603 100166775 76883741 415371113 471337657 68373443 341102601 618388845 31572923 458605177 507402683 637043567 765006527 203062803 682443853 58357937 459223363 971229149 277569761 35035331 394143821 892477927 990982305 472646263 689314669 340732425 937039297 991896297 463068087 569149665 768313979 497858175 110624971 268416219 41118735 501282787 576037839 874956067 131482569 824886539 112774255 289018549 783082489 436908595 486704613 263429457 105713917 826969823 440020459 778913405 6857781 662876379 428783051 393022089 2953997 654316859 638929235 603724177 710706165 901498717 247547861 25027697 21904743 445680099 765335349 452994003 670857959 482938809 724326101 970964265 364569599 77949207 739132581 972820391 522556225 605880949 587158043 596483411 452457799 144197017 347503925 394820079 425785779 671626895 940033913 790250001 203596337 97643693 145310967 753368589 393523055 70245261 691781955 325735173 39977005 948584979 743772797 591675873 193060393 276054893 363652683 70349905 172622127 105300493 207708891 97661391 104335889 436137139 235376097 962062489 514209193 897154911 499229599 227639991 796873689 943745121 467821017 582027003 685097613 474925387 53375709 347478525 762021555 708398585 201898627 246192925 149923147 565077903 668849959 772728707 936541267 87326075 184659633 784847647 91659223 536804465 747776911 739170729 978690281 880280941 868350905 301487523 409773219 715923635 186363817 15329107 855176487 139385039 545431399 904701387 454514849 947076501 880221571 459437027 270838337 306605857 765686801 516442425 743259457 325382873 141967793 40934713 986985445 269614695 238704265 826224145 810550903 719937731 135576391 518398905 23306313 880882981 381368351 673948913 827982005 500831251 140953043 7440451 206256159 883590233 747128999 677845759 924048109 803749387 25223017 186375741 772633749 323670407 747285617 517291995 775072401 980947055 796588189 133087619 546374497 422934193 303654481 436061607 759202193 512047999 13480061 878293629 552149683 370408023 262854039 784953093 369866337 414916607 734720671 618660873 868222269 442768255 828272663 477512983 327774195 946449711 360064273 759338379 78342195 822221737 353148961 993151361 816360887 849554129 937841255 761246947 364716357 340015317 312061577 948096097 472566179 956008233 313714613 9475189 862158501 588704135 927164065 772965981 932116517 663384311 195939465 92623651 786308357 130030275 834420791 120281749 445129777 747691391 306278649 560940621 485171097 518350855 687057315 510569131 583608631 694814337 473468307 742349271 520700945 367612247 595213235 857912001 539804461 632283711 350344045 830238755 382809247 965438261 485792697 598041465 521696897 63064445 91764245 521208849 414963701 689091747 400230281 746507767 235790887 614565243 138733473 127079685 929798471 354902817 655386483 39399897 149020049 273029627 695021727 860233951 113752133 911877301 442973771 875798853 331051183 415039297 503312933 568541699 569611041 657505757 862017379 46610651 106611701 83077133 721960899 373675859 105012879 752951711 718743179 554112445 764113493 578533795 51118985 674075697 204835263 152209785 813011477 450505613 192581953 270810563 648112141 992241789 605379171 359475567 206244565 136263789 611823275 453305009 666268253 232524441 245591213 220583427 352998429 712170241 640514819 786081067 110720527 203539819 282594639 778564151 579076029 81904231 342607165 247977081 308802867 387817041 373232509 262723981 367991303 588328517 430445259 983608919 455341145 895038253 909243623 732702725 597369295 350304443 73964959 128040715 412970647 315127397 336895937 895254565 731486311 219104875 155722281 615878999 863793533 346410199 498558649 632046827 228139935 734259319 127650653 299458683 207639837 585138149 953730309 389569501 286907851 567635073 938401965 872507961 94488583 210357107 684309077 391566585 564523451 215878829 528829451 993250515 38063441 963000291 320955101 291499715 581625025 113884569 586864615 180772621 987347083 298142231 926204237 55160381 567110835 351878763 582652725 8155689 873113031 111418735 853784277 202011369 500508125 327569603 500701031 51722725 792860567 818782669 394781997 148059337 109751575 659669187 16107631 251566729 558677771 829974935 282657409 652846175 207852461 648695565 91970237 960714961 474851769 533530539 741176711 691595947 222257525 739481795 53566791 289895427 299596721 668893037 28344687 225422643 338655425 276086151 560849275 788150751 263743877 27487933 890697195 108057077 253735009 337042813 460414797 537470633 296934471 147445759 204621615 750854007 761595817 881745731 118364461 180156193 299783049 753680403 768949227 19871927 703135339 846698495 842187279 354215051 982566237 328728159 451059537 583283001 397321461 695146321 352281447 985859749 762103893 263554241 471758611 346287871 3572255 493876571 537872673 62376887 372955011 907454875 300882277 810615435 941063989 832684223 172982197 185583741 138075257 582959057 525181687 604679901 341746703 311713441 871155217 222741053 595109703 556834501 582021371 829906299 210646267 686762655 700305323 587109561 342127235 691975769 335370019 818759267 859279563 257409759 593905775 796756529 505509183 893908717 379463587 813180955 95967443 390987265 618906837 929390951 371986185 380426083 373571371 445872033 282028771 985946407 19351501 232505759 940712437 327041825 401347821 63340665 719028047 924997107 139834055 907096729 970159253 708909061 781181083 206432421 400744681 739427975 8492471 934908567 696945659 853612657 643370089 833249447 949286145 603045253 654790927 404656733 174414777 653248843 263713031 711287681 279196009 857635345 183142847 497087275 838876641 955877361 215578535 534812341 183429749 854176201 609764667 534532803 144110341 957692485 749496317 337131077 843316471 933000915 974143349 99058537 731340855 659155115 704585273 740496561 321162815 509133263 731455711 840691167 271406345 257997317 411719437 475605247 557560351 394522591 95030379 278258533 210460559 236830133 969653675 924657325 2044139 581594789 720453513 646187965 746071127 764856219 704359367 320902079 764576629 348361285 523389485 824331049 401162357 869806619 117476753 977456311 770217741 31595869 381568713 40173677 696857979 917726229 898263483 842145943 690326919 137825555 944704079 426926281 411640187 193788653 466388855 709518561 201597235 13353733 316427311 817091073 931078921 426389125 844124281 952610711 791596771 639395161 164280925 699583573 104833843 743773501 397932785 529322297 157773803 82065071 726621515 690415753 62730637 138846713 816503697 504869069 289595421 296207403 475202027 484532701 187580969 895618075 717617547 119477713 238950345 817591659 935778221 167254547 991783323 520231811 962564243 953980491 777826755 279572115 348953735 994858861 674496241 769858197 250368729 484570809 799540059 676828743 745911527 482353327 677392831 921015345 581803279 825873951 934357605 669360039 515361215 264699675 890682393 152358333 271232617 994883583 660222257 222559829 411151493 109496945 424069261 486004501 201175703 619322459 767862419 89019507 696937767 572373235 542418993 658624673 995690955 504318389 220869083 378798755 223711257 332318563 624800403 223889215 401117367 869838093 498634973 400755719 668036685 155587845 70611399 625387603 325219983 114385385 241041385 157597761 640677173 645910939 743520865 746467773 78993153 695711303 605487571 197888373 608679617 623310181 267149679 655025633 237607491 899689645 364792811 838895171 689525093 811681573 81135751 545347489 99456775 622224409 943908869 553542093 318895123 928724509 312607671 486231133 274620539 391298575 297980019 831287733 288373821 878577169 691749781 155582969 274132053 509308049 680295941 276954141 984156115 258234179 564357935 628984023 192063175 884803617 351179789 968654247 822638409 665983089 374673947 289717719 730867839 251790273 423087199 450215797 156815249 293534433 79688807 666542685 693009075 428821745 747466059 294546219 165215773 482888789 801574569 352294473 476747027 47380919 224196517 28539625 736981213 135430413 489197039 459435519 263172049 143772819 423561407 774186321 54611527 836636107 793827791 795226721 246115231 170013829 75947113 140950917 203769673 906237907 930894937 196338897 241319857 571797265 406941429 25690919 198896981 359857893 273736733 419472687 518262711 320849465 866115895 556933721 327125089 450220867 427983921 772084189 1751013 601321599 645911681 885509565 63319771 240380849 375879205 782680001 492638953 203224805 291882659 662819447 41764279 543554927 120359945 194545721 389890553 358261485 525329391 445330471 614828135 290547265 641496179 893020967 83626693 278486681 932403513 811999981 719112413 362346599 2162803 385822449 361565055 371499113 954027475 402558319 534228361 28095139 884617625 823104117 921401051 801773923 373680013 6788813 264835935 921458233 238559227 876733205 886209033 960182533 772656315 162781355 618464721 834523369 179154985 404868277 382273211 780485971 279044653 846003495 779174097 578231031 227803957 380098999 599734051 829021905 738716469 394390759 376034511 819503907 600309423 825590013 77361141 12980861 263670185 988852489 957276351 409723055 310937261 456170983 986438753 499443163 511083989 377365811 51759635 638374751 624779711 562183257 489474585 841388267 142836367 959858565 871581885 185415027 320151287 391595699 958993745 316627507 387695913 92885153 861881647 976165295 55976935 645640665 806766777 939813555 25509747 956705193 382738521 423251 708515487 969568557 764384643 154715627 445881281 777140801 249335215 62143009 608926133 816663183 336992097 712102881 842820323 820137607 584525091 25712221 294199865 79610467 741059205 776225555 770251821 855352609 953455397 79314119 198269373 72570763 777755043 112738437 609497455 758514991 114772651 130934945 756001363 162180455 783209963 958037945 952808701 971209299 974221091 588144559 928132237 209067995 896533777 186099377 241594281 311857839 911241857 421190195 798482301 623691591 310347587 706648559 297657025 757135589 633230133 864197867 384064181 118167183 477647671 260823669 635966493 351957015 995292725 645520157 193166919 20972821 862669341 34243523 972224011 246856681 551536879 298545803 304142533 253572283 918233513 180097503 758281565 580174969 460389207 834761587 216089921 482481633 43824649 586582343 69180263 481918061 659718621 3431581 239726413 195121001 11950579 891810047 250979321 553952485 423893367 145887557 904700155 57743545 52437145 403562635 6854503 100390787 217308051 21200689 386266333 164667311 973403561 968843753 398688899 60026473 178907173 147823267 707567109 195975853 235311449 649435037 200977053 327402043 367023519 95560795 658948101 112226969 584016985 692312743 837417351 356241431 627853041 392967579 757272303 125824721 489718747 504587917 183721365 707729827 761630095 70210085 850139477 882218295 505437587 976683855 328084377 428334335 454822251 991235133 342058571 106089519 136596399 838075245 243233507 204071629 961819895 306823845 993394527 427546779 982510309 341988333 942978373 678134319 220811045 19336859 562598053 42740189 19753063 944423501 32878867 783967431 865433957 770811365 181049519 46194645 542063587 73829521 880267039 525194423 717481899 881366725 170329743 931732711 282970511 628790075 178557625 840939683 523864169 228934651 447671255 789521907 91193371 389192013 449533363 80099753 903924369 697784521 754834587 685305949 336959675 733327433 648754787 701134703 345635219 280390899 392758121 564347399 384383261 56394289 603675029 482935829 270997859 521837241 487581525 365860689 821775223 426214791 988866207 215465533 931187827 702839517 940358131 952374047 157358201 205849931 802735443 68174089 841662901 796497059 292151633 162171091 543063895 64099587 130239489 392067099 493721 581565901 891279363 464309837 980474817 512393901 447311741 950696343 914681621 209809561 894420251 491767793 338381289 919098573 504920343 396550683 79639447 204057037 520951853 617661599 939751553 216829541 810475171 656918733 545848081 227937451 114210119 220454845 138500795 365616887 592283249 806816589 917140217 305322225 582679295 181989671 995258955 672683653 587820885 713113021 585455421 327875303 939611747 111664965 204937569 601763729 232647327 637580991 741801041 668560201 780783367 436742389 509699761 100071197 501588003 482797429 290612007 860896093 313979647 408011675 113235305 785747625 663224881 754141059 854418225 652680933 366840025 896037655 752948031 316122683 926949277 501819657 930973279 960344095 732709291 30418893 317746275 202174033 901064631 298988199 843769637 977532371 207582979 856230047 336656775 429036527 46939219 908866435 915095669 722195773 275529975 669326061 833612255 60230295 977869763 60555581 629976513 178672163 385077269 172965531 746216219 281861195 555870933 696365047 639608057 263386309 35149683 524834827 705446765 343211917 530848481 528214101 3499153 241516519 87803551 937574941 280361353 31620959 374997429 416549749 481542011 697952969 335479727 847314997 316058269 189282115 516924835 211751675 377468713 683875631 525067569 433282099 720241247 173547321 454494591 316817675 872867211 903578457 843642427 708736123 83508993 291321287 652645531 195209797 400529175 167679497 812096603 983487471 646258993 432531947 165222087 21865931 894225083 284278915 831296935 941459953 604450341 934689065 87138901 790046527 8961003 687745159 888386223 386615905 271365517 621217157 924774425 423072451 898765975 697406039 321597571 801289633 697400731 366500221 142432613 463058683 430931251 623246519 946341561 456935063 46878979 163112467 673632265 585862917 169453233 421095655 323443553 57064097 732281077 406036173 451629655 256507527 552584835 801629867 924533003 947080609 20628771 415767979 311105827 496432545 272071323 619542595 542183117 231762941 112415167 259790127 451878847 970509557 169984873 271238257 267761719 268915347 938737021 893069913 842798587 671923621 425399777 890011257 520159065 524453573 669760909 100417709 10981417 8462163 977695605 600113691 327849161 689485943 72611233 731684399 413435167 841928739 566203927 522805659 99178391 159134219 59850731 27177821 805569065 114276531 194942519 155880889 215005525 317513827 384296223 249781051 102423837 295504937 319924939 338280887 493579797 918762719 767464045 835468107 561783373 463234085 151698753 194994009 903070311 572783459 319746439 301562767 816903817 137720009 916233099 954516191 870232417 214985807 616703135 823175303 488605477 543108791 358354975 137385741 425593491 643122311 75137641 200418105 67144177 50803473 402270187 989993251 883807759 688616813 912538645 280477987 879198529 652247929 422961763 846298851 73266279 929859809 820711255 497244747 285644261 226390035 490456441 59336337 539113645 923697991 988580445 957099311 373443377 506367869 932298141 967877869 395107443 579406721 796560349 713360083 394349301 702600925 410174917 776710969 102092233 206043375 712917767 269364409 966020485 307778003 179625311 68960569 921363269 67465589 263519629 534467811 711597489 188892289 260578399 24727341 336992759 346813811 84397475 486833107 500066509 230605705 249143605 116040153 615735153 809109453 232606201 975512715 636864683 830561807 11435223 188475005 179060165 784132069 853599681 182043787 633117081 375712689 102902963 599671515 471787397 235807645 775066285 95731673 588762223 200349333 706498749 432129335 235967427 422779733 485185265 151589107 360576123 238903131 517060453 180804689 823268881 604508143 26619709 568339167 568076687 73390885 720193953 188073837 955847297 448548049 508042435 697593627 709323263 201719189 303776479 244122699 161365925 272779737 755121975 445457835 573035165 566608589 976355603 193825069 300480655 898746217 620770503 190728977 330510519 655145327 992593583 540027607 447186643 941344871 169294889 23830095 423591973 120818847 180232355 818026633 740408959 814486577 629054095 754396903 273309493 456198651 118028389 537460743 717817895 998683305 24527271 819647193 234858169 61522345 288815075 934245777 698851037 193078323 178776487 393130667 784728069 125345353 282433423 752130025 619654707 21933489 227941183 988483931 589113579 858343677 941442143 75688531 101523515 298377861 818454433 415121005 922488763 88129383 743380929 538186895 966292871 223209103 398865537 842651109 939632969 190687147 344398761 486643425 126993707 256628275 849261583 706013249 65321701 109869159 57727113 464207881 240531637 609009233 473320701 372224133 180750433 552023233 490945363 773292873 476014137 494398029 84382845 244727347 204067857 210858071 382216567 210216037 293896265 529135113 138268227 57534283 621456583 310577999 158927083 424139677 659395065 524736997 985891967 826924115 779496403 706230345 468552731 263789491 510915287 545823429 582244323 431039049 812459273 759120489 100981759 579100651 79356663 186103819 337045923 956417203 33697465 776657741 221617671 24856069 204943597 830078871 399345517 732710287 710850487 990816537 933113891 106281541 162557895 568511437 860061559 740261217 267927379 242926705 422826183 608033643 146115353 313276813 812610675 605249837 566218593 814507637 909117669 839166137 194101495 43518013 322881935 501318257 79209009 681552071 394092525 764982771 429647343 483807673 55893121 952112943 271246999 334262665 137294291 780711257 595205397 837718121 171434361 228807149 831222243 537288541 744703753 875557295 949251581 668393259 444792617 673565611 790483945 481876325 887875713 229509173 971140277 535348067 527361221 21716457 687858937 350382403 117283245 157145261 287451603 418837233 931789821 229912237 896592359 300118811 650379389 179605339 12898917 521168441 622638851 301797493 831628291 183803789 73549669 103714047 635249151 41784861 517372041 459683909 970058529 640211899 733911383 215129821 398440629 913507325 315246019 471663009 318267281 110992199 896051141 442532021 705340693 549353405 969392225 13763719 955399719 242167379 934962335 309807817 268031541 337813951 229740181 967664507 484090421 242232705 80465497 361883613 433675685 906765539 99820305 528078717 255188363 264615923 107002853 765445425 431925109 368467597 959920393 361985555 658694267 979364173 401862325 343826567 40328251 121731229 893585965 449267517 159627225 972439983 504998075 241188899 915029765 32255351 336238767 248140155 181242101 140855739 617654887 439661255 472545129 695335421 358732611 810147793 448924579 911822995 471025837 920871857 762361205 572701585 343458583 437247427 721216053 396555737 704999167 232133287 869694911 859209235 511847907 829878095 290211707 310618031 301866829 507801067 17913687 641293285 544490451 83554553 595999943 630048439 425471499 157769789 360953805 178457581 776281499 688977859 658848237 261719061 629417005 939414239 489747767 13779337 646417519 354481455 828333887 139478377 603175199 995304341 483865125 227068059 324957695 714189117 694531469 297445075 404300505 842010783 726773671 360338825 689653887 68541043 252701227 383917817 202217929 197841599 344813395 592037681 901014685 885814223 733661929 425114363 620375781 423056697 227967801 291664117 618526095 418276055 164529689 839687293 644638617 566729165 563053035 479663289 589063941 755782537 511496337 271684509 180275165 509377215 138670201 721360607 279704883 2734185 452841885 471509249 930367009 133158095 596025977 637261385 454491335 985904761 63770387 662118343 940791125 512554815 928030715 559375447 228426487 219457851 577868101 554623381 886166253 270004179 23852433 862339309 487978869 509864113 309715715 486684811 128604889 382321355 598725197 27254379 791732847 861458269 773911457 671007051 616748431 828165353 730967999 54916021 101393563 864927807 200753903 38487799 429392893 298248561 346363389 270401581 273013545 571135197 428025665 26967859 25508247 949707301 605504407 522894771 781279179 573761845 702453095 885725725 32959567 842963779 633324447 242354347 140306613 402777547 237377717 372095067 547354775 439974801 581146023 57768951 628465303 402505123 853768443 340172045 493691231 900375633 564666305 219572983 748778147 835844155 168859789 594534357 60853275 97034563 73213055 540539791 859109003 91949975 996957243 458261205 879661245 398526633 433203443 244808223 3896963 389469239 335966041 425864879 910923701 325585735 436295343 515024779 481414969 90624289 723264951 154789509 211273721 132056157 479292869 381740341 969740773 472614869 106946985 589441531 203352823 429803949 729097927 236263679 781032499 907710547 46525441 787194673 594724003 384101243 442861767 437803337 442985561 507610401 990761487 880244935 40806255 56323719 398945111 552522485 476549383 877931837 964694437 945841123 878206539 618769941 282828937 700476265 71349615 454495787 193259799 559541797 115357867 6041573 91852527 835141251 779178819 448984045 501819701 393071535 814209 428307001 675830171 220974757 427444919 645790469 871949139 260175141 18348095 833657301 598278175 39691445 676326523 946861685 941774147 538227109 968739029 481542137 650086029 828224529 414962625 125382079 402653013 356057301 313461689 756671081 728271223 295219867 206716477 278045923 14868571 72246485 943267545 673690981 965434863 93037239 655604767 765496423 772894121 531106887 47312553 413258159 711627657 887249735 531255833 126774601 743532305 8691277 953064985 528723083 822553171 884875693 873599837 846498063 134788835 796087433 916218013 799169977 105864417 607962057 763487647 219603895 36903411 210949917 28903465 596099963 226724933 314225663 948189965 98984901 190316945 732003501 965109033 731700373 420583441 366341423 316146783 203781691 534421391 91771991 910226581 774367817 832666713 107538109 266551489 984893083 163356737 770445761 418085339 967246421 790149035 159827595 671666153 728479975 521916537 93329163 970188017 742712063 539417883 664251641 209866759 861773727 531442055 74407639 367706181 500021001 381718075 325781739 721238477 252543433 441377087 22044743 333825225 513411507 839546655 119482307 264303725 837434595 357573105 193603325 647140339 828021951 360528469 241824097 562741659 447974131 597967985 305893149 755201969 410703473 19962609 979989033 194082183 848529015 382636559 29808965 851500151 220283785 252426887 89078523 18200803 234416243 967196319 79891099 124864823 690305865 563261733 728767805 895449315 853400169 223460977 105500351 739092321 140292981 645859679 510505163 734518069 770353243 840477273 194409427 800771307 987265101 782742601 431062541 931027985 696327369 465274279 117174905 986710083 329910421 553199985 425530849 750680099 792656569 13163567 81802709 666822747 192340365 198449901 969116587 637507743 924234155 410216513 858598277 262815401 850625271 499627851 338740043 744636729 450679711 69172401 50203055 603916059 487564055 874516383 147024165 555744801 150930715 966751951 688706801 821343269 256520877 100515197 983845403 723443723 608320797 815198831 826734193 729889465 479488253 741016819 186862989 276661797 497685801 125846497 470088655 197375561 152713159 619422871 734091615 900783653 889789761 546066425 786086701 754275525 44503373 453766519 334160883 56660539 549081575 313471497 881289519 653633187 54557779 761543465 864332841 800492315 525081629 347310559 238719219 487025361 958180889 690873787 632597861 249862133 118850403 912894931 10789919 96726721 514487393 517046211 762775943 722545275 769210303 940225203 672542929 264982633 466884463 695901265 421190387 980177631 225483183 164980689 427235759 634533431 309496323 446850293 903668363 412723667 257953849 374348033 759883737 854141215 658468193 77912005 158254001 100523659 542182107 692291733 594605297 54687379 955620169 350037839 727475269 632573111 492030873 436253021 763257113 735719555 769218047 241963689 589146793 791121545 195164917 915820715 68253429 543168357 172483649 314330467 645103043 298805429 224649713 747887699 435822499 849943079 270917463 637183373 78997745 653698667 744977935 450475687 479096521 512910909 94833917 884870589 108929557 37612893 198647119 19634807 941949063 703793047 58611577 64669443 682980245 887977405 369430071 977989911 379127679 746052779 816206733 22231791 805218895 401816127 446224327 608728663 356814035 255799911 783722617 531488663 858263973 971329555 736891775 482425993 864796709 873036351 48354303 943399819 415911803 699982059 467955043 162218625 189125017 256419363 477658209 997568989 993614387 532184825 369888757 713944977 556489677 444985481 310750819 972253727 112472751 170813681 417594935 292914569 883902439 42753119 636207431 157431393 262221391 556660739 954245035 100760765 126564231 145877785 327475915 77734713 796319991 599565793 81810003 502560253 464990415 351673513 508302135 769791415 830895879 55294143 953513649 901059229 4502625 256329599 237360967 95266157 224067939 16397645 908770245 214541933 170565471 844602511 898554945 671299181 434671981 759607997 730890517 456652737 140452715 695242571 346263525 379438921 156512517 302281921 968467615 667860329 20503721 682945957 395320951 384576273 413218447 15444875 156285161 842367673 744578487 626724879 544099511 330629467 635913453 351955407 626261745 59217793 317381051 14014329 556978153 741777975 408242047 701885117 21248059 448110613 586480213 183594327 667693005 810613815 204441129 885341705 475636937 734388549 148621735 867337115 481204389 106702957 830336843 315031009 218690845 629180517 970937941 954100919 282237235 553505899 149379017 199854843 352075831 438797125 435428221 853360539 109540029 714857027 273910533 72237703 510192029 854206009 337876675 447538619 464038143 185168519 556048609 685654073 12309839 710770707 645096523 160370953 950211135 768719945 884789181 60705855 638992333 656755747 498603701 272749559 689094461 407005467 479642747 824750415 857296923 447591483 788903203 83904885 563001149 409957647 468916353 620416153 748277691 101762223 849093431 165087991 372259839 10271927 749162925 332653009 205209775 508781647 889333011 145720431 620627397 779462437 185491041 687072551 59560825 764282991 990235481 104977999 185641811 704952811 821862275 986062669 439094555 271917281 161019181 285750153 119905257 443619099 547384433 733376373 1306391 967540213 657755181 138200461 823612747 865637705 403234573 578042193 629224815 344404605 205769855 700318287 230556601 939763075 715547067 307207445 889877667 788832717 6108355 185345089 299673077 175429469 803310429 832493937 205207993 168420279 385599515 586057299 803638083 14464233 548686165 729182617 733239855 196958859 904336937 562029563 988525411 726457017 188928899 68300091 371796489 850216731 205946641 321331495 380808343 410918367 867718219 388008589 102491593 957511867 56216433 102319179 62308259 386310639 506926221 337389631 692293745 625281853 111879791 239698007 626993607 196759287 56388525 563988357 518142851 328023281 260131755 38102721 827808967 372809611 478381965 825849357 416552193 326705323 556937541 703182199 38833891 441795773 844414605 600275469 125379435 632445371 13889507 513920237 772385503 914823201 352035217 9484853 778621383 138698741 655788199 527469075 145817595 317439429 99309563 774000569 852709779 16584105 440015151 890885727 657597945 991881789 907740075 139940937 766615253 533191595 26057631 135937471 364123419 863969949 580458245 533221399 9692171 350105931 427331739 408551079 252258855 625908339 191090409 188447701 802864697 464467547 477311811 526889993 67765337 49598419 18547901 193623733 927502049 180840241 639894329 322553685 427742583 957391697 485682783 367510635 236177413 372075161 178768543 429130881 398923201 802879483 112062513 744623399 360392231 817580011 332140567 19027963 393157115 590495077 269071127 49086875 976353863 784328949 61903043 59506359 57229669 736174499 167580787 328577787 879666155 799928329 807225925 390905381 580210625 162447171 74621989 826188535 447279377 94961147 42558145 631614011 836393299 760772443 143756433 856161217 704956991 802154523 814129879 735723879 118407899 43288441 378350745 824592395 643459187 849098301 63095721 423410845 743000987 6209971 91717533 11664649 653662001 943946417 71552729 851710285 896325975 18891415 350369153 842189419 448426619 740758091 705430153 786671981 860180561 777092411 483641511 462861923 564721363 918474843 380770139 409576299 511818567 714121005 521621999 508244389 552250683 671679669 988092017 78449723 183657857 258205315 18202301 436348767 616731957 705098155 823989103 407757645 693820603 869726667 465328881 106727239 552588993 82370061 208742005 999562903 132496699 274315291 151161583 889788813 640699493 496155949 454370853 475225735 700447169 810729219 105041305 2225893 494821151 443012831 421718945 639953425 384708497 347794067 792533585 775134335 886046835 17721205 776856203 870890663 446002283 147240801 825284343 241537549 617166435 591464383 87567621 264935993 354406033 395191931 124783597 619118017 837612913 346739471 804123569 154607421 279456967 384481655 249215513 5226063 770752671 435082553 506807219 884517537 624163405 897252965 501121753 850394853 205384559 798539407 353816747 611125721 87260391 28564949 322324495 604521275 49807331 397214177 183082169 512395477 942366933 809421021 985475105 607523197 820613755 514700417 728635011 329692683 290403547 481861389 435826157 711136353 593343549 425459781 902150955 13093481 330653239 115731575 308192469 892568341 172860071 797704569 558477903 389961571 823265969 632076715 473493181 798914897 238117309 460174067 410995731 584549097 430625925 422680511 947920903 545433409 505730563 400242693 417442075 775319409 601787513 129367619 936107925 520684443 804359287 90829439 491844741 455812073 927520717 359159625 417094343 933476239 917533853 896942261 888183287 207513541 816416837 721159521 135197057 415669455 37845621 133007735 396194193 542894327 715718177 572277665 732958755 212694413 518950021 522356249 655427573 752648175 599018533 284927897 128747921 234548861 882244557 701779051 733107781 806349217 680812433 930275675 946366253 432851151 117146573 963606209 157426725 336780159 635061287 373935993 367356631 213008437 641898123 571472363 409878963 776647035 10519595 954326277 448165619 956859619 596284549 953149245 772144533 103062023 835215453 253953425 298378339 39490953 635785919 76135047 145700587 126305811 95028735 626484015 82077319 110959961 534022331 795998237 834647383 610081555 189340373 844920945 730836291 359250437 6146171 6823119 314857211 726492921 887789857 951951463 780867831 480005057 123307137 197509617 307955321 819647031 511175073 71017639 61929607 229026621 362066895 302990163 939034355 379129789 601447323 782129985 616131413 836341163 123181541 219669321 406489101 825114879 312079057 155188935 652038979 744034493 20938441 828072613 473442791 234775535 374929795 1771083 738022065 808426151 113990393 639487669 872090401 802441983 105084019 93655391 419294849 39815193 297884025 298912081 153899745 816723743 840281315 846482967 744893977 488554053 228706765 831782087 601891015 309790659 572886167 554237697 487127383 328709343 967035891 621186537 329995511 340663005 446753745 321002801 380958365 886645781 581535343 580738571 668969487 238886623 361968977 856484409 498482897 725157021 882255939 758267135 106694451 49728699 882585177 243129899 158267217 404837289 741831919 667145493 647892999 957386721 118480555 970337689 460602879 368067815 554568825 713860895 141965483 296473157 509224075 755426197 793332031 988189837 796495711 809534577 257731521 380159577 626934971 832823217 65437171 946052939 495275175 671152349 32482923 386817293 431072377 2185215 500554109 734263891 905669071 192974515 164113995 263827415 507879307 571811603 658111421 532665177 322619611 623545029 910120323 535796901 955488307 545653755 887281943 31197325 516901453 336708711 116832439 421182955 1547057 522021451 281239147 478938273 579911975 433387371 419882757 653693081 832026055 736288789 447483165 573750471 85207787 143630881 877711891 213094437 233036729 707015149 542906639 376700083 735419291 272606557 241256961 530155133 687890247 914770657 769397409 916893333 179218361 114410095 253832049 16637973 956353843 747672709 10969783 876102431 922598981 476263723 702326149 543546847 307130049 764221675 657590963 480105861 312606917 278274017 887876063 560652619 404289459 607209127 431023733 385017717 491552055 986237795 87396515 806211149 842713159 906021063 89496673 456221989 384543263 134798599 860370031 421291863 310412611 5267167 379955545 922138437 413171327 83963033 24987241 305275739 242890217 46852867 59242173 10080521 444396505 913102961 702249009 961107403 958571513 715517377 917364337 36950561 323678255 508437851 679024105 210367639 332391861 309098029 435832533 88258751 32324099 795087023 652592691 506457139 241827807 43940315 334801613 905385365 148594775 72395321 674833971 413626769 904833467 240227033 172913595 520738263 678418091 170413137 258284935 304970273 887479563 419924925 30295935 455306549 83567877 498588101 764727381 249916889 513016333 527955861 741110397 307287009 65990115 639509991 905180987 408912679 946701705 349692919 367456663 813168269 608996425 452086923 107877727 158887167 936924347 292861169 916733485 47268461 952385977 498787841 782814817 990921425 544904041 951082265 98815523 541625137 553873973 817681693 611600995 365437587 23904723 758384509 432434651 650570507 835630143 542371631 241893897 978516659 791265469 679825331 626129461 274515629 363377881 71754763 598258289 903949861 754302311 6539209 838387349 465221451 697936261 934205443 622372673 333990491 484342677 177680981 654977243 691442837 314133059 336435687 988813463 250856773 646139271 313201765 953043819 104341693 555299737 770588937 179077913 337636695 939816447 565471119 652291367 956356727 146229893 662020925 286581735 78044035 382235713 665509347 992959857 919978737 371742859 340945621 192251555 490131259 166321165 133356529 252854313 291412961 310291887 789479585 506661743 8354929 881816997 52886735 284933041 725810553 414414959 357771763 88279791 247422357 297741261 886082571 658524399 732535399 731951567 71046815 241196097 601619355 492133317 437610427 854266177 207134177 528366415 569029879 537469707 143687669 986739025 749686383 581849225 276677527 151861493 324032459 298526573 567843987 381431985 329058105 730024237 493244349 364671809 564781165 618013705 577744363 427776167 881445801 227247115 493972737 82880307 416701617 1835009 918353131 407429751 230652885 410839685 651193497 869889615 509233385 150159095 479282951 585388001 136946253 433624191 324600885 412083865 844610021 371090191 949439025 406521641 215037475 250794075 921951241 883752079 395401977 405089511 53406425 194781967 565610727 157409019 545751747 82118453 452976629 652056485 543551475 940414165 336679087 817828287 806529945 672479245 768157485 173805801 291401457 710379071 604544011 684631179 673351229 724128537 642154865 298342101 395500485 133532045 710537229 885680575 694439645 160257753 86139925 310485515 755097823 551224195 572862023 773351999 147032623 601997395 121055977 356861357 135320373 358064481 557704393 204659053 466863971 943588101 462919233 748195677 328066613 820121833 82481193 96110889 677497899 890226933 137645805 937560383 593941969 147477599 889996151 805287895 53118139 196954273 661058113 187028979 73825919 742643843 586712133 843807321 689104321 197740301 416174605 501409433 440094509 539450519 247992485 596294671 927801973 117877179 659115173 363397847 456774991 807046239 522613545 546132701 632618115 270442669 61998809 365564109 56419031 107670043 129242851 689516323 304812575 877325925 304969725 915198751 352574007 301358223 846334821 896782277 284388861 606192613 889599969 908063467 196876895 442011899 41781441 599155749 991528783 525954223 122096345 856135125 139841731 38886177 657875337 145917477 795186627 700773571 118335925 546492929 394976597 768047941 214667471 794930213 799500687 758169765 94243785 54201359 752130183 333272105 929271333 551635207 15908195 326780249 85223655 38370081 52641609 15827211 95629213 333540401 413115505 359656029 286739807 52977881 451478801 352648625 235721161 575544193 84552811 400441269 833161219 505168217 29850061 55983709 96554939 320724825 498093957 705884643 811076647 515022659 931021807 892405197 726056197 812873887 685069423 703262185 131034013 787100603 933878381 374305609 164714937 361793201 165534299 41370953 927383221 897494623 240716469 126023309 167214697 529885041 302900477 352510979 999596609 15073621 573679291 680422367 300755497 496295235 468804229 339602589 146740629 720985405 410900721 356306943 370891911 902674185 970753445 595066901 454105731 756534585 895717961 276415025 35329431 337188901 172514703 828344815 500272475 311591659 819756595 582001205 679130091 973858935 148761591 978859567 696376559 784653943 132256931 41982543 371368597 225601123 135238411 717454163 282646675 462795387 628266507 430569791 127671079 583917257 907740035 474107999 615206425 859468317 550716253 645061703 383030709 192423693 707000459 681559765 971389905 114443005 378178569 378803499 373549773 507026193 545429977 62528181 941079183 21778747 838485507 101417515 3128195 948439349 305460125 468163205 95718307 448963453 329977789 664061961 982001001 972507229 666744457 771646277 582707423 871008997 887853609 103545353 664288915 200689643 382553551 102361717 437299865 364423441 240138935 114570219 870484367 460061119 895834403 701088281 121311645 51194917 850626907 408095219 812811633 322198077 185988277 589129397 977450307 268418245 672289927 816191713 326268365 162019911 581838647 904577351 606354263 256641553 823948589 122149879 122610353 434413373 242048989 939849043 827334703 695016363 216199871 280040185 787017393 759790339 699275349 770727131 697030301 131162037 197796141 89314343 341732065 11714041 773609685 38064735 32370163 183174865 508799723 788230725 651079887 844988163 219698191 277618405 60911103 660758049 660793579 893248659 352344721 772990851 888896817 377243117 931493145 659759433 434513053 940096211 760751797 765343065 767134193 978142583 660964877 357453415 439560695 619349321 239338065 554795753 618093183 920053255 653962803 701970465 229160807 232825013 550014195 267162901 357934479 824215201 31608153 4971927 426573281 848796763 735075505 824043837 836059215 759477955 13135313 396877419 31298261 526776827 448268313 572493637 971277429 885324401 629915759 741201087 739505209 308322775 732123713 410628495 465286705 509453869 63556739 669406517 496257659 174668979 262206647 979578619 255299127 47892727 717594593 697362161 962098831 907225039 752142737 621392621 207006135 438865493 286110427 654540689 910611943 833245423 77016413 120059205 166304867 442929735 138246721 654629691 724900979 999835217 230231345 952714343 519387757 6693709 329803621 142083215 865887911 579965117 517432987 892230453 968666247 670728811 964046363 69437615 794921333 388947311 451159473 294140689 113971173 76015397 239128755 134923581 686110287 324433965 686019331 565657563 710770231 730641273 938290177 66795099 991424295 83494713 475787169 210878453 733214639 271847915 873187671 797428907 982203501 819204435 657465633 295499845 532858625 737969533 60621445 768262993 324094741 292493245 240015251 937604137 251340637 560815537 101726175 198888429 820757137 331082299 98993543 389092227 418668149 535731847 470696501 670518431 541597395 899085581 197705747 322476217 406114427 579307653 806079705 618802189 89826379 132072181 91292871 36461225 649418787 954966185 150938015 950289241 212808685 292243255 231650227 460140213 680962205 495346297 189724377 383887905 538460971 202488211 241256301 720795841 590136219 730671603 568879447 17821321 461576183 549027917 451057925 134581551 769820495 731299227 370081901 487203125 746921665 263184933 737049613 948247777 434394221 291347059 539623915 524623683 294753405 803678813 596979861 944595255 36556837 827425277 229602853 243329113 413899421 317664953 824522035 755864597 693581865 250594875 617828843 345248407 537335059 935895417 993477367 135787483 557121709 815564719 744274063 632279199 888971343 759177567 926465907 995344749 497860191 178136409 395255783 768088979 448233287 380019631 364923577 115193901 431657077 818902207 384271935 637292311 723460457 420085803 984384347 259358203 84847777 524247007 187140719 831932233 141449897 711329553 912851563 56269115 958621457 725933885 281600963 826021583 321927031 329942311 618726777 125071055 334091899 302958557 584965651 985471177 789967559 789524399 159168667 590533143 670044175 211898685 769364397 762927321 825071629 189537385 995238497 651609335 102416769 148952417 842142051 514406689 210259253 384972695 553611741 203624399 460766975 779299529 149299849 965438531 963727543 97513981 892730017 342344579 586981695 135881851 987515631 58301281 828489089 971049179 470641855 878028661 414008689 927742967 867098345 442159647 881817353 463272435 927964361 284565383 184592201 402901821 986916167 713377949 391856955 334872457 584615377 598644761 63817973 59332819 672854365 562725243 40978063 438789725 10315625 940215821 521551659 525439927 118796541 913183711 711284725 459923379 987220387 366586569 688248603 221159277 722881655 703744873 177616093 911529803 432013585 166121515 782708345 318135287 492545693 258299965 121782075 163448679 306262725 333131415 978283381 842426327 878780611 801267449 377782143 992167627 962750547 886169837 52262081 304928783 884206777 169993921 356218527 576716983 890304457 604585617 96331663 460543009 809291475 492203321 503074825 837458671 446432187 838447459 232164241 144627725 422646243 115990145 589017009 309882803 688253243 706904009 103212283 809741913 337250105 243957051 221519369 922382277 129917915 460599967 690866813 806200323 174912167 520715913 39096835 660309609 289082285 589909837 252290891 71267473 472188547 358328333 902319887 2381663 61513539 448233905 175115539 333780993 471464345 123799017 855979297 425398507 484782513 882977839 232999435 13999319 444553535 338425025 406035115 634569675 796675717 165879719 185744611 548187157 899510087 977850291 314208927 417213255 155238867 957552509 60351695 407224637 406606849 736967269 525269101 975602459 707938349 928405395 487860605 870841937 718649921 459444983 531058697 205571471 574797479 756099657 606204195 942668241 467568471 837921291 63826405 510658399 524610255 302459011 771366001 379794627 50957589 344517315 682345203 96514513 948253369 691764643 834990747 202726053 261648849 511000257 267783331 290168485 439656183 337726857 946666321 518716797 378003543 532964905 440266987 906315295 415843485 737817753 451006149 933986249 573164029 755776923 48666681 645410047 818137913 328052661 224602537 819850381 207315093 869917751 542351231 707529863 939972321 320571453 251050799 275337547 454137967 595519907 644139571 463066235 32647203 841559061 645672715 120263173 20441183 486674943 79854659 16523035 174324243 895265181 725943661 748745021 586120117 954102765 831560739 588835627 544460357 495226809 937337095 957749747 568548421 2971793 68253893 73005547 177669831 680373195 383346445 967504301 7609951 863673737 253338523 959064349 879713839 132805555 240602927 435051625 376081111 877125883 337049749 62376197 191399307 365328341 772936095 818489517 305967871 690311557 39973927 93399139 38970479 659816723 181881103 773204343 399145637 944113229 831203139 20897403 290988783 662119629 216587443 656578635 63466529 392193779 245412187 453155597 896435609 391579879 387756091 337103659 135092801 846338969 83379807 429729371 479007619 573883331 189689817 207168665 276072023 194653411 844305603 869371689 229621307 308377665 881973311 860030871 12466743 700539887 605182841 915688119 595706327 650198469 397548705 651699621 800419889 163068003 457231859 783236807 276142823 496157231 616815791 603451593 378882329 772747869 753818145 631824285 59235451 850921957 922911899 17228161 320391745 458984579 218720377 969284089 347329577 626924995 718528793 613344979 505934201 239992821 530685417 947808543 118820863 293948721 870635865 290742845 804941075 722147925 115924451 412621007 228052627 782571533 541772045 423413187 392104419 311654343 482725981 18082637 670335221 388578491 889431655 312984551 691615035 212317929 615944645 932258137 983179957 97231387 213061659 633662891 143397611 833442527 590810383 248864309 801733609 73965969 633067863 355719313 652941637 602422093 567627693 523422627 231799073 497813757 712641491 345932443 654543647 657193043 71975825 123160551 983463789 964709573 140829627 86526537 619969989 928624787 879522603 121144771 69076067 337496007 521897411 704987297 19796237 828928815 892430703 708614263 468096019 904909669 101082399 52233505 207919433 578583497 471424975 877971909 533322511 786612611 824264065 997962189 33065801 423118981 396253757 216960495 131844711 595409539 422181655 81672999 938589281 274828289 847197481 665897913 351922609 917674823 18264727 697578033 486938209 535979875 443902855 930528869 383717117 151037743 391788337 685204589 113149339 461204555 175274697 392793521 771188445 414880287 252586647 703079901 941317861 114767579 51495649 230682597 795839073 375194743 150793467 338645763 864642955 38152117 3732545 240904125 888008479 9117467 58156305 166985953 533739877 927149563 337704409 190361215 337115431 927402349 761673737 226133751 981375167 54830927 161229597 40072171 193191691 7777613 509606293 579809609 303608433 297277909 848793087 729839685 10505693 689327391 31297001 166883419 654828999 262577197 94568175 996305997 385521455 371966917 942359989 927211307 354484889 594739063 995449059 618889031 248515347 90396319 20125739 119605565 714043699 78686041 681688393 631626483 99793435 263678353 620872957 668831891 35182189 310686707 56664085 879472531 954198361 655984891 664370783 573109679 443745685 206316521 168507319 38858219 277702751 123175361 292455169 978462609 20749949 602077273 901294885 873049915 160020799 563049797 623263253 812278719 514140025 384199911 294993357 320585029 304746635 249473897 11586381 753795129 704488793 688548791 481880995 334937165 34523989 267168397 625241309 112404863 31049585 891349865 931937559 1387283 837290799 735067027 950466421 461141653 235558289 326650655 217860895 187015899 694868523 978776033 491497031 897150205 73754125 639492219 120855337 24383845 685212379 506970965 590637829 646419131 162313143 639822239 381241641 50113779 665776721 491334739 239334883 925522507 252522975 776475437 179606417 271475785 150259743 81751995 588068753 613728437 897738839 227030601 319565137 773968551 377214039 507111665 263030595 553055097 376920947 443234451 825180637 67147729 603221387 667883477 502026919 917815449 599046661 728698411 674951975 17563655 767086797 454356173 871661555 441105045 252612445 129988023 621286305 145718795 946727343 809477813 345918935 816257139 476140365 631776343 797518397 248075041 462286405 825300213 397968773 419570609 507247657 600305581 348826219 963664137 716999965 369197931 974807217 554492499 198805699 418864605 796019743 346098181 476589899 332157051 731705739 571781339 516846187 32342917 320349643 464573657 568668257 232412933 380483269 739233355 912640757 888076235 552670817 74464967 655076465 675559533 835858833 407417381 951197361 787312207 538713425 889695117 911025679 889253525 114554275 507681387 917417585 219751729 615314063 980734833 184045641 920650717 294477611 68694431 147385227 626204439 932624525 258022197 848136371 931956521 403952859 154788545 749327307 520664867 693139005 832425497 301468001 576343003 277542885 520023895 425917319 714652403 667475215 836852703 837993185 972729299 626781693 591587679 70261649 833669291 560319225 339187403 232069191 190613365 614885203 894455645 842101049 462897903 892798057 180350365 746253095 833629091 883383449 677657171 628353107 949310687 854536273 584925079 736911759 989742525 964441347 956501443 931238191 135823901 435471399 914204797 699126803 505888167 33537601 651890607 665813153 511161035 760114649 975469711 47278535 75766721 197127813 640049817 839627257 510211467 855116763 185049233 431499833 546947311 629699713 896905601 219047179 489839487 708322591 341878723 926785917 422614163 538289513 254670317 778459687 638586443 930627351 81922023 645441063 542521485 570664683 452831709 54974497 776024077 593507763 794270017 716771141 947198785 860726079 117709777 902337099 879674731 678832487 791775889 598131821 651422609 983897361 634541261 830475379 118936453 73026853 100059417 534897581 213154525 21378455 500714067 603185905 831126525 79678559 501085341 887665563 409459465 443560577 87960677 216417427 423938805 685158149 891411295 773708613 703058039 280303105 695593861 268307627 983216399 17758603 58615325 285035585 785151495 579891401 269161141 566621453 196771695 101135075 166545439 604781725 123432221 356604429 83228535 202191369 776494003 868331647 71513377 980013807 11800985 643097469 445108171 63013491 945876481 253640271 93938025 77179463 914249185 470787915 902710839 643685789 930830585 788971209 860204471 711774773 523761361 109489707 33724857 899784023 432759741 651522267 835880783 297703119 865641937 397985611 823310293 337148403 208892911 831672823 549248497 876768419 489194687 42601569 808163981 208656965 667434417 546871827 677946847 756564679 989442559 846603167 914227811 698160031 769462181 100128157 9737181 551814859 626894449 634237363 129207897 574473169 826330863 814990729 698459437 65361087 843491705 29482963 20292081 2646829 656581423 235165001 721633165 407969593 858831609 733179311 472680237 105989255 961361029 330881743 427192643 470452553 843539793 717144443 14802573 953659697 867735447 226764427 498811665 526322303 367270245 561272805 342949143 852082427 662816647 818509681 794028597 265261809 709470357 605633571 58174025 157618745 688288755 935957747 30377591 826518831 495756997 660655077 685412393 700517307 205783807 963374851 233427475 654390347 15368791 607177567 953111349 630877907 705610063 971652113 376301519 725590997 848584749 755102015 781477489 724547415 115571201 599842579 710077677 173754851 297267111 472637115 533586783 714960275 766755003 322525047 454062379 801499397 721636009 931658627 742290431 940126815 520391581 65381679 742815951 666207309 821530003 331089355 347054295 260460295 169618761 54286513 253595 685209421 442139465 182955075 819358951 318686049 111076579 339997931 627774927 734847511 996157229 406863901 923712943 543203775 755470345 845475665 708203053 217451835 407695135 130875659 717964597 568131313 421276383 633099733 368464889 574611919 306272643 374775105 948792311 66122827 483228681 24916711 886632947 146791267 877557051 937069421 971841273 550935967 780433575 561513853 67530589 209603081 705397159 235357381 549444029 904481595 580295259 568213765 532680187 17951315 3679403 554832635 560763973 843667959 408259911 269351795 805171215 36042067 604448935 146745917 877883155 116686111 660859917 707371319 420375127 44651675 658322047 131330881 454723881 808318091 285303247 898017607 347124249 425398845 680165781 55309111 888350727 117548169 688885297 668510481 400398103 402898123 967837131 420693459 245245363 535704043 291010387 556636809 312199057 62174039 903440769 603150149 66538155 790533637 417158613 323084319 56069705 305701747 730380699 810852413 44952053 8101543 189831901 33729225 717132417 317757745 571199865 746107379 506826511 146374181 101288459 437506549 331384829 342482723 609095423 421506067 937679869 151139665 813758339 87630743 820087551 405366875 444250255 878820051 284537665 966809979 383906787 263533089 565607495 506512491 20311305 209591523 661575133 925941365 785261647 682129027 286360855 636986213 605485521 6817653 969017681 71249043 857319531 101858355 125995313 957358045 206395591 572248125 515252643 899575463 823519831 808111391 989256921 799501537 522590289 679084393 743268691 989435393 658319029 413447097 942390481 233017861 364246347 340241841 648456545 874716787 672737959 247063287 620677207 760253275 134487837 967647297 933773137 228145745 369656271 672997447 166960947 808433525 949397413 956105933 673422629 951541357 933976143 897716125 430408097 93253477 483062599 14481801 431289697 759775255 878359755 493866859 46994023 767704767 573599971 383517989 899977475 814523171 278065249 80696995 417158853 649512849 872081885 989429973 222355341 50724833 771797687 380299445 451635327 348462703 78902807 362299465 176649477 483717411 193253357 784141717 793254869 719890027 67936241 941148593 835859947 218286653 22324389 815618997 781624203 69376793 135919183 565482949 839122751 240618241 132902913 72316935 441575647 624418951 377392275 324179377 193788039 548349375 47876515 457078781 935776665 855111497 558199965 549105963 593964481 368316235 419077039 481281927 813079541 652799091 801190097 675471459 331843953 629107445 583572677 412379929 506821817 369965971 20289041 46389259 640826009 784819857 513037829 70203301 495998759 87039165 929973181 704578391 473917115 938980975 373704981 517405339 545592575 497468549 21567417 303800821 58291673 985095011 715921429 905926127 692926083 554712057 348454501 962686491 113236085 801380541 321908135 244267539 684111989 285963949 656581797 331588731 958771089 390888017 885624559 587924473 481038361 246568117 742400475 444724291 130688173 617713263 396330379 380375827 329602865 262200991 817406951 626115369 365657039 42405355 499514785 914285393 991374845 72769921 230666029 24600413 399183221 762820117 315681743 668667687 954058047 942790889 863491727 866912659 862188707 277786305 988536635 546783111 598435897 804877037 585941869 718081273 82632923 478131265 461489029 366477283 233575599 349677083 515668907 766202181 832151071 690816869 675338447 398770731 669985505 657246601 923686827 879100583 625831665 513730943 844838845 757417683 338719635 756614341 756368973 161258451 499393107 334096995 750936941 652498637 91840005 259998693 944134901 251172855 354599879 201419361 57968005 313778059 241226747 848837495 392063875 240274121 482628941 111845453 241016355 816812287 384224693 946993297 472543325 382154363 706576747 6086009 113410541 286152089 939767285 321609411 354679903 311441851 806507807 332566965 967701507 346761293 326769151 312391709 858377457 769353151 696236013 197781331 152625671 631157389 256722835 204733237 614913521 986061367 169769945 301964583 647695901 933924425 681539315 600212249 469303235 241807701 418841953 431128195 480248547 380211189 760113891 977531743 851704647 384218573 99586953 123565367 112423293 35058821 834773667 207589399 368941537 1148623 466815953 86580629 664879503 197891941 589168631 573709777 357573491 260958733 910746175 792113777 800452409 525481613 109402399 376514979 20140125 480525753 76519251 218648861 493053213 115009643 602986717 39878429 578723203 612411527 924046349 9297769 922345053 947852277 472964213 642907729 523595333 643435943 255848947 676924329 172628123 105348759 823946663 568455631 48548999 777281739 737809155 121060525 278964731 818171977 577305271 349409965 171552427 456991269 707640257 22090695 420719899 252323193 103554149 527129211 448556947 977002601 778452271 238875341 600340257 766417693 995730931 360491339 57500319 837339335 696492751 906070539 554557869 15726243 824836901 275423661 292885427 767345393 894253219 465417815 990231777 512347645 900744251 949196983 806900015 759598875 134756651 748839683 174662495 800606113 486405113 719632377 248479735 212227571 670491501 499133407 250102857 197473405 46453151 94072709 601016173 541348527 244941545 993856319 648750401 145106437 478826735 901350893 690242929 652302593 824820127 893972979 788150379 944193067 95160877 742526531 664683111 197240087 205063699 496238927 91556967 620497761 959926809 198382617 841512753 186710439 733193543 224693539 518319701 457429143 349279221 80677761 901330735 258500577 715441853 257588163 163462107 11173185 157385093 625873675 118150725 145499511 711199863 515337217 506171161 926080849 121773321 139305933 642131667 884717213 587244791 31109931 406322867 655527735 231537477 341529431 121572797 330674179 750774591 744106777 880117191 296242665 508916601 908856251 669288549 849689307 20516561 877492761 16044537 447277781 237101417 531583371 710637229 302140631 644429741 891942653 265339757 321818095 777476435 449769433 295852277 461599275 355308121 286462233 894161603 208010153 102134271 937139255 525416481 756752775 634154451 592928317 29949213 922747635 214462121 350074551 709755281 710076445 394444191 853200061 204559901 320031041 277774615 906758125 870349609 302069665 148344767 52124523 390348261 344382085 203564427 620623079 4712267 848023619 344352437 640057239 902459159 379744049 344076995 986102585 205934295 537458869 806095235 878893843 247496919 347310133 709579783 896296693 250814257 133171753 352516011 857797683 314520261 162542343 619254547 43751085 705451065 118607953 373065005 910143433 115591425 180255637 515308589 484921715 329781333 894705505 611774095 620225829 93127729 847464019 762053653 975358681 824267361 703366153 329030351 983084057 501120885 38683697 122860559 142147825 233799109 65128317 737658739 593216249 932235887 152333987 658059739 373016143 216471647 392600939 588319865 668131991 19737411 340502429 589077949 665145345 949144723 219192841 916549733 666800195 776119951 52256139 161442421 583161243 604722497 472375303 988591673 689766863 530225017 186212709 401405253 761799471 219487181 812610711 557062007 365885841 1811361 784631449 967876081 190968143 959501849 701466989 75323935 999008341 785123623 194724125 473771193 945705743 896102533 401508537 209682103 747440497 800626355 157890399 112703583 110196733 285669877 259946797 280733247 363017399 780002657 555870289 611058215 51688493 201789387 684385789 809767991 752770679 747975381 690609513 693666257 173060659 742524903 413042903 613188771 145923973 739894065 38599829 78521249 754794269 573548717 35538417 161684487 4087601 407996185 629213769 986018903 804910719 813481727 375671805 197897569 978031439 923991981 82961271 697033527 557939821 793228861 138495017 3611701 764834863 481418895 230229391 213014015 644266357 52388939 113413675 478365317 195555493 7259617 450986631 650404599 505875115 433249161 543846963 194759377 893834241 912939589 349263565 597304539 324752291 235303131 883761907 581902879 148002327 598751965 458799955 538002161 907408491 846711203 196661663 311535599 575454519 584889677 151703951 510032635 269011353 696912321 481846247 911742017 138388533 469751219 800763247 46055223 331704891 891691929 904240125 698746265 523841121 28891317 577599847 121995371 722850279 132668429 679559315 664850171 867111311 177702259 692399721 423182297 295284395 822997629 399543517 699552741 381384721 776797583 112032231 977414465 143911709 465064653 567988875 418811483 402331829 247205163 823850961 128033509 533392459 166371679 711965647 785789663 771119827 556125417 959852189 42669449 418739147 253949715 721815387 230090865 493989945 392207341 266884409 509579373 368586667 230480717 670369379 583505047 852773689 195837909 718178583 589381973 827245185 587077613 637566103 874904913 71782055 760432327 799557677 375090303 77309787 61747033 271152169 894376735 339050965 247964515 183553257 280978099 282676687 47389293 677159885 30504199 266639507 629073611 713228351 987539757 232287725 765473937 153587379 285751431 134834995 847478433 297117089 152966581 469964357 244882851 10273933 197147555 870467209 769011975 628042495 760903815 162530797 439761415 697060749 53486813 215817191 460617887 368512207 705966185 799176819 313749149 3523687 823822647 716159773 51189901 984813567 836239003 90561005 499815625 614209097 943210547 705801853 197176945 686613507 134159073 258246379 923768941 2228969 760342481 203654875 437086317 88000203 693068667 746093693 720489961 591433337 908744855 912915849 666564897 204128973 277165355 711135801 290114081 624734119 78345091 940309079 782320053 890464503 672911669 76048431 170901621 49274281 303586331 39061913 365583813 137824445 15867737 952446193 31273161 888267823 895969373 368179231 600112501 730356751 631510491 173704591 365598079 430405485 274006733 561728315 217097577 396119907 440209787 631707039 931639673 812092947 28463213 489675969 90120895 582597031 736410491 561495857 561208855 296302931 431566015 303217923 24258333 921422927 684764575 169978071 218712381 550935263 559352773 985401041 877971619 139853645 527918631 453715363 878544715 211503337 759497729 882672511 844540915 987601169 493213141 539571495 196312869 171395621 701836403 518609629 250360369 416268943 545403885 235167091 886856749 965334467 978375841 652433727 749652219 123518265 981163057 143301917 661424707 513311605 711169161 332089717 506667125 807655169 635193055 525963573 917139403 443541359 813916335 380301011 813772611 143577177 279745215 359799117 416190887 683290209 202101783 581900585 870640773 158043697 183546637 884922231 788153655 906674557 406498367 735462603 537999325 522029053 534206351 665041989 898819679 841059957 171396907 291902601 818084717 901526959 713668229 8193225 826440575 729467261 700260701 666166711 315989463 603691449 926110387 361477781 372166523 599918405 88874965 497388071 273136189 498240267 117345625 895747515 296042421 702742783 297504793 228239911 821536323 890309913 171039801 225025229 75456015 470839901 601921063 358429327 870733321 339400661 5366167 254899421 287020265 469711251 969086085 51048621 959764527 924982193 315291187 956720509 994819367 27007313 759876145 721412179 608320475 845831581 860382545 340232383 885024297 746842313 939523247 22336981 570314413 646340877 833339569 944236853 741927891 115367341 91123201 623173125 204003017 580640755 206124181 281492977 321192583 13877297 584074409 986196529 724622029 15086273 402998209 16953989 768793381 228450565 279272873 480781361 880978909 572221545 453416821 427010307 829468945 953153371 434113667 156456019 181890461 452827739 307059573 262629373 563247659 810861287 894239545 732168041 434529325 28334219 940291585 415204997 629741785 444545497 295875659 630568647 761856559 106521963 670525403 504994351 975380983 878787811 380754109 339256895 849690309 168007147 246100039 902772489 184235757 69599031 331937811 255281185 769920401 279469441 227563781 714297255 593062297 81538697 891421259 613637953 251810485 449655835 316766809 609115931 149808735 187230473 28887017 938363119 29308117 88048173 604718851 889864439 306895903 148752745 417615343 69198077 943497487 722976935 378316869 199097167 913800253 282397403 972842975 602566079 414826761 162726655 439358947 483618481 559032987 398457619 266602427 20648455 556304611 279629091 828822557 250953777 189774233 986103361 261119491 916493605 190710079 99007879 917623221 577912161 96319515 228000023 943716797 889321709 883878719 35558683 141558255 444598869 911152003 412323015 289350759 97616815 345712775 416057685 261549195 731199899 159027121 852606213 182818823 252740671 231763253 882710563 92137421 360518727 377009929 534151169 984961307 123424237 450534383 781121529 365100661 809995757 474293869 149443693 361957031 273082509 751161299 583336393 779949509 632845979 106720061 618675069 176866861 639916143 735775367 941345027 388414337 180144869 546568029 284133601 745499055 319531111 575902251 23482269 604803049 515973087 95260461 156325067 674853807 275220421 594932065 275096069 951414209 910607639 388772753 521979373 360625965 129193053 953293645 698775343 563300425 484766883 618938347 624777595 138388911 645415039 526606221 188734091 604981059 429948177 845172763 87106339 985069363 188127999 922992199 569314829 685425907 490570103 360091781 963356957 328507967 286116653 804602905 839069225 283554329 674690915 160917003 144827413 637193681 110447837 774626857 164937675 116577785 194451689 12026893 503288129 462796653 3167 264543255 768783979 744840787 536738461 835646575 395978831 811557653 488464007 891647493 793241081 382877545 823105421 826006931 771129207 206509387 23423143 777076375 164905701 87358975 48804175 884684889 992426853 655237905 910847631 425139947 517736995 231745877 321684467 786094629 930936655 950900199 827084945 13575335 41404707 748621613 734225929 370117335 441120485 516604883 142426497 20354537 653616091 744008651 810484391 553440469 27307609 69354323 678593199 150604119 999654073 761910257 676718939 403955963 706148957 951254893 448781295 697675281 200575153 720896221 360888379 705448625 773764133 284762527 941493651 102202809 306779445 551278165 634005463 338615253 157401953 426457581 977924715 343985779 118966325 384749211 168551743 206906571 230267461 430786777 560406473 871700189 621511207 645257327 10850825 531014259 59784575 907537253 451585921 448317469 271524345 465196819 31672899 319710257 680511557 571753235 655344101 416281553 686875423 469288521 668106371 592588775 767793223 276562405 577053125 229398047 845664649 806024277 856840153 436916213 434497975 484185179 478086773 714549671 208220077 349779961 377263575 573555519 892336457 531427707 557388229 33708427 273540729 58026613 494953101 870008613 541328941 33558211 143343111 466457965 415782241 330190731 447189137 733740427 591132693 664488503 201695249 462315377 385287765 45307261 538442483 643958995 99794741 454428249 204873007 577133621 745075147 595870479 328459589 335024607 451764283 198070829 903564599 490702047 312548017 635778947 619395991 922801167 967572573 101891375 157376635 310111503 280143995 276757657 695388287 795296071 118018379 943041383 500981707 872044775 261193499 193493139 33858829 458061799 847948601 964473173 448946299 297111305 114922241 269786675 516464339 979385555 430556375 888821243 284934747 412983447 68356385 858758845 553378275 163362669 883068759 717639897 883226047 468159283 709427437 659424753 577495759 702115733 677871723 643059187 936450423 610278657 514528343 896708627 801957033 261411247 480644165 869589453 139257047 573143713 532833745 595983843 546947841 301706397 95228825 824654181 864851375 82521907 133068363 104737445 561166317 520124351 972897687 875805247 814823507 749357149 657432889 598218265 852836861 861584633 972208627 207745629 561807251 12919359 833257101 800882817 653254723 259972267 927181019 320550977 854719171 547566973 67262137 744851105 282575441 954792889 905806597 625007853 902240181 395279157 891217581 856902073 177895993 790344069 903755681 443167713 990020279 914932493 882707421 66215307 933093517 773467121 385864803 735153443 744559777 941259043 225587259 195149915 810538591 515592029 531732345 790676785 979257025 877458973 437466169 984842473 565461825 887592109 314823065 749274383 981208809 772741915 468310215 558760569 42740037 992516417 563631093 926511169 425537901 864748991 587809113 593064651 637277949 411689725 208730171 401867973 717707037 203612715 441572321 357003809 153954171 937165379 869398689 758196511 764348749 209746177 530764497 541497663 823020625 413045235 864031191 837636687 381361103 357877605 221099291 853235557 186442643 671468401 293329679 597573595 902619891 69617911 472536623 404799063 589093327 582023325 524858365 475738051 391751563 825082839 864681985 575640149 729967129 631538653 736992975 840857735 62844651 479453867 580788483 958681121 958237187 547075085 336228923 731330861 705421029 725709459 136242725 5527807 911801247 82950805 354221427 801230131 22930889 298308401 472609501 10751663 949931903 306878803 966896165 740797597 585814635 840093865 964418841 135247219 695728823 668378795 307744391 592770541 388497947 687311769 457552205 117271055 856102101 134565757 720302921 414580773 648449195 169650471 640264809 753233349 683186157 306814253 250144159 973764295 152101999 352357619 500473827 331317843 8155281 770798493 594029879 97805781 929139257 61713183 217127337 949370879 659331541 668185901 110032967 335628753 113188185 407112269 242832943 317113227 125028167 798485697 794207617 364472763 217526691 594072991 798144103 759332919 497540859 462613947 367219731 427393817 257484135 219096759 186995137 545193925 753311619 135518203 495784371 530901481 53928825 255899575 178671153 35611257 705514483 466858981 834405521 396633263 35933481 561190723 30609961 744939283 120915929 299076187 350331231 942119533 821546059 88078459 734297755 621090005 609982793 962603709 311707983 439069861 710988079 799548673 21166329 298479491 351824087 727705327 562402837 447821145 424547497 238661879 596274483 127124829 843485585 24282961 462053345 200035595 747932681 631310079 692590013 107978535 631331085 549251783 296106855 2857149 437555491 498379835 739903881 864773153 410385241 116317875 263274453 117230575 437487175 229272655 480777735 60510221 604603657 570484981 436333793 575137959 551447113 960816473 880101677 280763183 762380081 761056753 590347451 354430819 725234809 762866175 230304105 190479943 238220127 704428681 781736983 137665831 283571883 133851489 24385455 624941721 556030889 285923869 442737187 58559349 305466671 388116257 713857903 242581987 111200925 52658833 372101781 60483663 71652057 575907169 466383007 656393837 471889233 743703623 103049117 194417719 990254843 143591107 828956077 305329397 169906515 120685599 629529583 124586031 24088933 668911211 451831181 696407741 896395449 588445565 643078329 604602809 738831465 619075063 947741617 815880583 945564691 771767873 670162353 117390549 310374107 443622285 405598729 623708055 114958449 43374801 405466889 247831049 746176011 221350349 348450057 674602413 169387881 211383305 882851183 988144723 781540301 996925913 585053091 114992909 198748425 961624913 718279193 90588983 164794995 189842771 592626505 638426487 275448295 421457031 155946167 56097975 682071757 320344157 480345581 135376175 609654035 651699727 313700219 508041557 239423021 560076185 210307583 190943475 70946845 366161609 284551961 180524051 815137895 923598379 589826163 340270603 572493083 127354905 476195521 809471603 766392269 221666227 588263611 452943923 182773405 204271585 242812453 349622903 313555247 179684435 311152839 941422001 902940083 245655169 140053367 460996767 510668769 828606637 826317581 293424455 399975411 657815773 565596523 473168881 288313779 992021475 728175227 175860275 344510317 396331605 813679409 323125739 882167031 249424279 648219269 185454141 285161649 191464655 150770811 814309523 434770049 143598571 223064347 351355297 140102357 568595111 603367291 557591143 841216931 157062531 736737971 603281701 351851369 252699333 874399973 366913643 209655341 213454205 565113403 91987467 2017919 711940231 912840681 815369249 944579187 171571071 437859623 930206737 508096681 433294801 101102137 176343435 639150917 185429417 944401769 41493373 639239927 122817283 413989897 58712361 841771511 934654109 367670641 169788689 458927359 335746305 344743943 892324353 152145497 383781759 440840757 885455885 70039761 15602989 64632169 700519313 975208127 379061229 397383971 711678003 362667775 648445799 504954337 521661407 497689081 887177739 580913197 874333127 192356507 239056403 103654813 579914089 58487643 587286653 140024265 112905609 429589303 961065491 75883347 732389683 848535221 776014947 536777445 802137277 752653541 578100935 304415283 472070335 487896155 657091423 958973173 48273697 200099895 328299027 546940399 721760271 527599901 624913811 455241707 486839549 148305983 550904919 469746363 527634853 4501583 13503393 77146169 471137037 567324303 477406329 978860359 260859011 77164481 93999277 787953871 917658263 771296057 238392277 8361669 686939177 746843079 892797013 952845089 942398301 569950415 911733843 772636391 245470365 476777779 766239423 811713825 651550623 204402275 854310993 476593633 780325469 872660821 245486729 353089345 325662239 539251079 288374963 649044579 154564719 893696511 544853721 790262897 530137633 966847053 142874329 484716959 654474833 40651141 637456207 881642535 726806373 93812551 421207719 614939977 923414535 943888567 834611215 515102801 392422957 938594183 560910975 440300431 16214035 718571753 780447159 512154465 115497789 92548767 709053761 660789031 563427703 855588845 685113195 401313357 459532757 715818657 364141137 443672899 252884915 836752915 614116559 176745603 762985399 752984095 548952975 71059345 149646029 669737005 197321219 306187767 846380327 511584299 588540769 257877063 55783237 603596175 714067369 783060763 141567207 866401879 474932899 480021525 352765467 188437515 131303651 438574305 751913525 904228023 490502333 918243373 385923795 928926705 969149779 964065465 418287321 422633433 520240525 226746435 878429041 648764947 159292187 539680919 500014351 910680785 184582519 862317703 528185459 397072327 613624031 992976621 834549149 386827057 518076763 898718635 12088029 236744409 776986045 830999211 137589699 552894731 265829021 432525025 450743855 870122399 550920027 538502471 375334213 959398131 302206239 884196829 772536943 192347883 892417497 709146799 971567203 829660151 556153665 113969359 73014813 360390157 68409817 459574615 767541217 697510827 538432999 968585321 737737785 200882393 653074557 774550065 705258749 290869795 568049779 743942111 4578889 150102943 150175593 782052013 76454783 166704621 446026437 937427167 340738123 87607603 508268219 956858559 134927779 642371613 272225089 814530463 318258883 167358181 404074265 124095193 792240687 697537093 408210121 525907153 630895795 128708231 952960929 606310893 671669861 592643193 558478013 190138275 451628445 59423855 799805433 516520301 514570757 390960967 684721409 149918155 268976003 862553449 446587457 348320073 414459217 713753541 605487093 236556153 991692519 790777549 782929179 206292981 994368779 59660673 792275581 172544351 372281547 562149481 126928811 348989027 924104311 109980303 851340283 203150513 209297583 915276431 566001551 421186563 528777559 236479363 977175631 329034527 444263065 863554579 969225965 830464203 469690859 114002795 964593629 619824859 178114823 91655237 838723683 214870825 109136629 778917341 24976263 582638231 30294781 338672377 14844695 785098769 861454775 939255527 693229741 215222151 508673023 5920383 784750761 558475507 273768949 633224479 895058739 953924955 628761611 720551339 740556091 996693445 506096113 128774035 865126779 550213189 271074723 504820685 866440561 992290549 523983977 981556185 8934501 564058359 42113997 87238329 458204265 82803063 275355811 753218559 180836181 282317989 285377545 887942337 215748041 717635261 504254561 70255259 706009643 490647295 21160023 625484981 626918831 127305911 901657571 363213499 442294093 915216951 191831357 8965607 716506305 837911513 747384811 761972725 532060055 215365889 255047097 41822251 367433247 816757525 982155197 429304409 452449905 760979085 624207697 508432339 539210603 952460253 628293913 796028023 602663865 418970765 601141251 597438895 280050377 232046627 221171265 881256805 110356435 584437555 227487827 602265361 246684375 190937687 520927225 704205491 906023839 104752433 227317059 876019149 612331707 756983661 74058625 171123825 446537345 202085307 919348307 504367669 617357843 636646103 748579997 47938357 583992923 797898369 863715721 790307097 26020101 51369607 748182925 183133199 207880077 122856375 961628517 473376203 894823473 442906861 966657299 176248975 944619771 728614923 138632423 545801249 427137721 220212477 190124659 824349387 298102277 716173491 546193813 834270823 353976383 717976617 934806381 375253843 715345041 724510047 990733165 907678579 607438055 848591971 229044805 9913145 976851707 244137539 5773555 985650839 178952527 922249243 761536443 182049805 452495403 121648143 180463913 94885795 553143453 224521285 949403921 222376933 602843007 708419059 315023761 346953451 293662833 15925331 378542603 548968785 698247899 135706535 494837293 942546751 946750701 362066999 500368105 324025187 435114143 690833751 534126463 887299571 563489971 505819233 941884527 247879597 219464111 774574009 828478599 117552855 904081125 815689159 39052253 560338497 313069933 154463229 71408843 151964735 571767077 684950487 773167861 172172719 842126265 919364565 582897225 39648507 391904663 696754309 616919035 604322061 958353655 529795445 128620421 828300895 827671259 353056833 499065775 312607723 723481609 682651021 521139585 335054907 217333265 509269503 369959251 727826011 137430095 254054223 179125185 791207651 866460895 243623729 619376811 163889391 255052717 516010605 309443649 326439207 763178341 135687625 191635447 584350905 771709059 163156763 464296329 319278171 602145863 418103353 495468539 244059979 514822583 645117447 892088985 416047695 920276131 425913201 133848055 327065783 720360613 737000553 902414579 698878295 944641055 836080357 94744495 735208847 691948341 880232941 909086871 975501893 910382297 683857031 534686049 748376805 920736197 939181257 81159179 347826279 306251127 545826505 947626965 818782283 796427577 453518765 871750733 795246485 341298457 796705949 758833735 906226131 722126065 247452107 107931873 899751965 225020769 10750835 629479549 415746575 47832273 351715541 321741769 304882385 66089585 826337087 51613881 740040721 945898811 369343231 732680583 757729541 715622635 170717809 184447417 489683819 981036303 410183929 994141469 2451083 205243379 135880703 287097541 182449199 207379889 200624117 924515853 454059443 856727849 915533655 866367385 989724401 416017665 834795943 453630551 331904335 216054445 604864109 222727291 648387775 859558245 376422463 836193409 855012531 439426341 962801075 779419181 506506029 757802425 819051631 142634889 391711153 94824369 76654619 530515437 198956109 653786469 985083753 140512501 701405849 399000565 141916949 316089217 160565937 371365959 194043617 612129475 801201725 620261391 875520661 911752491 336072043 12383939 219011847 270623607 628377073 887758499 520504589 227640747 970901519 343028153 491208845 518122515 850290567 728808661 804263791 906599491 859615403 121549453 650768037 339001369 417323855 501770821 532061483 707029687 388448723 777198369 259973891 607990665 41032733 154105109 23449141 255733575 225828505 662403029 83400151 848860393 204622657 162279 493799679 369436341 498635921 226204557 746085843 159719737 147893391 488823261 511860859 375980613 479812553 214719403 141396521 16720889 890261079 795355289 84412441 611357111 515735765 448489487 185462413 990118701 979261803 328995903 583287247 131578703 487085257 378005789 517561135 605119321 878051105 499576173 425041419 688330189 194213683 718107063 509054657 96695675 196398917 109729097 682919359 658289269 678094887 316112189 561260663 989542167 862112815 609315187 648077921 113630981 353243193 261277587 182986241 647348783 551331499 704954893 402223583 178514885 885700215 268345113 710612369 265187139 646340113 854946745 107090605 361986929 343206005 229530803 1087449 607969625 566906413 528776089 338023357 797849423 174074951 252143043 238930443 651212273 9249623 993814865 370173569 886998817 514779771 334377513 319455195 902518027 984717405 600570111 410176233 764190501 617747495 236598857 410059641 195134763 492119697 763247945 190058345 752105507 287460569 729007877 276546457 523784021 401782215 340993871 288033011 922179415 26876071 755815869 973842793 879271687 333166671 947963059 829505273 814489223 314951199 946871381 583952543 605649477 117409021 613158295 103422827 594052083 409651287 300747567 137991021 174060945 855580961 150370461 81160893 435158623 985762013 880837419 302706817 616868331 270354575 642321641 897618913 556401419 929579463 442206637 539312401 401364185 559283609 761745945 985244745 461449147 403629475 122974357 841347277 907448923 224097551 613144147 405157349 380973231 562854791 405758025 990829543 648316657 47720003 877312055 522225451 361787049 260830465 482601893 398130449 132182945 691983625 473835751 171496201 650215149 62592551 712531473 370198911 884036073 959634867 683672581 288636657 798027579 43696521 787521387 773505249 921335245 341569297 90378163 699003609 784243669 714416695 904029207 134812521 456047055 863651957 218296981 125906735 628104063 569089991 683650293 171483595 378153201 440098227 694118345 847571175 24862073 108810825 16178537 394642743 268919989 559749917 891806453 772379507 253747591 74238541 422248277 729234783 849763099 797532547 510379577 908605125 878240745 759937769 540532505 884142197 683400873 693356087 955056183 377083213 323553121 106961837 272871321 510681389 798146141 547633933 214376977 990882303 489590067 699933355 329647669 392119991 849483709 853776983 943265129 603411533 146529055 449499251 610255571 325960389 943614151 344091365 871536737 782423081 61292393 814227483 229731279 609543049 787087359 677609995 559360413 649667075 304337617 242870067 687181329 681373623 439962215 19009945 840687165 159936719 456436377 368359885 425494775 676322431 209198977 999312867 475004385 449802239 580254341 513610873 671201381 653381523 119038287 487389625 809178287 842546053 273951445 76991053 122061499 444623655 550001747 249001071 26090823 163698643 550760013 71876825 288134365 515272171 987260813 795515861 179499725 458918361 769256491 24519727 200641069 72385809 337454211 23045183 761771743 506868491 722273335 425068257 978581643 549433931 526980403 502705789 62395299 458605403 448704173 570212353 990986843 823532491 924496931 764203491 292880823 254328121 639040085 587365665 672021631 69332549 62120529 240105025 887823425 414814107 417035883 219418195 547302487 938419945 605999937 276791787 668175073 142463983 980254389 605303847 643124679 557801835 551735541 11130801 231311801 689018407 159398259 595013555 450109743 858594809 769863151 527357671 195816299 791427769 91741545 326055047 45897589 15038793 441471791 878610269 691436827 977169555 144773079 411970229 481228789 914666123 759219259 280392039 296127079 680848683 992253567 963091663 200085655 464201587 68051729 655125461 522304885 703478895 589470629 260817383 18764729 308234799 453353015 185238523 679082211 174075601 265680905 30200207 986908735 386188661 132473515 228325291 504290775 278610759 384937199 699739097 871040393 155022455 616075249 711328565 608188913 272149311 911132183 99988313 392944507 901068003 229689867 849042283 852963157 344027821 399521219 929269021 770283127 813907183 727479163 305305505 338472097 822470147 544460471 142863545 68716893 708743499 251182915 537095081 545249017 783455793 506487347 618077759 57873297 234982185 112833765 644746195 883095041 733468331 825779707 409094721 171349747 416533053 99202659 599288049 761225689 527342947 40216143 534290385 907955177 27687605 251473469 183061591 84514595 884091083 938054129 799728769 61906767 17973575 923200889 571846103 878719233 96438229 661977125 21497955 983618189 643481381 634996629 223386561 719036181 849498097 494760619 416064523 692962177 836865533 534135957 957484775 738411393 776570643 155569095 406828679 220487823 210180613 889813243 791892125 813399785 902470573 222000697 12834667 419703959 649657837 704961993 968699573 281883755 593686705 881692995 511022793 531280125 651673321 798814849 260358015 142383533 482102671 977532585 40897331 642860451 697313447 727316773 332038095 6690511 472985147 317960363 656400829 541362409 98675037 83937333 818494709 970689651 314245927 839488523 734691829 337677235 56271803 974898359 890721475 214709691 731004741 632435725 695495151 614053731 724323061 923927081 245945743 437127755 133028869 300928625 748802111 596361177 53772987 422666897 168481829 144687681 58208093 281675131 951540211 883718009 261918015 567750253 572666845 541931587 410504635 959208427 11003039 908956965 766893363 53118145 799264387 606726511 13500433 292485379 470074455 103492157 77045193 204737295 170302061 624504683 202343893 576643207 730650025 225719973 533691573 526906201 112190573 75835991 496750325 766124215 914278825 598097597 561217575 211781153 182404053 886616277 559338981 296985175 614513643 436996457 247692499 313284199 99667059 626966025 674767767 527500967 468577405 100576779 210328039 964020145 123203743 655185297 870833533 116943721 843842549 965450371 237227801 373567997 109952805 980528531 985938311 900414689 270608225 887270709 424763545 357861329 446447965 150907053 109951529 296260047 99203159 638104835 526199577 922353195 284385045 132089861 257539157 49908599 108765925 552349517 505935309 42444431 444579999 65758011 569322365 577495449 763525537 67507191 928859749 475407615 100240591 125691505 790244753 447649399 694191001 855525731 149061907 464100349 196315893 526726219 686625029 237158101 531777123 453764721 285891211 333280907 147536613 115754983 879788747 761592307 406551565 185219717 919711227 22939689 783424241 900671211 770693717 209527699 584807213 496450943 558605593 30664413 296777193 858276213 161210259 808418809 157779153 694767557 521830935 939119909 778834719 109813803 449553659 746583015 166806671 795785267 579949475 173617159 598421095 315522093 509873531 431941787 341857909 348780081 478566131 521690881 21138449 902297885 958766213 220804571 90576665 815925149 722992055 561878551 149054193 294126879 850312207 293302249 944744331 39321307 632029729 456530379 351893081 465212625 110414983 370689413 959187291 986831051 692638949 298019615 717283865 274131289 648727265 475666929 702951071 440519377 874752819 219698069 718534789 669099605 981009551 191709937 126538215 873825487 967241917 332662063 452055149 101477355 230731139 60969669 892929603 565108005 877831605 829215853 321786147 36097723 393271341 561320495 319731529 954804407 77236943 656647765 446205051 854257639 216024449 457001587 260382473 470353125 960726843 166708837 617951431 87937809 747173617 544672081 147427861 447417749 354696363 458958497 272746711 639048285 249523823 677231373 724979581 834966819 143303505 644385165 453073407 71125097 320389227 919755367 984353495 455228535 495808481 60240935 827746319 32201307 294751707 616233633 222342195 593790191 413950859 501241331 613911387 660943827 801037357 999412607 603210787 8072815 549969409 844333297 256509107 760632051 708170579 230883649 572364729 835453271 255608693 268637095 594246505 260444765 241987011 784244393 63122565 875765387 646487195 35574549 683789139 220723507 203266155 819238139 258858653 577934701 612581539 972662459 72356541 658544921 201919679 173151225 525349009 429649373 649579841 81238175 231278207 222550061 706154161 559246305 676612979 235239487 693493923 301016895 526377445 274959637 782516913 452668281 597911253 216352117 143582079 331103135 344700103 843703535 72935349 288864771 927025865 303639263 740465413 706400065 421367155 56469857 802080043 835784511 421593057 589310049 362747111 365213223 979155643 108298379 992922375 610154863 661162287 38516827 92693849 718786771 392312819 422539537 601939897 869489495 470743621 94676403 944788235 484093511 8482027 808717841 409826871 35951671 536422197 151941061 701989679 810374147 371867127 977985329 12512239 370272721 413020305 309112953 513298295 938771469 777286119 136588943 597361365 15186025 194315627 616212525 898065943 410935523 331076111 875743441 390209369 399182015 263941973 207793605 241802687 734207881 89112641 830412567 370736753 943538711 221511777 535453857 555803041 723231107 956685517 282326275 717593995 457197617 679597345 934852261 720907633 933298383 139341445 14579895 302387867 896979279 161677479 457921075 695150941 533944305 120420541 77636311 828616211 584598069 985593477 556635179 617287707 722304489 228895045 137178753 696667875 392813603 49309901 946153969 432679133 551414845 344209009 114498907 711268481 156097245 755999249 736804197 60897105 64220909 497990419 347901827 175893723 738935971 626469731 472481005 721602477 416197753 339675771 362739103 955173987 207833655 412064855 756995429 726378657 151848935 371411067 260055247 777975823 221682909 130948347 286702133 437429599 474640565 773776745 396069559 863865677 859383893 657484771 602159419 578544539 392453863 205817873 613061493 802204177 872853729 405121057 922788059 413880709 261437695 222296009 850000813 815314637 318842693 621549383 73894901 31531471 320783359 177024611 130155651 37963891 108471491 809793897 146300397 696660395 95016297 439860783 933888919 554383987 582786841 596944149 732242597 807291597 998480703 317210625 525735179 774745793 9975437 845588319 962593405 984959333 133627395 999813929 194528641 96633807 768745441 767735257 453281881 564483621 710635189 767997305 759117339 958865039 320498261 161990807 373373339 651436609 162203867 310856519 812352123 960828531 692086699 799237671 397322275 92019559 456364147 678767455 26110149 316481899 176965671 552689053 113936981 710696909 732707841 461815063 500760983 132412395 226392201 122834061 447941907 913273381 437933191 268746817 776719895 983068901 450601491 436751109 82064829 784464285 782722439 310624045 798596581 950759881 490031753 668360089 271966775 718280171 795262723 603618479 205211939 604761739 338225195 938351965 234212065 288510783 597607805 372194327 3669619 3666845 151863229 161898463 906298527 432542795 896655863 955002681 90245879 731023345 310319743 134781237 154391251 642507843 473834481 986648167 438288467 322543353 185318963 382746093 339597149 306986711 515174257 368887919 30810789 568612517 710919453 695664923 870968993 743809081 502060789 330741929 182002835 111517033 133606909 525397587 208972161 731000603 874897281 253219043 161776957 513484343 591989271 247614883 445921117 584660145 684385943 131771247 610563653 744986753 620215595 750898081 871117337 461276843 297167929 962316065 194183117 926152759 169147259 978223963 891216919 39949115 438581993 904976713 751024247 393715661 11682763 852250215 89248311 220375315 310907305 867754939 107746151 477114933 338034523 380341461 378306525 853848935 707986939 994973383 620801595 678015201 895752173 818742069 276127467 311834087 330664415 719540033 84640537 131627459 726788037 305334941 405073857 332357317 951907803 214221435 634163361 823826251 244138403 86188187 728931137 134685877 909313773 663682629 697836021 556926573 325554891 947524421 105798865 575504101 583791257 291195121 878195895 775713947 844159741 285063977 512707663 465362187 241813729 787179859 728444169 750584261 621096061 162591069 577062943 838809945 125985353 611319485 714395023 436720223 941648905 204235633 37078817 349442173 176447949 501394175 672676711 34956125 524452073 76009333 378027705 909517229 160307445 350627435 788458039 62187563 830919385 995273727 368897737 897594521 912181185 385317847 101096479 309267137 969391647 904949279 247263665 464454517 536585395 416453263 39098817 370375053 373711741 885823335 578038357 527445231 484908747 600003177 72356415 568022403 160555059 591734247 804157973 996456509 674716557 651304375 280757563 977877013 317577731 821133877 561831639 512791311 906681597 848468809 187997911 339292981 319073071 387433825 953490679 283113369 236166553 210771059 669967287 851320147 691749499 201216765 589858653 792495241 992283749 531619589 317897979 168519013 638039849 611888409 677392231 222230805 188472035 896977745 380738627 355348697 674959607 183762507 289464569 757463791 682129685 295999533 415117749 847105953 35834925 879375779 922459251 219544645 879444859 35735781 387421681 234309683 397028231 868439731 780657849 334346189 523718939 666091857 844393499 815192957 728196683 593212813 440085293 365262007 435977587 469256637 776624081 102860531 195212857 451881155 980244911 808969909 215244425 135616769 831393081 476145799 362274197 905111909 412538531 602161147 166525147 870520937 631785713 879314603 333120287 304453385 589283051 858242873 49560941 475043789 485867039 988608079 863638555 733126591 15953383 207949729 898323393 336776057 822498403 874639591 765203015 33664025 714948475 169037541 471521753 22997061 108245983 660865637 877523947 496874281 205360647 677472569 699110455 621364095 305342773 290611513 243313603 251206785 670141041 574952779 802022877 334229753 838161801 395515481 596428565 297312819 127220245 364156499 345565259 727256839 185752185 9632563 77740963 699670737 14627035 573074941 722589575 906120313 42556971 86261179 936685997 756203885 995888417 7923327 112096783 116594851 964794175 373714019 903779829 705960857 534684619 648177801 468403433 770331991 102069973 253032475 254152127 570728295 715429945 312788301 79166867 724250339 898566803 374740055 207336139 920842089 573979215 553567869 505598993 783942175 65663643 520426761 528479579 847405233 896962159 910132301 403112677 357197913 466310027 645876899 890978867 876951249 835285881 343367021 379168017 242227555 219036297 33213973 676442259 598267357 698784465 314770703 300434965 702976913 666708787 513562325 527963199 990475363 899555927 979375847 910453239 99302837 595703727 47788241 914744181 288712567 567270513 542968613 180718391 711911199 32695965 670771325 394252541 635594923 737362429 58150523 971415253 827977121 171667743 487796425 680019477 262301201 64231517 15475739 789253205 394375567 10505431 178096937 640753791 637605435 961790837 937929145 219511739 670556091 609878503 368076689 109036157 385935933 858377127 922788227 835164549 479325557 331372275 100282989 63682259 51811749 744983507 938457137 578055863 266414225 380646681 661242037 857594561 403281031 773657949 502403311 878402259 401395551 493186047 429282775 553860107 763015541 684349991 416117619 514506201 593072305 72111045 91938761 527294705 42146689 810136721 193504237 627810383 79970269 871152909 19696377 92930103 825142847 489086847 760092431 870190899 162653359 385179897 996823129 492137757 950617021 844814419 408051723 451980811 754451837 62815021 876123999 385088357 875761807 805270253 92996757 774511829 90414361 88331719 379447801 223304529 972290505 488754097 32575197 500018709 160145619 330621805 618591387 156587429 190086393 985125761 274609045 105445071 40842367 509271869 440044599 403983267 750707763 560007613 66127857 563887233 64965741 438526685 239639101 175998731 568861707 908041801 408766367 306894125 206732657 544131693 504187043 621589535 183260559 312699781 248913111 413858649 994003675 625299599 745135575 513216931 977201749 773224533 821524549 811704325 511393919 973327463 43397323 627989717 487823979 36656155 455636765 321761457 33505965 515723155 229233909 924151165 45309541 510817463 217658643 592221027 97245241 607736377 974128707 363011033 629589335 929045645 330464343 439398553 275844213 602670839 478452009 701341867 760691919 182738047 943551901 544930647 269510959 309140723 920924825 479677749 182525667 973465069 907862547 356610849 282754751 800510925 787850757 814183227 623890977 776920763 168453487 995382261 101459443 540615591 365077341 845741823 381097887 722262347 72243681 98421333 336301085 623970085 934195991 285762367 446177515 124719229 457084445 13091143 555879185 423295845 311243809 639443265 553624603 274321333 927828307 897784395 313990943 544651277 167524333 883404999 355576765 427198677 96156981 331216227 362376987 59751739 208340081 23549969 78517479 968065597 272771061 568321807 129570391 296598421 953527323 361625057 489694505 643914447 941784133 623977555 955122339 769909307 774357471 622735227 553990803 841782769 144410969 263686835 712732241 339665103 486067503 480947871 558576059 627386241 953287393 946530861 280542261 146124661 219172347 395114895 873955249 83665891 572100879 816714053 221525921 396334283 400980153 58492687 567695877 672954359 397988503 418103037 843556965 324539895 53718615 74264159 105191117 112369953 999246505 892451031 502345939 852881047 261781577 494055235 96080025 552771395 541091063 583091411 573438911 537759953 522210943 791148027 565054073 339648701 639664563 457640823 679305851 730530117 692879725 328836937 492663299 706091635 825789841 867806145 840847063 399317781 201627655 414149233 603169607 399938501 657680833 46897975 832059175 271797219 178362811 57628467 379507413 563882649 589684213 752214999 450252859 490899411 938046587 776786899 413715907 362395979 41538655 164578853 875659111 398086019 485076669 928450833 382665121 329220803 133726643 181049123 416539771 393570841 964952943 255643695 160593025 760583263 609071393 594811987 309481417 148583221 743129605 700064497 666449141 21551107 842094683 107239863 37919783 790681337 611809905 416740247 402891277 355447823 647320469 984915409 681030881 375135751 592115491 87449829 940606303 256366951 337923453 396995489 910566349 321517953 456161551 670455323 203796731 186267501 445183305 839542957 437330237 556118795 39878567 91965691 647823219 322780161 431764651 216134899 119947265 191736515 159038685 316705737 93579225 271424391 99381201 175069431 597521261 924763471 932629283 165701 113417663 350224097 851608945 693708221 962921299 11237327 421547881 55701169 786545463 859591535 112803003 215928515 820311553 930370531 485640483 862365137 778958035 86709013 508325219 586280973 270775887 980526515 882073155 741340903 971995045 843242547 488214423 74776603 589107081 451162587 522585403 202686641 986228543 56658863 141635597 871817203 130123143 22224255 821886203 771016821 174928819 478202085 331158005 759032597 86338711 989321795 527184119 880131573 902011283 519207357 243310339 186683265 453008779 224020037 276899617 574340465 318620657 126051989 332057957 562271165 457847223 470048299 537284587 398388651 886885471 806075473 798964689 401895111 727971563 735905557 81345605 292059621 421444335 267314257 43713399 87503395 106350459 572336805 265217443 376593379 806011443 818759289 477019659 322122195 666392121 855688445 322735607 434281959 902172989 720371499 101611965 428127321 813922421 903007937 204303283 292855473 19802527 998690119 507609919 58755255 487172097 372613391 637129161 372162435 791112043 256806449 916932035 405006959 806188849 811262349 310559657 306509343 937880371 372351945 796535035 645884289 758939863 869955161 634273095 217725129 699798537 260685429 561524507 279670387 201443395 178693657 819065621 287742531 756374399 624041747 932240595 818197059 204173639 711198189 586403843 192824267 144525225 322981125 481421655 633328247 914861623 579927417 590336903 405302567 504207637 619626543 317263445 152292109 290160101 439204571 123052431 425052825 781186775 521088243 293871619 345971849 817206177 576261815 864969359 457289441 672866945 548765233 647961361 23998957 91281727 877044273 931315575 315368769 153969701 214375245 180578483 33865403 976490255 892428521 832365501 915794813 779120215 670882857 404227735 592588021 971278307 571636481 111428943 580940757 299899429 293745445 879087347 182190363 997476623 245225243 938579617 543795467 529293603 355135269 518433911 950800947 392232037 110771801 931570851 32392291 606021475 494992267 712691799 558876603 349856821 955501661 342996171 126921119 831255417 818404407 346042947 164965303 867113811 542824267 271457543 572248829 116274291 541852557 390205037 75664555 78338319 851391425 951095243 811502403 457049061 326340719 674745735 733101461 486157117 577340645 509120009 50062259 200688099 258575933 118751427 74959353 29319725 656298583 990166321 10973195 837655803 88185563 501335509 149485017 429250227 658123321 538789177 798243475 407927875 332322985 373717229 106092469 349782047 206850349 493734031 72196103 378864457 448947339 195143357 787434643 661940805 513804373 824909863 647645613 809704481 954350563 504491641 864040435 313860981 164642133 20408177 510142279 960485215 867861137 813938641 342922709 864843395 782757963 994315873 787774227 195017745 456051961 483634935 556411581 217665215 42442205 18110827 601466841 565567949 96560637 481916061 542184367 450255869 368913707 329853819 90447061 697790113 638777085 867876343 595570729 248949903 949246935 404652041 297279437 714263331 19129309 202445493 608094255 490366277 752291331 835306757 19883777 228255841 99394815 142660361 710881347 547665777 350309457 862972639 452633909 336212465 421265731 382207911 110158695 391005927 150940645 261131403 91836329 921650145 871821325 781979069 479827227 675529719 920820317 983959417 649360417 148980423 438516543 361953025 412369253 661112693 65743839 38019999 911886045 715128241 279423801 137082275 424744131 916732595 928293643 662647659 761983135 534383157 177995485 344981079 116932667 644648321 606445827 576553937 642277035 9499747 980760465 132977229 57226059 452848177 221099369 752948803 928960705 459578571 305367859 534441783 364946423 717002135 473806943 290562225 748430115 809893507 179768871 214683975 635759297 876586245 498316425 924551057 824695445 468797211 436544845 471299889 353221803 858164811 109835525 669009873 423152215 952125091 32653833 90467875 74113847 334487483 321650041 409568997 829509165 308884401 885745725 663345621 966249573 88052777 443890693 310825149 750031447 156920661 658177097 512707187 750982331 506780903 972378443 89946063 450060695 951194399 195943697 981943475 315789113 147285957 659247213 938966793 316106033 999899429 362722293 898801603 831001951 373189399 275421965 326988255 24581861 845030391 569537755 658349915 916244785 391703981 556417869 464795713 23224055 760626855 183451167 996979111 298116913 948452569 52421073 168689317 384206887 473158341 426083497 656666973 667011681 762391665 590137273 733087737 427004855 785511527 972834775 255338413 157773891 707394241 454571173 681251761 963926379 977073181 704481677 714767433 511010521 189714079 180754107 441218495 667368323 370921721 271593515 14631267 343307429 193602397 595741339 368838291 170008259 477215885 361515669 33341359 517239975 331057867 447649641 803141409 104760427 90855657 491928621 11403357 312690277 406257469 422075587 905538779 902694973 352363683 382875859 727192351 903740381 543750019 522926799 540293555 627161725 963280587 743319275 788340777 94289301 912305905 152476203 725371419 807810539 93466867 753073495 106649643 254378635 23513431 260899325 855641347 345230281 110465325 174706551 32910423 627983939 483372297 141113317 427955679 547725787 48256011 5356847 786619999 641131199 194400985 187963397 129305761 146247265 411624607 189439199 777129591 135299713 972636181 203600639 418258875 72718879 877988475 113468781 345232207 154970761 65434261 896821751 82171421 788952661 86735793 569483317 418950169 28925533 993958055 144039051 234246971 946958021 74909395 959155999 527823495 682139131 823307037 700940513 390477063 211784115 930117363 959899785 499330765 769905641 15701323 558593945 748870643 648653279 313243555 956863319 213526427 65810213 393918721 13881811 885881583 197349517 252783349 571109609 162343459 777947443 469811347 104513335 446807407 694634365 293293435 769827 613535769 486025749 954662099 988869089 437945701 449134835 56694343 136873063 436007851 309254221 605553425 771181685 400807747 586341805 123481835 236385173 296478607 172919517 277848351 105273879 525405179 240466161 300736377 15628817 730092791 793639239 954116945 694055013 617145597 312121985 998443139 382558651 472577937 101642125 808515193 940020101 462746173 743292573 382295325 126669049 892197779 542317615 54623207 529202199 514839085 613345287 216227029 101332137 893686189 275222067 277249389 781355837 60387773 551058435 183002047 833504301 223492369 977893655 227290975 834483353 363022947 132540497 979944045 818439017 684625267 244311775 278475919 736066637 42595341 775955253 376500209 150457535 350446851 624353805 175614029 588867837 390811439 955688815 898261983 355776271 251676275 72039331 302070379 166562247 342205113 312262209 858955333 125756861 307154677 361945379 871030591 317361745 764583969 720746863 91362231 830402731 508340285 885558415 308672917 483712187 436615509 687003961 537989959 797016633 352254587 627604583 933979843 375514023 882273481 146555489 86475913 527304011 999266913 186365873 860754075 929666615 894101871 903740459 468881803 825786179 730096929 873708523 916273005 182969359 109949111 898668631 724694753 360496129 485171823 870834459 619287565 115679053 933397141 479909673 986973597 603832809 162259067 180246463 861169099 457818775 307493755 426689377 503648595 253318109 400933879 854632155 890944123 29269771 649737819 818965057 519083537 746269501 704884247 896006129 835829869 10132559 878267047 126124941 916394605 760613357 637875851 626740483 763825269 659585667 106558031 514505605 577372533 878322253 58508165 925823123 128331235 718285385 465032647 435597549 29115581 320538945 498710967 657405857 515763851 206579909 52359681 710266117 795499609 680287275 329300053 31782323 641575613 288284053 640188525 335127439 703442135 844667115 745589519 251196615 276765005 373031135 373688577 772575951 629065549 942055397 307294231 823546211 846856075 926878019 984064555 830986117 796023625 951890427 710232095 650233477 26040651 899607009 985266911 376641781 101357281 529562253 483121243 392971697 187731167 843748959 457896589 561098463 219094179 687349631 700245627 790395625 446407445 640683743 451093803 218960773 309433253 468722995 542916273 127134383 863682373 161901567 950972711 548808619 940898165 466061961 196927919 975962629 357299517 356003555 618811765 968475793 336836649 863852261 562212521 455202413 169523535 982845743 156481927 125747193 999866447 184897577 793697103 247633895 387209295 729426177 482472269 138560039 198671613 569579701 934434259 363652345 261907343 464977663 939096891 323285981 550268353 543306091 442754281 822626977 889105631 967600201 514709059 936183385 419603633 10025393 874857919 717567075 124858001 990474881 344033751 560861537 120446557 215716709 122333195 512576577 980450169 314542539 753980393 748722999 395951061 342292715 963446271 486193853 305838313 600574661 384043753 628155035 901640367 735257379 385280073 117108953 755126449 723671189 428734411 623905999 164404475 862737265 884449311 767321111 581833507 49048793 191609345 830348183 899578697 642225591 255030577 796104313 55020819 6792631 313429883 183426355 18452655 344475221 929492915 158232191 381793747 210539983 915933359 455236197 688520381 51304495 110132819 973543215 611460915 403877443 186075787 889432177 11679107 30745765 728447559 449135111 593109895 320102583 156851331 721329431 866270615 338925469 597718335 313431819 192522655 797258569 75216519 716686491 618176521 223875443 131874671 28932799 922953933 4783773 713621261 516891581 692541547 609114383 424052613 296601121 885211365 872751063 327025411 846748095 739336911 599386575 348366519 180190389 982839353 142509207 949851613 820036709 906757061 404239255 971838135 868697723 282857369 223442687 837532557 467452399 158208099 502559431 72557491 398330361 659924057 475619761 345539203 13429535 320023609 849215555 610827873 389562415 955003465 523922895 38683573 585374521 820468569 16565613 439000561 518333597 339300797 613646589 919005841 421426687 679048789 430828069 479352853 595322697 442918277 747836761 800373513 312368559 621446207 666254543 87219457 608358577 175570677 906454409 205257619 155249935 330452137 455769677 591271267 407856601 899114461 701136557 751561501 215416161 413519779 466257407 880907379 498260547 333246609 739411045 267274523 244752485 328742339 157621705 847110621 902462961 71736289 330185433 561662335 551503965 715734553 457126411 499954645 513982309 706355489 839981221 253797563 821794829 924696119 103849899 922289423 397400993 974241315 734535917 42933695 154857653 892959791 92260357 387136699 690189349 569831733 851465557 905342463 962353175 267207315 806412545 687743117 715812087 886662959 127517179 683457901 919643767 813089397 444603133 644184245 539477141 556466527 903988101 912573051 533810325 15220071 436564701 534743013 667688963 774932375 263150355 271717401 214664117 888544123 743483905 316539727 874694341 277861931 571358791 491910589 816696215 283636547 616394317 600895653 223097049 502173677 925702467 340391253 333358717 205601747 689941027 235506203 390920899 209801261 29154475 835829075 210826027 10915513 73545827 642138209 519478661 674078909 148552605 332081837 667044065 93493769 996746353 700437161 181832351 82157041 855984575 523076817 760189795 336171093 262096429 763737767 255585303 873103513 440582447 575224755 991787761 784342703 613522429 454983819 544514155 843513867 797628563 285951941 182580813 861016745 889683647 601116423 910454945 809390099 518946059 539612153 659274939 956957269 632701909 76129613 326672439 619609351 941499963 734491583 538642939 62852679 555741475 983991569 372230961 894538681 180680769 976527115 453319759 992766861 210192139 380122241 425489425 368583033 598447041 944183887 529524347 237947323 320975981 467319893 299522521 893898777 772313567 83307131 893876161 701297891 159082157 433999801 307343371 15073261 690396219 801761541 193828831 490520983 765763501 808961635 432214185 866140615 935113975 74937819 526380827 370050283 149764045 19068033 849117237 47025911 177069749 975284081 253023799 739129453 876472305 637735627 214826415 35504977 599416471 461626553 781225075 463785009 854582139 379747949 21389981 256951589 961432639 209910051 836295569 489413835 238712395 958502685 710100733 600631623 706831313 640902819 948101077 810892617 878765765 62160139 989620051 359509255 119524331 440228267 623665151 244561727 841250251 375547625 997741729 595683385 8918963 186660653 167931729 763997889 774469821 341816299 113563753 110614829 881392329 375896731 158205327 761349725 148925823 215016383 437367981 107152055 563276111 290934245 152472313 10326311 991192689 84835483 459314671 652689447 174757351 159025023 375911507 515756211 478597751 722728241 599852337 286537553 729439155 97547867 13112029 56820495 792346867 694460591 211352563 515963013 313544791 317120489 476392537 622165713 560625093 426152651 315579451 52571799 608789489 454846495 799271691 614177543 442957137 70221749 178110087 949584087 735766311 684111211 491457971 362283847 795367033 96305697 867786203 844500249 25565465 476835009 985095061 856944543 838079645 295674173 905326009 471606189 656958825 504578961 602816113 320399525 695219105 655128767 721035299 783497575 242324537 851235793 844718217 90778471 730722791 430048471 644569499 132619673 823300651 474704879 406827681 303976315 21667407 796915257 379357987 603730451 977278051 712470239 656215545 585325295 218845245 588283925 980765245 581282087 949201535 459956243 331172435 122226265 295899027 631772701 657251049 955403177 72610469 748177275 126748659 446374599 284985009 180439171 42516909 116754153 887568245 576739723 457189273 134599119 407232635 240190457 390641543 180976827 718081041 733850421 392094857 482802047 314442321 868514227 291329019 806369137 441480219 491290603 495016579 248426605 703909911 394248033 518529293 598938587 795927477 734290847 559190987 222479273 161750063 350912309 154486075 173229899 549689731 141006017 431640863 444235459 371501433 222180323 138530183 139352981 785839267 206509125 885083591 523718609 551536473 177974939 959670135 75568907 353653435 108067741 654445439 487767907 63477169 1306895 962872587 396234365 749407211 522058427 345251469 283583625 244583137 139972465 397799109 320842047 397379797 340193807 738629555 476420313 159279565 770801269 321391525 951598881 187953819 984114317 672641073 373845603 658779605 11529547 700330799 255564917 650330335 915669415 865895881 76732857 207045855 571142565 714719079 16570897 81381315 508894543 851113661 314067435 694928199 54751157 546095819 269752129 312436203 557421557 230595537 245596815 190890485 603173935 679138399 325205979 713034871 765674125 622576199 250661301 748621895 650361923 940793253 261148721 852233991 595413129 307337693 821494767 581809185 664917411 251073695 404733203 62435265 688917467 559990491 894232143 506094563 446537347 767537613 73078741 117565253 835974387 151245821 397262949 697636465 545034129 735093301 956570695 486595767 638800071 130852489 482371655 525116717 87990275 915416917 815883453 406135221 874315973 77310527 307258501 404307959 576899979 80586547 446292487 936069733 515631329 956886371 810430001 522423091 149974615 736201293 852565369 335024485 304941451 896933557 844834525 323233731 189027101 645419431 364713699 142907867 563068855 116310393 979213979 454336263 324169997 355335363 131076249 465202535 655764695 942746479 921707005 984974051 475746265 981342115 105330539 411748907 562412765 51495641 8467477 143903159 58642869 769699017 377868461 153135305 8893499 735860857 349619317 387484777 543076689 201307447 94662705 221026405 956700129 238673301 370361135 961900629 201416671 41547887 328678981 25727133 350255939 6339561 913711829 637470563 56500499 309176433 599202753 272427927 987178067 642903995 405065337 374577649 475932443 789941697 881716211 464210931 46084483 789378507 358637485 39371491 791458989 998980963 563222189 445099217 238932421 43900253 957593219 904117657 488913657 967259349 868088899 342596569 326640777 382953009 175420301 718812151 361301939 786236955 626640773 129698087 369726403 882538121 339931101 677790303 987099403 301978039 541555143 389990239 26340323 181455145 471891205 139900849 590345651 950477483 540754139 560584101 984659935 391299921 180926743 206590801 288768733 109117561 50389777 293203351 213626149 30907589 192512165 738775329 190026299 669481761 434061627 272673627 948336041 268619717 629465793 214735745 753787393 35070761 254657709 443082641 447256541 220047123 802955007 523651925 689059551 175255951 488353593 377448795 450858163 978822643 201384813 102150141 687880713 30631895 405988655 472344155 526988699 854404645 95646879 284301661 803500845 388609029 501937507 728648371 879223433 212127723 846767015 209188311 595190913 208971415 246298405 169006343 357295087 314246153 545661463 345026635 6585013 739048593 247850055 382217335 987292351 731897791 268097539 121398813 867722493 401238901 725526813 637468835 333827177 725846737 581481465 945138991 492039431 744682307 641230969 175247281 138389217 55353215 454901517 995907041 168985353 237374081 128397227 858403905 267689625 328605837 124696273 438325527 333276595 958546479 60183175 383155061 565068419 666488635 841917785 233002547 805296697 713312717 571033437 653836529 831574543 411404107 103935795 637146901 660371529 476644703 460731649 302694611 194155315 972611839 269790067 445967393 737941017 24316265 77429443 381000129 155967069 769649437 810485677 611546169 266664027 196603625 925791863 774627033 97850495 958242529 799490031 480522941 771008573 628274019 165244013 157910465 128854799 609285649 313729741 111847313 964136309 564498137 392076153 921784985 689977851 508205293 51747163 825021205 928737331 936992715 590570219 875842053 650576311 658715705 1458983 349359661 183408425 888524607 172873367 727028515 898109237 37867317 618356295 922636859 460775307 774053557 182039245 113536919 315900903 425188771 151119689 428585759 825965321 280310829 818434657 747380101 242626493 804971463 947277633 8633149 846264789 911124011 255664291 805177229 350733611 780844129 740407235 307866487 803318433 709057459 875899239 155557071 899810595 17894579 63392989 143440173 174211745 623896131 407692541 897455857 976051479 985441921 954936101 932274243 63382405 213885919 198946873 509392405 299728631 984352269 631387049 310414619 955068799 264102153 777618029 425660633 594073399 854094357 53097983 673784981 574384449 834902721 135551337 238868065 384911561 578060769 728642613 779589141 326679039 549008525 449968511 212205649 174828319 937442605 766202593 155818877 521490793 685632621 397478787 93007561 26552361 584051775 301036307 276131629 743535025 872661729 727280837 161920105 54891613 952275415 57581147 541715465 515192715 225298157 117298457 67272279 225362601 873551161 873493711 821496177 887792679 690450965 80570577 592862259 812652159 373449253 826150653 169651529 823502647 487811671 306614973 799411233 691107797 917903069 495990267 84935667 14160621 693451831 118607919 237431487 21277977 653176869 111771481 483323983 348675069 283430071 721196795 251769651 50682175 229348669 248048423 382717889 471355285 973508441 871049587 239490843 3784633 965255657 249852923 454031403 554196843 461325341 617494119 949416605 323746425 943792745 430922469 570861 558902705 301683593 256070443 948667993 756250607 757771649 481675639 203004395 407787797 4463259 819649423 251672433 119057679 779117679 875962817 615186309 136615629 635794137 709095397 255412105 767694155 742139643 513962073 595377313 547043467 474958913 242843905 491879103 181828245 54681441 358883919 203758491 658557565 801566551 803224117 206484407 191866205 713832551 441660213 819626331 456837465 630927133 838603089 525371797 113131159 188791629 661668635 675654463 327571023 362475797 584188585 388388345 589105077 929063895 551572631 452917547 830552849 893716801 347138829 895646981 167961769 364393541 522581177 554053503 37394385 44381731 651207633 28412251 770948069 212505435 880301331 270912799 286510403 89068731 683771077 86031901 415140441 505452121 82835383 707204973 722428055 546793615 50552381 59781871 550442361 514629377 150468919 663102537 304377215 416471453 919378185 450690031 306721591 609567639 906822307 889533975 424911919 30323817 744177277 110170051 421368835 401930459 171694481 573212601 317052759 383029239 632479337 373071243 250392787 671808527 375476241 84093583 784815145 712722373 964602657 923746537 128989461 316459767 694273717 323886717 375010391 764219863 132856181 900615167 80660667 246188501 100304015 142370787 139570709 36196013 20107961 151027055 929586235 993296743 710776113 188488615 324080147 232154445 401481917 898234971 531252355 575147251 289674925 968129317 701846915 186792759 719828949 428193895 142551305 83624507 854157205 484078149 574649879 118830187 680831187 230063025 657518011 90327935 668118267 496924517 168181763 65453935 146736903 822441183 963127563 504589697 574638193 304291177 518100471 716455745 795673155 327071505 832795119 369891715 954117129 199804849 758480165 220029285 212315355 114549737 954552277 248712009 190167637 774280737 442155839 131872733 502059423 321675145 569131697 245970709 375403111 203703579 863230585 167820075 859492323 772848277 722523381 249153959 69012945 119405951 43139971 132066385 677374329 213608491 506156433 598854209 80159399 124924081 300566415 330159313 824337073 806931441 448937977 669276325 701347703 875155603 256392273 941250731 137552477 110141445 64288799 334451991 565874517 219829125 319626745 209014885 779664849 558910733 257252981 166362713 97901011 813177963 136719161 197398269 636134111 463543337 864181229 554959785 55318787 557147813 462033731 504004089 553800151 462675197 128593911 954781903 516556151 201702935 185658827 71577431 209964427 919480231 570379911 963128839 798555201 521662243 433004289 760104859 703247185 209227979 866393615 780941847 891163381 782957737 976166807 578985927 748019957 438933389 153179009 201540671 892157345 223794701 309933759 468272477 663087821 341312397 376795725 443384387 295728345 941257009 428972077 20540511 625468331 660500205 835366503 334756963 256432559 195385461 7998481 237247821 66279647 664179279 623673921 224671585 284658615 302775997 490907933 965975853 192078909 289718997 341446349 845596801 87675647 358372715 476994691 544264061 101961237 806007841 268192123 620140933 351851547 733868127 769537527 428639299 474371899 414227031 488851521 115064491 440427039 410979837 343216041 540643837 716057855 472188949 167987597 525322937 565326489 899720487 487175755 649310127 353417011 739613825 78971473 326563057 722827677 46964029 650456337 206098651 356475949 361755963 468391427 634636563 919670719 543366179 722056107 856581507 75100345 129808997 126807185 993927009 161072141 680625209 590796363 625434153 534371887 507079841 230572143 547018909 334347293 44511331 850164131 842362317 418571869 547520785 855970959 951666699 582236669 149481475 832834279 666059253 408477589 435730777 604752995 109058925 419256385 298578681 319404997 174053535 263789227 40124823 708726747 421273857 161067517 434662313 524263541 938807377 221651695 285286513 543014251 249932175 520044223 86799093 560285603 912433161 347811893 84314375 873990661 382195795 264873117 497197629 921133189 145385803 637857997 768307963 168986395 925184787 454463013 392605541 547379913 998467097 255385483 448292975 45505181 290892815 26505837 608718031 244888231 663060725 197716927 874241029 205647615 163341323 262130947 625165659 874235595 432026337 371092797 91617505 713036595 561056839 172990461 364771949 57989227 525895517 111663191 720971937 644808875 121945735 876426729 244471271 922267959 81604207 457784797 142041451 484914007 502492427 401485789 369410601 818759521 190982805 775786785 238824927 676011437 411232405 185823593 464397847 491880861 767069909 750361591 200456991 924277915 947618409 131397277 65794833 700514585 392705709 174812849 798118093 800408979 984913479 231253007 288030971 347705739 989723169 191340063 943108363 608589963 966968433 956578509 142553655 335972645 620199347 485345683 608909437 937178097 815340971 862197869 142494629 476114069 420765797 374929121 181446209 275061945 604937013 388443391 275071657 361304337 646690233 949203547 174880253 699499605 180974291 894929683 624000805 48090697 511291825 150172881 390084561 970849463 211880645 744145855 769127801 576939631 87850701 284429717 786643551 704357455 536027085 445939347 620355209 81092151 173469203 894675581 580932297 892387857 537380143 513690017 825124277 537462993 434497793 277254101 649199281 409872239 388659883 781336953 509307619 128965615 805285787 585974387 516772409 513028699 61006981 529557809 102330991 470479301 373391459 853253545 594447365 24378181 140053373 994995289 828987201 11628289 782376539 234969927 221575989 468757795 913419477 470311171 219507383 522139353 993329925 217996193 720421225 726126945 864862801 484072897 218227381 909332221 487459939 236621703 836639943 192956919 823729713 253190051 493162395 730889121 577055991 956239949 50632689 494342485 511707449 257180735 866901581 220416885 253072323 170066883 338942469 795514987 517733033 971918245 597128749 971689387 380889159 781511741 718222503 130398381 781706307 687102567 483533083 400695285 943452807 50824331 450791931 488787469 304201803 212785559 279906171 96114823 60420871 55333889 709829791 918347003 904629633 661105351 639473711 68896783 201454277 498488943 52842425 357672045 251509031 215424009 815299223 490027459 359320901 325607465 115304169 659690961 385319681 217092591 995769495 351940437 832035977 797053439 541018193 128774427 388748111 375709067 90833553 593920755 772931859 352344901 476744339 906076859 858960597 500794477 255521125 855116115 651950051 153905611 882974931 758795175 923198163 277918379 756953717 884252581 95035519 108257765 113696943 712074573 593917709 92196565 243303335 126393245 486822119 536903781 840515661 486649761 467222465 240734205 995036505 570951529 185553819 482714265 496467533 301455635 684322743 588853175 46603887 492227519 171371423 733341273 310646737 784024729 742792235 417491473 10548297 847528401 901944949 908450291 98160763 681698209 392797411 585552799 584694987 196813645 81751585 715503673 114886253 128518175 138787873 171386227 296535639 800121449 767040799 417152127 40535625 821290629 458308259 340783903 602625997 76404181 467060855 218189975 504410419 435094979 400012209 652991157 719014033 927273667 704176041 404784849 132998857 923766607 606261511 672971975 907641477 443683559 713113271 24741375 832929073 860546327 54502123 56771687 391652873 916728943 896497697 595596149 634348811 950340493 386830877 127426343 134036481 318301203 979012845 200811781 560321913 705918887 888199137 574327577 869789645 187841279 957051033 596248831 804434461 502258387 981078519 577915601 790839121 978926311 722924841 531951669 678651673 914881285 72327331 444851037 335935727 7326719 29000991 628778491 783562513 923748527 915318437 858831441 975623047 928977143 10715517 105103907 420385573 315109059 243852095 780638143 713508989 447181571 959170501 943707389 278120693 931618993 937317941 88403515 782099891 715328977 23200249 914931037 191048871 427606125 240420807 283721427 541861771 76849559 859444891 272516243 644126427 473254505 607583927 886584603 585962211 621089031 710249131 314568307 501788851 691557783 639879241 12053797 272179491 978685263 555248047 489067341 221083091 558715241 23599165 301175173 342068265 219500581 228297637 380628979 887136857 234793935 811439319 564370761 472292441 975247289 328493841 629722043 497391339 423663421 56947927 79972869 376925333 154389181 78498037 473335921 832605863 248690853 574365055 556850637 760882237 161812069 897422547 436071533 470252339 360880503 697165459 960572719 691183925 540729439 847519405 939327099 949933743 819542951 555442259 602806081 802469853 687756001 955134725 873410035 517789631 63368615 16394115 766584721 489845017 839138461 294924507 782053025 575240065 357997161 975871843 113856051 784413771 60416705 228545973 590037213 713047449 298630495 399193525 301231035 134225235 745141507 10407313 763521909 543413291 929399417 845611197 902727991 390981271 318770579 402437877 128132027 380496855 942665259 177136955 147127357 843166963 440010533 952964319 551077251 550217661 54436199 440408691 829586139 678533069 743765223 991183571 609925405 286688643 56468895 844348965 426124711 405940999 884375695 448459987 371725661 340817227 451977411 300765331 876963247 131106563 61541453 462421345 136631187 409938867 139719495 661528193 469235337 482600609 8230101 954646911 465350547 738542047 970803741 707634479 940731459 667439429 706967381 844110511 955786159 828654451 300086967 927389793 681953139 436672721 739737475 739834609 18362551 367166095 584039687 29861973 859882279 334860709 475508113 490144459 187705341 524328915 829923709 670844371 430237429 507028645 199442477 219321147 536497493 476762213 921397005 517000215 961037549 354762545 230269581 459775429 822028049 525223909 102619945 181427943 775977887 138177837 479337569 859910763 137004545 309425783 506160065 354965125 29789217 111011067 513235419 137287599 473098615 406150329 864289609 296993201 749867523 927251835 342073263 976290451 190841671 269976529 607422133 884769197 962814293 312194065 898903309 221109913 215643587 304553821 300375409 4219965 859721389 18621599 584240039 948762051 870972859 618453379 470463861 247665569 31474971 530974085 988779439 618427025 487807617 947137251 317715247 431510683 566118959 14014375 965193177 742898697 457725417 565672607 9627027 330173551 226334207 687082085 213662549 698417577 988007493 321442395 275815443 418927325 826911515 8451493 25007573 739977591 45018213 89411125 128489633 168653865 306547349 326519749 404553611 704936945 374922653 267239633 926672813 257580307 535512573 776809383 740348203 928701979 710725565 886418259 935815213 81019101 929281897 374972079 720887781 726122871 63732505 32914779 298221967 767712075 239286633 54300863 967929195 118138373 235880577 403903755 196813765 977470621 649706767 325915703 457971185 219335243 176190793 131252485 726966597 896933269 480235501 59732475 126916133 382400841 433857345 615751787 40802557 782209911 715699219 85468525 911366461 241523839 73565373 782402785 13217889 613202437 381406231 57567853 940402411 577764851 466458765 39117445 63310179 340925821 545101577 540608863 111445341 819190307 27113989 955730429 572761203 574029989 407956091 751814437 523044681 837231123 43243253 537925737 815009927 449181375 378522239 964005151 403656671 129219397 350033841 204942699 334203149 973821323 797478823 166707505 497997009 511433147 204954889 232072997 796562937 510294347 324588805 391374269 77943379 152816631 737124433 117163065 273895867 762516675 897753131 723206563 923058453 787508475 314666841 576482761 906918729 667830579 195317547 28608069 328368201 80063047 673934453 993349497 63543313 751921757 137951895 446450569 42149281 458727393 728544373 827274599 980196871 323569797 464925569 986916301 298039633 793812039 886153901 860360761 494851997 788711019 721915771 314798581 167813129 451651199 673433839 13424911 817315267 407244115 701197463 51988321 334629627 497967623 248891275 79243659 431179757 401156349 843421031 337914357 682158043 143071459 291226451 379893711 51902477 551506347 374241021 918863891 530023639 964712341 733534107 261954687 692884629 659258913 92054763 414221979 151985829 942185759 513472053 685169337 534170229 249754527 95971651 609327857 115074679 76210433 736166769 922882595 658578723 766803433 552802967 219367671 697040379 451321153 11151393 836486365 568032909 48728383 780493307 759404813 55023975 561906783 113608601 322551687 464444711 992457827 498160893 805649943 883396971 148316507 714376107 915169095 247084001 874055833 277384625 846780277 409296697 764840889 991224487 613734335 895356463 298769313 517884585 578905867 897084037 791170427 136999775 566761741 812876293 600215999 256731895 576995643 554552191 10960165 67122471 590696917 906313679 277954481 907401773 87019749 591771865 662797237 134351313 89808187 21330053 784816319 416086111 951372653 840371653 668447405 438077357 379342047 283671957 82946725 750286363 181100725 252634615 390430739 231783311 672510691 323575029 683437483 330269301 574701343 680059295 509674087 904652999 902202857 10227475 478455949 412147969 219015561 517815151 128793257 415581479 827243795 602678497 665013905 830087629 632070491 639914651 711953503 715472133 525342211 326005717 228061047 646006637 490072691 269472977 394114951 74347821 321873117 828123101 183167363 868125427 355508021 928354375 674301093 79358711 16162367 504604525 516610933 158522355 519380611 301257647 703347899 326542383 377332047 231257463 287543439 60176507 774686653 711786551 608912715 30149421 915977645 987829099 32596117 802772769 539667143 56019349 305309271 471385277 746729851 851625789 164782023 396194547 880349697 10203641 752479841 239246903 923124059 409725281 189144809 65841541 417108047 490645525 834510955 357374311 8616047 886568131 546977595 243928811 756014867 258621725 737299957 226031269 252765787 36144347 552747647 435477427 243822127 28323009 258226437 377969853 248245053 625058199 149773561 444638451 762659843 507603251 538809369 531076359 852006843 548960619 733306729 412264505 734188913 30803237 428331573 282115921 788190965 560500553 19235603 921763227 948995549 175146955 727867099 115505645 685791885 504017571 30558647 641871783 706048809 427382997 913444877 89509295 43627685 618335081 287060375 137300851 838308279 801299573 489255501 562246631 788270559 152153105 720803703 427704461 17687143 802748765 752516253 157229673 289266527 204987785 695095959 997875979 425826461 395423937 899742847 477198727 762764995 915526979 151223481 378697595 251401275 693638225 489602547 83883025 380127793 521371957 708954145 644667123 968746913 588244031 196533631 684499801 409415241 259278797 773990801 807174913 926928819 831871295 282847265 668702515 461410349 642270719 579916359 60914107 22937041 975518849 929241437 509889007 738699647 361318717 320592905 568599473 945952223 116842935 407351607 192305249 675258977 628299127 364707609 117066739 281334335 488538899 31184941 36262875 365155703 574225699 950323767 163883543 529425873 217710919 959666499 133583917 137152991 511314223 397020325 393112109 963645945 470870919 34178041 920657835 66704703 306577167 293379621 883450053 178646169 548319619 672990805 950944549 567529911 745332915 774496507 956525813 293056017 985007983 371699927 873663981 441879017 576769167 968030697 553741389 381666629 449702905 303654015 448184279 341535479 733093271 986459695 48718557 805643669 158779991 295876819 374903605 755866755 784072505 80649103 694255931 828836583 209615417 229846481 723585239 967175855 408058215 551430731 607489655 19181465 727643603 344123389 958437393 863020063 635785367 680055591 88124963 35922061 220352981 730438745 105563315 581455859 173473207 89741669 686276175 941907751 805639537 549138023 528140049 744547275 70463547 676553925 183207825 910516553 767506009 455496745 391009787 160229837 136987667 679193481 490912505 749296467 844078783 588772895 894077635 972038299 723211701 12294259 136923673 767323177 591238487 838446415 248282431 202531155 28042767 317437639 574745859 586461997 611026257 246866233 105108923 536663961 403002517 198146117 151993929 640439871 52273759 279943645 85570319 105400721 495175993 22889265 825993469 444283331 685113013 35107775 654449799 295684569 787582573 913880651 432707761 732979355 461508355 831964129 733207547 920690583 606736673 714877143 387510133 209014311 321733755 200294341 780947897 633114731 403666121 190882965 916591583 208881227 710595791 823542637 729940627 687887479 766782295 243932103 541403391 771788137 472947251 955883355 163077597 856076381 474015037 418052401 654602343 489947745 557914967 669170321 574125927 535763265 818084715 298603027 818632745 997946007 299379053 191440017 461260677 271725761 195649877 286958639 435267799 610648555 406190119 697169243 520403207 599279363 670009069 493775305 658603907 165438145 288956345 89707891 518367553 820886695 551971493 742180257 809966015 363459579 803898067 357782493 488029701 986728655 283446637 353592571 314484637 545346809 262647463 606650391 981290403 717970205 649755321 623514519 490806703 105193887 341036263 397901861 837390061 870655411 978424955 759066039 214237447 539734607 830377927 680133769 612948279 859721011 614157093 447162399 840240441 372829673 606090231 819551301 27083345 703440577 251527593 348764687 1540179 921914321 34324649 275354843 259460239 62155771 318002551 300900683 300878057 67826665 236988305 999052875 868587715 970630407 384534147 323053587 50499085 226640529 409247967 5267227 181150781 672563845 174670143 268093737 741419345 883218605 56469317 96417353 334015183 870985623 563757211 683430353 198970055 638612381 783985141 996930395 182441167 522193887 411544589 207939019 729503489 309119301 707252387 727845967 388697865 958515073 458861955 173121369 809829139 992972295 518057343 506350505 458398931 844824859 954821489 175131455 950865035 59099331 906439995 268344939 225883135 784419795 565792455 804644543 795666813 34881759 787074825 307151895 342601949 671940935 583649531 201786775 757607035 205405751 56005277 744938157 702229569 345253277 995004923 799958029 695158937 518720307 678944295 348384947 335369083 458013045 44549691 593141475 678659941 246659249 422185561 314803497 228751453 760301041 116311211 562904921 741749491 389154323 484717669 504613775 509998909 381216437 578889921 654801713 894551511 661461309 293146111 309906409 264478951 64587743 948515435 806934191 623384351 190269585 560121687 918727355 449421489 273507861 498889757 929868947 51289183 737916145 535606047 96753411 819350125 571879031 746436297 908275231 105901995 225723325 23765131 241210949 740727403 236063909 584971231 912803607 627600785 297353433 640453963 33212547 313672063 432526021 881367893 608970171 655999269 529631397 384877969 888156733 110689017 243817337 45021081 411745487 624986619 782218757 70571535 734872185 642633389 971650527 448608671 317499283 389133857 226074715 527485433 854071991 860962029 517932955 81991383 991682505 786141741 731696009 328193789 781367543 102080135 232098001 21698357 390487989 284236589 770405359 925374801 869138877 210626771 275120673 483803949 466216471 321196725 440740975 606424487 963329037 83051423 736684715 838136747 40895025 59348697 647574639 613637423 787333989 281847101 3879445 814329895 116113351 448526375 892017099 172689305 856593865 267840129 508903041 287929489 166142747 267641781 975474411 76454173 735440827 769048763 399876237 983749465 748580587 645572369 97538733 608716903 349230139 281151423 189053277 839290227 835867263 405950545 712918133 197854893 894836943 206026207 77415061 960481871 985897875 405709829 773468709 19215775 435572087 395682281 178637397 78262755 247368813 538387261 591878685 376105839 662109363 913205557 270004029 563009181 509254093 257673103 85973313 628350159 371007879 744013201 953719923 216863601 718495991 626070281 347616497 300043507 12529015 701967695 106591641 83858897 26356139 420918337 230675217 93276555 326987393 750614339 383337165 204425133 623685675 674082375 989739011 959213771 235090217 763471039 317443251 883788667 603422011 957641387 727325351 59636065 664979569 673386899 268087919 675348009 754288669 376673155 812579937 757386883 758942683 820115985 645228959 844355883 711907983 442002783 528222483 490810337 149066599 6467855 224547945 62875249 40266967 288355663 586864413 510064557 470118299 374143449 737853293 584594033 243379639 225774825 996382051 678974107 800350581 697870917 858268621 918051865 379502189 581499965 489806663 932214747 259117691 836810405 412096813 937101533 897804993 301298141 110530729 720499999 30772395 351371209 523607979 956639917 136999663 62586073 77026285 733725851 893098121 127726341 912380909 754071039 706572221 31458503 74670579 894318333 243124503 995841577 421585681 536277441 613123693 963860919 73886751 643154811 495847895 961609095 60989117 774786407 205202109 727019579 813693523 164741061 726075595 714964981 294495505 706711779 467926259 62057317 205990639 610166287 749139061 456696511 660721327 63181477 306969553 149453509 772911319 543289609 746379733 661867453 900858553 269398945 527935639 564366449 550498157 954341349 259900529 90689339 70415059 317959497 770754823 612855545 463281297 720479317 166293575 803346961 602640667 165805455 689392997 662247791 568638631 615236747 242603995 918097803 572507191 480401637 574661233 560889189 732312721 172768571 790522417 849840001 416136007 812698683 971978093 571081965 246317999 67403157 556377287 604549695 424182253 274988293 190611997 851619993 557735909 281267533 654815649 448917149 547254347 877956917 139300547 186446715 65311637 285439633 324916031 133454825 710486275 471063357 985871901 619808549 70308255 876171799 764455079 745272821 12309815 89495565 940197745 619112873 146168679 218238735 482631001 509500181 419747467 373434137 494184065 644009369 596814029 818294573 798493525 742964249 892069149 552228435 617312141 894421511 19506229 777560223 267582753 474389589 192307603 774929965 265186135 613828741 732481665 893619227 657114043 743696283 117518093 287052183 976223009 461091109 535876369 949830867 32641703 777984569 420215085 939951621 274917551 210512505 634201545 781101685 982539239 186327815 197411349 532162921 791147587 86451603 971982091 882665271 518054909 613558099 223311465 386504245 761850525 609224709 194656183 110560201 346204651 788720367 320885063 850305371 61645055 186307041 947628337 191016285 406974259 179421231 941973077 252117067 384778027 42040761 344747355 679055271 903013335 662316517 379526579 562062585 347692901 224550559 211534997 929522389 421606487 59636577 658114561 168685527 704684143 733191717 356552643 825759645 711854519 612806773 944516199 495797717 661067143 759528543 492182085 287053617 468579195 888110965 676051585 858005609 984571509 540422619 888614399 973468991 250830753 105889587 204515443 603243905 300765557 425477037 718847827 685006845 489384109 406646527 565207775 176865681 317171021 289176423 376433441 740442651 443868065 925588653 237328617 757066121 600222525 132566299 875637967 698453709 289859071 567136909 527557169 496866015 429459721 290122077 299087929 927549377 284300233 608242545 494833369 700619649 531201265 902531387 652961735 108665133 760198015 60860591 855705987 910722531 282365881 137668169 569898583 47742403 636860455 191237651 558069073 857868023 509038751 282649243 411073867 513028273 339109183 56725491 915429349 790486573 170425707 129886911 804106375 588896173 943396557 995610401 796182883 551919993 363979353 496843209 690129517 314611943 506988367 150590189 499370601 428320589 349392431 822693197 188177375 630065425 636676041 852047659 299784221 927957659 163160623 782256985 596013629 474332509 740148157 933601835 132449311 774005459 414730777 241585281 47138155 669574015 460576557 383969985 33242769 782214635 899201583 71853529 769721801 871726503 509125275 550452285 243737621 798861905 845663539 882077935 406415419 769487497 904882439 582144627 923095501 376755961 164123241 738966489 93048355 541915475 464783863 83633587 495253341 814460243 532961683 832876837 747362659 199000507 198428009 436381393 345266403 270887253 79736049 433579495 628899931 281056241 79449571 863459615 689434885 425894765 807036741 643443635 449654253 254740649 176725603 79916651 140104419 856955023 182346193 376447639 466973055 811308817 535204461 990938893 563636255 514274347 367549017 177847593 838319341 502546655 358127107 178899923 623431899 470459447 360846111 892915319 943524511 493271619 947595687 455563279 440463801 770311969 667778273 16837655 344009587 462510577 834218075 426277781 766560221 480294365 358021349 451539991 937337037 275234583 126953375 77321397 260438757 999820765 18866413 237303565 131988623 696531307 376895865 689071171 404567287 841131793 637129017 69292553 30647065 144710431 154477671 684776849 527204531 94788077 258163851 707706011 732001615 872363745 744406895 823758447 258591035 801366371 490767399 265514713 923660945 381730279 307027983 335166255 222518321 753493221 875350989 480372561 966922435 875929569 598182987 540054181 351261111 149406821 735288255 81192217 78022215 247789313 86242469 49310755 968888433 304269395 179893441 430753217 952458237 210422267 533045791 35222393 372951933 482621859 605323795 955509081 948617545 875809791 762940475 784366841 319538817 572657607 157355897 346016887 48294413 237578431 527528699 878980983 372771229 864353455 268769587 909613611 928827049 245053549 200937183 95234629 766336883 770864337 101052931 554068485 296036865 482810301 683185389 194372403 982154021 686115611 787492141 189113883 323066743 377789407 666458787 356505237 214049365 593642753 258807409 781099261 439818475 690888325 892610053 882242875 186475815 774142579 589687827 739216829 981561025 309724129 741000597 503121529 732906553 578373607 870319315 890869739 46851033 369726119 567486037 951893535 737725105 782813771 660339187 370567581 600894359 145382919 303251399 31204479 71306287 26520851 602594103 386458979 24746973 70539699 740324845 223714415 510197459 123763761 757054687 821347919 252275979 411797981 398440265 887256379 159390533 81720341 464234415 75156979 425568261 769257273 797205213 118140089 446034593 681074613 171936487 145198689 541557805 322415351 949565993 349407547 689085579 872699519 149155401 422282793 802413411 513985739 107859761 278755217 579352359 741042277 484805657 535896161 775806987 855703779 389187705 723499279 93305619 613998045 869088535 672256153 653012231 690121717 985150207 128966023 966888309 207230933 290596485 482103011 895424439 158297905 686881351 132751687 749237741 869697473 513080359 873727953 205512703 257171017 996257363 774428455 613772445 64127379 481816637 294370421 559548481 357565297 309307813 906247285 733546023 265821117 739871115 166382689 93330781 988289881 714726205 787827971 242552751 763683119 932430161 642878375 598638775 799361843 152943777 884142885 73142483 35779933 543111507 528595673 292977199 273243825 703721425 271900587 503560633 258120761 369804751 819902217 400775721 32973831 916780365 236106217 321580801 903022133 841962893 649069513 125678471 726143461 871735321 171807151 687755725 29168705 415223753 380906283 804607401 289300349 575452087 6686545 687369151 898270163 965413449 789895105 436383859 894430851 239375403 676841889 494058745 22644441 3144015 361858717 654526535 24134949 777714163 90444271 155280925 924914117 399437209 868220753 728463365 381540377 44578321 283334157 266025039 748522893 439336047 631688687 312962321 666013841 800604683 266639439 118295341 795938207 147345805 476006155 337748301 692996155 985292769 23437703 934080221 576801775 577798457 56298931 48797465 380074317 880309779 225613061 708187647 671852271 437336115 205750139 310978393 786632311 116375975 37551259 209301429 259991441 708506559 733217909 698687341 725830379 569918491 120794269 496931233 197690693 299653021 83360051 800284985 253746269 303062387 92355549 889462759 9365503 169283601 999881415 652495647 648520445 901134385 91662763 525847845 263949361 980228571 686583493 439240703 655729533 243054935 192435163 806841473 158461643 301504573 343497019 439469887 560542479 297491559 739240125 122898329 494590787 237224699 264253117 438915259 912509287 832180579 926283555 391744659 471959431 402295381 290633309 941919451 99898549 926651085 4577377 444498447 628698123 32622861 747189167 74675837 365337515 867584933 296995401 984125231 649818561 705128039 272819905 379577603 368941949 965995377 173966123 350220695 409813529 815381539 291372071 71975505 901316057 477443119 997780955 602488165 108905223 880217733 430583029 415884489 699152629 40068195 237706153 977920319 650335997 900154445 522978489 831764813 112007555 737228559 181205609 79708741 345843437 772774591 231698311 582712125 125524145 386305461 761561195 163354135 461053513 728912281 505481715 198516349 305912373 130340439 123718787 389793499 431511297 202439459 498196747 775796077 557810239 345367415 666441729 593362227 6435209 448396313 89279075 685807857 712574337 178100759 233814201 546761277 647808723 308211137 670941711 318655595 662270255 150733239 169188091 378413981 357542479 637710301 689571997 673546685 230253817 633586781 465311643 45167479 628746227 825015467 180109603 229238599 798237969 421598343 119973865 580762731 527262765 803986161 525451567 582510059 279638569 672227129 84195257 77605785 931240945 216064497 941775063 315026703 136394101 544081397 740930909 732936359 475394735 267422059 616849065 113917583 605162149 611856573 70769573 788622263 408832605 108109729 383753659 718249683 873151467 207088659 784608227 980098919 803412329 104842583 789212059 834208441 34742265 281846521 576773099 556540635 171762375 373026765 986175583 792128933 653857283 716796145 471466509 135307703 533022697 943023815 84457621 142412665 930704313 268494843 855128861 34540059 962232511 316474501 930438995 695352469 792621901 884892317 385926765 596100775 783160253 78662601 188688937 547463133 653351795 76726229 55745485 726112897 896645077 499947989 913968423 878625457 734103385 455317287 842930575 485165899 146935417 350819951 870299363 404654837 267730615 646519957 504767623 960923939 432339867 527075283 464455275 221049611 320956345 976107681 503502855 70555821 41447339 846477511 876805973 603193811 485973267 118273101 428999135 906731277 591619485 532597899 276185521 514719921 176707065 997617435 239667809 423273441 57924835 852986595 529646607 303715207 9492507 542825741 625055329 259755855 608218479 617519631 849679237 640439477 874091949 767058595 400235825 793356791 960256945 729221329 325464483 293378847 265886557 267675363 20791969 632813307 323703453 703753837 151642747 865706023 204646497 990333771 773047557 660512767 315962789 187192483 552030877 756697517 520354921 200337889 605704493 129250593 426307771 747666359 707774751 189304341 309423529 349272867 749256811 286342919 800539215 440263785 5820817 579589695 68163791 498738709 118923925 665859279 296866645 764219387 458575365 637339023 619275537 965657145 937573367 319819295 6830911 161969201 362713867 378576359 671192609 763948945 79956839 744928535 881306623 885536587 913329081 890646951 410119725 459741341 193903159 475323993 278478853 843777035 686499231 658274739 998089707 256798819 815368759 319062791 855686215 274020277 772742351 630090605 928533131 29103713 775236027 212724421 825107507 298205195 274718683 559356085 37023679 960624285 257239955 239819185 520966587 188619595 554168789 33361903 875020731 619425173 550967059 260703345 435574613 7450685 212398159 794165245 571408687 161421901 821917707 228138021 80175087 674567197 479393627 592002623 576343373 255063623 962776783 192451695 43931389 572717745 769586059 437913753 430280647 354379653 334151729 26678129 493430385 919648313 294828527 536964461 534481617 893061769 424896895 373411277 844005565 109714297 891506717 403191195 459984665 975452757 835355793 98046117 938293457 259277233 510921253 405403783 313958871 216679017 474709429 271678877 597470241 998256803 957999769 529928721 631138999 329773259 87439293 908970707 864281247 720338579 67506827 418211485 899191279 260880889 149836285 402907885 789134525 932643905 936835469 642753293 875060783 517710585 889700421 434658571 414359405 205685489 726897587 477245633 688795817 369342281 779924713 314284239 857877535 469856355 10285963 699600285 19317007 565029101 342223035 110515291 933241543 155375833 884764201 20262915 576973205 513090663 461064971 494335571 401684437 159048983 910472479 29108435 240616683 491331769 390878123 339685333 359061567 56435293 705066111 159028081 755314755 770719075 686706927 712917127 919605619 675337839 458257627 139515839 804847953 284001899 858436521 388592265 231534949 624290701 523566405 366598173 151216709 906016849 200816425 835676283 331647623 577055865 115537743 356366703 247903185 767367189 131200321 622277509 67099083 730301559 339525387 894001429 635270951 505185083 338380869 50618179 968422561 468331335 536222989 152223475 30781435 991397317 307644679 923769305 158272253 19037485 123736675 838519659 926402683 566070327 258191575 15366635 72381777 614303465 892270753 872798045 318804319 423120271 302951815 85361303 369440911 124923325 731135961 249002031 805592019 184815951 738641261 799478147 981815847 380764013 479817375 278955965 971774349 975134077 908199253 351669967 606912013 85099065 643928065 164192879 67744445 561976985 213486229 259057949 212403379 845025507 578831251 931356451 879405077 944403875 833441023 17180047 138663179 766850735 858006887 141220155 911687367 120764961 75924707 192253383 350180997 956717405 321378833 152618651 858394247 670662673 294490389 314148841 904145173 887145777 651107999 521278373 717614981 754074615 271192293 208459923 207825709 494120171 767335589 333805371 834516595 516050133 676986407 55512299 103697855 194357197 572581943 919124669 24312453 856153645 449696555 590525073 597426237 432734619 76075491 274574863 245584235 921080833 70761669 788421031 253473943 970070165 73891517 178283921 643781975 43399379 191760965 897778383 518435137 291032959 604194905 582339623 420015355 142826917 392213375 631012139 223502637 767154585 634877125 480777011 422752137 528481783 796807875 294824543 221194189 964111013 575557783 390403735 476644021 35053519 719525605 92604553 575567633 177471719 566010077 705650355 745699503 141416875 425561397 249023055 427443565 268174623 877445421 296013417 389045291 799242383 482242439 973019857 991440851 378817681 219048341 444246815 891736151 209711103 392724013 684721585 844620213 402842877 767677611 503794355 611503337 275886585 946270709 451071249 732808451 210706597 104763773 89546631 663579155 410281215 715031607 244615571 967569457 772697677 895858081 399097471 801979523 751418903 52439233 28357723 891179057 318951733 266316069 135145725 773095279 881472705 592874469 630047495 155082869 205118239 820387999 33270499 501725831 59264765 479423095 441067965 827914477 717619791 808857373 921867409 254555645 630440785 857735625 798385949 951672847 304078215 66787381 328399083 874859651 598443707 231943083 810928713 407605961 52781573 560379383 666664785 146072397 794464449 892802671 167578339 487115917 280680847 7496947 889349543 757059083 720723297 112554729 919931149 527901521 231534183 414222911 401323599 531370223 83143967 89481323 588643179 508084611 667485005 274837353 481941545 438857901 601155325 819366597 848956699 415565335 44155267 42064007 340186265 756349045 851598459 206110793 95139779 800322687 67252427 414552105 134723457 671582713 85174687 65040843 707929475 355793581 460052843 21327713 797937985 817961835 305994473 305644701 181343485 971423505 941254175 371106751 986092733 7749503 34143577 14973583 125757779 521274527 786417709 974227289 440897879 696800101 689000565 329537013 636239911 103507145 170788693 486831807 856560367 261673679 724898875 215300511 279256989 242655617 544622553 894934785 852150761 170518511 957311279 46272735 339503699 918369079 149664893 700710837 566360357 737818489 107483219 797905801 626396527 448044767 604326019 875579627 692631559 356721309 540638505 797009903 155916433 591369195 212717995 201647413 686867569 428375821 867720115 739852001 552442331 397188173 637659191 877547941 818086595 640635133 661174899 858112947 660101615 958175351 799260393 570938317 739648993 456166173 375973481 646310453 276332015 329497945 672872709 527695805 640399661 833223839 436813083 426953403 45289853 559154279 697380941 38450187 689856135 528947509 95188615 948538389 901916349 791482771 514049791 579036615 463757907 956687121 500885809 216451479 821999181 688877901 963814369 261141123 849861491 769472743 750362651 395160337 411871571 646057611 933680181 76655185 825948487 979877863 969370311 376411351 194276719 330240699 658311611 540998083 217054131 757376965 160379191 91401657 550406339 249649615 538142389 543047147 725354777 628207279 224987117 678034699 252081649 586336317 980320231 359223899 128488537 422805339 148834283 706871455 365990941 215666931 930942097 119618853 251634903 326701305 682112179 215022277 501341413 347645799 59259509 316701403 534348915 746055997 168440901 564809807 46921327 151718791 613898199 844567695 584818577 846292565 628905767 856246929 103820635 31856581 461654903 612752851 837776659 258636535 87003223 359389531 199997643 553282839 457570457 298762937 844302937 242395219 123444569 554902785 422411873 565018347 428420349 979616211 614722887 607645213 631504431 730381397 321383487 714187573 642399973 986979379 187536959 848303237 454576475 520692391 773670151 582060135 806673685 654422379 906189345 254190653 768706015 165149641 539748317 420515185 643308749 828047245 210846801 450292343 386531133 659442703 141093983 218457543 588182993 948832555 426645681 174884069 190077301 67773001 12870323 323020123 912195681 170008921 598175137 737816507 819397389 132181453 20334969 523176095 938375999 63159205 667534853 963717545 517216003 640876647 235896787 942874245 777735599 783762467 980345149 373474275 395150045 95164013 608993123 573343869 721401201 651790181 636431661 883675159 638712473 824897713 852971085 884722811 296484551 953570941 195881527 210302075 54363835 765456003 247957807 844436721 226190965 349911293 628094781 722770367 426729541 476428213 580938031 42805457 870820797 643349241 650002335 159314199 312180409 351679131 764130283 809749899 240958557 523624191 526617919 872188977 207212055 560577031 25042313 798367507 535894171 150919203 14915715 942809411 637718245 650200905 268661929 651664347 355810617 979588087 355494985 599960829 541409315 653824565 109274221 895587029 746176375 597920911 518455283 755233939 523847505 431172379 514024057 39518577 665007895 189392505 59298149 644915125 265721459 466034383 457186027 438334373 141318237 139663049 246533377 18031765 869165069 925950625 606826601 727588831 327677961 815116563 335325097 175221221 357127453 835638373 544898579 101155089 998740317 318266213 51121341 373438167 169951527 590987883 541028745 529436849 37306909 963865171 774299681 390800159 636059181 397178247 920295665 975704749 108734601 794082545 721206837 255866605 414543535 84571913 866627309 529343865 250617701 930273485 821732829 678341365 953194419 145374405 820494491 451537927 912058353 526807037 202482299 94228581 388435129 980425483 306504607 679150025 62779887 53952783 310784497 147742451 86815681 723652783 214354973 277981871 424028067 618401049 919104159 257540303 341018959 551326465 30286005 428209965 46863309 474970025 441871719 386404011 20771943 115667925 755759241 782993973 592824241 127239381 792595375 74666427 963991175 474594171 637122875 44265273 755924237 447472939 256337237 380165039 85761971 83610311 562957549 715420713 465384489 626648001 293528763 605501113 719882349 131253515 854850113 584481145 438494659 245837349 546939077 525213069 757493173 397249047 866507865 431022107 567587101 943422573 800138453 689368921 283419921 971670589 127938265 445933441 578497529 36012839 230149325 524337107 563421313 722393169 741478881 159277467 958230171 298187625 81328397 389911853 493922949 456790435 279783953 318875359 920937923 992590017 837711993 305752597 193236515 359453191 431974031 394923579 132424885 469080901 325843057 930204097 945960153 187588559 809147133 281388321 477788465 985176453 530262233 6138337 986052267 567880651 930750329 75575175 577696123 796231825 374162963 516109479 178756635 386840909 235051175 179320795 480043089 649074175 735786239 555367623 395395115 386107435 675702699 873265425 333490939 438874079 708683009 756195185 656268893 439565489 929099299 644691611 532898101 305789121 366494715 585422935 329215665 866531765 105553461 305207403 154841925 243943355 863523405 601999275 290006957 273288329 525936257 958653169 775579117 388346461 237183195 32621089 456887887 999698173 811762729 825570081 669513323 976113847 758667527 713135847 154439709 314262371 780724433 258220141 783902855 203943775 820110001 883265461 231210773 850792081 549643927 58287815 848853629 322888037 37641789 785958071 876814779 498994643 234074145 483004063 956840211 524997211 65442955 710786723 39191825 984300799 965317261 240193259 153681803 134595665 681110271 814415017 710967449 241314919 264623489 811556631 437944227 254190557 464832891 788702331 176637525 216355547 421102365 23866139 621740449 477722639 297411679 64419915 66511047 328223151 571258371 351100263 259219015 830551673 973573263 193009357 980413679 770069683 358654293 434803947 662434005 125881133 732425581 501056817 505995859 929172027 36956855 554326811 889424141 677280445 904401113 923600169 397660913 846810903 979922503 873759209 791359283 457407547 824573239 9401065 327878991 469625499 739625131 70340037 996669447 183621431 918230889 332673313 158896747 959320727 903919363 284211109 811448013 141302215 72094927 320700675 274025417 949790047 60485361 84319479 34548547 474190971 88958285 650495041 420324203 12505539 893039767 700991919 236751281 738040421 77572933 325118735 498194899 288528151 967455895 337825341 170330323 376711447 143524759 121892893 301362689 86710061 777235987 663323543 781658607 350285475 798402471 558028957 54062459 245886547 532538031 850832683 21275335 84696475 448565077 918287425 696453183 594748257 251924105 817089261 160274331 624764689 278921989 577566525 555971795 851400101 777301575 924266317 969582381 847711895 780325785 830400065 646448181 267058929 870733065 671076673 445647041 590688831 701872753 807067775 592080361 593892249 767439985 322733111 175768087 799791771 100250993 857003435 386190833 195182189 626324129 588532259 604476273 653514941 610331899 379344371 506407631 537041601 92313149 677502839 991694739 534019641 974371823 504170509 13169029 336359015 508257891 845321507 915259325 287559965 630618545 496173355 693153685 790630319 383915193 231479965 901199793 72574461 372277283 897987835 412017409 588058475 522051423 43017683 681532339 593509355 922469285 799546803 4385865 161505007 424799991 504937783 482559621 325632121 114675995 23858179 673564787 948826637 28183715 888082367 896066919 324580281 153400293 224111389 704372477 7814421 908229125 819637465 753949723 397973565 100679655 214671541 142756331 462958299 327158079 607385209 571599075 229821721 278666627 748663035 971450815 277746863 952434421 167063313 55895171 949394907 719384987 744126625 331671931 258753635 736231493 628274067 905372731 832043159 314838415 724347609 735308961 479171659 208625365 883828591 193551311 575430111 45077313 433937239 315926835 874941241 287353029 83891353 4423551 455364807 712878871 110067275 598747569 331562109 247655607 280982403 895703567 871324893 367713775 222471271 685519137 776202219 679309773 647543583 938208445 438237237 208094507 189963999 350927105 13721555 442256297 711710943 216922961 978490209 431362223 268806497 811240791 676617993 832118895 307683507 443591687 853392245 655902429 643438115 651573409 732277981 121552573 812323599 932853669 790993407 752735383 197200853 527842787 257963811 491657145 812720869 313551725 446401811 861751101 139420587 794174623 670848555 297700099 768204709 29637407 736145221 71034547 817614677 303595223 730302665 511851709 771135299 920076029 348403107 414933849 444973829 904358669 937272909 74870153 679860273 838431177 104545219 455421971 277095789 876928577 967294091 53315721 24290145 730187975 338281907 100815939 291355073 737019385 719797715 681569121 810212421 810932665 535119881 814400971 216898993 287853619 277708025 431544367 536855757 657562847 110105555 554599691 982479215 826044789 493431629 83765145 917813101 622437115 18255013 156215525 829898669 356612285 811018403 469715647 694613783 535043407 399425683 273933503 838284703 52924815 988147531 203273539 371002173 533837215 407097387 306271863 482306293 849330157 754970137 421135175 956302799 594463277 344139395 150218863 706211297 61492313 560968287 776314221 909567809 444256183 922055465 28242315 590632213 398536661 490812909 280031961 798902405 817323395 124210739 24898349 683269573 999039969 653486869 287645481 629668109 540035923 155318833 401770295 509169057 750948483 310312107 287196803 4020939 320777063 696483379 69416457 983662811 591076409 874428415 281534855 999206959 112826497 652836815 892531335 870664231 360942601 790053093 64980311 964461613 656644581 299408659 280188945 315599539 387577201 424956335 533173141 432108599 269616979 369879189 712033931 353604661 831937141 488288557 731113059 59519549 7156493 391865701 161234007 247890143 250371479 799207089 485459045 737278131 687112663 657979667 427459669 67496799 531743193 644641807 216756921 467435149 408205553 20234165 128934889 242389739 539931325 40576921 93985029 531388215 488249887 202901979 49262837 585917235 715936325 409686559 834863977 8301737 754848161 571006613 243044313 925384299 57565425 460369653 159439495 881302865 494794809 58584441 484526457 810566465 567002055 672104427 865634177 837558307 930717995 503662231 582379831 208055531 224848453 111028563 847051769 458972817 894302775 486614657 242668787 99254041 639959663 355466753 888824339 864074381 683537825 786641991 696714513 563310591 266726601 667502407 946863213 491801735 145819689 533718911 239671409 234811979 804656721 838376693 602586157 841963381 541077777 143641145 962442871 904305971 84988041 536525663 145071859 163106501 726847005 206911751 143331589 552498281 21795703 815884117 353891553 380145769 361745293 583012601 244638331 806468635 963690907 926928939 580948633 911715031 307955749 133250469 427708349 413910271 171189239 989912497 472161597 207424765 401964325 567543579 521363501 741276741 435273739 610030651 22837359 583573071 854255183 20332525 820087723 840275359 559217117 712565401 641969747 32612031 473440743 730678061 567874715 106666817 338361835 976696351 901585287 943768253 511236269 200370285 363750879 243979737 857213241 10990237 886141745 410119487 617216995 567862719 260529367 825996447 727732041 866170471 210441969 168330675 70669133 11159989 234774375 506606911 885985821 731165773 849139433 321105421 969154347 85291361 651026417 176912367 292647991 984685987 863135675 218869949 295303233 367307349 897473365 18408797 604083865 63246905 268725387 803150521 331111375 838976163 820368631 533449409 191062211 531250787 710548215 246428527 173434777 146021085 998813879 852166087 264896699 992675571 303820069 841471699 634063837 474724885 642625273 943032485 50525951 626219833 342166965 214696277 912739 157278173 934980255 529704971 308069523 224465159 438378953 147759595 839685991 680771143 199761673 976447787 215021819 555054257 629601027 787775491 732012975 548617701 266603547 470561207 69938741 323699463 859748229 685934481 346670717 264383945 966801975 438055907 677374149 574744925 133202417 593962759 809712271 497832837 183959101 775990879 328050091 398495109 863157099 992134997 342330669 885151531 813752209 674335837 610057325 859897295 988303761 694716401 254905363 819646797 563515413 224810897 780950283 759944461 446265481 98794697 728228231 897532157 383741481 391083051 230881285 705082003 768503539 340500561 754779211 644266445 82602673 691951837 939058273 3130419 201333745 368668537 705425309 427612625 174682381 96051929 822983581 480882237 669436197 370768309 587663683 377808791 258057505 102427603 95765949 25607043 341095603 412302585 260712319 549208627 95327567 664287737 217115459 615123291 13377849 261447089 29758225 634838327 777970809 175019011 20804401 779726737 619100125 398708949 759561019 905406133 729983487 196278045 673844489 877331579 899605565 674434003 939997633 441077569 161802691 812840701 73727693 118201579 409095807 425733793 587674339 176922089 992379947 460960723 575388415 660375089 254807363 239926701 301011299 41226817 853955093 796116049 380437663 913118753 610481069 295330281 724528773 429185117 592400099 569524649 992821043 351438091 618293083 345458379 183480841 457199819 210657913 774147471 550330553 255252419 815225457 291285057 400777779 853993631 139350841 202702899 231966133 625398681 437835155 708889791 74881987 795537261 667253765 487192135 262439721 119636577 174327777 467641655 338721789 90407747 638103101 195388159 839459991 21936235 957479675 510299929 130830495 193418933 173246917 467402249 748038657 862275211 233171209 549362265 460478449 890778839 554257149 307202459 944227817 438665745 73367207 254844779 721522351 370135863 469451465 802739303 388737361 976130769 303734521 448240443 32839711 354313193 538525323 33714587 615924665 648917787 152425377 738372929 890852867 382107521 344229925 795156205 471897895 927409091 501076163 788179819 204163225 858248461 512269815 674676365 737772057 882275865 895273727 39244845 701451945 423550499 910812899 322902319 880786835 260160497 604110199 432575609 567885167 804836049 574938703 850310145 758666519 30506395 870664653 926570945 39269041 244657581 222560281 635816633 451879079 908944875 307395107 988810741 355526831 747487173 515791011 77557639 517366981 337825331 189652763 833373579 517969453 692868783 620629713 789353759 859495027 616781377 803683287 978329969 179629163 840081017 792919557 80577713 430447411 387481709 351743995 256092953 312310573 628518841 12884513 490509807 816001285 143296901 345292711 293239929 482734259 816417663 407011205 105203979 874957935 27045083 218722685 869998079 237172671 198560091 115054357 898268343 236523631 671550019 889205405 266385567 168405909 46335843 537640497 345465383 881511561 568034319 627763375 587335627 379530229 755259941 795204797 431555339 983445695 527472911 412464079 490119539 988624161 806538935 658560795 914561429 440295317 636814485 141258401 268119053 967039965 655392937 24621099 81597561 444990471 394813045 226591817 207258759 491920233 642261515 615248209 326266087 564610973 914757889 153632359 146472019 635926409 722483059 798208111 364251793 569719895 921907977 253996315 292303719 887904381 460038129 138379237 334541225 350292151 358841823 937814795 743918641 278034183 988793621 740870295 516064483 569423805 115295577 898469719 483919783 994066027 145478901 711550951 780122479 22847213 977998275 615420835 558480181 525524585 103029281 405009845 507158783 856768587 539473395 299438093 124215507 758191429 218896811 106905701 536230341 519198805 875654459 79878459 577243377 464925631 775889699 407647959 381668469 908644879 615917419 204758091 697391743 880241945 275026079 531420783 523280447 845915899 113485527 452161251 766930673 663114007 979588271 378281231 136250581 549282075 710174287 99495715 907975735 316248569 97841253 892457239 378627691 685844719 961862439 816067501 840184007 134327427 550986067 676183915 719162287 513662333 443855151 397343651 890163599 335146995 178640779 966196589 749092823 707691587 944398523 712401065 866057731 616096273 61535645 817791229 653007509 145390919 890219163 502406877 729914901 450365723 266844319 421114495 486794775 626573575 747659299 129606373 265916983 735878611 646397985 494546645 590915347 401979527 331183395 484046817 902671705 406036347 74008117 6789983 349035705 113364297 381112815 279531379 788225263 950906839 468258157 451811329 827238589 303109967 944349527 87624125 558650091 365443879 424519387 769470237 319193933 361265947 829567151 925996897 95570365 913558063 389473297 234510227 27881759 973746607 761008583 122078593 483634779 83921967 497131297 828860615 713080163 47159947 71214835 955523009 248702515 430954217 549517469 67100313 817858509 790691765 328753413 105967167 721451833 935062177 607805847 314575725 146422923 157166507 407407947 10694049 456546783 255013399 742468001 341191205 639692883 997996915 348946333 930600711 939109141 354647183 793836237 454637601 628592725 15950475 80599625 495222803 472293967 342326729 7425453 941901637 975518789 360777463 259803169 671059687 951046015 979117063 355367763 689842163 535531091 183248697 623119481 444595751 512775447 580497421 69302097 778715403 112396081 119177299 111894307 225401585 333201929 900147995 287689145 141480945 50581009 152228805 733349487 384578283 407475141 565202165 874701599 512149639 150820517 454603669 909019439 539813429 651985471 142559195 350347921 840358189 82607393 134102595 754966199 465366385 949714409 165527183 795636131 111895751 318103605 190185167 865459929 232927681 295907251 682222677 791702119 380578485 533289237 895855293 981295077 649875655 354493715 477438701 359137647 106078427 89892719 955298321 181944493 95644325 38717431 14251675 92360653 750720411 663887737 836985161 591619205 189727231 684411091 238041119 95173909 308624855 152268771 251341673 145045311 522460659 893319831 478986939 474639189 606969071 187225569 93132787 596719915 588650023 407576249 765662259 731476769 470610117 431068449 818897639 551242525 116018875 592100135 146412231 818643851 622980543 710075865 563284171 213289061 675485265 123320917 112454457 731733543 164453563 935908537 494301853 633401047 360854027 715643699 831394509 375734531 697795867 163209973 544760291 829357251 710590859 973688119 991094595 328659123 826538179 369823293 711037595 916913403 827085557 425541199 253924575 957905995 961201685 478538947 495750473 875287253 525294823 100438767 546111073 923294041 744007155 428848953 858426609 752098845 276377735 100231689 52135179 958574577 823034813 187285713 271839505 159790379 243393909 826650381 797768353 52723879 944799063 257436479 386686379 390303947 831776723 882219505 701972835 961099913 359541025 333653683 240032069 740957269 595860547 454804771 321680917 204267307 715185665 424754655 16668383 906203541 590311399 565507479 837405175 306129057 982911827 666602487 121068025 847995619 607248995 273073853 269247179 864573305 600557823 415672491 697737369 152196365 294332885 683077769 16002261 204499145 848015715 542659117 133125437 163251045 645113571 620947823 85979861 310632991 102116705 914117423 481424617 678618047 873222317 5653595 338182671 807187857 939084383 823651045 767410977 154047595 402172629 447835333 98564163 921011117 619353659 552560383 141447651 728225341 198016893 981424285 30703539 311877513 590207319 364970415 444260273 240803461 30251335 692659283 851914019 81374387 616343191 8010665 679027089 915087127 197273431 896462555 212189651 757557569 372119389 790983195 333469955 128908869 538707787 390520741 922966405 200174017 872918411 59443387 177793033 507429087 698344265 993293479 637082237 746048841 840050561 338550201 602010403 696355895 182844401 425627215 816211325 115542377 172667427 292110281 358981461 505464353 359292517 196563857 674966467 408362033 261904081 698131995 64316963 464233711 356923975 89616863 874680085 788313143 724224367 88108129 270199691 844709745 853240249 510314793 574717365 741182089 217421919 767237325 586210833 273162489 938450783 723325925 402211427 320865469 859362433 679921171 964930231 831466843 675700311 855773953 331913313 607290083 116539193 104094561 127970557 192779497 717065799 469463537 415211379 13819787 223372905 425718383 720531177 633611379 484864335 849760421 517480921 395672011 35829873 678393193 886595835 95781707 933044241 775217555 238152789 831136051 123516469 718596357 64093235 457563973 824753071 814852009 697557035 107218389 700437783 413864561 946441751 508971699 569556939 565225563 275975963 806309441 52198647 81425765 961104549 156608613 760024201 389389721 605474153 264916877 659343929 262028813 652469345 54432175 280316551 715598297 408183253 746740041 942201789 429225759 592588365 507316833 21410027 115834889 150222241 466894215 906492647 373292491 511716843 148740815 14635349 669513117 944912017 809559255 810536345 292083651 838906685 936282569 981472231 555773575 39341285 271307343 818234419 825438521 431422661 905461923 88960835 911543095 271866207 671216511 166600089 344182497 959159683 895999789 120785547 69611681 770985283 699095673 122311469 713689067 782193405 281502651 791016801 905368631 313648723 489307599 33127631 310702601 697615153 589509405 939361257 610423275 315732173 47494291 746868451 663480687 220476067 778333863 751883969 80018991 815494519 891978839 534390347 727350989 523706967 275786281 319686415 626580979 816864659 943243565 740520551 967259989 950461387 717038583 417757811 246357675 775142113 437223845 310194459 329936569 983276291 854605537 852284175 327465545 459752355 820502229 119410377 563982125 23689343 102251067 239318917 177814847 721106589 435393613 873168977 51664737 251784517 298496469 13917433 966341245 529648911 930679839 338218263 362106503 921079509 380497923 283129609 437243767 642772667 670627549 110300923 139758161 65116463 568145813 767818715 108496415 478571493 530826137 688161377 16668915 84410585 655762399 740862991 547893479 937720653 969103845 732898347 599273757 498642129 222132915 488655559 754756287 510558263 738619859 167077817 96814593 694960795 98049633 314925477 763682075 356435043 284146167 958166255 524275027 169945145 21721019 35374795 262241261 67203603 746670943 778181167 559789889 892116013 914616341 260201691 190148007 429776395 817056671 789397081 678760065 349174649 760550209 473256697 957816635 319077259 907742921 269535953 675647045 269264799 220740495 98573507 25346585 811257431 958542191 996317049 666346043 695259295 687471569 773016671 789796405 229934255 974967971 495361201 488603801 933178111 48026971 803667053 25245697 229849941 731046391 327045469 725748751 569781693 753255423 825604623 164982381 416462733 442291069 972795613 954174415 342357599 362832397 840017639 883507951 953555735 34486729 156875029 175270797 573912803 175942743 145378073 551584629 647450677 905226729 992975463 421035897 820335053 997167665 225358659 567649907 576959915 825289073 622074805 558400069 226715167 454381933 544297611 825160409 154440891 58439795 402142303 943546659 884091739 543292507 362975375 583763485 171930403 931895681 858776647 603222983 764077443 171613647 947976053 404535341 396797737 39351215 9365971 308663905 312818967 123749145 128266205 519963517 196466063 699904139 334894561 591612323 719279389 380233739 13693163 650500351 200195989 358240809 756800979 285503167 957370643 945218811 219787325 785095715 410852605 801587485 241938319 779338601 96280317 250934453 513337335 860445917 289269259 436822645 841032561 639623633 373522783 566911121 227909821 383573407 22284671 544195013 734600801 159678633 699790135 190319195 636155311 499545947 204492955 803494689 152864701 198236965 941627913 916625003 111678063 63569281 11877667 144689431 834349929 979348725 74014167 837169037 828007199 658215431 731069271 973614267 275320773 60617803 902580001 982178585 342953569 55119195 165250555 999808417 438991287 519607257 394210541 315862235 336534359 313726065 215502927 909894615 467110555 879989459 33817275 400253739 338255779 388563641 547946005 716467187 996235353 758336745 128714891 647530709 837578089 627414057 440255377 457388291 501134159 720526925 183508705 218040625 908588873 75274031 572955011 394795165 581834335 356660145 902936769 78832141 95885413 389483199 358089007 35004623 834014959 636021833 750289833 896084923 425993823 357109833 224405077 594073135 616384733 809721797 72683933 20700943 814983001 958905283 596610359 677302731 379384971 701385815 903339807 343229785 979198453 587077019 922792601 406699321 891534045 477023921 482270001 699506797 564402005 986039493 457627067 818549895 186183477 101102599 721245011 237949597 522265373 912369843 34772063 769726539 296879989 400001033 351053195 153082553 233483117 936747861 21103305 267923859 919540221 603353833 294136919 708378131 549820135 974578463 467693497 225203701 837310897 111503707 423086269 179281023 265522349 175409411 339352179 469951361 601623025 557511309 958511675 516874319 388701281 745792115 388052151 451670727 779179681 616710197 276561621 542922835 875526181 570681697 33187529 70569693 523846179 23893125 860550925 938032605 888423067 449383485 291033959 917858129 69730647 229142059 266031077 494124225 758746343 401076731 831231449 382459961 805895073 546503261 851843807 519932241 378246825 976427021 507635163 372930085 739867363 611246283 283645435 221428829 616243201 67707491 822181299 206330405 697083261 182790057 198990783 893782327 31215509 830002547 533195299 881048015 375852627 83159461 806718763 650345395 695773317 77610027 274193003 408640819 848112839 378232821 558443967 752116259 759019125 772115455 429515341 214896867 204686009 679896649 298782079 705484631 12900227 974054111 323879435 66510319 11505293 334168789 789330157 848268451 779283541 799670081 283723369 414830573 251426083 230224967 331128075 328167383 799549961 281007123 614489769 121681645 223155167 210523093 185153371 803774791 337650757 210798793 886568585 236662657 65888419 535900463 826761695 626781635 137484073 196641621 249920593 927381179 883759055 448752265 33111321 616130207 487359831 595316775 939555005 6084651 553539655 158624403 923300361 523526571 43037681 967483957 293867795 365374951 568751981 450335359 171950133 784675641 827448987 890544365 890681619 566937727 517359905 267848191 221615003 415175711 426476403 645492289 818906369 509470469 122845639 835871047 663537857 638523819 30336287 663403175 648835485 831931659 162308673 480487685 509702821 356453295 69339327 661693709 883662891 914328739 586740719 452599407 632920267 671240831 50510837 718552807 817099371 84666975 927807157 546352951 812935989 590054635 252229859 705310247 621849759 143085393 764279541 307205003 353412197 725091399 110552107 190998335 896328585 183590667 978199951 334898721 274493275 60559459 486183663 959051551 382909037 431001503 889894887 611033641 497509277 318494611 524028115 86129979 394494221 818515871 459650013 938288471 974965033 11654311 444017141 768551301 203551145 956699677 31128021 308273627 607496325 47214323 696749307 482328175 787565827 187945131 179678897 131780709 176326319 526921 409569029 160614121 52505183 419373915 142213585 118465581 15412011 869675769 204135349 674531945 629645181 480685759 662037785 724483295 214635003 82935253 461392173 354176733 760227999 63565801 104905451 991799473 109239713 279771697 978534929 726962871 827063433 815307371 310025255 27308627 265089311 134925277 248766335 607585517 203842171 41278551 839472689 465592055 15315959 337919277 282210077 308475117 939099705 725694527 258447083 566784593 630518827 280184051 271077643 473791659 870633985 889919797 228205237 268745359 993966651 555229823 347069419 927135897 498945179 966748877 948058227 714221673 915172653 449790885 426819295 567481257 723207493 227965205 676697989 872574731 328450687 523575477 146866569 285638475 172381633 132533921 429048783 272412713 439292469 356127873 840900619 770599795 181638225 658954371 896822707 492700663 832853201 556311645 319402761 318243475 756836281 253793869 433088531 20752677 263948117 553112091 647915425 173631899 451584825 48975891 967739983 576917735 401044291 908315659 243520889 108431361 584872085 793949795 189478473 721347309 106844829 680390913 591551665 182015411 229722637 413512273 669813351 531119463 319192547 118147661 677943787 985514277 994350693 987220847 676348807 698815245 834016283 841665 356676681 835891529 826550493 441996241 175778571 296076555 696784579 473035187 673633645 953313679 549480759 539958789 634926809 352283927 964231649 301903599 964948347 971051499 538751925 367504671 773806413 728992097 711526387 401398475 176650513 861505743 385241883 663295155 744353103 222115995 164491773 26062105 787384661 140090157 231946923 953519311 40324157 715405817 135431553 948684841 435101671 22624375 149587493 336096263 625308667 709193513 77575809 479504079 128166121 400982173 259476427 387758959 901900009 949069921 18579327 155755611 889607421 594945555 344408673 194817173 872172013 527027283 480565115 679103649 881538375 444636619 343305511 636515727 488548963 49296941 779701755 826093555 802467685 163644725 663529951 947124459 210460723 197526437 194520829 623492383 32320381 302438471 698455757 108328383 267204027 917250795 924758279 231714173 486062125 790474607 814706353 17415577 836796893 89097395 54540567 227097307 836635803 254188449 304563405 982129805 652946943 970204715 884903601 548672907 435644519 951066701 264224485 485023535 977547775 259870473 44397527 639450209 685343667 469672809 526407995 468692109 223991359 923266429 392064779 864274605 770922275 293579107 183207053 641169981 128308643 412638779 77242703 370295363 695006677 425503023 213304353 958942287 472903053 770882675 430053411 529152373 970120047 275930175 244218809 862704467 183686623 842944469 724869005 106016529 942394895 539191427 507203477 500227167 660778233 504717977 48999437 994570351 159862363 160973423 854559351 513770241 926114239 580568427 809058979 574459741 921832819 769178357 899460515 360757071 870246801 400976257 931289299 953306669 307675897 748665735 777690329 602322393 754777171 254456459 382923935 230617523 226091279 355892759 147292763 276599215 78855271 486413499 900040841 794928961 397564505 547517205 446533869 635403879 197812909 141123781 498660755 718336167 886414325 636330869 458755023 350558223 302619785 300533209 684664127 517405753 306008457 677009065 22869189 89806653 747738589 336636329 939284367 227312327 329855285 668818083 564518415 945493761 348118793 127808615 514479875 38701475 274184603 757051347 596591729 751527661 935754993 448595143 136918177 552572065 805953501 812909869 642426665 114695441 448510711 106984441 706088935 750461459 817275805 157507107 324228093 121077251 748242683 196564399 910104281 371051721 6479103 869078695 287286063 170412755 114326881 750153243 978145275 466542615 74232993 716237097 675062143 535714067 848855305 581054961 635056203 119119821 818880937 472138909 820938799 557471443 910366039 937883745 524896589 54176317 920338871 287528565 86834435 177663145 455579693 128419613 613745409 678022717 801597677 988105379 471951419 755352997 755888107 613684825 420000749 315021081 162260461 636414871 451892891 924015449 204149621 538610371 507154193 530729129 890362841 790432327 892223331 887275479 31292461 708024209 904752109 243335993 357323347 654785057 856797781 884315057 366940147 913541749 408566407 17146785 192136575 30648087 284126133 894683129 300599083 966890909 534491485 464753965 972584443 798979999 419963459 336974399 222134455 353939391 949773171 369262005 513838317 252662439 796160321 950194329 406247927 562808331 78295115 154604421 477537781 477039011 796719731 91816855 904900815 993076787 783094247 622605685 501125429 506607749 625546267 136472139 872064417 980941931 998800073 947041491 122532177 246480319 704082167 177019463 118393677 979006819 33049587 24993649 254663015 633839681 513200205 104468893 558038839 165238349 45047013 840115619 663759643 625207167 155118559 57087711 362028863 217268445 452220837 64634425 393758865 973143915 384597997 293716255 826354633 990873409 384170161 183266951 285562473 8183415 860642105 615071215 445598647 886118959 672755981 816529503 855686597 666243475 590006533 85025633 811262057 987693783 707524669 463704591 783860295 801345077 131743509 204531719 495672771 758668525 726659647 30519919 64933393 605670475 883900843 557410547 638617639 459257505 194110359 801293517 282533317 378983495 688089479 902043575 710006389 583738021 159157575 968242427 588976775 632125215 254682603 600422503 656765457 791728683 129983695 864513357 320617461 190849089 888732313 756256657 415326941 452601061 91510325 18770581 872650293 51499937 519810517 498154057 502254393 648538887 804956663 564214819 114491879 18439089 517985377 944567329 9933321 648690497 288741147 741352905 769336877 968461667 324128123 614358315 604501677 787294407 893565215 586663899 291532457 293640231 694323433 564838905 354279177 648882503 143674375 706149675 57360255 270199281 581790957 310001567 710836095 702198007 824650837 447961353 775544141 918143283 763377223 315767211 82519793 170566279 245897483 91679049 859883321 91979487 601914425 833277489 200300735 133625131 385165227 448002107 586863329 392597093 424532103 252136387 191211723 531197585 610611255 44997809 96081003 485763001 870828913 749691253 559778683 268885231 362915121 9355265 853603959 848449357 591574457 731569365 83796397 716762357 81450905 378600951 793643561 983707667 681974435 27930615 807308483 188838871 932660981 111503593 593855775 816780667 977110001 911273325 109144227 491589443 668580675 218962857 148131197 39019385 87652321 461836875 628843945 364551023 166151 442628487 365238247 900712575 451431737 99755039 734864573 664177421 556065091 914356823 8605565 661176191 836996411 781301501 242819901 629996363 493569913 187599977 301567457 199871979 452646821 837513081 556338957 379307487 811655595 169701521 213428533 328640435 454157503 578618017 423491725 574464249 18525787 959527967 975589403 870751051 715111237 221326347 772259 23550283 588646539 344282343 429778357 585224613 133650557 291648453 349722283 133855753 100925371 349442873 13702565 431860275 888217129 440238179 267107469 332677347 798175729 634836969 345014799 673823973 398101127 974444281 336806567 766486539 498151851 945249865 512646035 610055215 278555743 513847573 398137307 713914931 839428077 594121767 884180819 503989507 950081261 67091661 774033807 964236431 521809465 208933851 747784433 921380563 239299063 611072175 41608609 920382159 540848785 132040243 860693647 697269647 646970301 176294865 809369203 92133157 531411319 966755969 47347407 352009131 951079171 553142721 454102761 126616643 939339245 100524185 953009363 806373401 111334665 860321941 805706853 946234717 401617269 623020747 645491263 971642955 174911379 237844701 648276169 713010211 254161423 77441003 742337331 603064369 243174113 836528553 165540981 641720519 607534145 111589707 999914065 452077121 624686005 362470543 651209293 557660669 900133129 899059899 788892347 787260777 907294547 195369373 656610225 733013237 744845803 386845837 521571859 746296603 416257915 654053737 840725637 804275553 323392235 381619093 687856251 484343117 334527599 144554243 478987051 223030643 266977927 813310757 627005077 804403309 666674419 877668859 61081731 162480095 97610177 423563021 223242117 210982255 156694599 838019687 510440433 597134803 48195103 160102815 64186091 86437829 552952879 790079703 512353623 532308741 421896609 836488111 274284263 420067169 543156459 771196507 190814997 778462631 686151881 423519887 808361503 500657843 547222845 579230345 636102159 689896039 780273815 666450447 536194995 606656687 466413673 865203057 420764583 309261947 212510863 163197571 644142919 864563911 103267375 694063011 143510973 159658387 290628789 92113595 213718265 649242861 214248147 467147829 655410869 843122659 841262983 514523659 66658671 567210897 681222421 748338871 882260335 594779163 880484873 135958083 805322695 313136039 464194103 146573627 82533711 401046381 133265341 382003125 597468583 610548897 489135613 723169363 354117175 16697739 175113893 671807799 491415343 13262449 753943207 659646223 497368199 481382055 224707393 821373461 461716225 714357129 656961273 156184837 803138851 683406197 985634967 525941287 553829951 900877017 710249011 61072453 529168237 271899429 745054757 961521593 500174989 647451605 595957783 494733665 552678213 621817705 704386033 30288291 260755977 6605935 140183273 780680043 878926095 995364469 107445369 386636593 280738137 434466071 228587369 792444405 952702893 315612409 990520001 804778555 179719069 219011265 327995609 409660689 533169791 330139175 821188171 874931469 334223479 78467809 658115325 535792465 338270569 222848433 519879961 110505599 738207241 138728803 690868757 221278663 844847821 540929483 704621997 481347039 783666933 339015871 283583205 483179525 847477643 430087461 34136841 16839423 822133341 488492003 185909933 511821853 554491143 604455153 107675821 655012403 802344421 178809925 779609903 836212897 759694625 426733793 422842015 117378635 151625645 158607827 682273455 3505315 252096061 977752361 449992541 889594523 120607317 568280319 155803119 750984629 680687933 666074745 494957549 685937395 803459331 807431359 427956781 379504617 709994369 61912067 25176525 531384743 310231895 896391297 457714991 767585233 126286061 84740985 922768641 589241737 504440179 430804537 318159671 72510591 393109475 104481039 840968715 878564329 831033851 268180569 692364035 420836229 514515267 690278773 547786733 601734809 105805837 983037393 217027545 492163317 512712817 429409757 98572329 256563181 515459407 43635733 55413115 25328993 859129167 858870267 526409919 408688823 313959905 744807703 788384297 948324315 56258109 557017599 992329269 896204359 519855205 398874441 227145381 501327861 403064863 487270555 378068873 441341551 860420605 929384861 4160563 590761411 622276181 242326785 592638527 599922051 980062283 855401347 884855955 320401875 741172419 27498725 554680923 305174101 525300081 420849391 899363849 269193529 599236555 456753271 90514523 417748021 53235731 343275603 327992661 179496839 955524175 775885929 810160963 355649783 514407247 709347489 240965561 303956175 41552303 285153773 41034389 512399083 15926987 12084041 317937913 327431077 356251085 173532343 503080529 825805027 118022311 604628031 701526869 541903127 817599759 526995703 849695485 844338739 279848837 404106229 869633423 534240441 778817107 310794079 509589401 501441709 372594311 450000733 432472811 750182557 437693179 583784737 101006245 484893345 657947983 228554727 171367721 19696471 513046765 166906353 207178021 16574179 483465729 8248201 818167437 886071285 960916613 430554623 115811483 541472451 463807291 954149041 731791831 639596555 421589163 638433277 222345483 6776341 803416099 276987473 605536329 105711021 622312637 450260767 42327027 489685289 862242905 486370783 677424039 246360425 851041439 35619093 274447189 795417811 319710207 54313289 365471281 274988629 700721841 418864145 908673975 426085475 555799991 981501699 809727147 367650815 676156377 8714949 297716761 704941997 368591013 738514943 912453717 906007163 697801075 248765029 392891387 59549441 988790887 993614767 958518001 235269725 995116903 918106271 818599267 331836211 287305507 743394819 730598595 268750515 894497811 7331243 140483279 504553363 758577015 670982511 955482251 323998483 132626009 870637109 307521861 377353717 842220681 659267301 941475725 933476747 979469215 40576883 227585091 429244587 706186745 414980567 317635977 334104241 643876803 212672787 621169613 501292677 137443305 330820149 240425665 865231763 686181159 304770893 447937125 379325653 923728637 698100339 427726329 886873031 59616943 454376141 787087627 440191343 388670035 267928963 999851633 119923035 153025981 117745353 732539717 654677667 117553553 133223639 333850093 630670565 550402099 490703089 297891603 542344517 475252949 565043295 891425963 493541235 598869617 248563063 677538549 850189479 700192453 632716433 419925363 26890907 910178651 177409293 576973295 594349721 390634113 5908059 11260801 82353261 654102097 761635047 855865733 14716269 414012331 90269999 481485979 733214585 332175159 754546869 218036661 53662199 618613349 71858947 818341635 315113173 305716335 185372331 88605955 587835785 722811731 761458757 504159609 213625361 342329561 735200631 773055601 864902643 39208851 957358569 363804479 557243709 608469465 302382159 980361089 509404551 381421259 166158177 776403993 323550447 754334033 173872867 92016691 321548057 571443995 903422623 251248199 177110583 181791137 384702821 611397389 355183611 415279909 640239635 567234187 25355941 654448045 606739593 106529549 710207485 731691531 430720177 3256873 215631439 549327575 969593215 775201721 113807219 13794159 611320811 356003041 875882949 955687167 732531705 220336399 442597677 552904565 344580531 277687031 54221849 906268809 161350699 576790419 522165373 583626427 859430521 155080491 727804635 724470357 848753347 736987207 278627641 469731943 822906673 352472255 117580321 539517383 943113975 349243565 792970157 718428185 525829965 12797303 119558267 983252161 192093303 171573959 935641775 812019 399512255 889221011 769742587 514733987 267216759 285943063 676915601 377942167 534889465 19002325 340377907 208172883 468690599 600517789 811985443 89314087 304512491 236817281 856885045 467579181 921079609 50260703 878394041 531307333 372131849 66993753 146863505 910703897 981843679 360058331 194019875 600396565 918635077 441955483 738983773 288805235 554604493 709847573 399991221 693058359 212066575 988521741 637905961 57141539 728415409 353416849 890234175 518202059 185332061 519154929 405401607 448364423 182734017 210307277 293877525 881151351 893596317 980521991 127949193 489517699 491934639 334872781 675406345 736948059 556802243 732332689 52217281 410424953 98672553 499182865 376003945 835573019 849324607 810198867 256048705 345265225 247830885 999571615 274215181 54123477 835787783 19251597 609689883 803657047 484317715 94698743 757259587 955449645 155696009 587224833 839857377 528627075 821788007 788685849 605368541 195846983 336148153 341048307 874295973 351039793 88803727 783284363 447125807 860377795 581339143 58754339 662021625 499269443 799978817 24315211 471791625 445358787 644509289 556701141 521612015 128922393 904628655 917621213 281648063 152973545 987325773 247733705 337142297 735711895 445034119 64900675 495917859 755028823 639550631 47496001 830098057 196278303 13434879 849496831 315894149 627548847 389995241 195809537 701080529 173411473 743388359 983535379 618882231 677518869 99429635 120729161 188435971 413746513 429373457 400360961 733887757 93084455 471211115 519850717 82883505 778056257 826248593 496985545 221743961 574365707 50986767 691315965 83572719 203837377 659879797 74698993 878002411 851437921 281752929 902237547 827569739 132326069 625256051 215412855 886814101 992644171 526331479 643756907 712299225 51345533 775639997 195741153 656363435 134523499 493681503 804829885 571104811 281730301 157306113 114806061 807238655 278649317 356794989 589852069 172413779 370406551 438977141 250943199 794324961 76222807 425848819 176067297 279618021 602063405 728273609 279787001 154248483 778761703 968985827 929846201 218943471 487449375 38626097 259569661 707976219 866200373 946755757 715260393 85998597 382966607 774047067 526575853 610296725 667546977 10342213 678098359 568586041 668092707 295422333 350048585 995777255 45572881 531731741 105026021 622610719 335816569 970281545 921178647 632679395 766728039 206983463 669622707 799686597 539573171 624565997 802632917 561261785 477127169 967266005 972632291 663882175 519121335 520842527 793007497 164454045 966403331 900077079 726086073 202349601 489602017 464456463 818227377 893476991 726401297 939062625 832775925 841657977 505805081 522512239 727188817 218672211 899585355 6775205 578716121 509396187 906083005 977912177 562727659 517210729 935670611 698751571 275663401 692753883 487757489 940077257 39015809 528732565 188508491 6116703 181469221 591632519 648443221 548242343 559711125 743786279 100646357 283473211 855113873 206528627 964821903 158472895 181012519 959694067 633071123 920470233 861912749 785691571 446303419 433808703 907285181 731111753 190779815 541746091 116524603 886299861 88750273 514085085 709582677 939633405 305446581 156249505 222992767 428432623 221237247 594015177 663417973 570149727 979028445 376570671 863578425 43543951 481904983 371744951 331887899 717889091 340681793 995143495 671282861 910322379 87598127 487005909 24062667 336853499 939047811 264246619 661217179 941873 392478309 525019609 919363463 145031509 117958085 224254811 504549445 465943511 390026843 472957427 423968209 336217001 440005545 703877563 371261807 920198731 863178997 327739351 775307435 113138885 165840465 21750637 20449881 988179107 887331733 991134387 735444373 223538427 718372705 101370339 503420613 240110445 393979421 590250557 260209813 652128543 498590969 326097167 39941879 484895679 392152813 355477159 910457897 497666691 987318203 601310049 438925231 738516775 945280233 259006623 773583703 428197111 277217481 425542605 724198449 986555835 900786545 269726043 56671133 10041549 3744197 278901701 846481469 52633099 448960617 177559179 61285119 331594969 489746641 886578489 576037911 124330279 904296499 420582497 657862143 357323373 226053775 765168285 377013375 197182629 299220399 755642257 819082655 512586073 699809827 674648803 402234551 684922005 240111681 907547979 753182561 270853615 441610029 880627581 946611841 396302215 897827787 692192577 764546375 197330691 729212877 906947677 756817953 982620305 792285869 762313637 882982865 885454311 561924265 150216691 506146393 547134275 973414347 223861547 871393797 745858155 632639203 430814003 707116649 955544493 373393543 476546307 657487201 719747811 685340185 690684303 264752147 96071781 385091265 353922783 45041641 271816735 236673135 790193401 746927513 971901563 643993821 426954993 777837087 834414449 966821513 715895777 686177727 783447425 954409915 145391597 960614661 653169325 867640709 295744317 39692743 992544649 725337791 730332931 445537821 268691493 677795081 483895931 690736495 17247011 788906955 290126309 248769385 611135145 347833653 550526861 57961727 328715621 480867647 282077895 796132715 269732749 717258923 867022569 756998963 459055071 553189889 114817623 587552549 437386913 537627277 684333437 996064593 580469923 195372909 880900043 264250903 738182713 719998591 607798973 33805593 394442307 902345579 107331797 500925509 173333285 94767263 968286875 477529295 26567633 339029079 613561251 696259635 245452985 761911699 810137991 419536179 349074655 914990873 530128619 454425823 265938117 975369851 1274999 104113033 786755967 626664719 892522973 759166413 98156445 142683385 739398361 618560913 855027777 964918813 32501291 234140927 556007953 486841135 497811105 829259661 738367547 402032293 340547593 986546423 494001013 277176767 502801471 692505151 122935037 315227015 249237031 705397429 361839003 902640587 212677289 718804205 399004313 736410663 935331255 990290367 927923923 782904055 881157453 463053651 77699489 340835941 711761515 26481173 658574319 911261539 792355359 880778679 688292135 381893797 788082295 398517815 702623299 977473455 520307087 418606297 588362429 979958217 481481867 208046889 159762847 198027521 51914387 71138813 475851893 163625777 543644121 599572589 985803863 118987513 976161433 426396899 305557217 431356609 926556693 809996805 334609725 726425531 95220117 793066445 344866069 921210587 238945133 944061555 81511841 309827045 545823737 78005631 945642143 361612895 593891479 713450681 229250389 545132187 483674293 201734969 805336979 479890097 588060869 379948633 21887661 223488897 293971775 647176895 344212099 13510067 740067749 250455893 223715963 488621751 51218309 989269073 211333761 713867717 445967213 247093293 181088271 262838495 626088441 923628209 729992991 897078731 101215437 638097895 870082363 313976091 709739921 288175395 597361263 967774501 191549687 227684353 414835283 20771597 596560315 379528551 865756421 3592119 201314719 311732863 450290217 658973911 897731693 333809087 280744431 509141475 906351861 40914915 712300557 273832221 872429075 538567407 685889729 967988875 134424491 262247215 733878225 855485181 329651109 393583159 330145677 560172815 104690931 164897765 935551433 919388701 622692497 452634971 587978469 23955281 904653953 49506311 210128071 149828765 380732621 340734619 584077277 210431415 480670853 248594967 70446107 335186719 505575111 107833019 738676227 236696863 450943409 394350869 970239385 173788357 760450929 619237627 712052587 339442411 200537401 862524549 815135121 348948273 326164033 957059869 636459177 886333185 13567691 914438251 236872919 808415879 729819941 193161571 786919115 919414717 739487901 543591749 397715131 673411429 757637777 286409875 821573477 613475335 678979937 38491159 560912145 121285873 385297271 593715177 790138507 686731581 700114501 710154339 866168873 523274955 168264519 153476395 273670347 420727619 689381119 944774187 886400727 615547669 57496053 32963225 278435129 286062713 82798527 648279537 625533035 5220465 135953909 132355831 124803433 277941701 372946743 967538869 462918329 751260675 754176051 739096965 512186729 921825411 5043355 119963133 483503633 896822121 325888039 769135109 112215503 116626587 393449883 319919559 258243399 291021513 884086207 87779003 55482281 52351595 654612585 642399897 257818539 614624449 405519215 544594023 723414157 462487765 475936183 231808881 852339985 243586679 251032105 55695947 491472009 320805695 576240313 267824595 343432137 658473355 65337183 416961579 353409587 332717959 779282207 644305345 206783655 38839839 986244865 580764745 312911001 150994447 843220763 325739965 605245693 962717399 283985797 763969891 556156241 615297979 842447199 592400585 289425563 834336977 895580119 700688577 972833385 477498861 616796959 606350439 195365843 286483379 330372975 971590175 411823223 949270663 932348939 521165463 851655545 393971611 523860029 561127875 688654985 671267817 986669141 573898207 695031517 641251631 831148209 63215213 783060533 283195127 625544881 460119869 282061779 822832527 331897279 83491169 927051145 561425 716583503 944651829 300685997 114582109 394416857 428653151 520513307 105405467 1883361 122950857 952577595 979622843 723753455 100426153 542496251 296393847 781760153 841667963 866174415 603372621 326822775 328458243 436476857 944158981 45733929 266442061 891071295 675094321 455502943 920734383 484224619 734222633 658645701 964392385 14425303 114099213 760137241 371192683 948514465 34357957 553395741 659314905 116367213 300658433 752287899 112827005 540692331 768923193 200409701 608294165 581600339 828870831 409049171 336109735 5835359 501194857 790168651 644680571 641372505 814871609 28037175 556697895 559956877 946775735 33682181 706602377 535655633 582697793 81011635 278179269 326784391 137624835 157058627 104533827 713506705 922988523 575923903 184755389 817249629 699905969 688652857 962197293 660650213 833314517 442488267 807703253 449661605 444464545 441989015 181776453 9785507 679779621 490234823 954132813 978970479 880045623 794269581 449595407 434942749 564635259 381487655 592021481 342038093 681296213 503112659 507598475 295152931 706294521 914280155 92654313 426883153 541981531 882043541 94431807 811940873 22652225 806366809 955254033 590192907 905850671 126564489 236716075 25542559 394836085 366608783 917054881 462268561 147875373 190801631 175581647 159474745 200846903 597718513 656182875 186210163 923541565 378341705 988994865 438288039 262700715 710825841 451525507 535528643 310833085 365356027 714704079 127949373 914022513 721142401 354992089 565584915 79635343 814300581 754698157 428481739 143148201 321558033 581123231 166841205 998158103 456494457 325954893 369484453 298949881 888102293 531407257 228313467 406014519 421389609 89072561 994023067 902064513 596309759 575590665 75147063 287142737 698633961 635209051 904422401 580734693 120357567 485808557 687045691 616601925 134701417 613108557 778151593 194049603 491748299 624383179 216333977 537479543 72937947 772600071 200243937 321463103 913695121 277123621 14672099 863193031 791949297 367697551 972799873 437448701 388691461 695678459 613662251 597340825 934645215 4653667 266628055 160514333 244095897 710555407 685834243 107978447 409816149 217541513 352569781 642914241 460879677 940526755 840964733 364938697 872078981 170027391 532209519 18188683 40296549 304266363 50121259 894610795 932992033 680318025 453157333 732396701 697275651 218788057 458107423 416891927 237878109 304284265 129470523 141703065 51681673 204356221 983472619 47498413 308633321 439834337 28369523 736654243 84360425 229574825 785562529 157766801 396401655 546740529 71021773 564174937 966550675 257777951 218581459 373753765 970596411 79228767 755256347 766727137 982451835 547461155 836099475 459778633 21169637 450242537 982522801 883554523 666280211 126938231 60486773 363545953 759672231 238189525 48778081 676798569 295368523 18825561 941777543 833592397 578794675 78599329 118094203 240299565 426475161 459807377 286747741 619847921 427088573 438212177 499389139 891235403 429188843 616856155 80325897 904276911 981679605 350288745 521416377 129617761 75033269 641321341 991728157 983201641 547250445 640398565 933889279 932940437 55167719 744055095 365368237 396382591 750793015 138455117 541272057 933096327 40846071 181189965 49278535 7713235 20660775 134769569 191694969 6192727 148367059 495974399 807006463 409109707 342072845 316807011 171664335 668738475 935523055 184678927 729874279 496055109 151772571 582109843 627694031 117231269 531845179 552320193 426930579 399432355 946756611 202068151 954248393 734885091 224584237 36444119 286852113 248005323 698198777 874832333 263355793 445146249 147914419 125691791 761730037 640320027 44386989 72757849 920121207 298559035 177378881 328245935 808569043 715238261 676497361 279916893 969935951 276739865 461930953 541939833 781870777 251347517 208585625 936019547 878255209 892827845 980900539 253125805 960444475 537914965 814839733 953764693 61590169 72964961 196375821 676851085 249200749 669138463 49341527 75192525 759240239 428392847 934383405 898436571 896170717 311111803 58727985 380275653 742838527 337679985 925982733 474919643 669990305 597693643 750968437 22288317 360783705 129773483 880097571 368436815 557475655 632301813 487374039 313396411 132870161 250092891 952830045 651044469 207145699 587459927 583545223 559482173 778855543 860729895 319923249 884954133 408514057 485890259 196649273 261177415 891676255 519511855 782507915 337507947 805005511 167824591 736765211 250063195 656682009 752982037 90823651 67425597 879034803 862726441 112453347 570703995 943667833 71300347 320977705 696973003 596897243 55454275 67016387 704938537 680967377 681546883 439548365 702613977 563101909 913727233 199681897 303695719 662767345 707754449 113048771 433446823 584641713 436703941 440130571 747372471 139449131 166001795 139841403 850356729 554732543 869933937 312052313 454782745 322453075 898783423 148791787 842009359 507426773 136963429 511020677 759496211 118558137 948421925 70906497 231120811 652329921 836568965 486080833 490132899 73554737 488147671 875137585 111459601 248625625 71943985 205666241 461872973 209516301 444698487 914042989 301178113 98398891 312236621 150065077 538167061 860752925 230013735 192741157 159701437 815287117 78546235 465792337 732003193 383334323 545580681 122519247 696065033 916570959 153982683 2276163 789158781 210267043 79273153 838787673 972093733 811268801 575426193 957457089 326202529 56685119 142593391 200298295 453278933 665182265 737815615 227510139 621350123 905032791 353467571 496866649 117939545 299809479 673320005 954966947 280681691 824995647 713230131 592114485 826191731 708945917 600350599 410849773 511710577 779339975 668327953 739004857 54362727 668689387 658924903 571301769 155746865 238796609 905169131 515400793 940465141 156336423 682968005 430934569 774753567 167751041 725069797 447382789 650500193 130976449 841477 629398015 462658233 315693273 34272163 491820083 207727211 475974731 163423239 330964415 255940099 194194713 751685443 670545617 910034261 730578389 7470127 322258585 355724927 833146517 734362219 228937811 770657507 235754485 786655071 666642495 803700271 449880093 773666107 342786219 442835797 567641019 170887673 937811173 633587603 311685893 130568789 911937609 991531375 875032761 890611933 214803771 804846513 885299997 81691869 952992801 263602289 307593985 745349485 755545203 857232393 326691001 84349553 791251365 967385629 806544677 235550095 527758911 99351707 452918441 547714357 27228871 963567287 902779445 512566177 629195985 389102571 698624577 312780237 602348025 304663807 613409223 89396357 138772189 819939067 748814161 437493593 375770667 5234743 963842539 887934367 658629011 205153613 464963117 625597307 255210705 133490723 494869299 388955345 270704807 406179555 87446437 130892373 960182749 781287171 192723633 578418301 838219847 309556799 30065421 964206217 106813377 99128731 246076407 384014211 59874089 349005411 827548725 790866745 470273389 249647915 92736279 308125511 66806909 976573137 214581105 500315657 368605781 893436791 469421219 917451177 931490295 28741513 638851475 198411033 151424619 446309053 462736301 935514381 842804165 876486415 75393515 441908489 605592097 694221253 215705543 102650453 167609501 30143079 296205387 217749759 656351335 460721611 731197699 969146081 648373681 873825551 922814215 926839451 351104177 955682453 642614259 673072277 111157423 482548491 115047663 344018433 629603057 75943525 654389161 116217299 631906253 684657885 568704343 551817679 268773785 894632441 38525879 97018235 828816827 269028231 495165457 684133673 774761883 769808537 685400625 468871409 39814059 26302603 756433773 255012787 49022055 456463361 261988773 370576919 103236433 970200553 432401981 743879565 877666801 686364279 115561255 470767949 904454875 627889703 804042197 16927577 630702251 42277051 434718793 910515063 840152319 583652419 775021575 268244025 374360965 560391185 795091229 284672501 780854511 653236673 224029987 379537359 221762549 180944953 951733813 768272555 718352473 661352613 572421627 545070653 100474345 909551479 862366373 259641339 653082483 764299629 386406885 103032359 479905237 164524683 236766203 383557831 513638125 351324957 569531053 944305835 984231593 916284087 696578123 757937263 357968891 35008311 985764521 958388591 76526043 6420927 900939815 937094357 672891467 129686459 396778667 791555731 791002457 234779619 440940193 333175391 756007955 678982959 876081155 979354297 416399255 926611429 77878605 224891883 978230787 2779283 191945861 525440259 98376581 605192969 449804345 266611419 252134735 266307943 713450113 602880275 815070873 706488079 617684985 222397717 903238055 611788207 377981643 66978061 319417537 884341819 763351969 276379383 981997373 581581295 500473523 972492177 840148081 280314701 888152767 697379171 36411075 859553573 725971469 639349183 100159131 718836615 22052199 752339901 191446891 865579733 290167593 6589757 788484271 690718381 188703277 3555303 533212905 225974529 950995163 805713963 35879075 854967553 403557919 77399619 298710893 906069545 417619059 966212907 469203685 215407425 347665619 436341169 155103147 408550227 132746181 360562529 978522729 676706995 801423447 941209491 187710673 230822399 632068897 487361131 723368607 753431 620392767 755165647 508885141 389063725 42954075 104370287 953352573 864962225 565867679 771884227 769209639 130814049 988718019 197132811 238673777 157048385 30725 418882897 472007481 119215519 393084461 403381349 769176431 43934987 665340807 471100639 510657535 237869925 778652905 575384861 197186791 909271247 649254323 177551691 757041961 467242935 349467851 883095125 396933071 365498831 562892191 663106807 531577577 568504599 480940837 292645553 46046357 79987407 574712025 940129481 286076403 977534085 672583109 476614479 951127597 965316879 310259063 442929693 652235637 785683335 370780419 473860565 894574599 167365203 463726599 186554075 269230373 919581 650088877 34838113 868652569 895697625 499586975 654794593 793957173 184087239 139896597 419429273 114449617 985521513 482294223 392405139 145187411 504166025 124327183 27292317 421449507 216388927 530161831 868575185 654538677 765532903 634270701 967651087 470775937 591460385 304629437 543586047 709456139 436041695 104817791 368515347 307826397 856809041 814464801 431200895 834372231 806812149 913526295 779641671 804253863 672799375 326054243 962184497 117585629 567726635 545401993 813549263 467923667 704618525 848771481 661424249 19869501 56406531 707286055 375351119 881145043 281453759 566938195 318756921 330406745 130803581 203808193 300002535 833230999 384925365 283326113 521460433 275936099 46695199 853296299 636797497 637681301 679182529 317665817 29332261 655386127 362872295 698118325 148781159 314428347 558755367 837209803 183714967 562326157 172730203 123484721 247058707 822465917 919307431 38363463 457662215 748969103 365364089 328094195 981194337 194482635 266756229 950336163 989143257 986371143 647271109 209880397 557666543 711505691 670723201 127421039 654059245 39860329 373323329 626987023 444401635 915837019 485417437 895063741 617022119 725805605 640602991 229783693 15719645 962151167 975138397 184007199 505716713 602130221 737529425 522438551 933757951 194527993 491765825 880470949 184186133 664753587 551798121 121789057 553868267 719536825 731100747 541294309 605260555 213924971 551794615 909416219 414835651 560646453 754775487 547845103 991967533 234632325 887764161 888544697 654847785 581406171 216694367 123732821 204183393 375834549 253811845 307344683 498766913 32568989 316804201 280739369 546038277 38393897 517220743 902083781 354783147 557239793 533066403 342177277 748942843 686582935 371622091 873269847 899561095 848756933 425471567 51199715 606020263 294957615 985591759 496434741 452499067 553143437 4047149 545919853 645660139 597479587 736275607 218695983 237245863 733465915 950799231 985043629 884037161 161258535 978529699 918925977 279787183 22757697 947066889 313743413 225418305 96052075 814773753 448662595 908434097 50966415 964539915 403943959 553650583 472571809 610485017 135841409 625577297 124964761 511632711 176239845 29776907 155291771 321535747 281117733 483471027 911890769 86692865 852912049 269157889 811807789 172206141 880166013 770598263 973188905 695057145 953864205 287848539 954537831 266469829 743131489 653725887 168091153 570854259 484968971 455666809 445074267 309520159 434952479 505111597 927201663 721333039 780901949 128444479 203386301 598243917 928443017 914221027 522304865 58575983 924747189 547597839 608535739 944229329 203523315 603048067 363372585 214308343 98534405 909704905 481609483 573721773 674397743 335125809 781865677 142736647 267234623 318094289 559998431 76755555 998456461 292154765 546789563 144072547 434471413 81602825 837868773 476101363 326444255 859830711 602911207 10873675 892861241 479559889 755283 929873123 972450425 771366997 133693123 655008641 845283485 713690637 686735577 826360625 266253101 491465351 612732479 964155721 661212725 232273437 36211113 371853667 885908299 599786479 505182161 833988195 23558799 611185383 843114103 423648119 93228965 396211889 686094695 18090771 562235583 613813447 22274419 673250289 926373775 228400491 149449589 944141335 265704535 898888357 925149519 418588627 611821275 996603715 120344811 881443511 81706857 281053151 293079357 804840095 55367641 321716185 410109759 839778479 927716489 109441111 858386673 947411543 242031965 926154573 121145951 103366727 545727173 157117555 712447643 306665339 326179511 337852999 357132991 969867323 949813681 509219601 649885421 988788497 97141691 371100643 801034065 309180881 570580831 883050387 790893339 595804311 240666809 333954501 286319493 28728521 128125539 592576479 343152339 628738067 811232899 959811087 454575439 516114791 473543627 657749587 900865611 350471683 154449519 239702885 64220449 928939115 379928875 90344913 537377333 990556523 325267017 927845095 730185709 677161751 93331095 96858557 680607679 390438861 773213801 581561911 766497573 677877039 660421277 735737849 746711199 163637547 786947483 555292023 934831801 473953523 856268371 545316071 717010181 242681351 79476023 148452681 695662877 379415847 342474567 669800295 38537635 805468513 2084105 883657935 379113283 526656779 102006669 874928859 714792365 125905599 772571497 142183853 240015003 378494561 25878969 769413929 248451283 710264351 384469797 410686977 651256603 187286893 39151321 236397231 226088263 287677959 957996431 199137393 283674417 798072559 213256835 412659279 465192379 149306741 317791355 193383965 605776337 806747179 230683845 288212847 185697123 611928045 6537273 753878183 396675691 915573473 420955701 585833453 760549871 967925617 831045533 205244465 478106869 562959187 380570593 800000043 558747537 207801987 239399415 536466781 245308381 303502917 569338207 331421967 101855483 128473637 452780315 74572623 423452695 769630967 391081149 219347957 138701153 692243927 889802587 994367397 114252565 115066667 799013521 522663109 158745715 863212447 704553863 569650309 994476743 19727141 747168745 775767005 464682595 310209531 764933361 720642191 569747873 423523751 213990491 312578593 371729893 676344817 31415661 350164197 151124629 151239663 856123895 539098353 837047335 357505279 637493581 112252201 571969301 522420163 301706061 489606193 33755871 101451049 718405985 677604733 229137171 819238757 944486259 801152579 985858111 307817713 285504251 445597315 898380543 86750613 398705145 925914631 467888373 186679641 666193391 22259551 331006925 90645397 3620591 737162977 397407799 366772707 782349967 987230641 458610927 178396455 958837995 422488243 412566453 62829201 689325483 58207131 328285781 562705551 670364925 425732061 278587811 549428195 778516117 545912765 520169589 693388431 408841909 660182339 958578863 82528991 930040097 676296511 420665917 293839975 855082025 290536007 386285583 149532931 118270369 427729341 4665121 28247001 660597225 371579081 969003891 222179923 343335141 484006747 601998099 422465319 666296071 40876845 463614223 818697041 807775297 814472893 422489731 214373653 12822803 564587091 70717329 59781375 483493253 282890497 819888741 874463461 994479651 24067487 931922991 558860511 316019973 33481165 142231083 879530071 837213383 353693427 875805851 314468083 654438801 315195201 932542407 248789933 9474065 144179889 373759747 502768061 229308029 679768063 408240553 761721257 861886355 533547961 274992157 704272447 736351129 554696491 641480903 984000911 138078045 637604717 862436121 70796281 999330617 582647395 447669903 228261151 921708549 60573619 155897769 697334511 606306349 418670539 518332147 961116317 405737115 758762217 681517057 163171749 469924297 353163783 102380649 598175945 757287089 36787697 985447633 825709337 433120221 615694903 239466463 166243047 467158617 807117871 248876875 420017359 500426429 504530941 17977545 407763127 368205861 431704965 642917665 555746505 165191993 30749051 874300697 983579259 202335527 575956053 944061063 835238793 424955045 296207699 704164673 719609591 157616369 715629951 548628523 606587919 325828305 849459367 590908465 414386027 731785109 63779943 420737861 359024097 463681041 57590555 166401373 246997913 495506853 572693741 703394177 902678271 430596405 387018959 846101175 607003589 446776371 206792565 245458709 426929641 356876689 918669411 989777585 742042799 370686673 553280737 613551281 164188067 849850103 538316541 511685179 246206875 947165585 21621905 870878087 111815599 151913911 559907389 679639755 525815369 96572677 538077801 517845833 564728337 195994275 163823687 128113231 717010683 774836799 754951371 639695915 277683015 882539279 394422713 966042937 393664117 297961169 989644951 297705181 370765907 715379917 980974007 589968511 473727479 707413197 687766321 532237457 554305211 522490413 357203941 699352975 455541061 750293701 48747131 960852731 24019071 83546113 78876771 870590045 572101279 586013133 835926741 550640715 81789983 868778397 180854227 314135899 46013127 407404915 223275299 398242611 684021921 15298259 683338071 841304443 45181185 910259659 572590789 559245541 699009411 292258803 927668369 263786029 344220429 230900583 295842721 134327573 622847177 401299407 155001251 356446053 443158317 842043225 41523219 337699825 161932021 566373819 123956017 790232469 451258917 337209141 414792451 699572785 569278217 735304073 643073113 152460207 825839927 853557513 117453263 907034881 33356935 180581769 975615681 467677475 996753441 360579433 558761049 466620439 195587953 129044623 96573577 176362981 342440745 184228711 919857927 126935459 234661449 239313899 937683027 792739431 645171985 327796887 319333559 632006743 498652687 190506351 252983617 76322715 480032025 435449095 424916171 272517989 426493513 839593329 165410551 222028017 49639171 721381707 306413865 376569985 183854837 676100285 745182611 559664221 292184851 559000693 198496815 664157659 474831511 661505195 339171771 461332049 815182857 458896409 400481471 772157989 281970737 368624903 615699597 65750463 32936231 484964933 817251901 762204307 576044869 324413993 20196271 716508185 471413809 481613199 287675531 830875347 196101077 726463709 407871809 716352335 664620903 886899973 553574411 415401245 120521315 226630267 550073317 853432277 72573837 557889595 772475293 378957853 829718001 423821519 135521983 419102365 380810723 691945285 596792995 126738183 414477823 611216945 952291181 278642967 208044587 553073329 363282691 969870735 596109459 256918381 360112661 428305721 139037865 109371285 195681051 602899941 416610859 682853339 777685333 133624689 820093981 518225791 184246733 434901693 670733771 611960649 684252243 552366259 832586185 695391877 712891519 735114565 259389685 282576393 320698543 925710449 892475761 525898037 432362767 984584499 982140843 822376175 44153995 403366555 532318551 555244709 396735967 694540471 9710703 834737995 79036043 951979429 775435321 159568483 529589717 793974405 845943875 173417713 581127629 316476545 143752031 753954437 584646733 889670093 234932393 571316275 395225591 13931169 50718341 505224601 418327343 311360065 541327777 92504033 494905639 403132405 726765553 478935733 96075481 427786259 893862321 326154573 572656131 191502065 917619299 543196519 405180975 279248885 216058839 137559627 941532587 409260679 73012511 655651269 516579985 811461915 15049111 257628461 411868097 362025 891849189 66235487 534938083 470638389 214273779 498929859 844686441 770000841 240314103 226856517 809040007 542265461 452641901 363286111 530733633 35807191 811197209 143687437 527008093 764534159 505937159 677995989 995584111 41332039 948867981 198210759 320404937 865767859 795669059 82935671 856616593 352407947 681919505 301705731 329439661 770173075 867452451 23153685 480635085 644451989 3727595 744602583 141796713 952550497 776649511 517736705 721665987 669253845 952426205 724127187 750907873 569334737 582157397 872757775 356390037 359199551 247359269 906872327 803005047 767385619 334417707 385800081 720911077 630290245 596331403 335968009 540685579 805162713 155307951 38685783 541658327 660799193 201057867 824704489 388389889 828434005 25300063 609205685 421761801 912578155 63343659 477667385 57840697 201848635 646237247 34560379 298583201 482062063 685318765 526778379 306863383 492821691 736917201 418144765 347030335 375470039 382069455 992520687 702079613 389536903 745993751 913063435 510895365 774607125 417742231 643940603 478491853 830973139 663859345 837320953 69329557 133024027 517508999 743954111 213452519 612334157 842705221 809632407 407406353 402148057 101500895 779051853 126624813 79425069 434119089 448467255 301832731 43373507 221240417 919015735 901172869 307373087 881861595 290180527 997089239 680044491 340358481 280448911 593766989 931555927 965940289 496494413 435160293 601577825 425857391 558625255 96249959 308784009 933800423 814377443 537559141 963383161 126830079 285229135 642473015 277253861 177712719 609868741 662337021 41558407 713879231 763460957 149396383 794953247 436494203 39992259 195383757 496596855 533820407 289316385 172862209 148389221 759133165 216209201 485724281 391048641 870521955 270323245 243570493 288830317 775876775 427804127 559924511 433004883 837460297 532445587 74455479 326233447 490788137 931852321 141634915 913723811 568532075 430875365 742755919 750447879 533321081 492643015 938055017 635648669 512034313 822563125 471418729 173645435 649103893 107028773 685321169 574522041 310374629 571673109 663012839 613685881 954938883 577931021 683166653 827918055 926353985 426079639 406752553 118391857 779848897 850589391 610693327 605947543 688729057 957879885 293801747 237060951 323365971 666569021 406592809 927387581 56827399 294222667 305852935 182253083 334957883 209104811 788748653 153566411 947403123 525122591 287141605 933883695 892144763 983445993 709938879 96445105 532310887 507997405 862717201 87722437 267842963 278994507 416186559 422624995 211255205 19749911 969693805 782204815 325464713 454424483 451792269 507587411 235264625 948668127 832401241 797693633 502838749 370600769 264307663 235598451 50911373 673486023 183819961 109645323 39150223 979275001 216888997 695966005 63858999 67230689 767653869 28631201 614769699 805455131 84293041 451487497 622749239 185832639 645913819 730902065 141635227 189834361 576082711 35778019 499544009 77350517 21540831 611581681 60839035 75251815 84345717 273626165 671584435 445723793 331488737 698343825 45989057 360226487 601759217 643888369 289493045 868590375 44059199 237083973 111033071 357740985 925963307 840115591 888352787 936081097 322074331 754955707 407430923 624212545 172278853 389221355 468092045 275588235 56207899 130148137 3360149 608224159 717995745 632591503 79280743 409078779 840662237 84353599 894927245 765481381 583965985 816002149 969645791 573993773 855367811 571300401 978361465 789823657 729553575 370700509 690051517 525719733 927942899 757121711 340379223 873453943 568287125 114290157 58597693 851224993 758903947 360097771 486354859 7191909 836479119 679370243 985691173 4468101 238688813 797807255 626377079 331205189 751256245 626548241 207248823 48962165 260861245 599813605 763231037 174884455 180199337 125534605 142246323 33679103 709125021 307976585 156752639 142580895 955207565 128243813 534568027 939826743 576836015 489982899 201168703 368014397 210328323 687764749 81547377 186709425 81111123 822189333 785175295 917144341 200992557 476316279 391240505 18044283 708783339 544672483 257846207 482512249 659128239 73823253 471173237 615351339 560645469 92710093 350647173 26148407 839092903 360752087 627199077 773521615 430251527 183487237 248825039 203753127 957310139 931516465 220116939 241253117 34581963 924256317 167585441 967458967 314880267 504128533 654693353 137217731 542393359 476815785 821260413 53705817 344233785 826666229 962796163 451608757 106232497 266652409 293635175 700195521 902773095 826572481 920581595 277677543 548722707 410542687 766038235 950419231 699970615 277762029 642875055 694655977 141423899 273166991 913862881 818659655 771154125 724288363 489596997 200083147 531357989 410792119 824901113 155442059 909972167 212706477 897411167 811414307 158428697 171426957 990186531 534187193 137927243 606611363 54025021 507560959 316468821 162729025 247840741 688741417 201648121 917294787 636329889 141589237 301447357 127128199 258269757 599604137 800786163 167041275 994990287 333782547 99406513 911437455 910425777 416514443 145567963 532667837 362859143 422068719 450187285 122518539 499577663 501111459 481849811 590989055 417912587 907251609 341849419 760733485 563460715 996714051 905732221 473527599 763719455 264653473 44217139 215416489 250738487 799756347 898948093 317634881 392328195 509817629 305839409 6600621 405120803 113628383 137278963 487829671 596182907 870471069 784333607 333646833 569570357 741219583 515356289 899405139 626272711 553494321 991149941 263351713 230747373 803032557 661167689 918648757 994279849 460429167 604705023 63160179 895863883 789243773 168935533 125999809 142833765 213298279 41282855 243937429 730387925 294815745 386158223 132953065 656134587 533174443 24596429 555478719 189988233 422239817 566854353 655216927 141218799 837616971 138387797 943653405 769811435 809375145 41792983 643420883 205189569 41286109 512674463 744262501 936944125 715841521 926951103 296066553 142290547 974849137 160715023 784743367 759016257 967001461 320818479 142518275 766958025 749575577 736475271 39165685 716914105 409796869 269544263 743567587 277328387 458097767 608719721 386446625 179295205 73590771 540923817 564369163 538021349 499570283 978982549 587010303 762651339 737593877 864034169 624171371 970061999 746397115 169739117 979267007 41674219 839478711 512835669 997747063 989658147 519648999 696790999 84677907 492543813 532553137 96643681 467972897 943574661 251339009 787542577 17783087 738355037 43003727 892816961 421651161 723829909 601846683 576230237 564246211 851535157 798056041 20858133 489330581 191450517 864231623 216017087 62527745 622448719 720583499 911115391 590602947 696563529 397851415 494501945 734981531 423750829 950129357 819172001 998687319 240652785 145957789 426651693 140044997 673963729 535616573 6044189 659061441 829468241 940521963 423219579 232186159 649454525 998733677 731514391 374528247 19794857 16851987 695976839 59241483 959825651 351548081 498375213 680173671 801516989 381888167 431006257 456040203 130384499 37419225 380712581 896736005 471384267 792602297 710721501 620231267 592878787 75913529 992382397 289860417 569737627 338736603 767075181 118466243 265365729 814516131 475679995 841483793 256965481 326406687 377026113 176252253 978450513 764011621 323666399 638264035 565825019 35575831 592513597 7848933 261737749 493075031 222642317 43761579 377066899 899069141 444290499 37748873 929911727 523237575 854928291 936447195 186258671 953645547 976669107 851992575 944714017 487204231 253555269 534307683 704177495 515723627 744824689 472123769 121776365 442598635 70252567 225465527 856799879 688258023 167325407 426934437 58810643 55116229 912747321 325724363 440452805 889358449 788629597 62937017 717659161 999653733 674882125 117416971 499299025 259194525 255522511 217445 588365053 210817437 339502709 157281647 386021871 891220601 572952981 997399259 494202693 413956801 246025043 135791717 334535647 185879193 368463509 885338575 557186287 537999779 109476105 983977697 709020389 678982671 17573419 181855345 604505727 617742227 167994939 976584533 456144833 750498413 214001983 639180659 6963447 2351717 224943623 133839027 488835509 190248391 532281135 664263175 12252121 807350377 394655763 522350699 851155589 393786539 223393245 163637217 40840485 449699953 879018623 877739633 751151729 14334509 45280687 727120177 198339425 129176531 183776237 231391543 932531259 555716063 764215683 852135593 815552909 100445275 412048255 196255151 333447975 21381077 260193979 16786811 157732137 434216543 3364057 355198795 146182389 354856605 255292733 633440603 96161849 426793649 200405017 44276219 346849769 986786123 902780263 881977977 40252737 111670945 940479461 299945011 651915459 922282867 731373595 417082247 902180671 244963843 658243931 156444899 67404999 604192547 519843517 10211769 158150583 61323047 143448609 253411713 677826483 513011951 113107759 214905535 343272107 521927905 322635863 314199035 295059919 264490475 894830035 731342539 259794587 716087425 665014943 49354437 537677783 346417573 626054025 888415375 260140173 405278683 167920157 742686929 755206929 230635059 849032627 32480063 641348609 535957311 261449839 554615185 125549375 952688163 591471159 251669131 861834999 650955649 299019707 878561013 714522783 193402505 295496051 56760485 960862195 666601459 89144991 805278577 689634295 2115321 941014603 931631679 818439161 651024483 739295297 101061111 219388041 950588801 259425823 542812301 334435463 232040745 467743297 956023801 423196693 679590071 931145427 609066303 551475105 638156563 707054273 676083047 719428317 32093097 806622919 564305031 953155529 195477875 26132069 397623477 918232485 227380205 938521825 545683223 681982463 537476637 173380171 873532117 74402733 96505233 437978237 242980899 499388361 896919905 347015705 715639097 802407097 802919211 672010627 929002843 568749863 205105683 110461421 870758867 544299273 511037387 712567377 723843313 268849305 924857733 998601325 771186963 401376607 965268737 488894923 289230745 632427813 619583367 323203257 559568877 334495997 819213539 622115665 635435137 970637385 412917355 295947379 682265555 472919465 495555583 249093319 597392735 796022281 483199237 946887103 585882293 934334879 986088299 990093455 113534565 7639271 489997479 7108411 282641159 607600549 31089335 759306633 31441473 550363109 217282337 291891725 512887739 988435195 540261363 291682073 736307241 892276869 525743813 848307667 125807171 968480613 275701173 447539489 898727885 879530695 355349095 514480819 85178513 624007459 401805069 511307777 871007585 749747505 410779993 495764813 138220309 102636279 209657739 518744733 658835859 794419905 226893675 360154307 812553411 108711461 39379269 449047127 270786457 445000957 439117553 17775287 350305549 626195053 5338315 149273871 194397987 687098339 178503867 128068429 615285221 766570003 751325487 672961321 67097701 660403703 357340701 450417955 762118587 843488215 327564291 591478661 556725261 173334075 657478375 178337119 810492805 823399163 456704855 745219975 509642065 322992689 839650155 594682273 609476785 322297155 935651777 507800337 175789027 588449755 62078591 333802507 257271601 681125615 521175121 821781125 66646001 256563643 180359535 616448319 306480507 886472899 356454553 628438723 83737137 714923729 703440915 860837983 774525053 898687485 830363819 241437485 622491091 651891875 931657399 320128269 523930027 672215653 172792089 223305641 736204425 951196975 124058163 786937197 218348791 945259575 650695923 403178645 453894279 208891643 754571219 874460191 785702609 747570747 616964047 170818259 695639675 830069509 440555887 867512899 972470319 879445933 316839869 538290631 852971421 163185361 534347603 880225663 736382079 575313491 153563983 498426707 890100633 409992801 679048791 607183859 54290357 419619437 186850711 125371865 270654627 258222135 602004425 60063811 478857281 711563455 101031975 554007609 399666031 248623955 747052923 331299213 967491865 49920649 671316241 553263063 585461039 64860475 725880769 442964855 865470891 965723021 373286631 495348883 784826257 595725805 320537451 474631711 341082091 609907215 564226235 608537297 414147275 628564975 305225677 489309227 614765129 845585103 456802847 249594227 976867725 66787391 141235895 406927035 732330939 827358993 986564901 573655001 677257481 536369761 408749181 939895153 214309807 506828949 138105439 786878951 674084593 51847767 693740017 955864687 176627737 54210461 939263199 468478975 94203257 152674979 398164067 306025559 951275371 244994797 972290103 748208385 277657937 551349831 852310949 379509325 642150037 309627845 562265209 169689169 26628011 116029125 924597771 964853745 583595789 132108265 245537849 617723857 235184187 85311007 76529767 482390371 232338113 83009433 730581637 608167393 320593201 406659285 271648265 162135881 643220003 777567639 866676465 152807781 593908031 354885613 107235011 923762371 711397417 182570279 527288719 660512701 105059223 107378917 141487337 274679667 318813761 590757385 204977393 856007375 826037229 192377281 509898573 231427453 506121311 117017217 983337001 188703991 90869871 354066179 213974335 699676543 321250549 829811023 575589067 253442845 763458517 74736045 51800723 961311391 805683445 634274741 884987109 569035935 905246539 37997377 965935513 588526717 895273935 454949751 979729675 39415649 989191815 607943617 551842083 858188091 404097913 267518677 478391887 471630787 788206007 99665837 935616135 423918971 528638559 661291153 234319429 895483049 424723859 644173323 528003473 290812511 189294457 803277295 918218491 932166003 633012039 574455897 22239895 68376457 64732215 889633967 417511685 951912455 489797257 364700317 36032107 226922269 200130185 913495829 347956599 340665539 697961865 596803925 700171357 76047801 411135203 780047841 651561951 58282121 228770041 382788997 435317825 124683907 25392183 364105813 23752785 681217725 205177357 71510703 184719975 507328283 667611125 529011253 570371937 477965121 232714355 139817685 327032739 371271075 991895057 622541249 685204509 712857719 196415073 628365945 578824517 914222781 423131903 728074685 310265883 414436671 133970569 818811547 667732769 800568203 225139115 963431785 635817321 469779195 450962969 46866625 905101703 231340977 584688013 482555015 128202395 458545041 725609159 873912553 937380171 476595533 378559123 757222235 677544645 841290591 246239939 433677721 911792573 167597317 277842225 546224805 806553461 234607433 730788545 667192271 333435569 246648313 97641049 448888745 943897793 152651439 621911535 990691087 875539577 558657483 556228477 606490663 266215735 266955637 178945027 500243291 444148709 229307037 746463885 7017057 338866669 5522427 597287725 42295605 813185095 166749969 342813183 249041691 146158193 848249127 602710049 263832991 934093683 592806475 487395519 731239829 804233433 318127701 742142991 699672601 446379449 508739561 872464965 608343953 849499059 163501933 929912489 561551017 556147181 709705233 737692801 495122771 742229525 835376845 560463905 128977869 860520801 228856675 942045667 300828061 844692879 90164569 714290985 742854795 794533861 657915649 937966431 664620973 966212145 772071025 937170677 927753825 489250763 402397837 366574183 145464137 850224785 262070265 838894901 379446099 368247783 702144553 864481515 878350515 739168701 910118483 998513179 137479651 791507339 375931513 399567201 240219819 476259659 459623007 49601115 570241811 760543367 489583259 135831223 401001587 756682059 912299905 615450405 869933157 434890029 293215797 221760095 52201933 642582605 33653659 76149291 741777371 661791313 46139239 528555599 834759935 187246951 772481293 660592543 165650421 333375813 291414227 361753333 145091781 318463529 936928443 81611317 743085497 418553817 940046235 564574023 198125157 884230821 214791175 706818333 41068709 456807521 374872929 165188785 260688799 260322155 165364945 59117577 291939005 276407725 488262727 486684971 885156535 366862737 958110589 672612651 529420421 589011215 450601713 281091877 157715563 586473127 412785387 800502071 821010171 325250141 628917887 900531087 102694915 604977855 854212223 414660957 941674401 736294371 862685329 517318109 182545213 30335083 351397915 356599119 186113661 301967479 892547405 138494463 228414043 657142971 560362017 481946433 899182607 845198699 692158291 709265515 72294943 117198149 534993265 852551137 285972825 345633423 968312263 365372431 352148941 156839449 740894573 63601253 307625435 948588087 873371719 101409375 733326631 671416777 2297339 536571007 92714907 669435187 311417079 202013517 624461931 445044583 548066681 858139229 211467031 961766615 522391163 671574859 875186783 318926981 978143945 120100021 935552339 553017587 283484659 902714185 925291077 262196533 674061135 600384183 142605265 369098715 285505793 185290427 324367325 377077769 518288109 141775895 820391571 603143265 27380679 91864979 749014377 461709843 42007045 576407811 936102939 868296147 655747303 395961921 575570349 489740515 749470583 207242289 229811563 467676169 500193157 389994939 753033705 496769679 597832871 744948945 490580995 425851729 925680959 34141551 895026143 894104487 686121333 156715671 594980841 762416253 433819707 964829009 977141715 620152637 261780549 309896625 378644891 60830945 538122007 371996627 756831365 387210469 239512057 682027221 536618013 825171533 834185465 246241765 441985337 80609965 331452913 649208115 908441843 158540053 805002113 355714811 666534319 187505449 753220625 151945343 769740315 861663243 737144531 9428231 126976553 100329323 71635643 242648809 437166105 742748287 360685965 238681211 883574123 364818693 515911375 933049635 198333421 407948867 549975763 512279111 63964853 754680841 898483121 786910303 245387037 749878699 961462345 736515553 692760523 876685065 434663747 403378767 532567465 635145609 714952207 9123639 513532653 881313559 709189605 640400679 594035217 79222061 298770631 301703869 155504349 192052677 86644347 169406871 475522907 990521961 127561619 779069283 388183263 524534565 336594021 164964563 158978821 545352593 26046997 89147039 856305331 460198347 426633097 536138889 364059923 403729783 71382127 771717727 933770395 21299397 959475779 6172911 813414919 477911915 998138181 843358997 194380635 990754727 104327035 639152309 976395491 362986817 193270197 878056887 91986485 866506371 365411471 542028047 713423145 793679177 109412197 445217717 476505831 864629229 804149091 932186539 707345627 512097877 174185589 945609471 248860087 12032243 554049111 749593791 553239675 44383673 32899975 388516361 706864999 127520041 255086671 387005691 288089353 5960007 357750205 890849731 264171831 149929121 568095403 9844627 924861451 447523151 571958971 92036515 856300777 206827503 315487569 94885429 703653759 335691941 388993183 956904343 849840833 781301281 76560543 141532951 882634729 252662937 473126927 34742291 251927423 547173579 896591735 134156523 146677323 93004031 854244393 417447433 234016869 814976001 157715261 671874271 149656103 302861351 793907347 469186793 722416439 302735953 287620051 958102185 394839935 74650341 358117229 274898601 228720693 661405903 870456731 825531001 582497493 369642121 422333785 929151415 394214947 815798543 447366517 168529153 609297707 76962023 917427067 965861637 943815745 54310175 68450499 184580469 600443393 880150607 16785777 943357961 658639953 911995285 20934507 59739013 825608029 685436821 263403873 661613233 267278999 717360511 273279435 981541219 164387773 395881481 693543401 216813939 801955795 4983923 752004807 709079489 623062053 131687295 341223471 753926971 610089289 21053567 264586175 405933523 985703447 575743049 999913427 223438721 659596983 234720825 637436055 648989001 348814741 270736693 245740791 696713267 215219301 113375919 366471599 525822549 771039009 92001179 718559807 249134535 797456145 824343927 842273261 660492713 979040189 237934409 518997193 274003243 996705277 959665823 529214637 668225145 432866027 327920785 754323003 547539409 202161387 895785149 702651351 163254901 767742635 23136327 688110259 904412079 599032351 968621279 691157449 457563087 985253251 717637565 253271255 83030323 227820633 167115419 571685223 976241979 679323249 766681283 400271815 707583825 612683485 784814593 153170449 704082409 849482489 923192235 768089381 197501307 367191915 753131425 574272939 793671563 348831005 55210825 144578325 51207073 802134087 717680273 483329175 217554003 470090079 226541295 897946165 626044985 704799791 139010655 268150197 911955189 760228545 893745261 901819819 39881265 227562603 431287585 906613865 622751 885495493 171808277 931284757 904952061 495738551 201743207 814068373 751142151 426466669 621601467 603146905 12461709 951753049 894010435 401677465 732314207 696421179 188415409 80934103 498277719 555076371 758695749 835852633 350197077 491543855 52325063 253361393 93609033 99331363 803764355 853607991 805921055 66340045 91428945 270788745 546922199 607252817 371822221 258126611 504022895 873981977 20518687 75205571 919510769 760277977 400908405 106566225 467252851 245356433 13252227 78518077 497184525 30873985 693182411 139428561 373523169 579671609 699555411 438779421 743870489 698903435 507554981 617163255 821814761 393349523 564120283 24986627 481372553 716256693 711156115 938248613 791987517 320355745 25814769 649275665 535723855 272327239 965356967 671188541 578360591 865410787 971700199 601487849 628213211 128575997 48684659 757269151 449443859 995971679 107699085 272458157 312917025 728940573 136134663 283305517 51590009 797431187 610399287 118257151 973450643 572014695 135094521 609573581 935127283 189170309 118099125 957832451 324044835 784774943 637061209 324460253 73825973 504682931 630283355 263334233 281281603 221449989 108135865 422936895 870923631 978948129 931518713 519923745 353883363 527753053 663232299 663995223 702782035 930504529 785908451 426703105 29687159 253600741 339556673 854851335 827614483 816783685 125918953 524510233 874620401 104189157 705700621 114347697 79318499 346933887 642809951 265351181 530772675 386860825 119920161 749230389 765375859 764063233 18782487 175140347 274503901 998631879 300098703 313900023 713399541 206098763 595278689 692830601 325583283 929771185 528891625 891353815 926227995 461160547 768411151 577725141 629438775 728067607 428036161 204544569 756471065 63686087 883980405 467702405 190270427 69121211 825394217 381277439 52794015 496433277 597696611 149996985 643617935 821829601 968048307 671571593 95803871 423859715 89761325 609285139 419746503 305175881 450487921 583881915 914404491 407993949 455263909 359603637 202391669 831141173 753242741 872549879 110783191 552941069 151304987 582230339 285511691 17727593 379286097 349698333 774433651 177901077 878303073 691421659 203863163 437232165 655283735 206998417 714217873 479647733 988517323 795908387 10202933 999404587 101545561 794297141 601273061 103053235 601297707 900441401 893030445 417370815 223860267 905760873 837800863 520003535 78791377 504732355 617716181 288860835 976633115 621713937 612526705 123239241 218823823 682778337 996186397 613952791 648078141 72264077 736171661 269329829 388953785 571937591 409742715 912744925 784773923 32664771 983721383 535816423 843404833 264367075 705903837 815732535 808692703 698079759 751080431 103494541 169361943 367064457 105758135 424981481 879859971 406994521 127697943 945499291 167250029 578613069 495166713 982887219 401331875 578712319 970707281 18938257 286915449 613375183 711854105 856513241 973944653 255127525 558508369 701430389 597377031 327701041 815225093 690621723 534398997 257029483 340932679 159701959 448218989 420188181 651107889 154718909 142120077 618389621 128936165 870622343 827756413 76952477 132428429 498740989 656163017 439665251 611510877 968542267 888118919 916220523 886129551 77593507 441004887 269789467 22466659 347094241 184466783 122260643 904784165 891351275 357556043 680299771 121046311 97701629 54183253 825951971 818653635 303106459 180006457 156688613 531958619 736613267 684144701 245969489 681474139 978609909 931412015 945976893 172851763 152523297 766480487 151340685 863746653 439538873 41177025 780736229 503274847 711530153 368013991 593518009 381330367 280561449 337982467 312606015 595172113 843133361 255810125 569376887 612152047 443268871 585496707 470766635 817785851 645026873 562217773 902820841 112484577 267533719 412274007 708307723 713307985 233189825 385545623 170322355 754616581 36601499 307376909 643288517 912859329 610904143 569498207 255441907 163713873 561742419 300806331 560885431 375675523 533504097 579323093 101582159 285830195 983513985 633273839 195171013 870905155 580202747 156749517 461914855 724979871 295595879 660836543 682935119 913297975 831823265 19708055 680029789 939777541 184689097 680643001 372314681 336060175 880936017 656449799 268342739 539542619 221235945 965487091 275326947 51692029 810688909 886220143 931496427 707645455 590949253 260489979 297189171 270026675 192418907 83349919 735864777 585641493 554126563 534837991 525050757 577204069 751269947 162047465 616789259 51434461 446698181 641149509 344144577 124597955 142245679 796638497 492616663 712077149 593753963 54100011 870078789 304667135 629825975 61903001 648722637 352881923 429203863 912737319 316420085 574588877 286346455 102936095 379716367 428651971 12097165 338396751 54762545 150208347 96991763 507926027 201773631 293423375 31410701 746715955 624569309 785295967 899562345 787717419 467174527 115154649 593497689 937102819 545497435 557478667 208029533 183661777 725244531 338685329 269621301 594339829 711912331 724855821 794348273 587562707 574409529 413204011 401290977 1091961 657706449 3157659 881372069 411915133 326349943 972021785 771512865 48243455 362674703 794761829 659009407 471220133 612929101 4385611 663071797 740382109 600774821 51700125 204186367 717011101 609706845 782535735 41405407 206617315 809161847 680361207 355311909 510796853 331187913 395629003 596102755 266969313 874565351 687302563 352986999 831340735 125983283 647707003 919619457 347257389 768584149 887399251 689550835 230023441 592050621 428289847 511516029 684621271 644136869 14355003 260615965 645398135 586361355 572560245 681603351 56444273 500075831 568721161 55626743 626112711 743906877 365444387 845369745 536746251 438929903 747606771 631037443 873588307 515327475 673766325 686988463 77761339 564531631 958693289 77011267 515936235 951645523 241608989 852336817 419530513 686437593 346202975 778826809 466468579 590949117 742843339 65191003 693183007 219209293 124008133 811310053 597971723 74410005 209775283 173259501 453945463 998484845 431853325 595316173 999970487 653675065 888900937 572240425 566792363 356719647 655720937 985966063 925046455 871101839 935737209 965569619 223396813 869876929 269974925 422012623 770116703 380295861 263053243 775490091 430180205 163135541 796399783 987241839 57587583 923496657 205754109 741881075 998384545 833182687 81838189 780074835 551943787 58819459 655392435 606612079 647802105 75229089 449142417 25298039 174539251 6725357 741524687 603629279 408729223 974672861 145188673 483755875 228726123 807348657 168492995 994202375 469135837 696949107 930230579 468641559 755094693 227694835 547833471 360626727 642043149 982595527 190164375 944303893 464457711 83668049 43999863 814343171 87256233 121706169 593725985 539326301 498618401 30864369 771244957 942349529 500720579 264383661 178761473 327259253 250535049 370710641 922473059 481822065 792501229 824920709 842627303 282428251 756018425 690551031 889274809 331151111 702874937 830295969 604653835 746566547 845511109 429006627 978805525 727290209 289281081 766208485 709820697 593423647 917898173 103869721 59020901 636576449 733271039 243864499 320278855 365072001 802058293 339047287 872074779 326964709 299898399 894361067 272695365 177291451 203579135 107240803 308765485 414092821 939978919 706664433 993968965 202574159 396040299 939799675 503452425 636205325 185668139 140010919 184072699 783664701 471405899 143859429 396393379 175248147 957202365 876378477 841826965 648951819 731840243 912531265 119117165 288643305 766795502 307635239 651186635 994654135 324130101 717180081 453892439 755393997 997789651 913461557 191842505 112986311 370302049 28463831 527975127 485289349 656097531 81681021 702696259 404437817 87958859 251364309 217866203 242499667 927173499 39054427 32303981 48774033 282227523 146291279 84374231 962575095 512733921 127497655 186047479 679010001 878812187 191331 385129659 352578227 561944385 860217839 923021333 219374715 657111591 253022391 681071869 841035 29165357 515849447 179747189 108350097 948947001 924865643 720897931 794344703 368675769 820451071 558219341 453416339 953967521 919937313 800657625 296414353 640176243 146719515 735846223 140292231 451640371 26102267 81175513 771962181 412721519 914074779 67043241 252083947 728175167 317375645 360321531 630111965 163957055 612947301 190977809 352237251 177715353 907556645 490237235 330289559 764504823 116720087 239345591 528439443 315341969 804657209 814796787 315867705 63709733 494661843 694363725 432029529 78902267 572373751 322104109 294359045 380837599 779308477 54568455 396844697 722340647 550926597 793563731 197512889 861583795 70335095 94029971 908212821 283687145 723454595 514248021 699767453 784506805 199417699 526122023 236658957 911067281 250887699 433407143 536260205 736843897 806318945 772755317 95195591 627622899 74796249 746360635 431332719 970619405 976269267 742179243 151602179 220086111 179098739 417840769 652436325 763874055 223838367 99539071 818272193 820732841 784484615 535984751 2850957 769551477 460523555 688384545 547624325 957836321 152912179 912306035 842644399 421778923 619783491 924192581 717191763 375874203 553198109 361236609 212493831 446581117 950657887 976530201 215245225 579942247 661369189 552687881 768877403 776960441 85742683 832405843 856252811 23212889 743709997 605225217 187578347 250769333 291788951 921867811 758120571 53148611 441459225 713444055 411735163 37945599 975556345 27496509 742114171 729889909 532903239 570626431 260675147 16404909 983618781 669217999 461039115 793434049 204033117 877603947 319272223 700611151 127604267 3998095 44021297 572800635 145036153 657616779 851249975 325958133 758340417 156108463 489082987 555415539 635362625 135399763 537791829 267854901 521437955 592746205 803440063 295780861 691154133 57291445 460054205 606868765 359143121 654392655 408376747 850741995 266942935 826056483 846421295 648804163 869015695 482016693 690430515 853698445 386576491 411384463 706087149 217983927 857967263 951839297 248345561 967078197 533575983 498008425 77322939 420257289 533954019 160488871 143543199 746393015 66892617 258958501 480558041 588559951 635138489 129390871 485421831 225629541 87435863 522106805 558042635 202715929 330804233 473066051 219043345 141576463 538175103 795846793 162382737 159781751 446009649 578252637 167233347 387015177 359779937 913562007 896803629 364717311 34410005 650622745 994581917 521233955 248915743 861606861 346569763 889565633 661088791 524397735 469846687 569829295 604051035 595643551 386130995 230197839 270971671 312347577 638243405 188401025 197206073 213887487 611278241 964807097 653427065 221931137 233698601 195271915 450496855 543740509 953742125 701171605 987173405 972489651 499345461 295315901 435026139 964030125 111076377 40760819 889175143 663794815 643021555 131693131 383609957 979189857 723617321 196658533 170587705 848074903 706721637 509902181 233793559 563418475 232085405 789406973 773409781 581743151 786666509 912521311 592504979 657360443 175550777 278412875 728152187 701595637 811969515 709208329 840108283 301763015 173978171 71353189 651370797 94088991 759196805 987173303 284611315 941282685 692835947 526273243 379351537 647257951 144152025 300014393 308848281 852677455 221723655 886153151 367023397 730085603 111922285 197216995 440705683 429926323 32018385 134689699 892829611 849371745 810561855 996661893 715227647 193497495 736316171 961223833 971005673 165694729 40024019 488598643 442438275 894443119 663150969 123748659 159612091 253588621 167579691 11805053 888647745 195464749 972943195 105003651 411029897 65392417 135639753 844871927 723870167 689842499 872448373 290337819 892057137 662524277 373887149 684534961 34992233 282641569 319538951 479232525 109221399 721839291 45209437 497780991 874626459 589111227 798708691 192912107 825017115 193154725 312232151 909164211 911728523 700938883 864458269 45538247 364368289 4671335 668329889 962068253 734809311 457642347 680125605 834223155 954568331 960754609 147332281 291832847 998132407 503936355 960295087 803377217 337371963 389452981 116264355 113189341 214786741 770098657 683630587 631946883 191586193 699630631 297519713 567279959 723900667 329035475 928801483 390301195 774242799 588324405 211961205 549645265 754266157 164642987 876759523 224967275 660011321 45450645 458614753 958219037 164091753 215766623 305809539 140953525 823016145 257798521 584921383 892780427 868643925 392499037 84898927 858893947 678083225 782368655 726104393 726826989 765340943 435587481 331807719 574668751 994915569 147345933 780905159 425424791 271725629 890562949 149253549 854620483 79991485 740045731 822538407 523881051 573667583 297558035 282893573 87504619 642790239 60907395 639887975 812607113 437310201 966603955 874023343 347592533 906832567 640053089 182221835 201494771 936760905 543391065 130846703 132242325 790782247 643033453 150135317 306955503 498797971 201350263 643125381 282722621 585601941 926921305 269779847 878756425 966054907 371578623 172232883 696210015 316461919 235261271 145398243 239251799 834159905 383948897 290370109 584849295 63526505 631150107 490558763 94039787 505533223 65069713 705217891 874197467 187719443 861742805 585794527 473915989 22069423 536543233 998384359 259130583 175247937 807686199 908883717 440413545 58267867 787631523 375926285 910025367 293133141 630672757 975271451 166832759 428817741 412859623 704047765 764272553 828540975 494754877 872701735 904771155 210650153 522482113 862958275 213588769 994819891 255042757 814996135 880985165 953734669 50998435 905702743 448597651 440958273 289448895 45053855 63973433 492823583 828906111 803310483 556994061 983963069 810213465 373196689 841749607 991076863 24054471 277251387 355351587 535785609 162260553 958980735 993749419 250190287 212346731 632213647 475479017 975427079 35054015 223696107 62491989 886059057 357202655 720177235 953157357 820007191 68240237 353171413 771275065 847803463 215190037 207345095 744997699 85339421 661678727 496786627 38853543 326292917 26895997 448750253 245632895 866910713 479536317 901503411 673321843 236533913 64673293 237266249 560781487 22069775 353253953 838544683 191946221 492127641 909621043 397439579 966174825 398194241 381936581 197543465 459839721 494158805 296669923 112170279 707324603 235912687 293475453 457287729 153497783 982193391 673391245 574143853 580046907 496425213 945406489 908768581 59298347 504404233 286411815 910994287 28318199 472101835 987875531 434380263 997851287 168770757 178162719 437030385 314044293 573656895 394406725 843197721 901396425 295122759 80800617 488141875 474930931 738669751 940435131 764217947 102906393 129530925 596942199 302782967 443929815 146880021 386514141 577733555 991417429 532500381 752579129 249951617 216929345 967200189 461221853 914983329 434257871 768980535 559198755 761270163 3561153 438034577 619710063 515308837 532186715 313772829 73280039 829132139 734946925 505403889 939267523 584997315 185015883 212540401 773071799 744695503 331448787 6802369 546057099 587208573 347039855 186148565 399510725 767392257 426060297 577085027 46752249 713144021 986441241 924261997 151012801 776124865 461120671 51304121 115211199 392347341 430401821 224119767 786399135 847765841 250766245 422062627 230333457 269151463 728559565 107990201 91523537 818268789 440533937 612922499 395900575 682236197 890199289 246501683 64329289 817196397 450949075 998555197 607111581 297945607 199862261 627306471 865776503 569764091 879132571 433966643 986231225 404296339 136613521 16544759 628218447 694313571 281248031 862951367 577119785 218965063 115827999 464102661 444404291 590132069 998823663 67150553 508054685 475939623 445478003 982802739 530508613 918824005 162115613 681333709 512612681 766751671 947568095 183441189 243276741 215673283 176821817 769580419 317952733 975403253 522757427 207930875 363603639 759494433 652231001 351667553 137652875 291943013 29600451 144028501 9960845 739443235 709227021 792273731 386100741 855130631 338230111 403186521 365216825 840021769 779339623 203959697 5935485 833082977 57682011 463690407 122699565 268572821 897413881 528615209 112112039 174335091 70830983 80682595 621688153 554719243 533348565 521521005 392287155 152057277 675975479 861240875 610082865 278597933 396443531 908601411 723964243 669453381 27611707 275285029 405071783 841323577 472238129 992581129 72407739 697889929 832088551 877313263 298463787 429393909 816996951 590532001 78198939 925122445 730713611 981460911 166763697 425402275 61455 543259249 606664741 514314451 503745275 772752901 863299245 687904003 413361643 525369941 772605195 839631453 124688263 99518483 886057995 480359511 724621565 495889333 936371585 726780077 473853187 193711227 230281539 421136995 902310103 738538863 378229303 947319493 892465983 857563745 186709827 119667815 112084363 594082023 567584351 672859173 604970127 545665379 824929665 837248037 735920555 452137981 315255211 966158547 839570373 665408423 696073193 304698337 545206857 242561813 389731407 391818573 464314927 374260685 918024947 923207771 121450231 899162385 250126075 167018135 481258917 259187445 541908879 693581527 524507591 519462739 597618913 637087797 805254261 312248007 165956397 868598037 409559883 787552187 662319027 57606181 286956913 359618911 235485121 857113943 290240661 37285035 156652965 689320683 192350701 516850017 665126333 127588449 818638135 40156423 303262567 388535177 351788475 144280049 947883537 127171443 955200835 837870641 20737067 980326271 913689899 383661229 216328753 309589585 775748941 821774859 601623461 48936147 432827151 839761339 262625295 938161467 434020963 380060917 404993029 290760195 351668923 265596347 420749853 541506291 645780505 928592851 558821373 324599829 720967681 349882319 698779981 532158141 687480961 875035143 147681983 485425287 264137009 64332185 994091791 875575385 896460845 705702769 650277887 877496157 712407837 731412795 870950231 691009545 745233455 848124019 20620269 852108057 87705881 204611929 393448599 766888593 609398299 487037427 517266747 615728829 132075255 738994449 143466433 927643955 846483455 850008399 609038107 382415307 804611847 659137545 75734085 31553453 631845999 941204075 784115521 396334661 24179741 645708897 774726679 654908485 575105149 808709031 106794461 702223021 246063497 99902139 303845289 951092669 630399933 314531815 578642849 245491203 931749151 891837497 89329133 245998421 332983869 794296461 952520127 834433485 917851951 616504447 627441747 926771407 615476881 804190585 932687851 806922249 119773835 302377899 417860305 880148591 961438157 719627535 391042133 693035835 111465609 802613347 138994645 305151221 159855999 732120111 909975983 124479077 240160501 10473413 796002897 651167651 437532091 853055037 226436909 727923977 121727527 412963703 766852027 165762621 439588117 960496923 425170047 601705257 296366315 208683417 118875649 669991683 519635611 941451563 62298583 890952519 413949081 750365901 24237463 626804921 741785057 512938829 835446759 737893989 647040253 680594487 920899951 181808799 436510971 943011045 385948131 154664963 790390383 359375221 951033083 841479287 711661687 731059155 546845561 589774375 217728445 33743021 850132523 187035269 267450219 460206203 728554209 981709135 687880761 379983485 845895539 608752521 326429541 136851391 973152455 101306495 525641143 208184331 552104389 252481223 646462075 701719807 197102689 324598585 492821639 145056503 529269907 738369535 831726907 68770335 6987101 427227519 498167677 975934307 892287437 343999859 384342715 516671359 146429939 466469331 17826281 899073523 947156455 529502183 333485193 183662597 646367439 114781495 887545247 531050437 764923859 524851867 127710907 327481103 321633575 967404845 674816753 231817343 433542915 104300881 405671391 992365183 22011051 132469685 8958127 997395519 53701479 72330317 955777291 861769401 714531213 175133013 219823147 991330219 277438325 762579023 446857679 514563231 990179455 101659915 394127161 252986339 103126043 267293851 801070139 627125137 533420213 44374107 908042283 51287689 847918283 823511281 933050085 123084147 145222111 868747593 876246993 732277185 363178363 209970581 112519387 613937831 925512753 340691539 105768829 303691817 279306905 768987973 905962931 857264143 881269337 520297083 44430083 686971623 797727513 91411785 259918717 518165771 962064269 411190599 951960245 787042201 219601005 440704349 461755593 199011197 739832189 917716663 97247075 521172581 762702471 671436231 667364525 475353033 639512155 293643597 953016927 334525419 487956951 723913033 721712313 86856913 756224219 804455945 515353983 269273421 706497361 37142307 327096575 713835511 808908333 618408559 152627983 330568749 522159719 450604823 786195983 171546395 607747587 713260163 545055717 957505711 958957835 637200743 643413247 559176865 464799377 138335427 171918163 411302769 147881901 760464599 478181727 779934569 332209285 395619891 349088041 103090073 322750785 449097385 638912833 246327001 380616469 186145877 783020475 756994247 800512825 504048283 610559285 100570317 774124529 803005739 289261017 863834909 873819527 80493813 317852753 995644845 573830477 436213557 224645847 166594365 773191325 847663219 416042021 508389975 491558361 999476601 135405189 522395721 556071787 64677467 540690627 463364653 946785479 442836853 325225783 518161893 548632421 147653229 476743869 750472981 325264329 842980655 287449533 49123375 429595261 909373165 993365797 480027501 250828561 588704037 879658859 116842957 942024483 202005659 997119373 920206359 64823123 722784859 995568145 263795167 789308493 998868667 548145671 719264889 512315839 471200851 868006915 59062277 483488617 409850125 368701733 993912431 873481737 212327695 916695057 332357223 706055787 1229779 412813815 397237857 600270943 315607825 13922703 108231585 500142019 614677967 327363091 985053997 957610359 659470683 356683853 803184855 551729255 690763333 287232905 562540087 493028481 395337069 100674207 142578093 181301189 329670903 361083627 609688415 493528881 322509645 575575381 670717505 746764753 357797413 647250251 82357001 82419637 686041465 598012355 46087481 222784763 976713361 759682619 413730839 589843139 93771511 927015355 866257845 904742969 491229567 354427343 466122731 122272141 638229829 578979725 992585047 993076473 712371375 760177301 766066789 19644865 515561063 65030667 795108417 898990895 17028195 633233313 1593831 772579221 695361247 144620169 129867543 698578253 774024031 448582789 915809621 232593337 669354415 108472537 264721143 462743107 698035427 64651091 96309777 764676447 889156185 699675979 630747015 300919685 831177395 806779549 447751677 191974971 583288029 921020081 136484581 45166343 748947725 288910197 675047801 849312891 358481345 176026719 622613431 653628725 411601593 172033901 238251881 961074901 802455555 582059559 367636765 952672007 123317493 452259479 653122351 549942907 929150247 197844569 981340347 992493035 469455747 606251911 200419499 240168731 492563249 304861639 860281519 226334677 998544037 72418123 869719103 107997419 924934303 453575621 687034781 532041527 490403103 957522295 531508945 48715931 9779317 469081125 447120553 734421251 978961969 330504733 316106687 201217375 150068789 529394999 674466675 466930857 414239647 676511697 697509101 494978789 598127071 895697359 25951773 803081245 279123881 629776289 297213115 13985635 642576889 862122301 83549001 422002129 990846227 11487009 40448013 559175563 102604675 509537109 589874713 357383351 533564189 91564643 459051589 736045707 289677309 569350759 282544687 462123583 629179785 85070331 754115907 737762841 287429483 381930821 678634927 835847263 398737561 959171831 570529131 375829605 464056399 701886277 446555959 906541957 869382417 717159147 629234077 493382177 913586605 492688947 353535981 452640931 959533107 685553131 793290557 245657215 631028483 673773671 144611185 518012719 814347199 454404229 763001901 63366963 370287699 812846765 840874981 691189527 159933943 61864397 461573327 524085357 618596899 952839261 403706347 69185231 862940063 465469783 511419907 729238241 562277747 893721411 556465829 540802889 857496055 501002033 441713965 925532605 116600259 689586615 830883767 613729783 273672897 275849713 890484269 11481783 76554009 119287429 352118591 848997577 468693569 766934693 25766247 89090047 749619187 845842693 311330787 573673011 644418871 948475619 127653821 540447305 41224533 974696709 535196355 851890983 705388261 623156921 375532175 765196483 988753091 644709079 337963393 872250647 343083279 789331645 952636865 854654243 425572411 7005007 431053375 7422451 304431095 928709117 700774835 919444377 926718529 86984637 693395359 321034799 896493147 283727887 412364619 685074649 930718165 971986933 65887941 34647229 482273665 656332033 23995367 497444881 353097341 368902729 453981007 646763791 126272299 985721705 18231657 406056695 372702265 995857289 926409571 902144279 295346073 184343637 493497397 685945789 61682569 468768519 427047329 919177029 899147149 877431643 322894125 102118161 936689009 98699415 568435499 66798733 907439179 390146187 493010865 770505769 908441461 873257611 882384803 716730465 446494099 235282549 767308197 372888757 789797779 214631347 278200619 612258481 391951783 292841007 565063531 964877031 232005711 4071777 132481639 969053169 153361739 808249671 778344421 385146227 252631723 918003561 99341429 831810323 144668607 352517587 126661235 845982089 862985257 460668957 458231035 882847113 948098759 421693539 174568183 734767323 121213129 409225805 909230105 17679685 532804259 958024713 87319509 248992155 767294737 908236107 337398385 604780215 556459031 149616213 954614255 536108157 211091455 459148011 38189861 912544979 158828641 666932061 13257383 108775089 200863001 938391935 402751447 41363211 50450249 240882609 925184477 379777001 564352093 366573015 123954857 253883729 484962571 589672033 803727349 650865751 501367887 584170311 86789695 530298901 207783533 894386435 866520527 197612719 744117745 620026271 966040505 165891149 173996207 483695527 687561937 990085665 448593605 753506611 595996343 522972007 80475541 392291551 691142871 719081567 755799245 244283091 843779935 692968789 2010975 79173565 689679945 446573981 998478475 430596563 648242769 518551693 562958545 68042195 181353989 919583369 792504063 101199363 655289009 826185213 728432939 488626993 957416813 252279385 405028783 188635063 75423261 685647641 854793775 880720493 276803687 5061823 340846745 414907327 23553723 406197203 564215841 27083927 745721681 204172265 237454913 110689135 732749609 188707995 159114177 590964033 1070861 108888205 359188907 162174615 148130957 281683559 640419409 314110077 875326721 684704219 504650325 749578123 47330439 311662757 593232277 6635741 21773065 177361285 612311107 314988827 366661945 283987273 764618703 78589811 98055053 312313279 886126069 939092123 86418245 895206595 942987709 623958481 65713003 187541305 427089521 611780571 572578255 636252169 426867877 916118537 355091463 709130021 157653815 334806319 585515637 82046601 310810697 236860589 880187201 758908213 118336583 387854695 702358877 460178487 992840937 94708431 891177341 746860957 765540903 240049111 833912103 634873731 489682759 949936641 17080221 733365005 913974229 635861073 35916019 846815075 478264485 928028245 704085251 422366903 954464981 257333029 50649705 474046277 989804743 46027357 734092687 289770575 768516905 524726565 610483109 282280221 338808815 254546731 689998755 758289411 975538003 345443749 21959499 326717277 16220381 279390289 120669731 175673481 578245717 868990581 718229631 514002165 234148051 435657697 850024561 675034899 446014897 715816937 731695839 975262555 164537235 747217005 298886767 728759631 196439399 397377235 170577553 774900861 195217761 117158663 199522429 589207923 218259965 51458179 337594421 287891149 888621311 860141379 28904831 826593839 824070257 159790797 45146861 850891585 242335147 781196591 32028375 922262709 695944265 602189313 894381659 610209607 252222763 484041567 969392741 824020153 374400899 477125361 123200161 229169875 814456769 114556133 909209227 782707819 773979811 619626225 585388643 173952087 83799085 785830739 44807215 538473085 799080619 4509651 502966977 213335237 12937137 49923261 467577519 982770209 884022045 44171751 631726427 423810957 885586961 39308209 525230063 614050059 844284411 960439297 970982487 337441957 139143565 122160451 363428431 468733803 992434117 299769201 897098325 315006073 708692711 114261765 523361971 893980147 528230273 170745353 70837879 998173185 665394531 391765259 364149373 191178711 666430125 685346335 634115169 231242925 896910531 977732067 895549325 929958085 832718671 176021631 750963249 222910573 139128645 194059937 392744519 692631795 902885861 461829247 864220813 45829557 800809903 685370585 27623307 962041619 110912371 742935537 255805587 713517431 665002307 419413145 136947901 34463827 288663419 354202917 968410601 929361187 39625663 347033717 286518207 874507881 262921727 20781807 732493999 773494957 373557611 642055553 105969907 791898501 283341697 832256671 451167623 642226311 850372355 11498827 547197753 551208537 225715457 24479241 374360981 446699939 560322509 969185257 219580917 215662105 708705797 825689983 518414967 704811379 131141003 797789161 943931143 286986357 240761995 627242959 943426131 482195943 324862587 990838881 723436755 293575583 567975705 742447697 876536777 451078515 375800677 742537951 246409787 192775753 477285549 902913235 899025913 126476041 297593733 630808953 210374815 10151335 956076747 391733159 614238857 268365851 795526305 164559549 181279203 781169001 253383541 998697377 25910171 39530649 903585017 846155201 215336551 652862913 130592557 814361105 666991053 55661817 439834449 97934867 261556497 115750753 230694133 995167947 198167107 508604455 208540905 257000905 96129855 829800829 677123149 380539425 724047521 592365979 276725125 98585969 443971283 378006981 828223803 828131041 281989381 135611717 641661797 751452705 138004529 839863403 300505149 381912675 48011797 807962005 213854027 942859111 769647675 789781539 439780953 668068469 14249713 860166527 227143291 131384665 506001489 148985373 34911501 37764969 859258683 302952565 741047989 116224135 695017049 196791819 760877661 291272723 831010583 271615079 6215739 607703553 610909359 107435039 155479243 575494085 957725987 111481803 362333137 977074525 317468219 828710155 188948313 416799311 132235909 822516623 754814647 351541419 426661467 568291843 902581129 726132229 841160411 470847781 608904369 340980347 559701233 56829111 302559581 517830583 933615691 231359619 124649471 355321827 311718497 146782043 36280149 422792887 417459061 915280919 931985763 284436595 795689357 494336669 404012151 506353369 817787259 697586391 7951393 925512251 955735511 751696307 73885761 186537071 574441473 240694319 757879801 125043153 183709471 157440077 910737591 13639753 460689189 495647255 395796783 927566917 387010505 679337631 523386459 202671547 985753483 546666239 180310147 330731817 102681269 901584215 82459695 875779221 798087255 321998295 802659639 834274445 655100745 677052331 837373365 596960555 480740649 463056403 917732623 10352391 614911329 581106509 374217967 650418253 486709795 10316195 688346699 192783783 854393189 249604203 939486303 138934605 601364455 953947389 187225007 680106495 935742515 341155771 274547973 261998081 936265111 659768591 94222971 218621985 417915181 497952877 326745703 136074933 817366231 225230157 708664945 296791199 152891961 412776499 474288259 799591489 387796421 261043625 980346325 494728331 792501173 275303233 493122527 460746737 301500679 390271125 445617511 977843061 655870083 352144455 445228921 466802077 325810109 628219137 689526889 761329011 450126345 81654391 203492053 449208211 297627015 889410145 757921439 38519061 819338787 102304131 171292149 291922085 216026765 473439911 95107145 307371885 625622329 474451871 877592411 416974375 160336235 505746499 239770667 664663565 100077097 508095353 442310151 186322921 132814149 291778091 928119173 485053191 656907351 960429641 258533247 361693247 189631423 516820429 509989401 157796589 430062499 675020731 444403651 831506937 519085303 77715741 325644843 684848337 882541681 622939141 249786707 201036395 515845523 752881293 607700093 168613957 553729443 119601623 939720499 129174375 430063795 18391309 654069325 173663067 113796763 250318435 355177701 467461949 718472697 166203409 221455201 323826853 343781689 215029595 377898603 94337727 80345479 835586443 277264891 375413045 220845535 310327539 269280839 598244161 845937665 305750509 919651545 528989343 984979315 178259931 907001723 216822419 101660293 849292327 875940675 660659953 994867537 982419781 899985289 112641801 101763257 775330735 680826101 506771647 162355041 842568421 441120371 762358645 852109499 188334707 762249781 462422299 805826049 520572651 780700345 664505639 117921073 937875687 649405379 421286807 765817365 559710217 541317985 141919217 144416571 298687995 239980771 699734597 33591039 272927089 795999209 99867175 665271421 439291173 344091989 93701559 294558879 519653079 956465237 763619483 946087701 953448531 364046685 507531009 586069847 547492971 388519719 855146141 933997991 971519479 972975035 888697265 986959373 509323999 306681185 418930177 124135255 54028039 650042289 463184347 830058015 370884453 124492421 375402263 737750469 926237939 305831683 385372689 602092401 27790769 646933653 45123761 122196243 370185131 900801009 121144167 360825955 41907187 322309649 973349 329958371 32935331 920738109 935904619 679342041 3137757 205497855 349520703 727402839 463266763 121600043 23492657 921978165 572150177 795700701 174531157 513516305 132533145 902079611 391602251 822649943 241816051 245708209 791893561 174038837 28530427 788586609 697674445 615402915 809612291 870830585 637168187 591062113 644936293 655560397 434421573 218500601 624292995 699415481 136448047 205817275 77238985 149500113 341377479 311821501 975466663 2498163 244388453 191297763 646696855 762772545 948105959 500349393 69327391 963251753 853017009 574710779 143721157 927055197 144774579 79942551 231196957 585930077 180307299 12456357 39384257 295314665 63189441 576190703 225581139 891378447 528373583 258281731 875712125 182037541 377356575 618271037 365410547 772601541 153268165 414698425 548339567 126293203 900850785 765530209 693509809 655806589 957700505 543480805 975722885 931886391 606544539 244242623 715344317 957995709 927641629 121223213 651230005 760738321 714357595 754892089 503384779 162938499 442348831 528571825 130336619 771446949 588390071 734144303 219747081 248401747 41011447 721696275 250509215 667745971 304232765 344747653 782818861 134598959 631834739 712683381 193243071 519106173 657056259 775825307 659490921 240800409 152778469 560313977 412483137 447321799 155485335 958090071 920544875 648884371 160285729 73664067 619534867 775958225 171113231 796738839 332945257 482302111 239852151 15231601 269384871 277792863 814537723 474012861 763042067 432867005 195901115 891014441 14811123 699260335 439651435 756361901 805488027 524970355 426421823 230143755 432146533 983675273 773084149 617726409 762670003 596154303 289205459 200840505 23259377 919114537 759436455 285057905 332126351 45274917 105257673 940404053 113938185 459775573 268058391 904887179 919416287 665835943 29225717 802726273 399834781 380766031 102712917 497756275 580199893 882517447 49817257 209914977 993712675 154701527 486991345 912168721 348439333 904743047 780852149 980318995 757942409 815858735 314064897 471636675 500649215 971942761 283061355 829278013 468705091 275482907 815120149 179585899 76629269 456526959 629375905 102207743 371674689 284799963 148957757 799657837 977834905 153758745 498121891 751243515 983813625 67902769 882889487 883152299 406486335 558029677 779237191 609027667 727979865 937129569 523624859 679436167 725212471 980157929 5482975 784618665 293442517 737134891 638016113 87189217 439727411 697203601 626017083 410540063 349406045 58131411 568709799 86119453 972846437 87949033 823723183 440841561 89787495 977137433 985974733 965799963 357117057 175735023 471546891 483930999 265234913 828755007 203664885 122646593 69042615 505574695 995510177 36000793 131542335 279820041 815672753 267470955 797774521 73709457 829146183 110156645 998450291 558911927 3298321 61125377 174193083 571279027 106521417 422214651 609155053 229893899 874956971 964858593 497274221 561741197 846195839 586005247 697640097 455987785 805348751 414865773 798562049 901027743 801195573 713782799 365456385 303222579 679721295 199804555 421999145 778712815 575924035 214467409 794658303 26747911 593907453 668392601 723620119 69119483 149822197 956359523 344687373 849687947 43537451 444013689 22820479 97380807 421104931 763559787 147995675 940918017 748179179 969710993 645927825 20987861 114003481 124762377 452807837 227969065 520382415 864231357 69383169 665142823 505298095 219758175 403386501 661951301 379070953 223241573 653446141 303248703 301520435 218332687 347605061 784947993 67748555 962448231 625693243 130475551 645028983 205703485 106471629 319199461 474323591 958226727 676918763 511318599 501121999 486099335 930531729 812297323 424018351 410679429 652738241 888018877 737016075 344829203 664808579 414785519 490322261 434775013 234073835 392485119 807092095 34804865 579437077 60258865 365446411 383704105 881951519 597583633 743326459 816044275 694936375 104505461 645770467 320519347 454058125 423858039 592142291 350714379 561495389 571154043 686443887 351839587 932757737 530329647 956898009 884225515 712669305 682207877 390908353 757669019 900622947 480825789 171623773 581213493 676308221 714597719 151973739 183656257 912195501 372987171 651982129 757570829 141817307 757819441 496015999 821693617 893337593 415797217 864710313 12486929 60241027 934082775 850548623 100716755 98602235 744418813 952575639 776600423 827928809 39875977 742714797 843730949 893014753 429736949 626396235 988537007 562596223 783871753 961656427 319182635 139627617 962354895 140887447 643470347 597200181 871064219 56459229 904706471 235420333 864705545 649211599 620117277 88975745 550729727 361854609 544332633 249956211 265159591 692739269 98651143 500276817 438446457 512424859 864451747 839704297 544821291 524939977 171227501 520730649 338570183 395245709 243564651 367450047 729987223 677335215 334181999 774621129 436322353 211615097 776429583 366657321 576503405 593848519 303926445 690740439 280913011 295489267 910889331 846833365 194614703 30695907 534953549 869586225 804801237 90616329 559410935 7900409 478103775 793668441 156474351 550552907 187904019 98794575 238562175 61470277 922091261 773470965 37836469 249421333 769143155 231908313 419284077 418501613 742593935 570796301 397284931 749692165 990646965 409758005 773738401 723441057 784571027 103303283 509146807 618721289 208220189 607028599 532953471 350702995 163806861 178190455 36891831 25149845 734576235 499049523 468090599 842701941 167636607 744346349 386594657 718825115 558729953 300441975 329615165 555829625 17849835 341350437 335341659 591204491 531048259 654084055 487390819 595225171 499597523 475606771 683894213 154668891 882835921 88823399 223028923 653656371 672434617 709893799 662533699 389751161 289944399 948020405 419637029 473496781 997823391 59270421 547363059 340345817 539962621 316038869 65921797 160264783 374078469 851059853 147587449 582855147 375579293 884818267 683779131 845550959 230733553 919712739 454818809 490183589 502260339 267257685 922482987 763881053 596664545 37848681 965369619 562378613 206143 504799321 960062647 740009931 426503897 419550189 988370407 533596751 803907141 109360757 160187967 657662701 992114267 234411719 43272731 295222179 457361733 420493375 27067303 302108019 978607465 298215877 378161617 247175015 513576065 986341573 312843087 604959631 63325317 971593785 449455015 6657545 850912445 368453533 234398749 435319285 574204593 577146871 320522945 554918525 781374777 615963861 414827887 458300883 255101807 291959119 515881155 602427955 546984887 967629059 408301351 241736927 746550463 595244309 395357133 236741409 690360955 367124279 363867561 187922763 20759847 593119387 514169471 845917621 511812677 464912129 684259799 714333637 504619429 834532273 322528767 712268003 311184985 942675063 963760401 198329219 187108285 772516521 539570157 932426269 870786167 538737191 473035581 649202229 885065075 447061079 41658477 612300117 538094819 329056551 657335991 295635469 511125317 60862989 885372445 136074491 712269405 946136327 625177703 176328127 679038519 183919515 473378339 550868483 404691495 631912919 880890795 598619259 498858953 222963539 591416861 577541599 356992003 724040237 904586853 389837811 383841281 704917001 677625393 990466687 467244597 281833753 67565305 321713753 526602591 751818511 200738559 479286873 47826815 156945451 894113353 581716065 123341027 375965749 107361705 424824411 745198881 125191545 229134775 154556729 988072977 659417551 358227411 187002873 676114141 392218003 701263651 240248985 553987821 46992557 341023643 635198755 255910645 478939531 912243441 229408941 372074485 786246689 428862885 456506447 361650733 915154161 310186497 861739 714605101 788755457 875133717 164252267 90624967 389305307 510119353 308202051 471607063 284482713 231225739 254339307 594657153 913924313 79681013 690056359 775302837 778359489 178383145 395793345 916513187 619110653 327434013 815652745 532498311 356565957 773396113 348701533 784305897 689280985 207708175 422398365 174256787 416937339 330772197 667096243 443305113 829949311 862949933 483996179 667272025 503097909 480167881 631002421 558134899 347027071 924058973 712275613 945296345 573702851 243557723 792501973 908041403 566531567 244566013 861861231 784299671 74318969 4433473 715250181 776545841 897999199 29465327 34595641 596926613 350843175 181960603 726814645 233621529 707908833 303915929 374512941 216354645 176380705 298801419 94215001 732354099 594734855 277346775 705766653 674802905 597857081 762351795 426970851 639988929 217759459 67937297 939712733 222413219 970338493 142729525 660796613 313695367 846486023 230654757 770412925 13332149 785825669 557359027 721837039 239410373 31591557 375374455 965001743 466018193 657676255 759946705 881681365 207378749 159683311 898975207 875748933 270586423 689606813 659945389 73881193 705691187 568719447 689980891 319705171 902596907 719084307 19157997 853835805 92359271 636896335 100238639 669319913 349400945 491101457 894923185 197104097 388764445 533025513 935339339 917668665 300791943 288647915 628634779 837320491 930359829 400590519 260675085 386245879 508836977 690443635 976151245 702412265 559217553 860914891 269071831 566938705 499345841 590607353 30341867 634789005 915762261 695884471 615789455 503690237 208186185 9233999 432559123 689979405 50341793 504039053 486677649 18335021 903883451 792939209 139444715 155971543 555786553 948580577 521207493 917456783 637976583 308679737 782704275 340698079 474210653 831304385 596732041 351144281 755399603 183480815 917146283 115041431 17062095 393391553 373299393 470234427 388798141 523878845 564634457 91868911 866294483 727069683 355675855 479378023 830914729 723175415 770477631 830738525 612412201 702629353 30776467 743773329 764066171 768779119 156552571 453128911 642894355 85695669 232162929 901761001 672351153 458104693 651976113 504050873 866805333 770237419 275093833 845632289 251341903 720616413 500451845 818808075 432441649 193852313 802203263 537019755 510912215 884751607 276765719 727308091 401707109 686079571 650434549 217961595 259776841 294644629 9430537 38016823 247617591 539654955 342780427 668221569 599177771 269566731 315797629 306914163 406749545 219285429 676899237 998540335 441593469 565206315 825968277 607247585 289091899 357689855 58460197 134207161 598440895 223025733 807146995 540775665 83444079 980596381 211306347 547567053 802996213 840289581 72313019 583668631 834009673 582792867 415744475 233296801 622032803 199102259 545244555 244422981 964885641 279311775 217349205 374836455 998978503 32752683 957060489 987139309 954929521 369773477 947735613 247653581 385103333 166653541 548697173 369519617 295753413 496554825 956623733 333323529 115411967 552036533 840705553 904841841 237031621 209024409 599824991 385571787 503920789 989313643 551232351 199345841 330479157 208603689 764094939 760911813 258992301 555458907 754583905 107848115 315851861 531523341 515215181 430900779 34182087 74590165 389237179 752480487 151217383 453515475 602934421 811975853 679656419 469062829 742867595 802344003 532902959 389075601 649252887 432579965 744876933 943589171 834537079 566750261 492236013 278385109 572923573 846799693 743032753 646000955 246998175 351055793 47832675 672501429 875697103 655185 999051237 9691415 177038501 504244775 586677845 419972031 567003977 586608441 278707237 117266837 13687467 145635213 893737733 914194953 221284229 541752119 210105587 544204301 584349011 138794577 558462769 496157985 586694499 211069437 371469647 819850317 293627841 897237863 437800481 221925661 173125191 531648191 287057599 926280359 519785363 321170497 656691601 658259595 780877841 609145645 843812163 156473839 762602223 903328975 643137991 756609665 242167077 295797113 690603355 388335479 135303797 806988677 36077955 579440781 890931301 443763799 410717195 931211535 729403719 547675477 835740681 966522053 430430001 261118197 752290007 123174153 235312391 535130545 346743065 590318009 478591855 718760713 443119037 908024889 819121111 468041355 246397173 421831289 985672571 801329349 73030465 107772913 25611355 136336467 823962209 459189403 343257661 349438679 237074021 887124481 356848561 30609917 675644063 511903279 968216339 793666165 126251691 750937787 691412351 492454651 556050285 223053253 119688159 627388751 758699027 980894451 317490149 25541949 189237009 133142643 436936455 844459929 127517475 915957243 272092549 106760505 999676493 542746057 781955431 134252545 475715289 969576867 702728577 664473565 985735775 480612313 584216679 48357821 400120507 415541311 204121467 55500957 778222863 446282035 196126693 206851197 677161671 676649631 716059541 747935595 536857241 650321133 82667077 372100213 459390849 45324309 560862835 518538423 672106947 107918999 352901735 835302483 613902315 152478839 706652981 283217781 172315085 173571139 632441265 890389325 38303111 295749137 20801403 132228375 497145979 686164097 117524479 333663509 744702551 969280953 679309163 294480783 30818317 124513383 484982201 514998233 976405213 906251969 781803943 253134157 30280007 476440453 306823613 657456719 78484505 52873977 660607309 110426439 29540713 388185069 302047597 459016103 177813393 905558197 646121985 779753195 96596533 103730737 996978863 957126547 9890115 367541445 167743975 76186667 53018607 589120867 709753313 979551303 451491763 603970685 848346013 868779389 634424151 576752405 950546405 244797041 279375333 626965933 577865801 132985807 221659055 58703193 367765537 180045129 153363287 113058473 625073035 489900181 856337595 697546431 865031793 863681147 936980493 266566211 521764229 2778049 438153917 953605213 782950717 40716349 88519303 956805065 151486169 20972997 384331891 68375491 800086883 678801213 237824971 613622547 649269419 456678801 492859683 496438531 78015047 703899315 256549721 471717487 111193753 485566105 909936271 53895343 126768073 724798539 338195249 780085423 248174793 270949583 508222711 372631513 167189583 604210235 115168729 993770791 971630555 318384805 993303325 713662483 323680949 584979251 591619663 908940711 804945137 429457675 631871555 359740783 784476259 298049125 9660951 909628547 637534125 865565559 852768301 828494977 677250871 572124547 359338803 618713741 996488753 979663319 727979293 961475671 888462739 50564289 189913125 213288213 331515167 952463005 543430099 974610053 396488285 774330063 399323631 118204397 199822747 26277055 319067537 830951709 310800625 13147871 158072339 602528105 604431171 861830571 470877721 596098737 345682231 304524453 569969809 147221595 435814973 68146005 804829103 586396243 573382541 404891217 863224815 488719379 787987241 515061295 280113429 681973141 169262295 791056533 508229419 523396707 35676457 44669227 881952649 343177 483652215 267382947 240526283 900152735 412334047 783299001 65445587 123101635 451917389 663670831 149976013 370391193 449307501 293050317 618779951 48234065 314704061 422298983 706157493 459636385 554286199 717537241 408707427 352791495 176254119 490757379 499305093 723761545 616375325 16246991 863870639 721610807 319424367 32812079 312167871 160092583 398809599 21829663 944540887 356960819 842685175 171354785 770637669 858620359 151758403 412598717 910146587 671826639 250299807 797708937 971623415 106858815 432530313 196328987 647677759 650396057 455167051 889753753 991879803 473422817 609229043 464656427 407703425 615872677 45799517 458878467 287641199 814853629 300979749 999990621 667136169 618348167 924445109 623593083 828516825 197183591 463986493 968812453 487899891 312751181 417519799 170816561 11298615 790896239 136955105 354683253 37295397 160202635 361599555 433519063 541276557 871829481 10747441 976747967 453676161 86831189 138722749 97910945 241121885 756481829 683045581 642504693 583060167 431789881 361844999 270186045 99337129 979000567 92153563 707876871 30963257 344753995 951339651 286820577 726904819 120446639 394218749 968161897 9539993 252871199 290097425 317561151 673250363 521061921 949719121 79702541 305938475 584206787 723900949 421072517 429726215 682023325 27823227 157106275 300297137 766020813 351937391 697801833 890532693 845957111 509205919 42683233 805155945 885526603 549743491 810351387 759043755 550647423 208513629 553039733 518255387 756432851 160759091 591933263 291102471 217607945 719248341 402580883 749029123 331464051 243762143 312333363 254893549 278078437 595421613 725019947 352356327 775133121 99353451 408436605 204609375 810398695 406633479 706402867 992046599 325867979 632708153 336457053 807698911 718878817 711474561 85402905 112065575 361181991 717284649 433914503 809534575 327814947 932659519 794809041 482789767 646484963 629996447 282807851 435538575 338190975 74586853 900990669 514940907 510486165 921813371 474427899 203230277 46054217 664748179 570867453 699357587 995652171 666880801 764340265 721653775 234047187 945809641 219803605 78705985 12518043 495061875 444440423 152935667 80763627 286173965 494640199 901066809 169738643 788520913 728506089 77887599 764520425 530870945 435429829 715564091 420495817 36836897 505891935 289236615 751262363 723102659 851801153 78935945 372416077 133530815 279105531 405915581 965074005 6894871 544953387 572166375 784029871 150228627 609246833 588512019 794864359 781091777 439559799 555863957 777014533 682529531 242312433 200569355 407720611 267971423 423160983 850661719 152922591 964614617 474443053 651186343 678685789 134678039 768419965 934892141 496042573 274455955 95510359 914146151 467428199 977035401 984372377 146886553 922649573 304241925 624539171 35223377 406952337 650387415 957517279 966170143 325224119 358303639 100695233 323857891 798364461 96474533 36074945 51934143 733199189 127936807 973204707 265809185 498981137 232776209 187968049 834658493 608501967 278967321 658745531 377173901 900713609 184551873 422984095 222662105 418350779 577354063 728243453 525124137 393372523 979793875 701291775 582555733 665437481 777864745 218072281 493432439 325472777 754116077 692076483 805070325 788834475 611790473 420468225 52680825 849032499 825912879 693257181 755404537 238922835 111135957 188116137 221066929 218979901 960297787 336722877 210900005 473192881 231336939 616848255 705106465 466893559 322861619 503642713 224211641 339595995 206648623 502740409 301661257 998065077 495986363 896193311 638205559 527670881 784376449 36167945 923992365 927942983 176246513 820150275 935660451 454356309 255699013 129106333 499685201 494475521 355012987 908759925 97903357 929426761 200832859 7295531 276265907 776190643 992430457 161932393 654568391 844833359 471286569 200218083 480207831 335365297 313833613 181451859 828454853 420555513 68756877 679776377 763255231 884805579 32234201 744274207 201157943 531768921 635684585 487065115 750889965 249551189 797312255 808853829 992355553 896432641 918960673 200996735 5125985 477117217 858570273 282113459 440451075 636587011 931188887 149758933 420871073 117189501 845956067 330812895 59357281 491134193 21252139 233832145 753468589 452971329 748653155 566705077 127103033 579708381 678892355 386837665 238717701 851828155 260268103 391804333 498609747 252015705 78419131 657774075 636333997 758343869 166722735 212207287 353854443 754782839 807741435 859221519 430428711 732418715 908929341 263820355 909263559 727387849 963270369 403558545 224156791 469487655 929392147 303179845 523685161 102729825 803477455 308809649 771312923 193789615 709404117 685023535 22813647 257293521 275098539 350768673 909023509 553335307 775833505 69173233 593848833 8941099 420111315 509411091 768222187 854071433 293019421 363090943 829354875 822430465 301951017 420078649 811718045 548530427 296188521 977861963 507971715 81328741 206920465 139057095 271827115 647757493 589852197 446284359 678006745 939612651 951178605 916491373 233288731 476498313 408534903 250271205 97977025 21339041 729576607 828879199 573162347 503353287 997436417 178968469 440110843 376050203 200270983 238048843 216083615 41033795 702321121 633641291 711019211 155540587 40074633 92966759 916926009 208888909 433126843 763201913 989147377 176515619 138156165 954265955 626093883 606574007 199040179 789543185 812361903 552822103 545205983 91352947 281253671 164921045 176377961 725000067 829902793 903980181 775945849 242773829 649389567 378509945 211342591 746474179 868287103 966083313 506785203 496913167 46338629 457065459 886015255 89006403 657504659 517961725 88406385 104864641 965631737 770473751 121070035 811936245 895536713 386298317 23886613 6484943 812034977 254972469 780448469 555266633 922877025 241284335 815837823 854892969 424817211 882935841 440384577 984398901 465165855 307830903 368436243 392191809 672266059 208483883 886197941 264140327 148193859 691522553 832316081 626574665 478003667 167890471 266386775 826519313 377529873 324711811 519278015 79146227 436220245 302787685 685584327 636855913 715170631 700484009 681395993 17574899 434503635 398896057 258063399 701441565 281850925 200708479 731146023 114851449 101494735 872547699 311199513 950933665 152956799 132916371 414842567 289713975 694217291 454177127 385425343 553282279 982868611 190254331 33638237 931329889 171247303 568562149 535430589 489570401 954331385 736153413 514470089 371824807 898050377 985090497 421246257 197962495 256129317 202834055 793447791 141873979 930185807 579800651 833434817 753729845 985777607 304421967 464697393 898470863 414096605 856363863 343571341 253742069 820677155 534902961 492793455 529776535 11669621 218035509 516553015 278320817 796762105 251902017 223203853 164907587 450569497 946266809 348272097 364305241 955950987 861352973 911883117 960217093 548496715 799140661 640575021 296835169 48675741 582138795 853021039 155293585 112508941 525396601 631665983 159726779 288133487 430523691 508613495 178265621 731757793 237685463 563565749 930858457 913156293 184516893 155153765 413604679 870104007 313845539 638226101 721222571 677198813 738143895 368883613 812690775 705104197 196393133 450261983 982781095 257447807 235750695 669619457 476190969 716493401 281252681 911775061 433967547 269161703 876910307 426797811 74853213 366288519 459613513 34927289 670360153 430365661 892285531 667091795 373333045 998742481 489762685 276201517 882418295 962687133 576230047 367836291 716743091 92278969 101781815 550161493 298344579 554775021 755977541 842474857 962688651 308848705 856725579 470454351 986972529 648911629 424069211 606983011 435830763 455112171 949181707 385373121 85846195 383636417 588507767 435373139 361864587 226905529 64857671 346619083 7163963 71720521 788890281 51362463 480584087 709451307 698114387 201654799 787056249 588136807 172989059 974164259 316545733 746480711 801321471 771431087 620500577 671232095 448590869 90589511 281033795 732162443 96175773 794397261 703041893 80592625 700579829 816631017 388113353 246641661 372337665 444584203 910014839 308060001 675159347 458106477 101910915 829112347 337622909 821484429 652581639 21960815 386869089 972533429 191650343 803294441 96832737 279770867 832384777 174752605 916639887 602531105 808197861 870467561 14492289 825747167 803511023 952374767 692483411 897822099 466373487 824236827 849673005 627202417 645094059 809168997 717019325 297880689 35316215 740318981 641545785 585515857 829758127 835597185 542381663 994682009 991244593 999424167 887390581 367384987 589104619 210678919 621162571 736693615 840504397 372117377 294651701 999553011 588464595 827244857 402781459 287187667 173691133 223010713 569198665 981942909 696261721 305333205 308632007 870177577 390055797 352731501 846206981 538080727 171885549 826500899 781551101 279482193 678974565 3560449 139340345 982316327 663304581 36628063 753844677 559629489 796896511 180719831 870790457 89958925 285330063 503327055 810754993 724994855 915900661 459181553 819930069 522489003 960301311 8322611 61330131 809188629 375200891 462888401 881509729 447910307 749834053 307108303 358993085 162091871 273616449 381727097 240513965 846820377 905922647 335521635 932323713 706545511 732572025 404436585 503813901 324576171 571882403 660349105 780564401 332764941 703142357 531855527 119645267 615509119 8504093 791739901 792284767 603414199 661324681 57519793 29439695 528501557 247555381 107575815 791622429 853133633 961738053 910117261 716457555 797926127 761452769 419416083 802272765 160966675 218921019 556650681 899672883 497994575 934097807 24442849 959941009 46270731 787687455 350166585 126313023 864456823 6590771 436408243 970201835 108360843 223669535 958874255 150527179 281112841 864063039 814389325 37248925 926538105 673765361 984332989 53874857 683018281 961301923 589988591 735000507 985847603 312603591 78932035 342259753 126046581 779635411 696863581 743381459 862639515 769068111 310953767 859282973 788513555 381223361 53853655 204433145 376800533 623380415 577261545 553232857 595956643 277789919 61425951 102552255 999306883 235807943 221431689 756392239 591944263 650075423 969691257 399408951 280092999 267668633 533503371 500148335 261957793 405826545 491747237 489639155 713541953 39982825 398857713 120195181 86328021 815242057 591127783 309846279 12687061 871760359 509065023 250536057 377049473 167741849 608895229 421747969 995184867 864385093 119562867 214429285 391620043 827649491 653129007 439392501 400187599 184057141 353389327 960961157 510793041 972451175 774311225 677725557 783710331 884513899 794124057 16669099 874767417 897339465 772809571 356631445 681728071 91443223 917495569 327989543 450597667 849130219 296638057 845389027 707818775 348377323 150533111 465377485 969300273 965975103 508974993 495025011 399084621 956829721 176474961 667207917 782342151 679722421 786561179 702285783 943935945 940870485 499369757 942134363 571830211 756321091 318392267 225689891 973008367 949495503 451178463 812217959 612850443 584530263 59803105 527625957 845396383 316568889 357952665 701607141 796422911 541528803 581745695 171645233 202646591 388074951 496238797 281946661 129596735 393375069 428252233 49800859 169003435 232441385 79941245 558674171 346279921 348915891 881272479 466521137 710379083 929611921 304332843 197753527 766556599 497911641 382589413 807441801 788737277 697109937 50898137 709184301 101351343 41093697 702683995 230637233 752947493 516963517 965685255 433589933 69595005 700020445 520218307 73762365 179796131 729066853 440423867 866347019 739348293 78086429 628000865 643503425 466393051 325025755 755419251 377024663 458448807 557071733 556169461 802451275 911317423 914531025 721746227 918497829 154821059 464084183 239222211 186727025 255241599 806084475 276148605 890533637 143500607 972426421 357262475 53382977 112514863 418142601 874762067 27249163 185784381 437565183 37453199 25962193 570307873 890643757 188155191 594094729 567358299 789277737 230960531 532382383 615757877 60882201 369822251 1757261 300201917 580498725 441642967 910953713 337215951 917716097 182827441 499564463 645387527 155512165 490005533 804852261 431030735 766475541 173268425 96186237 905805145 710617817 748553897 410793313 183604377 165568775 968812793 556645129 360218451 339015159 764926013 884664373 60902159 292817675 900714559 713624615 372386843 591138221 788502039 157438129 8523411 367467087 104303393 546383145 981361491 612595055 948164093 392359275 44445957 369271945 140936093 842610399 815121689 765209901 611618865 174395251 309227719 556388331 948715063 211970203 831604241 488697691 695393651 512851033 312784063 411562275 557489649 998193713 545172319 526264043 142256901 495078963 831198283 919720807 316781643 775352307 622515873 429904719 974197417 220829073 521945421 55267431 345947467 220082353 506380797 473484921 353197219 945549187 164466731 989309527 440949617 525097407 868189715 243972825 406156725 685604255 468832705 219944933 170263485 960402157 770348037 775036259 148029215 445344245 5718903 912551495 762717621 701817997 221806455 753348489 902797475 712568597 37400875 404934957 258934615 711865715 69700231 674749757 860622979 816132117 151918401 570444491 512869671 215618289 268600283 153474287 13257603 377036933 890180763 883332047 549140007 423127255 167697553 25017237 77696741 425130615 544435865 512463215 897369561 149489529 315722831 63786653 418193001 563034749 996413213 492863837 980399679 158002087 266029877 786872313 15562833 376747943 832577677 52938183 121588697 17289397 29612517 186701343 227908447 181086603 425285575 216132963 942890413 167958131 990757761 753333245 848716503 62298681 447125551 511748961 477224251 823970613 872316845 971177735 182355065 798306883 541612453 348728179 957859459 60854219 454366343 79916335 486274697 454110395 185125005 135390157 8466441 974671753 943890613 791767269 824409543 593777971 320775623 643831069 212858575 802940991 447973207 111951135 87249783 99368381 383012537 68610201 453864023 390984769 663261711 603445579 720512345 848860395 835024705 738829811 186596003 723717727 667472639 474320733 214354863 157837263 651318721 317072217 334159925 461372397 386629833 83928005 892934461 768815611 987691805 186990465 948739599 992188091 210188431 901207929 338017603 429769089 478233271 277332379 715078067 646753565 302398965 458751463 463321987 857436403 179532911 657192795 186236193 895014373 398387481 517173507 6926401 828715875 893951659 167111409 801180383 367342691 404698785 44035901 115528765 359655011 402852423 734823693 874806763 805103721 459873197 227016587 669158587 751137797 95499947 979819751 298416585 718851659 385476063 873927003 988223355 23062747 368408501 607549995 498863227 876777689 636093785 800451745 361149119 644418551 251070919 252010255 941256323 968264039 421055167 985466319 142412107 442914027 420727239 980996675 926526179 985157063 188619567 831121365 597661279 220742601 993352979 853402873 300120861 67878985 10174031 557059113 13407167 288863011 964665741 892592869 539953969 129682367 332340799 985497273 17244075 358660107 845873049 382854199 148399525 750982525 115667359 663080439 385608933 671980563 698459673 943343009 834527607 439813461 857389975 940223193 288056497 539934543 76586095 672490069 741876781 644901271 217456579 16758989 891341007 596586573 944054395 558195205 571945925 891011349 775962695 112802759 573895553 946077217 361498273 471416549 492937923 233805603 689738695 503043129 834554763 801521757 498259393 22298533 452503593 197770643 322225505 274773269 36770863 759314195 832122175 826641273 988339065 733454005 869210811 184238027 78193963 414749399 133195005 970986001 558187187 749559133 592395765 126931025 490504901 771652279 98473307 421527453 766632029 131474139 65428913 496652563 342020031 138452551 379215677 360947413 600615287 980230403 967824145 818532617 39665497 521964441 143590405 184204517 721451393 930126373 828386743 112824227 580047701 60328769 822445459 815025539 876181119 514883349 345180615 944054481 783045623 26484813 690491467 152110303 428375285 477070627 601082335 83357447 888058367 359018577 781544205 671135147 604274145 468784161 340675365 820453175 768822959 761050465 955273023 487760155 822262983 155271269 300930361 578949841 493736395 280243723 772882621 975776989 228775849 540923579 326371389 48289737 705742739 296117605 893382639 587966759 936746247 544744571 311150291 4535441 725225163 7966461 388788147 245826731 286403559 933924211 371242013 869748763 617456307 981329127 64706925 547369623 453702601 450707445 353685951 322513369 680241421 782157751 781854461 779029153 231766701 975192277 990219223 520073147 888006685 375360123 358132935 574359289 495638807 812839779 859817227 986440245 516883619 406004937 502069677 354066003 527308811 95876467 471387259 458471993 187205091 765716655 499194639 869228509 459139847 623778645 664269257 978366777 755647899 95244483 97014481 775451981 132278799 242061789 680316695 450500901 994137107 309944851 892297557 838557395 688425893 146942043 732721415 162826353 386907145 270717493 141968763 462441763 946289353 31509667 473020605 349158927 865879743 589493047 99297959 177640301 960665857 274013959 562627031 475458417 707299831 711125935 43364025 447711585 367130701 583641687 324490875 691306633 761727989 517749419 102240277 592883511 544164141 931712485 901856073 557825991 899204473 340487617 941293981 992798107 430495399 585938821 266370403 287149087 481408455 425398529 712467123 110834115 934511161 647182217 658280555 329296643 752201887 864185083 649056567 416254303 560502247 62472385 532849283 409019491 332646469 891943109 673859979 525498017 767717427 725490815 532997711 501661365 390957943 339199471 318376597 472285245 179291167 429177495 930549485 135021287 969072509 837123209 788584883 505829731 788238125 672228187 543235075 961526891 624449555 504685353 318867143 425706949 332695389 81314203 981136305 404675383 287538047 354249951 234750519 706831253 851150645 90517161 832601753 889350585 309761667 707729723 381891807 679159687 691378611 147166811 617974237 946777319 770268765 356332627 322311207 404904651 538143837 753836797 278518047 90924077 542084821 776584375 181598701 792020243 908824881 755855205 520829571 766503811 620966951 493802873 176660117 816589969 761233075 789268197 427393191 558143321 354940185 719278633 229795073 695193593 87558629 918488397 848849073 714187935 225246957 144116445 418501265 637820027 697101897 401429233 477915201 372656841 735885665 11741733 734312743 386743753 496425441 355821729 20763511 542464967 533674683 63167251 956955433 61352471 868837679 833712049 829548283 17782287 636942781 521511225 46062965 781227539 211446579 387247601 383535081 8048271 701624743 229083305 647628143 720721139 620671347 650825653 823747557 212283067 497562171 57989619 518460663 695192169 95099885 447840717 156651283 741511813 616828349 998021677 218441841 594381987 740998439 420434829 445383697 955355743 200376045 350417127 872072381 169257559 179417119 257558725 616450565 516303161 50389775 590038067 856460097 706836149 962897497 732405193 369640591 812066951 484375009 542700707 495641563 51117423 281179095 864994665 735076305 214347835 338767787 430813513 494867693 88546489 887427867 581880569 840468077 497366725 299115305 184361911 940450139 96768835 622912293 856666185 161003911 364728091 893195681 150942719 57065607 944671295 67609979 965211565 289510077 5175467 631764181 770592435 42533457 135953761 61671963 639688693 401673781 888785257 912579333 851144933 967993631 919023319 53017995 862042741 101137039 634132423 991639795 756102183 596195277 20938583 746980553 740592895 360173 213975733 176892897 655372939 446598595 10937361 209090393 362735587 357187825 24484775 985524629 278981283 16001759 30608057 237696829 335069171 4286141 647490191 878359115 370712961 894698883 305952639 463914231 525738115 566909683 530055135 377867465 758494903 701943957 752385813 943486345 346752357 845190327 551905415 652744271 193286743 524374387 257862317 336196213 146194153 426047399 384091133 874757279 793713907 60454399 675540985 485615037 266213857 493064169 422635567 9063421 282597791 753915037 636960045 919946209 103518113 862391325 522005905 881178923 544975849 589217839 757977849 760158181 169330683 682452837 41026835 538522471 731693029 284611607 6440081 573350733 354212671 450362723 79270953 594301561 694930469 650087477 225056163 902456855 252779071 382151227 786210503 480581277 235824571 430598381 999674469 393527495 263179855 121095819 855611225 816639129 706170427 322983711 675406727 382130783 432099649 633586553 269096663 60103085 644432819 902354479 331739197 971579489 103932261 302696611 636697777 497233309 214355127 188019711 744490037 288899791 128512911 329209903 903967959 531438249 225805401 647086831 663031717 418560041 135644431 355111101 45500349 983670677 40619565 572448739 877205309 552791413 473793977 754576751 246305363 333482399 742404161 94920765 547838001 113166897 197679581 296590313 67368463 89488015 838681897 599308765 395794991 792335971 915130957 190053449 874449631 390622369 688447993 776170791 782749037 599842953 652885599 341158709 282866999 553962651 570694719 886783227 193544349 154738087 980732895 531397069 577989641 994974143 330900495 519500991 614081261 620446015 309646117 853321649 674573509 548374477 818401789 707596367 344724499 699331923 942852349 655411975 993582945 87031047 819322647 149820435 110699583 834158181 125979839 379236465 671312459 123298351 133384433 75397353 336430627 569930101 632519735 393527053 761749109 813867145 182595999 215059509 547712755 141281801 49937853 105047679 175529301 880462807 11380143 748558807 345318495 40419359 441253407 505634027 64467161 347170905 850652727 344699443 158654105 567507517 912647343 457075953 408998263 500048081 16270021 804238379 454685267 180193121 664275777 777353139 646707227 191841921 325523823 887229215 961799361 528248591 328998437 661866195 443071037 49346349 140399299 850218739 649213843 282251593 242825775 619241587 631844299 817682711 197524951 829542409 960995067 936632465 416530607 772563765 283924283 897702141 739344441 784147777 255643051 910251497 763624313 329036859 84341115 7949861 551769087 772328447 507989719 42259153 876026079 824206633 204281853 772553297 288160695 271897635 877565487 391548751 771845041 326160415 279834807 969066433 566173815 690860049 568070629 737928161 52096321 175709629 142629911 942396727 320086477 28508331 880705197 664968589 219846499 809134889 16840977 55652343 960187855 112400723 812453303 424175569 240645737 739756037 743909143 900593089 374747917 895690729 652846261 377511089 308624675 796214383 938711065 878901975 720252567 992880847 96344537 27230383 195712227 99895051 809362573 65517053 513546755 712876267 227108823 474364109 524391805 16182013 866730337 158047347 342470497 957741467 410044893 206892173 180545859 56041443 950681609 312396797 460709185 427142849 678988705 487431665 169416965 584275427 313413237 777961179 799112889 329412291 943352149 837444985 751646741 876424605 832289563 361480143 900565337 420577919 614371751 319831595 28628039 449951795 176883433 366912541 635482417 4688727 161724365 746895237 896359405 738705737 783616851 536610181 586384087 584224559 413236087 976293259 249064919 75997437 436469321 531817035 53949787 794805353 508238041 241739967 529161561 235508213 423754817 70716207 217348687 783308775 555291299 549403173 183375427 973829967 747973673 195423603 610713541 794390281 245960711 498069305 706736361 362226353 477119349 354460379 404598349 291095473 618727095 613917699 180702235 394829883 279392791 627147175 845506813 658445381 206641893 949432579 92934445 678051983 277906047 296746139 201440613 175959459 212393797 475008827 258146799 712171215 470410657 78406903 672532375 632822063 707819271 330692651 953612469 778448031 986199791 321632893 870247461 634758857 341858269 894754263 820278351 637756445 197148763 452385649 392271393 452320981 109895675 458672323 648746001 609989615 766135895 568728723 71929629 618424371 438293521 915157997 439976395 298707253 782363091 205268261 99293481 580447305 489529681 227359449 638117841 769165201 452782659 604347115 82986715 447802101 579347821 755024265 455347443 489734949 204801433 125245477 765167427 726855321 681511577 82594431 291917445 652583059 850225223 504215 187750899 619283481 364696965 725034173 362515031 564795645 19327805 729848449 591194365 648858327 299260259 290438595 674420925 711642119 81191919 885959847 254325491 378643125 873884133 931365271 318832263 444372943 945637455 453683271 357352679 919441939 635412287 252633271 674851593 276310267 796303567 531679785 756851819 218316243 139375649 78854183 395003925 740513451 312344159 223412617 24227729 205288283 64689085 459084139 228276219 654198401 934070899 357034541 664796395 341716105 979064261 648736897 938518413 833570975 117556477 792660567 379355021 98225599 872489069 275315693 986110495 772515753 544484975 295781061 611985669 100430819 306062437 596809903 782392707 779267773 931537851 614258367 193857895 234643027 687299295 777016397 727734279 840136577 137480273 960594945 217971525 577442033 928372623 230349511 750234243 540491285 719592485 634206929 349070769 193389089 760947877 802505885 716485189 824920859 957298089 413882863 671956029 206137029 724306131 440645845 752318753 880351157 498884557 131223711 126715 396324927 88897355 867285741 412572007 121977733 586439687 781096609 717318783 343773807 739283393 303202025 338891241 758953645 789840965 176745529 635102679 668631481 438631013 11201867 898395643 714483153 647589115 280533031 109049495 789123325 296168425 941044501 136705903 193491471 224187161 233019309 733062865 606839199 355772799 313645513 697828501 188915469 480525333 173076111 663352087 356106113 100525275 309481833 450566209 266212587 639929821 552405261 677398141 381553411 506441261 623663735 492021187 698987083 365882597 378471401 497856145 23717129 206652967 800770547 218421485 302243407 119964701 631302247 356316519 264436469 542082555 141341027 788625429 978038937 671798523 795522119 246064531 937974951 807711069 512032453 22659079 153114445 706538349 17294285 432058403 659175555 420154493 306243229 535209499 967506185 860185063 954418105 11941035 442401129 90593805 573200365 92552733 258150643 663445339 241096527 283974463 733190335 670292801 321112119 286836835 213323435 736110905 163527757 895932013 370589281 951046089 765188477 996792255 554254419 262210935 641329915 150897993 975442103 743652311 567769665 789042049 970904717 462528643 112190485 945340775 495959199 704238109 64649093 593516925 932469883 73832785 593731297 131499733 937654141 908477391 870042825 665204229 86213569 942868305 362974497 684286505 175198001 218402971 20686867 890701287 731846781 227712121 523500307 276370545 245772319 331626681 611859425 978121339 176229717 108442935 592158077 237960003 678568745 780597973 433848119 866333071 702645097 893846143 474837409 614289069 647755695 662025253 163644311 894207349 534291547 908470721 810405183 65352005 731981717 736229463 377787139 188131073 203896909 484825331 176182937 20170777 336745277 989865379 454334973 5869955 726824929 12989571 641075827 137773247 418446215 722121397 776266631 212391631 732616251 637887845 940157965 320588101 600123863 84801731 339203363 425660727 813406457 92745993 758599979 786099265 371387405 701348221 770289873 821235595 977814593 257554277 258038285 808931009 90403981 1744661 893026071 855280413 327503027 872228583 282057589 183601243 573840953 434955839 298904307 912897985 730708849 421785219 563680423 555821853 776070771 365788201 964591081 628552135 73703453 782889387 275482467 546941341 893604123 501149833 466773499 384504835 648459993 813898831 988454379 464808171 652832915 495941009 379042219 82612167 363813961 827576037 376328963 60119703 472536513 162324463 27242491 53553891 987696011 170766939 31331307 118522551 443352579 773825753 135212653 765726635 164961861 352788517 872325223 393956315 680985915 255014399 275244803 161022703 422648983 356537907 482425527 587915539 509625295 44339091 812729917 740116993 876708131 227078907 940515229 951537141 447895709 109681737 101779233 188332725 36159243 832226667 880514141 123571857 822241543 742410065 370886957 307095389 71031793 594650871 119904951 709195129 265729265 356620381 106640487 160424649 878548985 888524175 272563439 117736381 373381821 418720673 248013645 959226957 633603009 652150185 229482437 51928307 949777229 145534923 100790499 922801593 769003631 190471731 832594555 268647211 636768257 904159249 393109163 996697953 662719907 827698337 597282517 862339319 403132091 524847651 98137255 774254101 926919551 870758117 305325843 137671529 89285089 689116213 897461079 303546151 671892645 966279535 485666297 682690577 478595665 88836855 909962177 419115629 17478199 592331571 973516997 467319045 742517103 647164315 51169123 66495027 766462423 491004323 409429311 259135701 70424859 803466195 643958339 372841297 901007785 956902577 870967715 423515283 464471481 60946899 935152863 580109587 580009547 441184463 419040953 993909713 657961513 439933513 425977915 870886225 991152867 588949741 756677565 784997537 38844881 248873067 179867097 103360601 476132113 462183551 534022261 636328341 228492943 145621483 733816763 443027709 630493431 523439991 234006305 150361535 410714309 791381751 173022819 744032913 481125687 277963847 396639365 388214961 308559191 415785029 722624723 784004325 954467573 991891935 263106529 332352125 513654183 52501253 367738507 813645389 809520591 370943923 700933879 968500661 39740823 230641387 580568977 352863641 510296043 282844597 269711371 539608427 845211015 190398501 234629219 191251997 573649385 463888983 294310877 593046321 48344153 232571241 766431239 35418027 498003179 88034953 83486129 531757849 766634867 869389289 631887867 227931795 212064915 504698305 736901959 162796981 982640307 880702803 397962307 280224679 333160707 424662507 834247905 56382999 964933755 124062685 570145121 839141947 325808861 69386111 246050115 257466321 300143537 152075831 723478615 722802207 623857989 702587245 188468653 619963125 475265971 647706515 856601253 17255335 943082457 885894949 746631139 797058581 527861859 36419493 381114449 937458085 198796991 308249755 763917349 266541123 863880741 824556187 60395995 772969833 566919831 218419265 73638709 680639251 829475803 641662251 303249987 91668677 787960451 264234759 752567383 664138899 307921639 733215367 959586061 607481359 558409253 635896419 137775435 512046423 163331881 23765597 30780989 668705299 547422113 123258947 753007189 584862833 39748357 36730595 901069905 914322983 489162133 295094555 747651125 370366323 901894491 931026633 317613133 557992477 84861735 239063003 741826093 777110641 438074767 969129283 719560625 406035525 258358261 150838777 831278593 121366009 390051203 30107135 177249411 937439603 628708389 363344227 384045553 180253983 281429911 286402867 47974211 798341879 580953687 911917709 447082175 132541301 53129391 344243089 422684913 813065891 919146927 346333289 919704495 309376783 759014445 756806727 502302483 536341195 520100811 99746919 744623745 835871355 786316273 529019147 942742951 711224385 394621135 806335099 634749305 624525517 334468703 586717197 582726449 834208341 419619167 358645015 220422999 447691161 434099287 245493759 237622453 456260315 3445915 610690861 814687069 888371437 18110271 562661909 160540593 42574371 963256867 565129775 416139087 978587485 716101875 460730877 274796071 330077441 228688413 497422861 80348013 160346109 979589083 298500589 523774621 227870917 71181611 899265851 664461947 702024283 890815189 489493143 619182611 351164739 106047083 908440747 13604281 657797261 550049093 313609001 816355849 346590411 164270977 164612557 415057641 211239713 929877259 841950041 910783621 22009393 740310161 290030231 458658895 484701483 566482059 511799639 605166085 654723783 466940475 362446199 95729323 2388031 21957287 189474263 718135693 657249883 530388897 570526561 713150785 236435051 413224639 71791623 363058337 961273157 313781861 371751877 886257105 262113861 326328503 359386013 208657215 59711059 961332905 899525785 150808733 1784027 634956529 761630921 287637993 424578775 261530383 366208587 889760873 378078147 427484237 907290687 633764261 377039013 524023481 778175951 250315381 951451403 344623 78088493 158096883 977587725 907481419 304692375 962444931 269189961 591451255 959373129 473338069 637955555 561587429 501333139 850862807 474784653 316170121 627663557 876036299 861770617 418607143 339529271 281641011 617771879 385383495 879669839 191878873 726422175 815347767 966696565 973586389 222336749 777692691 410005277 853661315 909597095 364320439 519424703 195306371 237755053 838530765 369091295 927271367 608169829 606159301 728293127 564178815 856666557 154737879 107068871 570457385 319498539 90882053 477658045 136419977 808212909 720341271 160113289 988294059 532083913 84944539 79528917 647739363 916842637 813507819 483447381 880484045 408698513 739343143 878008001 441019729 765250803 61340213 680164061 146160277 717700441 159903689 896984177 744340755 585231343 821499739 879803475 764774275 922682477 884346151 443140955 899400171 671588115 901721403 994893163 86390935 673232803 431785569 522813037 49657117 55494255 8652087 461101909 538764631 779915085 489861403 502383387 150699113 919227545 411369779 516166083 220552641 33735739 176383347 933669207 516571155 641963681 453261201 246054631 67652185 810375617 529196559 830621585 4689625 766449689 661838131 483471733 561036833 287996847 744269325 611360957 504784899 394711313 784658297 943468189 290051739 947416663 758910227 330172493 713289551 191150111 741403205 827103761 828824009 913211535 569688385 944404019 691148031 568699475 506266109 684984325 410929709 147093411 63607609 178513119 938192853 863368511 902015359 606809895 437507271 194064747 95008797 700079943 145187605 604650741 232170031 638449325 989760285 898508851 332454289 781055193 929778817 763329031 502807533 109375049 42925869 994692307 645107123 207261575 777709143 274298757 886829341 410460713 818462587 410415255 952999209 943281095 224935773 586047749 244582047 105932547 702710537 166496599 765068563 61098631 603898581 780912279 853216217 972816903 79637339 311391071 191316243 292367163 513986175 464851661 548544681 266527463 329066093 360196487 960950603 874107861 139374237 501430457 603852145 960815575 277396167 247432477 738100317 11559111 51865075 697485293 466488597 420746119 376664425 910023155 865936235 855522049 132271553 600405627 596946679 328874281 149004245 157926493 928424985 313315319 365816777 267471605 341997817 261258863 761397259 27521323 909853829 342765467 635260495 925818989 279394171 434001293 477770385 422812593 40625493 155024991 335626259 190316661 900671839 60009779 622249573 393208767 624081833 341057331 16818777 486255391 381986315 498027667 347142923 660125097 421599011 503699853 25623265 260853501 389968733 507983201 708147845 399503937 918363109 587887963 308187117 491361569 942781367 227091403 48668501 918381271 900689043 181540111 213695553 532926237 71516159 877915783 845924989 371521341 5941835 223708063 965035805 863084293 222548883 639051463 485383551 315029447 110976691 24603257 233121349 820624743 429528661 10211897 50448475 758471495 989073387 655753105 562898425 788660055 228754089 472395027 403263383 528360717 816858261 69451097 516198139 261121127 664177521 654055941 930998321 554563819 958176723 263414979 552365711 248728233 490468879 318581313 958972335 882211125 181281095 190592319 454941301 220869295 420824163 337028987 138710543 456067261 852901139 171993793 284922095 161180045 432784593 925813219 132859861 29479635 219134939 480592827 862924993 903667921 642412601 492631595 284114435 125244235 325228733 637800735 707439917 393802383 472468991 959897989 699416091 695204981 149012319 468720733 652651505 615397721 727902725 218739621 595361821 44949795 456994785 626396009 431870291 63581761 20761771 13976251 411749519 687607979 521059045 823174837 496127509 141925595 307393749 620565881 490641521 89888985 9126285 337815347 59626359 122131765 960916965 75340051 66223939 490224643 624371067 689652307 848586555 966564835 708365755 74115895 498408713 300800251 640664787 584156169 969416101 797864953 81436347 121502235 730790471 604723473 272115763 674406087 808687989 748320005 242581445 296195185 861603323 786249753 216654017 409738623 436320749 687575835 721602111 934120807 9247145 909516387 900576285 538069411 787191505 857833679 102414853 515667123 762056019 264530627 740785769 88170787 861496929 821723439 457053567 700511877 663238521 559409289 710282823 616197747 627030881 535981521 126392715 628469647 537407265 493051785 409161945 942885509 105940753 97714371 414991757 823979781 91200971 907958803 62589379 904501449 18481971 595549849 147049317 865722519 895140727 901540091 647665955 498505013 949051403 233405543 377792887 794108535 209349801 223040403 934638495 843682359 187635289 704272315 655985317 215397207 706051685 429406633 100506199 700585667 679257441 670742187 971854927 679835755 537300009 987056533 179304173 994906697 469010147 747894725 82604121 775293283 849056761 976991781 173340547 478591679 29713697 923062303 999453477 337812593 98806871 305792683 446745787 943677075 330455263 279829831 648249235 532977735 676727877 532179195 606788025 677622457 750404445 536011603 836867847 394527257 490988867 382506853 330930715 450179235 487048285 256935633 995812705 805545367 284782935 232701117 994736647 52845633 656097315 855763159 359355653 395605747 308278015 458280021 154554397 353459719 598061935 3826933 974754005 244034785 538218817 988095485 352888703 41861863 888587653 313556795 355400755 168180369 743003035 526264327 600227791 430742611 332214309 459947071 989469439 170178485 184586257 43379527 981915439 581699645 493887379 620859151 804685211 126615167 283390245 96988943 82490947 836733205 204005517 760964929 384342253 377154465 911926745 759825199 122652201 21303759 470126683 874958565 142765651 300429903 145880495 314560505 232441479 562212829 592444089 669653131 953189807 884857913 415523495 494993985 163212669 360951601 71922669 838515529 937231719 834376083 315583303 782258521 626645421 194573371 16240313 77756591 794802777 564101899 179118221 507066641 247928377 346154479 427917917 780622031 543305703 856111063 202317311 752850365 194496707 769594815 301828251 284152377 2433013 779840935 232690587 448950829 562074991 326552989 922142133 98052099 251728101 32932015 263639013 346213811 994613979 651015161 964790895 990823357 537579929 341389727 596702687 133717541 805415981 634547143 86488587 172308857 352468849 781418407 192243467 460053455 6210821 575771257 166552135 301770185 81443407 711786111 292840811 179376521 302018437 113110529 644216171 103266237 501817497 134233683 122454913 982422687 99709007 354005199 552734259 585229547 669647661 735382489 742623309 610431207 236859525 335945177 438129637 360158051 420502383 286948929 210407765 224009395 586920905 375003277 616455233 786822071 321819967 642657085 357704343 611145427 723637311 368810207 490822539 60889849 147360513 797775105 22971545 979714203 242161285 929694015 966505091 703998651 796990357 514776125 71827033 688718813 446476225 368147105 110504557 975540495 947623521 283548195 401020251 98666215 259654035 678966905 377771783 474844295 504752451 204357733 926779809 14400145 440473629 65203379 70413977 837962805 228996253 855101239 900362157 164661287 752045569 455831495 165649375 874537387 338275155 166454089 313453695 455032705 700438115 587359907 21834271 716860665 948783303 408627661 887770525 306336493 928254177 613537469 735572763 729762997 457867483 825837685 980705029 442649405 896217505 91416065 210892051 148445169 459611119 390083957 906150717 255459781 350795587 833177319 834348745 159744571 464937189 15412093 572438851 175648853 86162665 316749919 268052865 762733479 476534563 349306303 849689243 766039361 778166325 102448601 117669627 920166599 221878407 908750317 565846855 278432603 67750729 782080841 734677369 399941293 575242611 273565243 944734153 162818547 865544903 601002785 919516095 833150699 68378317 134336857 241322275 779334875 537437139 437464145 689388813 180023187 626641395 308032121 687387863 727283815 355034635 454454861 225388837 563256631 503783623 675273039 225247975 939890537 965107605 864371975 941556811 422932201 206627757 684711947 236130771 845169457 279105297 619150577 331922753 831124539 730178439 231209311 900893345 83059089 868580769 476989693 16068423 803437889 460222903 808091773 51605711 754903261 577023207 488863899 637676575 713170569 44473885 811957529 384033889 789180903 364644615 25101247 823945227 595010343 542530845 33748835 402385881 859954687 773919903 60393179 887446991 928456365 875188631 647486989 298276921 764289785 138219221 498330337 355331243 356132653 771366639 778405449 278809859 965711141 621494599 599929153 93390947 654816059 852897543 448330187 671905849 605840213 407530011 726972911 597934391 591200229 548979775 394709699 899540059 805758685 563008497 694477661 125692907 67934911 965913467 479803363 223477871 507138447 509602797 869566077 417586623 129233883 417212445 527742557 448980979 43461563 198540205 764890303 893561973 281030605 211804165 711251429 416114413 805848629 372077397 555759129 561828943 358450083 634719127 277540011 815711707 877495373 605195657 550871801 930664465 298821873 754132915 464558433 263295937 584794583 410410857 103940689 272789245 509495243 996074943 891894075 953767969 633398563 167411351 545988503 854071507 669811391 633511831 452231657 405031165 568191237 565696309 536998585 35135445 974406371 268461475 611618717 162360023 687592141 433043429 993700907 190603461 735527365 874186945 760967945 817688239 284066895 519599561 668585183 77039335 412675449 119400533 554688865 790495243 258687963 788961411 861398087 729888765 56547475 955141695 104289363 271781097 479051333 85175351 983615571 356916295 974731297 274326243 866436117 850111439 588855517 640008581 671042423 849817223 424669113 156974883 275845465 686752699 749027703 776575887 684787365 609925119 680414057 756026975 438299981 372564017 44578917 492707319 224350543 735709299 713748423 734576763 986263975 477734707 71449719 106647775 611661157 34774053 259191777 801029593 515709081 784203075 437528319 208818921 312352091 86148563 895807821 151824729 314984145 24713059 117231057 90534711 14225955 588044995 31241241 197741663 473490309 84669203 784578877 721331565 714136367 69606583 834672859 204991179 711331941 914286169 900591639 119204779 819085935 935124975 270121121 905646337 590099875 957800885 186402737 926327955 348146265 393816877 187287297 649600483 311978993 518074919 720082907 157713223 534111707 735045045 579195915 852770515 668457091 670197555 966226663 174086505 739773543 214637895 441408591 572280241 111380233 957760731 328765353 313389851 319113203 60394533 158830307 893701343 787618231 466102689 797620595 664576767 745704685 242368787 658179415 746304323 785120059 688185991 231109653 711573561 220408905 716089169 885138875 738893371 560277707 867784975 724562913 73412201 974858105 534798499 197085861 556511657 24574487 802720059 475046827 725321135 842014831 778454857 362084645 642609139 738904401 72986507 44894405 714308273 770345371 804918789 582083275 825338359 787816749 270349573 476463871 809136783 402775537 83492379 94544301 30786327 612479195 229868327 579580077 369176813 294189283 821886795 27408987 673405239 241708045 913997301 219231391 14162921 797723235 312384473 241845223 920677049 327626485 264277491 447395879 985575977 30235361 783680645 220279777 470476415 997158471 697491999 760936731 543683275 108107089 95473809 18938975 909862889 659571507 677902333 941350855 763047797 440147237 705564097 850641905 64107227 119926123 450380685 10833153 46439495 974594639 18107477 700022185 362856885 763843875 751131477 111140891 472925667 857726273 793532689 956376345 100437851 870877963 956506197 141868773 97877867 496583915 751280949 114025553 712714031 81333333 591158797 921906099 233306755 75922625 18225283 428098023 944488721 163311283 19147395 842003285 685557065 17013941 184802623 816090859 847874917 146651223 936379957 983452447 793767011 324038967 917301801 897905903 829406989 200204277 374417959 682859745 366979313 964742973 726547075 361938949 922541929 318760637 271565275 926841583 531663509 334402613 704614929 377661631 838072925 505827427 428472147 488570395 312852849 650827795 351706389 745380911 774707785 756574997 19898641 603967411 734895655 171369799 382789709 202003943 941938705 802533769 554295319 67216783 305426393 149484231 531932415 407263225 835232023 137843439 993340389 474108413 355245099 860237313 599775981 550947575 143712573 898070779 29770369 623664079 49157947 309805289 250114645 935463923 779249891 887577563 848791657 319935577 282270639 686869999 115931647 166638719 885145323 17043525 108962465 673920363 205372071 374930441 707916583 109675693 741819067 355509611 328014509 934475609 403218373 328599717 3915667 778349839 669241393 235403003 463194251 405555957 816692011 655419319 568527749 823485111 271111599 861055787 817902783 615997839 933440381 545260977 27958205 85620023 911420955 727861931 291397705 529722617 396095449 82449283 912024445 402453153 44675795 115452077 112724655 533202311 81474021 669246625 333824647 446271367 999081401 961680101 48177649 852492811 617865665 970098429 205301535 773265661 341318961 605673345 298771087 520517589 831874063 661725449 846951943 811384977 262547997 487006007 364809103 894594743 41942513 981039543 784893565 293458007 649086943 431190841 966267503 318571269 496871689 62508663 797158983 460318433 606665815 676951349 319824179 792401297 148833145 278105917 14478759 693068609 236734441 693334881 288857693 573495211 906430949 105938043 947629405 768787721 201398645 508313197 93214447 45119269 810724715 294471459 886869675 541649997 321684575 251904909 408024683 593827413 763021745 524327589 714246997 715851163 762891913 374256751 149204691 455866887 499523287 956937461 27426715 181809159 270769235 8509257 892953769 516435345 786658687 114624645 962977343 667628325 174953121 632485067 423940845 618578117 794289355 503732807 713817221 973059 429710037 428497449 781068581 985127411 794460253 633773483 69741615 338688565 370145999 44313363 79675215 106151407 165207129 461072551 869056379 697591245 534025459 933059515 698796527 677239305 672902493 204775849 552544559 888231263 789648929 349370579 245790215 6480405 183830671 993958819 475821197 166974201 978874815 177442701 14361881 406173283 771211663 225648651 247505235 415981361 697799593 822821789 596917543 482428871 795617919 322349263 908932041 793408789 808021063 106831667 661630131 280133009 239553025 696575075 813120683 882437689 90116215 742808835 733776063 931859349 902137143 493492153 699032383 388135601 56148893 204744763 105671883 533214755 525023685 9550915 381304647 677995787 168032665 246577297 485458141 159555599 199606219 151226353 149046017 625219677 186341071 452816437 159247219 883011753 457841129 846812983 49153333 178357301 846950945 534000601 294070673 577339845 728131909 397225735 17306911 184422569 224347375 925412529 411327161 860061109 463084415 422145747 258401925 677328455 581848349 740313709 138759917 202188615 782723257 42085515 543634343 650164773 165219085 506584383 335704239 294140371 767558551 812007075 513926473 734046161 275641759 304749019 841577217 445971239 309946679 170398733 835541675 908732257 335820343 601594223 490995557 64629653 641833277 266430523 492505489 962095971 543032501 40633265 115811291 382963185 1992653 820640029 386507835 970723053 796496253 720732883 945480425 292146573 699782535 111428393 817226603 690086797 242115441 151853955 65451405 699290169 660363661 42840909 256881253 633400665 238576115 864551159 547183947 702093895 505671041 663422717 245366505 54192353 995705059 136330463 232184871 207512715 62928773 879503401 181638457 575550773 228319395 616577389 120196255 52202583 668657213 961122629 618319385 472868843 653826073 221002069 192054197 296551291 406110919 604688195 108804297 764336915 526706339 224581063 129310959 694061641 36085961 361811861 480183053 53632317 926677539 760373877 63286861 983790485 174238307 26695725 111830821 754164607 399832831 8145297 500208209 453827761 204253751 375073147 713928659 301022569 455305237 519942095 825345019 694653805 756634471 898642035 129765467 726572811 309774023 478512735 594294991 18710555 773012373 180166279 994733181 6673147 435699449 349543667 29390545 364721553 385543909 11450281 546557565 275403337 827135757 442190269 791331967 628812571 715112949 800833609 179555099 63641223 48489957 312556913 799325405 865629839 364416491 497165661 376108441 797430215 541122785 264818495 79987053 741699135 13933159 134590547 713942971 257986201 545382373 437884633 537022001 558229755 922538891 162724637 651336129 63320595 651687249 483676273 189898153 161454615 280026617 449649201 948861039 378372549 157492745 3454139 195288795 246968163 239520467 463963261 908264197 582075329 38549359 537386215 935632709 916297523 112748987 883944821 659754821 301146777 251245411 485563561 434007789 771360855 534192341 602583307 138698099 446174559 36399177 554694191 733380177 992321059 270762175 223775663 446394959 882719141 619831043 698969647 616380021 780190823 83239583 930732631 75921691 498998139 543252721 850384345 315365595 72565623 31706645 84685937 49650587 220296567 675427319 112654047 720594309 30445091 806815555 888608753 353021455 572885673 322495093 651099509 880330997 649498047 275511499 994148167 342945595 417772195 32164175 445471307 575746605 610779677 641946065 719994217 616416863 23245175 866148839 66130067 159440045 520636811 509488115 28006341 373199165 399928247 251411999 478764543 205452923 511628513 463065431 924785231 853681177 248948341 215607895 860854467 140296213 113189229 307650205 9181047 790251443 442141507 940425073 959068559 768972929 625422081 89828583 791063603 260477775 431333939 572905683 945465749 946505533 666939377 351929303 485193713 668323501 518205911 360108635 685529225 946551885 664421647 724212623 352625317 770128911 166106945 202961003 760978585 572410419 527558569 203403953 653917377 359236665 14731781 575048169 790726267 833133041 413147031 343577697 831867189 827601003 517815857 6741043 157238625 45740809 398820647 980935741 599954295 693364329 833746521 277468459 74895609 65942395 142441259 150877803 805841781 114796147 787356559 291124021 835587449 145950157 234922231 448893835 275806625 810428235 958275429 661161779 340397457 450518781 772444765 815137471 905872113 613650997 627626477 133125767 710783603 858992783 61231021 87065001 290568403 448606449 71373753 545104657 325216723 442802311 104702907 625360493 400002875 638617539 315409373 60442933 982184417 98224995 345998807 396695465 84559515 643214699 434168807 635296723 361674575 345688615 932725203 416628867 415690725 967717163 702260715 624959055 261876559 202149461 10054147 585495193 548379273 301028039 559156347 321062027 867917717 105219053 167450937 419558929 754882685 952014463 769615019 294341863 591049297 136349557 135964869 855775627 229210157 928640789 743254025 724938823 142853685 879714283 451302011 60929579 737072785 455542221 93089961 224903693 786576501 537657045 849113259 478602639 760382745 414561383 632681247 541328921 21864639 866881073 75465257 659666907 785727925 572337959 712180345 483869903 131095881 415195267 304055877 295113651 828751065 35522765 632182347 975092495 432814277 238261967 523454675 10385463 632626551 601185435 928111785 681705535 277930593 837373587 994664483 225008393 797720831 44435541 783255073 549004859 643239891 886679505 864773897 465508939 386958181 784529979 87980999 906232171 698340171 247756559 339495637 594193567 365519131 715414801 414770479 885867181 174628731 904096589 500360539 674751271 639664403 738027031 844813927 362925925 850082711 43157003 491174635 9208709 427762367 969562383 409865221 525172595 137281359 573872463 153133145 891579869 912783375 127870525 8020759 379733819 782865109 703163287 811223285 119208655 58731383 268028513 306715441 152492447 469718747 727671271 561020563 169010045 498986985 99006655 206293607 189135871 123441813 369910211 246202243 242289033 884964567 764903703 970393927 678761535 428732339 921390377 761007257 429131029 79049777 517848491 130975975 612558529 27284071 29611165 693771559 489503939 988510827 775942463 398095063 581302373 658265443 687067423 337757949 404774837 674396279 80705811 284238119 130044047 128720347 777332277 106497645 161166735 270903239 693898985 293387885 79685407 764472703 39211487 5061195 625748081 575524941 711820549 75753399 227072633 401645697 69492381 167362535 6606589 697493113 180530729 917554843 689045375 798872469 449990003 507690773 354647125 964361535 311610771 495245095 416201619 814732265 561286629 362244135 727320091 274877457 461425929 85998065 45412501 182637877 106840561 48892909 148132977 887290591 580625101 182973961 359888103 816404901 942648347 913659833 680990713 874660893 786032543 205159167 169639279 856542701 403067749 890673503 676313559 737109183 186442433 964629737 424994699 539353409 477864273 503470897 519492011 253365297 478017015 819733591 523986717 328187729 647249375 272728575 72069525 757284459 535077249 888366681 24816779 922175569 594055061 884850973 548403259 737917403 185737761 206423685 233158835 590281455 474170737 29606491 204975293 895114615 895255323 322553579 434082039 288996449 843346169 983729163 620368575 4855467 798714415 705706525 713806651 817471575 89490987 548839683 103986271 608790895 357391265 164565291 802424289 245471493 413811083 810282127 928950339 439522867 735930417 55302059 904772043 365384473 122546715 907550853 17636233 269860327 586865953 365473197 666168409 509108681 536524125 118097719 539408855 385010687 499991093 30502339 615352687 756436167 63728467 589262709 2589517 844063851 538184621 642330367 215034733 649808961 86434431 686255251 183614605 874683809 623666763 519129329 378790711 877122285 979144161 549126241 337723065 794548367 367825747 695262639 653465135 113651707 972133631 706153779 69397365 341821609 940067463 764773833 218925109 417614621 601985495 860239833 968244959 431623649 266681381 133686353 45383085 795922055 481097965 731892135 151085469 600721577 668556531 828642521 242291577 625265385 489060677 67237997 905772239 740964849 57909299 999835507 859460345 866369909 201703517 18582143 340941335 612110637 81605541 974426801 547777041 712258013 264469049 291802285 486726551 712586831 548683147 585324965 510662433 919539797 899828569 448665163 555701233 344050119 730078377 775236065 997872909 376558987 429236419 165058857 416745031 111225483 965803583 200861559 457344823 488798903 945115639 990767003 736262717 956755977 344972815 861254905 387585409 42055557 38708469 991253619 466426355 457042485 415805533 847001465 422395467 579037227 489625155 5640449 115554313 958508417 42056169 321949321 205935223 669374297 903728351 581658391 390270885 885803229 65824759 156504635 230180203 431398465 435382861 31657225 15110759 58152893 301837895 936129313 916505861 741140117 828629135 752682919 565358705 662582291 644546843 679165005 510224807 130713737 268261415 270657093 888055911 934463569 829082423 868540753 138218039 398812877 978895383 273410229 297313127 702709607 426806747 917593151 549394963 334386835 466159073 34476359 899829015 471014603 534459595 305780137 45666589 795253647 861398405 970518221 905366935 428682347 125192775 628921505 510369209 839195121 957632393 865958043 149083017 995279547 459000081 653367483 720897737 626869355 510853867 793344131 741061647 878338731 523498093 100745733 793471919 496374831 9333553 516087509 949096139 444518319 503126555 918288659 402049099 24317681 455784537 829352549 429253599 136059835 601086045 468817655 312557313 23099615 439823591 186431619 958463471 97826107 950872055 98912579 277615281 649903793 49135581 957933825 272949273 664532775 428341803 335574027 48046271 24550803 120948413 330342451 864594947 792653037 674806455 520256477 34745613 384620859 303360393 136156907 327551437 562414211 187274209 872733645 395284475 563454937 161078465 477217913 820089881 477289559 568541803 21745005 501812845 990798879 944315755 118882481 832979465 700579675 93633429 935169233 535756229 656140607 989946629 813471715 473207103 312325381 28721953 521471111 879320547 208628973 11804053 743315171 392640991 709845315 697588563 114102179 54086955 70452569 155826585 103234817 456512647 899853449 836309739 110601657 691167357 942775093 493030421 910363665 348484189 880414153 531250475 336392407 673066815 836289973 473187979 159670883 814649089 758261363 666480599 461556625 955473741 435757191 287573757 387749579 227375765 410225789 837930287 712562427 37756175 601860067 121038827 443902617 457890747 225141333 154469367 575651491 247484259 472056949 452657243 918821793 161513879 383386861 46608751 939067039 522096045 450033521 653678541 536364595 794054599 530472379 886497113 605279101 580117453 836229771 131520577 424604963 38504049 294211757 909925369 180380753 173740583 849976307 152819773 114468289 128000051 970434103 913512463 965227695 604732317 114514013 710877375 571805665 948169779 423973707 696789727 925321381 318994319 580489975 69187915 770442195 779091985 355695963 866425897 319706313 704857569 359343991 899821027 756752491 516569071 956423767 185317935 371743785 828390645 79076877 7544585 790202107 564337777 133435061 489604533 306497627 436363691 926528877 755167167 537521489 808231093 468439395 135519739 479607661 512692583 81162951 654317957 461396421 222420577 628061139 255215299 638499829 49504777 507072973 169090145 478095653 506701203 484265979 639751249 987819779 8703477 222878385 890903761 318380739 791566577 444950601 131606373 481116199 612587533 811557 926269403 62895731 701232027 38773681 921554243 689384823 684033459 442590045 774187773 269544071 228682035 760916901 996245419 139518337 210597575 873361929 896730171 635255247 70512603 892467221 735101153 825748315 483917739 353791579 246597143 282161565 982324279 572481911 962574755 157675157 291085637 977963271 636400531 103768005 627354469 386734777 52120377 93862719 756588787 316441917 86049329 878534297 857269515 45129551 710274399 69805551 323357847 137791663 699121649 467722473 776950089 971587369 256923739 683491253 839056535 266653583 617681241 120365577 782587585 983041213 638713071 85128737 462095313 403509905 951446889 684042185 185247381 148929785 352641627 581672265 83609511 172176101 399128481 502602363 820099175 201868625 146787425 372049341 139200509 353590333 709473285 360576243 692774491 694206901 454401859 910433935 773378869 10358475 104763671 776055427 579796239 818018459 551829445 705555793 247345713 97873219 752819673 432932091 630289833 980806897 320829737 616022547 579277393 699393749 640794573 381772975 302898633 82123307 108675885 488995179 220384121 252833587 595690741 395285615 855408017 502737467 957358617 171530857 465459209 842491025 584963539 882595727 900519331 42546065 306292905 330981023 328536293 373586335 454331239 656676831 693620001 560311073 154545699 148321311 466117487 475656591 64089399 415643571 513235373 378269277 592937031 112394619 117823879 674274323 370024769 462095323 721680747 274532663 168375641 875277251 311830417 399093597 154155531 452282283 256463609 923237921 282467865 710947981 585810543 956035617 798286483 735081203 651561341 104384523 736596939 872570857 786189185 459221903 483256925 720965127 633472663 712562281 685227055 546339945 612169387 276482907 335524715 370636727 670804073 581347117 757690759 272604959 261937229 269360563 693618239 765041495 904003479 616858313 383917717 511839133 153558347 580615501 851644377 154067127 551704383 890254381 323948191 791300597 248802055 276032857 594864063 4215851 656233733 540624589 130827105 744535737 143789411 678241163 146971121 153345669 584784653 273620635 716666145 952018683 337746111 176568337 650928367 883215637 28839415 977673225 630965407 417143885 610547709 482316705 319741373 139322797 774626021 973777927 949496607 339182785 830310531 272261995 937945053 560260769 768511353 500260873 158668385 94862057 544368175 560659747 445792593 994078913 929282005 59624449 191336103 437160919 454966627 62251257 189631131 714993505 416037019 347076705 466818229 281066269 356301573 493324703 5857981 341166163 270247151 619464731 574687691 858586829 403683955 832314951 388966201 264986087 379051631 892828831 72499117 717855611 327072143 657829027 541059089 423078127 405437761 479609825 787159707 275782709 447355581 126426343 788139973 644912831 55913989 749032019 852459351 913356431 752140511 14088643 62564699 899347753 587744221 998620901 709436197 693068955 436830039 571191915 91844177 901796477 959843435 753657101 445811141 239222507 165974533 598614157 106776235 345002381 240728531 566294713 133208441 103726225 526074701 223305823 649729259 609341357 940608691 822177885 320600837 102138145 864210447 440532113 251218451 525929135 722929713 230394089 14858665 334201513 532673967 331916887 940860325 946028771 813179885 252075475 881712937 90444733 847571983 466152287 680884131 75111197 769379847 377933577 533719493 976142191 711934863 230246879 852204685 877609645 894138149 43621119 243531841 814830931 966389011 901913223 845620585 379053415 338308713 270950053 413712861 433722231 858121725 477315211 582981557 322602907 45702513 193873777 518505563 528326767 891801645 232594843 751528823 824676893 443933793 389443921 186370045 10243919 278803463 943907817 216163117 225133629 946850781 580589753 636674441 947717541 4028011 621757991 118696923 318780365 821341957 840925851 441845819 399592837 593760959 489427847 538023683 108207907 963673979 49543271 49877977 688568195 21189857 716619709 617924775 939012363 846816609 424378387 990836899 386912429 662191411 308492537 338058569 146588381 264900441 536201229 671691101 551854231 846462617 155276781 668271593 290338407 501489797 907553609 10945351 521740117 171791989 820210125 24115725 979190779 657157767 546226487 569133091 363950965 871360167 637346889 746873779 214177389 681705347 656186829 857449013 184482829 624262547 42546579 454562145 118521613 766058521 889719161 557481021 773670571 840244763 338106973 422266389 996050351 480404331 462370607 158003069 814261093 806181791 889848283 75737939 224391843 836369691 109923935 141041081 377599177 873260035 124395965 953314589 431479997 12279115 902939391 828171059 317971949 3639721 229065269 387024373 132214605 508342429 302130045 547706025 922098783 851657073 586106871 695114461 903783975 800771635 410395853 967734115 742261813 512449215 778677297 679835479 743804317 343554993 941937247 255313693 202385405 21795699 928808089 634212195 97185919 477756727 804557865 722131485 25176781 6943729 238763359 186802055 876729887 326028647 386899609 483136803 867440693 90193691 11917111 323739841 96621649 44182371 931749539 204548467 85150789 615843411 956137297 813403285 211152743 872735437 934406073 87808205 32578963 666793337 705919839 721923845 416324145 888373703 788813771 218329459 614869805 472331503 281906579 579276947 711076353 9173235 416133455 101677609 890351273 700957595 667515041 721845825 430166699 169474421 556724019 393751599 583024663 281497819 71220151 770632081 539857537 68508397 126690539 145921353 294798343 874581137 455243405 989503621 80598099 401756027 961123943 950392247 983023503 499685155 180950863 58411933 577896819 98405829 509992989 57055293 238599231 148837231 529108659 908327903 914908087 12074733 760612091 561082393 889452585 342295767 412065767 360161481 929009003 436826257 899306101 927808275 578954205 986628927 1636003 660280415 774886245 490185941 297732219 370249063 790384753 122090249 764480275 190951717 996721399 614333533 194000259 770576859 748866933 499367191 147631085 470296601 51270641 102140999 418717307 257561519 376642811 379795145 427048545 90633407 828888231 234687545 682477783 357781159 359197075 231527427 98304545 613746455 713868777 804551763 745500297 762435331 429703251 279812901 558505823 713104295 803811083 772769079 318206465 230785415 931068107 865282323 147366607 691793775 462376925 773151751 998029363 107109747 372650253 881706287 692967841 679481839 163797683 429118055 607454865 637447817 433454507 714781529 674766215 579044653 777626717 582692469 126766349 437378829 643497399 18447861 877904565 780514727 909189679 735222999 713912857 962709439 669713603 694290917 925534171 905792609 19989497 131565741 525966501 562036193 101223137 513848969 586764843 319826653 111687695 759818649 337694757 789564215 527774371 429691845 352043863 416172317 939814721 243987389 168607883 5138947 339765017 364366841 231169939 419547043 296809699 762548667 783226953 779316995 731232217 337371145 308807055 343628657 225988293 83184309 779925583 240661373 161257203 745822551 393531005 527026183 255571771 764423759 888883729 759570227 23297785 386965957 421266447 731584363 732872471 706435241 975659393 590668389 881911549 543954867 252182649 3554331 607740327 705999459 775844113 412114901 863351441 768585219 845843563 209489179 700176579 974085795 635963825 910876357 898683337 963294747 510919959 334155759 761168057 853199625 548724437 699119865 701307699 767192537 886421553 239850133 706323547 851350969 532705391 975884979 131644387 616811935 982331367 255818641 733280509 610990417 468094705 278553267 231002987 739410515 521046255 825430501 199894641 928524533 809119565 711161403 582535645 405208403 52461691 2992913 650944263 705204297 410408179 568060685 739561931 568084609 403791929 247589147 400581009 671738733 926213591 475395949 451465287 825769537 372017247 317880961 189038947 218431235 511140971 156039197 739874531 989959541 417994141 958039113 298858063 886992941 522668447 222748763 558693297 504141183 464165157 987174385 730474661 400225421 339716841 747576301 717664069 118817343 405161131 18140541 886586679 605321285 824952375 989966101 16924845 901367321 965927519 426768751 584530265 497072633 269692413 468747923 767901565 714847725 334673139 574471881 445935325 634358471 227355947 108506537 165626311 715058463 549948313 271392525 122807315 757700693 248172855 252301339 174092319 997518737 418076677 270561853 529621455 464767171 193817103 708398121 97512851 759557539 42676327 489794779 829436257 166814899 217517095 290361493 400215479 163390521 245950833 386375655 195644061 360695623 79621233 297805987 977628317 775219893 864069719 917574375 925460947 687688737 12826717 765579797 332285145 532669687 988098247 179422169 798304725 799958885 334256095 914854185 321598329 398241635 39756023 107697985 284402169 900554673 258525033 231977637 573713425 554700507 667522455 89182753 954504715 917493803 704244205 894765515 41136821 691713215 449122779 222970875 151844963 918766707 436983005 816315995 364209139 434046195 97589619 621629137 169997261 245197995 677662761 790152343 234830559 215035351 243948689 120203557 585584033 605246837 373563973 664768833 317144333 638720591 19856871 714110969 223587243 878045685 39220259 223299997 788353675 944121277 770200233 235322573 672679491 300799433 149786931 148983149 829896175 383610369 810456199 164171687 157059127 387054871 165338987 27168495 167064135 71624063 195189171 890373381 714104537 387529853 749583161 936616171 618168105 411250969 773109471 666501611 205046781 3650337 999878545 413903005 82533027 358464047 578530623 641588699 205617139 871487139 270476771 50217419 200446283 774019237 240820355 15360727 353845135 48309029 712274981 653221045 79083055 743195357 799092445 348835169 23332385 541326667 765079237 546566687 153960165 634931127 107541759 731018875 860901245 426631219 633518775 419457353 852316539 492747415 217431581 64967079 73781237 608363907 963295085 195169271 534673543 671304541 725316071 68924133 783537241 725532505 967051991 666561129 620558103 63247469 779018383 9660091 618100219 456230491 712207209 152359265 137182401 364121769 121699017 747236903 385774255 703461289 823580693 793936931 177072533 360274803 539285955 701451437 180324551 617975013 3212365 78651503 756849699 573582507 803814707 396980305 204574995 363548721 96196611 957286023 296458113 370896563 717183819 942289297 660381925 182989873 641521063 330916655 666648381 956405361 582320825 124320625 810418193 437972483 584986157 934513575 419900269 172809027 55726771 674978161 243310313 866787149 153981703 337833395 910346913 173663499 351668457 693035415 317669949 343786543 693826597 93572499 385189355 777427503 70786447 218565219 309206367 782973259 592678909 78164489 124064987 446837645 521495891 339756245 596199459 456223171 986454397 753579609 975206279 279017095 858513259 998808689 431620827 349277497 270457369 254804035 825245823 746860289 550160263 596250939 470251095 998416849 724786115 83809291 74880725 575324509 810851291 196194737 876591595 493864489 469309675 281200241 324627481 9564797 376437013 501346519 449504103 539048807 587436677 780149431 160349281 741938625 139730027 398868527 920412959 148456235 816467459 681251489 402104381 163994893 748499855 233856955 276557283 167552919 26351447 962760303 121200831 340015809 527845551 363795451 436958983 247833421 281768689 915613413 301851001 601435073 128368769 287020021 595648603 207064943 850062791 989775683 913240187 470237551 529641013 732509479 814462515 786837407 398286151 717882699 171112027 130351019 62484861 174518167 711059807 905306625 10006883 942674241 294292521 452496089 30473869 14223299 23118643 738702645 770719889 78350309 120402807 845731803 480579091 706896559 852720511 371877467 265426367 158122617 843655255 807720977 500284231 584665053 577977495 915172633 484351073 309490369 495405403 366499679 171106773 811966287 366691147 374751631 962193001 370349309 426454421 120618021 72241137 31491975 137154799 609618529 568550985 25366001 111050391 303996231 267554383 82260359 235988819 382295213 727254769 780373213 491531891 199411239 971798561 905645777 424360139 412137495 275611093 936423299 118172091 148863143 981489429 158697829 260831783 335833795 29618407 147602983 418883969 119860519 380514145 451396039 974762683 209568593 535519897 474736523 130948439 979821193 474250165 939292923 591553113 166058723 336732635 44863213 218613583 425226291 175172931 908018815 306715985 204732699 985939491 958368787 378016763 580918787 625565117 158191191 183029877 600142875 466668383 958584127 687373933 398529627 243266391 891704581 515792665 281496197 508979201 853418799 861851703 91117601 683502785 35360651 460188943 254964605 995204863 841979179 76881259 905075379 30502189 943286635 567938215 278479521 313579463 95827695 196256411 121712627 837577295 818141861 249703603 788183063 250702413 471209665 394113755 414486597 355257943 571051455 579881095 140046463 880881923 331002721 128528825 363912843 946444279 274723255 613355509 556580091 101433563 408180243 417549641 771983911 869031009 699490833 951417677 596349741 842565 923639959 100366877 808861433 187865417 326859985 102117729 173121849 141793845 962491697 419168583 941306213 807933149 607461493 305971589 527499709 377132061 396083361 105709657 945322571 840049621 925853697 844738443 680091615 652895215 84498985 162651495 567053583 260639069 457830135 872075203 189414207 446259483 913155469 223328511 586996115 821344043 440802647 191725825 390746109 47630229 481697549 931818037 236298807 865072495 329814439 700238997 112979135 273226703 560400747 879633051 694336479 667163867 644713191 305300049 687818407 383229115 681277931 623141957 402965485 415310497 579474583 114647691 935954771 352882121 595259981 725974977 99610177 773515381 844105403 819365903 800842983 260109549 325046485 595244067 706850623 871349895 805329367 162037813 547567111 245909145 84955203 753522943 738951625 852699529 81935593 8273609 520477139 363978175 206544345 238675043 149458751 903052463 3542901 647340577 962762221 841765329 812541275 285970147 968414085 535104423 796436861 118103823 918758007 103776447 7837449 936912275 775947003 869203623 982322561 763353317 164470291 377928445 654021031 318617601 915814021 136751201 738283655 962368881 810185699 770248573 740228213 850075203 156642181 974911491 532959247 547297547 172963723 890273711 733459253 132067047 685487067 669683011 121628697 233134207 926519081 742152073 341130795 311013123 610890219 426940497 675959081 906417445 22972771 417632633 473050647 968753701 573498519 858088417 882482755 615276235 483471705 485463155 722345533 163728483 479636799 389571361 593640165 535855043 677446829 843578343 731835997 530072139 581094855 330990535 995348243 796029665 921512833 283550155 83301561 511089907 968621713 215555587 750174543 871632757 439895159 538469005 289488917 974408169 347787901 757405833 62889113 988997459 945177779 915222817 78500785 87318851 691378415 738269321 337469559 796445389 274485203 155462393 533580625 990060943 187397063 655499701 33144553 682525875 421583357 139064837 45959987 421830627 902464361 637653567 636121711 404660311 662646225 64995001 741961759 806249933 71632055 973380313 466402317 392710029 163838065 750840839 376402769 513906531 530263315 840240311 224629063 284792997 758532991 989308769 655987855 680927029 905540701 164020105 671068187 599475315 883955997 909353657 375490587 660934739 210317047 272600961 613508365 763899977 500098029 750897791 352738997 85664851 410609095 783543635 703744287 589111287 732066579 136030119 742259103 466632005 520143915 105909807 225989075 89437649 711387183 837163427 413757597 616509369 920138245 952419271 960256297 20376231 95856993 541667941 149491183 353534661 769608123 216237133 16619943 61431755 177632079 900007517 75218519 663048185 614103595 210475125 585349707 74354449 152891163 717873279 438520601 194330981 417904311 474958191 743201947 813345995 771818083 122848317 46756853 723340703 835347779 192642285 548650133 341172681 106515275 495921033 498643759 310657463 194597937 727871265 698539197 565680479 186160247 940790483 146571143 727110463 240258659 382735039 485416469 497451869 271930629 766195471 607319103 994776647 675562297 168490743 224171039 332449815 414681243 210001839 738089755 13837157 329028759 404773243 266472157 970664541 528291161 272620197 681270875 875061673 544008413 696522879 876192465 284603777 107932129 747432545 974762177 230857893 946318063 42528433 870762235 919122777 901491541 332101081 790972305 111111787 26775599 606013767 430831841 567121969 720991577 104607867 762947725 744424845 580601469 157237747 87742593 322388705 738038283 779004987 68751859 530852637 126294077 340371171 913369183 879379637 265485841 65476489 633583241 823154347 764349009 5167309 773328767 729865605 974347403 567416665 14071697 823563853 127575065 708375265 895840095 21681567 99795739 663993631 323797707 310331539 304254841 430129875 274677763 473875413 516882403 546329799 627132025 797521039 537771217 882990801 468266987 124964731 327534981 913358537 566792031 24304595 322737925 747187601 529033757 571930209 556812579 485212691 933085885 828245105 84744055 725250115 220479001 345874651 183888481 600970267 130386005 622746363 446166025 63242907 300042719 442065337 382363487 646772941 482197611 210459779 18659611 711068359 224058869 765655119 757849277 5033121 404605887 546593435 8321423 546124157 330728281 484573807 162189729 687186567 81480085 68545365 356873931 858655213 578661775 803851369 623987627 638603759 316266925 391701315 77890221 251063755 552245401 882617103 421021439 299696333 154051145 655193975 538526105 891857223 456779513 375434165 110492219 965614993 987528749 532246405 62239855 936960275 47501745 616037931 346865795 15730481 847250073 622526331 170038931 547814497 829831747 25791685 945286523 707162395 586765649 967523309 924874213 500285155 545125039 311097429 515096899 219708227 529239189 976996333 266805451 2169037 377802619 593472555 429612669 281561115 742653223 521143053 19578913 554541775 125327269 970789401 89149515 841122965 586374219 744309599 711425359 874528285 259186355 636550773 850223183 699985441 115305921 100945781 368300083 974169701 505554595 385310731 759026347 82217651 826854861 326280291 705558321 162573277 270573561 653976625 515443715 425934525 88314157 469744567 845274409 988928821 59566007 681305785 988239733 761798449 883883305 652054917 575132543 860088737 660451167 959082995 874962599 266390399 874254717 642968159 704238613 352420559 964055795 798651571 536399801 901623195 959642737 346986841 97614667 409008885 571877107 841608777 971268429 701019639 438601921 450334209 924524549 676011715 393253989 582359687 322488453 253402501 715514291 899847787 303489957 705843053 28789447 870270915 713254147 962544053 149536007 358307113 516394507 932411555 108305439 37002441 753574123 817441917 92161281 363196751 783502747 347044503 380358891 622433519 582123229 310246475 730645601 947455595 868195127 515753979 810554415 766340103 559018489 459439633 798271081 125626515 254086719 503186945 810507629 175624289 782535653 750908741 989854429 724672085 42826391 970538589 616884391 686051537 229054657 330905557 529444861 647083205 930166943 451187519 696574047 377735847 981824303 253258293 67262605 508951415 193469755 221075289 35628437 145486263 511402579 418212695 303736269 872299129 582167501 94188511 18968015 946589777 886440907 11295405 603817343 444605025 210929205 814463105 923292939 517802825 306160573 933195815 476123623 903772221 322063063 260877169 182793167 607269873 687882951 437887033 274367941 271359905 89203861 316033889 673915673 38222359 777865743 454568405 975423069 716497057 496639183 871072645 232122477 303190035 732702005 101800045 797108079 33873355 974028137 941964685 967472077 476432051 152915547 329990129 175482685 933410357 74813125 470685611 262345659 531409737 983665189 803291861 743693963 142761325 186953155 736881297 253484857 571723177 840837553 837990411 286529177 307837833 742023111 496139635 858168263 591665187 985521317 239076613 322293545 498115865 624758961 505375233 601411435 95296395 884194591 251691443 717671039 122050349 806239975 114260589 858337443 452291891 941256645 613041803 550008155 316123995 424856389 656400747 445366389 445105387 895018935 522920059 555163393 800177585 534774579 492141611 25515103 667555589 112198807 310557941 473891121 126092997 203077263 760296031 969769061 83888213 771236489 547193839 651203631 604162471 168027581 25428025 214596361 811220525 831179307 10295255 366135483 141501415 480013725 548366957 894907725 976154717 37312673 176863649 570291735 40616859 646332819 862785065 315745971 163721527 346013071 391977663 776826373 928336723 559241599 538616613 525614909 254326161 375841045 921809699 916812489 216925215 216825799 232129933 434319723 856208567 318213077 726973245 757032741 582138773 253317449 590656021 430942787 193242239 662849265 471483905 699164249 826909125 558473575 440860657 835578691 503178555 613301771 890090721 746306087 921806657 422285317 517563603 22073455 26968507 646289735 665271759 222727377 379200793 257447301 87914729 740323913 19070291 302266179 770606395 815525659 646478563 99985609 767981801 388553171 630767059 146323237 459282457 672929351 13000879 115205425 700665347 459308175 726925709 406851725 163861979 1404435 395583247 271967393 363994601 96913535 788057943 225386909 917217395 187634887 365512979 253136249 525169869 412594213 764956797 69894903 145558611 947789087 670423121 353556637 969494371 298830979 631067863 157565885 507078251 244831329 131316441 100238191 6716123 68586777 905683121 932012433 664174127 746538061 787583805 617239503 623507687 114447851 956030691 884143255 314737553 474599719 469445775 467807777 216738235 691808637 958285497 607616879 946926849 847734191 872857185 919173959 996887559 670794445 22373899 54558521 601274741 604035881 228937925 978370209 603028733 198019423 279256869 888820635 843339355 246915925 160250957 109556243 501984335 370183477 188530911 569494709 729416615 995513973 652422667 59198461 379921457 594258129 32850055 544322859 402339273 423193933 768690577 537258307 133552979 19800883 58852847 897393691 970688951 553234205 82837233 512120647 515030759 614481377 29252971 170659113 818464479 666740135 286376637 340748779 407010975 252408539 137183179 790671481 213129525 554499887 589613575 367392655 977260207 605375137 626222691 733950123 438297897 80959605 790658145 483471637 524476359 300887095 856315139 469499617 531636657 786013885 272277469 303046627 148975897 471307551 655550975 76647613 729304635 367799239 625234189 335387095 930379351 109079901 667544617 842886241 386506427 552802773 579923715 170210133 430159285 825153389 771839697 56301679 138954659 360392619 355561809 716672317 563397091 198391895 957460425 226211339 43456483 592020105 586851849 940183283 379751445 156970395 959900517 536971477 381427439 325553203 728976829 660190295 686868985 124986683 200799351 957481709 824921273 670470377 468383615 232054735 541269957 783418807 152577103 501050617 752645555 100969325 164608737 506576439 601429545 377302037 833859263 22534169 841918159 123163395 348394999 359366391 434715735 511646675 294978075 167378927 154837373 47787371 786728783 495160301 358237699 712295157 695714613 333699231 615662513 943034599 799271933 247765373 847138653 812432893 852644701 339460807 972922845 585374267 309704595 150559367 37749015 561992173 651269735 680888205 102313203 313026729 116382755 151340655 370482787 434536007 134905507 446307985 455220323 762626543 573603905 472744727 331933941 597707533 431413987 327990259 524001313 113578579 307351803 122104543 269454589 432784577 291474557 656733273 334953631 626591895 64310245 844450987 417190189 30704739 724304701 353995493 686454991 767033851 313229587 843992541 655148215 521656185 355320185 825735989 165188129 804493889 453063955 110834261 484765007 200069121 645545475 968152941 461758603 508460973 971577593 583997047 360131877 718193791 935563819 674357297 323595387 961396991 369674329 197492517 588097771 913322997 868670405 886529185 495260387 246802809 119833409 158006207 476367829 960597477 123580705 520216671 415210297 395072223 226521157 500777 731231123 910334033 830786835 61303181 331911531 87771505 504205945 256910531 310170199 619025851 152797419 892592333 720705517 855965683 655816043 433631345 433274067 724127523 986613885 231340353 124717489 299991973 577215791 978446997 533578811 19462159 720569881 278192269 621780521 17212489 926588505 198943503 649300029 747570303 251271315 447688911 868949317 144198691 987524599 970595395 136610065 7407859 262053693 562562221 66930041 272182259 726659999 534689043 76031331 399246959 740623333 831308103 316996023 409903355 614621535 242879199 35428969 644257909 248905955 390063679 491557233 704489215 713996749 746839435 366503891 990864135 927556357 479562679 121616023 211892801 1099767 732049273 730557395 482223783 560483741 98984529 964711325 990882175 301733747 214472585 581900571 53585495 758048895 342852401 730006901 891676161 51742799 852346655 682142943 304563097 73918971 959946229 989002129 358756739 623530273 23012891 994681551 722620525 316968165 844729539 322505185 224488011 518827257 340643043 553620253 803208025 593037455 683044923 440660699 738994969 152587111 210798163 594950269 804027739 574163145 642095487 326135149 328438577 425861249 127449555 283899421 970859511 295640549 122847793 129638153 898999379 491070165 576321 679994291 951873327 296445111 493761651 844132773 546595009 647202681 544092417 807675761 633563013 585908369 732366055 601392047 813230911 112681981 727794675 378145285 117538811 226646339 674016945 521738779 46272783 683422833 20936571 12557477 92752403 416963871 319437169 797944923 985940463 686592363 861922171 735169281 689393615 121280249 945914183 346929761 888689189 408780795 776213587 608536909 129821103 482851 977212121 892227741 886649459 763695025 952098535 351136823 775961785 619875437 241356617 707549187 484089367 968016035 494215831 749786357 144262251 154283563 228799029 170602501 942821593 173765473 833635143 38090551 787463883 990986797 767110593 783516821 419943669 806158077 684683609 328676145 689600087 836004805 79313553 396306467 311771441 116682503 311388079 220112273 400974355 569525961 352438723 215288229 135897295 982334357 519951785 28142477 452301697 749817221 645187325 14980233 980455309 392692023 683992363 977260757 676336289 945663185 531183199 618112193 925364145 132101887 224634517 49290141 871964665 940390905 475750027 841117379 307974141 208004735 331003083 264300693 112487561 905651411 211032229 551520125 770935217 934935497 685759791 510866671 593111505 888924593 823858251 682114147 618448015 938679661 135759777 419238493 685487575 112171363 942907297 543370599 224133339 561977473 959230085 412504851 27690265 485851965 42077003 647210745 284804437 700037781 483651773 408583103 300636315 786645265 654553193 702031375 566973759 863927227 670133161 142069143 729331679 393255725 321672349 563976727 358594653 765556869 873173805 352488525 709549287 884037737 246696457 664527109 390010609 576581637 182498729 554920975 318153269 439376401 872943951 697623369 9172921 678055373 956539393 677816723 456247499 934875133 900791185 676331993 490115067 681368047 576777623 725942793 77852713 809345147 567985779 88579619 795452281 194056445 938787405 396551973 917652565 11863133 859118101 380154907 899428979 233995273 80092291 888403735 514300877 307711735 445664535 143455281 18157995 929478821 310042909 958795919 931667351 398986777 630273183 921376603 47268451 638545635 65863035 88998597 184509233 88822295 43015245 995248903 872756831 375453525 355374465 995779941 620315807 145974723 670909509 596435241 729265121 212477709 411927441 575361189 436769891 458104941 233016101 555009075 567166889 421071773 974592139 788439349 100841855 418636775 370238993 107425045 106141433 91979543 42070995 577051207 224112499 581045893 759238317 521647429 802964371 30588943 704770377 797723535 400905285 289586969 555089177 793809585 799284667 711417747 923341651 518641979 126645365 182971123 523021815 277249995 211445811 949978935 359461069 901505027 302138627 719491557 708672617 880413577 599513657 264285965 516486431 317757715 825914739 319199299 580463633 118354265 661430677 251270055 761826855 167441951 979510215 106470111 681910545 696504111 236843651 814802455 76823625 424622939 632380035 991395081 24837645 440239997 714189769 659197425 591008357 509295991 936049829 845265045 257049123 267876149 471757479 313566531 632408031 337663911 20815791 775816147 930414841 283061191 737993441 671335073 779791513 355897243 245874599 686535061 185754287 616692519 19403959 701930269 13939955 17277827 791575821 132067119 258268135 934658503 170672877 68554827 669670353 900715031 590008545 174319731 884566979 133954713 547030721 644156473 616730773 517457027 667925161 418235825 816214501 149509903 621670395 698320251 426761503 342987389 503211619 344907709 320413809 932988185 159668951 692079909 717331923 378775605 389692051 177358311 368761351 673520939 93214747 680558789 358832019 668517981 544031803 631643651 171413447 961009207 703868169 854271087 477918655 555018281 363492061 913358433 703899479 591048621 189490529 382912695 110227003 608813383 531261563 14837717 217253079 995302785 299009893 793873579 251927399 982441965 99720599 765289391 16481001 505322021 956539351 742014943 182151719 629168333 847335219 864232387 452851889 536949387 141389307 109131367 797719005 102670101 385099471 173618785 691647949 926173733 105157523 311967441 942763625 793830523 39214193 958169181 27554403 946239203 872400607 589390387 896811567 17407279 781599383 351424775 992118545 878907193 843437217 939367451 761661457 190683109 913466949 683705907 522884349 937802265 8257051 606242463 656318831 990550987 851878653 20895795 516962247 144716021 445130001 806685261 498616877 71213207 819144897 837674967 323950481 701265341 689793475 165243451 466891949 317014137 401686547 843274865 886044927 233845989 498718453 659873271 417076687 933837349 696338421 553227221 375840047 733563231 736050151 979532695 155586295 301485257 707867113 534098003 180012487 994208925 535935069 846643113 356391429 888346651 91370479 678811839 899871461 842409617 983562391 266053443 65717087 995001933 122178701 602587243 853865775 565887403 106542423 17442293 261649889 447314957 647221953 667368231 913937861 520646879 458226657 664328655 166483187 698911889 733367311 563329861 449488457 253389215 504933365 997724519 338003571 806496649 483154043 450648985 173102303 20550619 329416149 254764491 965175493 136805671 582448771 137875829 505493541 350028295 222628421 843564177 821681353 220449823 127002923 520368809 76964671 978882327 483314309 742573001 107490787 926882721 128515059 904520583 405490129 710998647 893461593 606397443 22131701 972941151 506615521 707935971 74720763 854250527 842697217 817775701 508944735 571307915 935124597 417361423 860847711 660639357 732692543 263919183 393582341 327746265 196245935 356904155 18030111 92427399 616232535 346963459 165352519 781265529 171812373 345398171 796523741 786972585 929199625 807210497 499913481 782896157 199673765 312736543 561108669 45496283 659103641 613720415 313652141 334066679 319346403 472009913 858987613 548900747 3691463 797758893 103577365 951605947 458600657 890086975 696649955 98310063 379311061 125343997 974083745 607616921 295988977 452028413 524265455 513366965 109186951 646542815 550633525 810801731 359935813 995156169 514940323 248406927 143038237 408864105 20806193 750604013 856794189 378860533 473480865 893567923 684365659 355745579 132212601 78011461 436902671 99922769 213281803 986627855 962710401 357408055 533215599 283548545 328669963 371654961 656769411 126308119 852129105 981646367 427546611 289366099 207614529 685998693 277394733 744783293 357167375 65421045 297887081 896621289 215323445 912265793 292064169 263787891 903797627 489963339 666491571 348865529 189395689 423754901 210488855 299346217 38387671 476329267 258593585 277295795 703804639 939812789 994571805 352431187 932558311 993372989 12477127 274060489 879740185 407106163 597345755 710830307 599495147 739329663 860525525 213982831 893315609 257859613 321362421 63326025 433818791 789772425 864948543 275306581 724996321 474266763 169198985 839605883 389055323 274955629 59402343 548743597 13870835 605797899 675958843 694431207 300071371 654950333 442861359 622606889 661924431 375944559 442859567 314822529 866009653 275622027 14438903 199002109 315121531 776501771 416806405 593452475 637170529 142983529 616977315 452798937 999455605 978642351 950573791 841422725 241553547 772115561 519744403 987934447 292719041 766964399 99796575 38963283 516502905 854844447 954810283 165498099 913725537 491903453 574696103 673177111 524211821 537866649 427212877 389326869 375734231 273803913 458253401 65501507 718514725 991894123 400338009 693995271 531581221 849394309 941637273 599429319 505944553 254005927 6678323 936154875 256240077 443797029 3241735 67835929 794196341 116820191 591492283 738825123 919585743 43754043 263177667 558254887 77373199 303981605 519607127 132678451 72827313 757161495 178807155 215415909 744897399 863822859 669584355 263140443 497927793 419998091 245206327 86916803 479786481 801847971 659877831 987194447 427315605 487678699 364370609 868036533 822154301 121706113 135686881 495502525 324565275 726869257 514002437 135400239 319545503 113309363 857397653 152508379 695589255 914387765 779742673 474199965 475530711 527729869 282416835 690134105 780172763 527770433 458868539 58019319 656961319 405577953 229422543 753691497 423800217 312315267 408474595 5161899 926939219 226497409 368938139 355073727 884976321 666118343 395248617 147972271 97693083 584545729 453191559 516807819 964468697 730927715 250732021 64831857 991504833 794998575 591636343 591856511 38718433 360526377 982404387 212275939 461187593 556893151 557750221 541862607 814111833 413927017 341095703 208758907 656577075 467601509 761861737 266734633 575392069 889228791 731380211 306696743 17473155 71782351 588535727 35945411 490256169 647917603 485212763 381824603 957610937 594715569 167083649 829131855 670576899 536445121 707274095 750295049 495039769 477421599 36620863 106685179 955984471 500688417 335008465 789543073 270183009 375207 445862605 978826109 747220775 575089943 902694051 144197657 54737881 624822621 754755211 399295493 635431411 268889843 689217415 367423711 820899389 915157717 850203741 769132869 843808193 252338569 395455135 167414757 474418387 929913885 127345573 886435441 172633105 724596521 113512335 63529633 445381981 900525515 292419139 982170425 835925219 438511271 997592693 974970113 292327961 601809645 425972891 312753615 200428731 171031891 7110647 681172857 410265549 780543257 906251663 148883173 314699933 984465153 766944053 577045755 797256635 356034653 549277823 9155503 921118727 330317315 77231569 58462457 336780707 344211791 43581775 548923869 832020733 239735591 521653229 608319331 861187015 59808509 689298529 66518433 297034753 197925829 950619691 566630063 129870059 590533885 886937237 358750125 971686931 375588779 199168431 437167051 937144911 727605597 760878415 695010101 135444665 847002923 705413143 289883689 621151159 411571891 44456559 636749289 326944755 916138265 92520329 868142015 157748577 610568205 807853147 633443323 373303873 822465223 284893861 632843515 25142293 726084353 154419695 548193823 663693993 486563333 126025357 442515153 912621327 465363871 375390355 94934917 30045353 886881061 805356259 165063859 619167255 554260087 480383013 556767199 252527685 445453563 957055433 530036369 663308137 88614559 282111753 44898655 628688895 100944601 266502625 647877857 116905931 642797989 713826335 435929785 612388057 672228495 835822159 931392657 649782909 609892255 115233995 441708827 200635989 137002095 593135795 960916245 917585219 558641437 430879471 77798459 427306099 975348557 854048559 345427037 2629213 907455791 221895403 639753803 828961209 102253691 900396643 180472031 557760653 414398827 605579683 658811897 202244389 613073865 89347959 38179721 244242711 319149025 105052279 268541563 355398717 59299723 521803271 307492815 43525563 895837987 606377291 355524993 589454591 886719633 516304439 681314209 733189309 878305857 266121345 221206335 847870959 426913325 438228139 396578165 175315677 753784529 348939003 399113317 371710479 282400307 399295105 387578425 531961693 110813411 598034969 880720421 769545441 979979509 662834527 965828449 346088449 373386505 482619327 655905841 718927975 533401923 470089573 846010079 424874249 594641493 778825805 113844411 526369059 882416241 444279605 457885475 50687287 491108441 935425191 505338487 663594517 348885583 190063603 420080929 278903247 509558565 787483183 14389397 183435459 41751345 855792445 760666187 607370899 625989967 298603717 152670407 381042475 456096231 816503607 925594771 27108289 392518119 996097741 152657217 672534481 502706629 484816517 579568747 519999521 352585855 491395369 450003635 807261625 669528219 683067463 707161795 106465519 499392297 383390521 697173071 680141409 521288893 326883359 429716751 508878833 695759991 828231393 184316871 641565133 100990203 75228207 691787585 89253735 765252987 380882561 498737999 199194239 336225449 361834777 500227531 202110997 707048903 421210877 147062679 587027831 936234393 58664447 153229213 188842811 900682605 25105335 517978577 571516475 313269785 19726981 766379051 751138459 613346559 878693521 268863919 536824521 44848385 510643915 477566823 19287161 233362831 833180651 58560869 887629223 53199263 575229809 766818243 832296853 527634607 638658217 784045475 325827539 317617605 412877725 801335855 47677747 341017713 206487083 978138011 945260753 886858695 406719727 456949279 28702483 560315239 755720277 691348735 640224931 873301623 928264587 285998469 952260471 397383331 894220681 209305603 761415627 472475939 696361999 465802963 739204899 196466615 413643431 696723287 192911691 34170275 46742431 698254587 90641751 45309621 929927955 358057517 172823717 378995781 115390943 654495085 9056215 738599983 966825645 299545657 563370459 384848859 261176559 995468317 378991331 460118839 484215259 309399979 391863661 61246905 187838833 930197373 126879549 767067489 420731257 341952309 847183455 3076017 825292935 387765373 845391401 665948859 790290159 522726921 406494261 453238291 581872595 67349139 380813671 701586393 30344219 130628059 339697389 70244275 875067255 96721837 566182203 180933069 187874657 273214171 362237195 962326497 317925911 826558015 44011109 269484073 95320993 612530619 576190353 520060527 944139473 105343289 878975527 300091649 369492543 775431085 914346497 970933169 347643211 802343441 980592197 634867939 387783965 656116325 389003357 816942713 47097765 320212149 744919295 173827811 823456411 360001043 611469093 140161047 282827905 865042841 985646871 620761235 35011485 69476713 29838175 285917791 411085057 633309101 190572497 682565639 400013701 422787481 180202121 579811233 332170953 971822183 350690029 529435597 449971763 419702871 69785769 17585329 46760439 283648949 337984687 582448377 776480779 350575571 141514813 521700063 247629105 796907531 781099991 41884447 224109551 117955775 655856713 878365695 722323861 202943579 622303143 242320973 181454143 492890191 899038799 457462369 91380937 326880789 298001891 469346583 955622879 474119731 682047569 4197593 188735725 287165231 641535691 552006289 419924527 66895005 597289169 591634615 889802915 121553431 945263395 418370121 534411027 28675647 547105487 679156175 42446607 582846913 631020075 135667797 440653293 425102413 193556945 297944689 147537871 448288157 848824229 875441987 921083037 454017141 851816917 947566961 603100425 382094751 191347669 21776425 997819783 836174063 916780385 51787807 922520411 26784315 739475323 286054549 260358541 673621607 907165555 753870927 301867499 959077469 909115867 582012571 410488847 409148435 733105039 145637969 498110553 214919549 281100981 233206991 891331313 996880801 223303607 210987769 345424071 616255371 424292427 645361727 204228757 441618761 899823725 778216857 833092057 323925239 391165793 161558145 350462427 877951927 543932083 970063873 117394605 312721589 187325751 968510885 370306599 8628769 519092745 872371331 488274665 195636277 426916751 948398651 22276953 855074359 154068085 449709043 279681707 372086637 14454957 65558361 328052183 777573931 767837301 509842337 911857817 99756235 142671699 950190221 862005373 525746863 808536335 949359457 517867987 831840067 124008639 533491693 343005875 386520311 213024193 810319237 298689019 521758791 733981367 942351369 267610199 74510003 284548239 763721949 227514165 812003271 555700093 574298097 151691213 369990679 454197755 154125499 176523295 691682361 473895889 794932539 811636725 2282449 999447303 892134131 936145375 738267275 888916725 602777589 247379507 488499991 832420149 550590935 506461715 233757233 161957547 177992373 653018729 270609817 296493191 869510199 522415841 818517787 996318007 126303883 946112759 839654281 322756989 238588775 532717289 386981823 840472923 52303113 310389953 629391771 648194333 959881015 734670157 139749131 511630935 464141375 813345063 501653759 278921445 955178489 142660015 755709555 829980141 626936003 323220493 984720231 751850201 241674371 976113203 436581351 61268575 370821029 468927445 203618567 317512571 24573473 889360247 640222685 164900977 495052919 665561441 556080781 935519183 652436649 826555553 236681539 707577189 840735049 695120913 624722223 714523985 935345261 186111825 562566541 574333691 663831729 656511945 698863773 668316681 313033789 273971625 613636269 49577845 183792063 620804841 300157195 632922743 398951789 916068939 504038163 886244245 446810629 134901333 326444329 887607709 159332301 101736537 223337395 273776287 786634645 758246255 317701673 520835835 604279217 540462453 923970047 216919635 814425345 240385559 443438013 942136469 638226409 474068931 805875689 423513845 539919707 781314225 299306007 962992879 557618121 912378339 132204515 661260101 443046451 427394591 260800491 591284487 65745697 299338485 146029789 355938951 932198303 489230785 913308777 261346913 674654789 364057247 343447115 391406715 668426287 716717947 654073669 731732223 363170821 989524225 895152671 88351075 74967797 26035629 475502253 979670883 908364213 742002879 994045131 273396227 727580547 349885243 149248855 659604623 684538663 850807031 483764543 684547483 898130411 464569223 614409843 524968963 701664425 920468815 18692335 183486957 638731967 939381875 306003381 869338565 579698451 366856677 825365965 609757501 48202513 354834015 430691147 225207891 663992243 423660383 986756683 543025739 173869171 115050543 747283947 237940401 422671451 934271197 217285977 761497691 570078455 670900035 887339719 926581859 561033567 100299265 1476715 594275117 734477103 955001727 671503757 67777895 853142415 431345901 139429747 243161859 275594797 126228805 477100659 109072961 863568959 504637507 817631971 128877729 668808579 719552373 618209321 71558129 442852673 809079079 46978477 486044999 902561605 542866291 88429537 988850173 962299621 816452921 71895361 833764025 700197377 504353567 296370511 729221221 937946109 64152729 626822547 195442487 217903819 436298463 448157345 608394153 907411933 152944621 230865173 887501699 786987317 743417231 796569741 456590543 111294039 286251605 763523767 1908961 726262609 423979671 417134149 677239125 24468411 358119795 553601007 292818193 997986737 452349909 685057911 182977343 805695709 206087019 669524651 737760341 189264745 2279341 484414041 627624207 838665997 979223259 284333407 671685489 924092935 484166399 463633819 772793287 646422557 706292457 179254011 183401383 479653791 524028207 673340017 167352041 622361697 798986037 70559989 594382517 626973891 439182879 289204361 105276535 809958059 346405345 670533947 581726945 673343111 74165295 970995225 788472563 697182283 159027087 229601345 564277485 198347897 340992579 349616595 611373917 647975701 38740321 872723193 161956377 416078509 400141245 780226277 561940795 240671577 577513721 591243987 370543655 877408693 879155325 540459781 914953355 444953067 268031097 978574787 12438363 340002981 126386919 515444323 708230609 649576987 796462213 970697275 14367349 877377291 75419613 157877681 369238543 988847549 770487869 123072813 372066999 566811387 304061631 931437089 817911495 990695713 405594947 444821003 679502309 387247369 453043057 730557287 624383995 489303323 532452281 746880197 100724287 594670147 398509651 365762483 460978733 356048123 333903937 438536143 742383241 728874047 205754953 688745913 126423647 358359701 112900605 675691547 928072195 646528267 914495157 953387175 962891281 973873209 810555025 838677273 453022319 506374459 837565815 143556659 436126537 545673403 817001499 528288447 760866833 591987683 898449651 856448141 475972229 139598187 918649665 223539579 513521577 75677841 870621707 353208425 159889609 788343837 63092515 194212929 691181691 38341979 202014751 543699701 964994455 28272417 602727779 770054273 565715013 536069839 66082067 716882919 462190833 925084491 951411747 533814833 20089167 807154691 553307465 138072431 37124953 842482157 989492229 611408831 585464407 707136133 160146337 797178945 301545937 186136791 9947181 508543007 634212511 197941355 242750335 852544907 375405019 454877787 37519417 306461891 100493801 321301573 808830659 742416131 341767031 44961101 663036495 339565467 976858233 369269027 311999955 353071323 492931883 455471869 15161615 170555675 621627151 825729179 171410315 864416193 791582197 77921599 954174363 534162997 860412143 558173883 532522323 790718699 799240537 890607205 73875861 666021467 27994073 749627929 464265481 917394441 809865049 744599359 42784543 861773183 579854865 302166469 984557329 473774925 126854263 182524703 672070875 552541201 546816085 288043343 387839563 420862315 187263925 665379801 407792109 522282245 537928685 433628365 683039771 463012755 960250517 275070911 694240245 619621325 494003349 14765263 238339683 706853751 184262937 782629793 611801877 675621465 726981779 497674341 48281475 540577097 254537665 842864339 658960367 868624159 693684905 539345701 796146271 39163325 775184787 935683365 909769637 479584525 486593045 987595039 203338839 593784835 289171981 45937897 194033625 678826391 66840223 634009315 916153169 423769549 167355189 652041971 287850157 760434861 286580355 197810055 484030377 658745677 976705417 76354709 278683845 888214725 295641223 55514779 356983879 889284919 511075853 540403103 468129599 724779725 184691693 142673457 175779977 841062587 580487747 733906021 443485633 469682233 3696243 354190043 431755347 931033995 629574701 490725303 540592235 149002491 460660831 15349161 243726341 925942747 374905419 341540585 680927 156875139 544699507 459609649 948044931 417007705 530586531 525561291 225334081 162857671 726650351 449203843 740125487 843949115 39049139 297886385 405186095 700704309 921018005 876519217 208638953 570967347 261497985 681360491 738797261 541988287 20364969 79148365 246308629 89497455 645230219 773333581 313010623 144797147 762925803 131619433 938382741 443650981 801658069 677845031 989877797 659645303 15701151 127542423 646907081 173975813 27212513 41435213 375714721 934696967 680022403 23754857 229986453 340625217 880924337 695682959 353827925 395671421 220854239 852868849 994097497 25584269 683040967 792075585 365276899 635050059 361761903 185214401 779570683 12386713 263515685 538194739 632313967 365149537 545597049 445086955 293161431 983605655 643269707 815383481 163655319 860128819 446055871 115586305 980261589 998166585 40679231 425014181 531016577 549294259 711060097 499332373 972787027 384445363 767458175 950061639 740209099 971474259 914941313 267640505 370028597 440648885 407626769 995051377 476142235 978773251 91948035 567519743 604522715 389626993 176010867 417524087 840706961 290135353 733777863 904364409 614871849 327651995 407108777 39588137 299177681 582162915 723070223 873088569 532031361 859573601 397370165 380047835 817302265 287261043 653521055 977549265 537728195 504210297 959313177 530266463 14409005 983167199 952202679 297696851 151411283 178009109 773533141 533144581 632262417 685178773 588262425 551584337 180157969 898610915 679419759 774337183 291727045 129458569 661304329 540095709 219160163 453882905 52126311 32525953 173496043 211113261 832258633 814635401 992328741 740876391 939302845 261578621 390086309 290272627 309146647 957017193 582784191 79729407 770386677 294382563 435310485 140000203 268318011 464199691 255499279 608350613 66702867 587261061 710935005 380043305 760092657 303870339 510021753 349101657 591604629 213722297 97445409 278706943 383424767 345294947 280325341 835519485 591488639 587425867 672480639 163636541 651991461 882065085 209628831 274671539 13482577 61977489 259785117 259992665 909957031 679045413 991308705 781060911 836371217 762330973 934566555 952079937 444780869 322809513 610003523 390976161 715293503 74156799 369251611 328202601 962605891 584303837 434685801 41264315 166969307 60716107 598821439 962983107 616215775 957404117 799689845 347765425 799374443 834882961 48079275 546168255 367609313 130305567 652609351 703210545 803234029 940534693 639802749 822878801 437650565 607101647 767897155 879098225 461775333 416002007 795821147 940058347 905015697 471125367 362039883 446143267 622850133 492793849 819656547 410316927 896059975 964251179 302555327 573852277 493627327 190799457 114268731 79611519 506690151 994772345 616978307 10087709 557360677 792421339 163734275 361523931 739972147 987192951 144083703 652319051 37822473 229843903 431675485 393236999 448154221 829472947 700536831 964015537 35382381 779008987 910688109 862938869 437193305 588725825 462389245 981391235 252966097 835604609 275162577 89328405 979423673 117207477 736128721 500481649 281879355 347394693 264531887 289733213 408313037 809881117 357607647 917740717 869538857 205567287 160737189 195397435 879151703 335023375 528496393 401152233 826321055 519428203 878490329 848022179 365158809 763611801 262845103 769879129 168301601 925599857 548962027 846694917 762670167 599622481 286539189 106245293 772620461 899466781 172177917 795824983 197053139 365048901 801816701 178236439 180171461 394758847 109946547 879433479 599534027 444853515 482588647 577935689 519852399 457201195 860808747 227174409 469726853 477423537 810933079 522412919 666304555 245151923 326362123 391199695 834333379 420685005 719125677 874795601 584640249 853295911 949847153 883668041 761596101 534443373 610188367 408242697 660425311 365754073 961687555 213978091 29432653 293738279 34444057 623515475 726704987 178837917 524711393 250420135 104988575 222846987 793096819 72338783 631343475 240616389 98449325 805719279 663873403 69300905 880118331 858223071 712326821 20692001 164699019 268502453 482879267 368152599 997308629 693843717 418063733 844064771 474083865 227125865 573821275 376553445 819715873 348792195 161399525 241038143 796126845 202243583 319996259 689201699 766133379 326837389 257175157 186816039 639853653 783479785 457560319 544847207 592914653 867721171 375834667 639611275 100402631 303773721 433476207 610755265 589574799 558306697 566882951 847225021 336044915 710398207 266403445 632242625 335918717 32479325 877644425 773327251 325160059 92820367 812196437 499204733 985058823 804848005 829345207 850062937 964717185 241094971 47002063 355630469 875943699 701345969 891335695 676686821 705439657 478938613 397038887 510118891 798074877 359919637 718045205 645793161 947884177 461498925 336946973 685141311 370907053 140887649 573021387 822144277 900193887 675848919 747420915 640223127 73967489 567333061 829050291 127079645 419467955 18082661 846962285 915009411 305486173 568833273 77514447 798021553 578445743 205594057 197151179 314310677 689248673 790483241 636218017 927436517 85332981 766303859 424905169 802414303 849569585 416485899 717701673 675967049 371472039 391066713 990830527 33219059 893061487 767252687 311498477 276867633 652135 588431593 843304279 776074721 614365243 529353511 925748971 951004013 973752921 233942551 506775773 267177407 858210809 782630215 82845863 309591377 68248605 543974995 203103505 73889565 532555147 636849119 315624227 717994413 131477971 268489873 110675253 874511373 921186897 140525089 140551651 718409429 137945889 849608771 348964109 47972641 503995951 356520383 385658083 337226649 797894183 630840667 856533209 88418667 468117893 655491309 373760683 960927565 129041801 849151051 627512157 416810109 994634553 92196441 465252923 660893121 714930789 523241475 126869977 431904361 471438503 55557435 850341141 984139081 758928481 26045943 603804689 532943297 143659959 825515327 937640761 231410359 756738459 645493785 723434051 608190359 604084935 15102107 468600109 697917785 758241465 184880347 977023287 40091005 2852027 407604223 201207791 772156167 506347739 951196975 654572585 348172677 402420979 402221213 627738371 428153359 554462115 45068933 191938783 581948481 782484819 848343591 485989995 435803459 800337203 528723665 70965659 815136963 984714813 238719185 410926249 331804151 32870957 214806659 133349659 496385693 782322833 666830667 863989951 215528957 586186677 110734481 93838503 107577825 336866227 243368135 871471663 287248805 834357099 374106729 997421563 408566563 167378307 72495353 421950713 770381249 9737071 395650559 947305821 15539569 191610471 686763537 918087587 407554469 873409127 650086341 811834255 956197983 738172731 84785857 842196779 946755363 934952307 208898733 93773263 847947263 642254695 323866171 100168983 460548235 549617719 924177959 873745379 658071779 236348105 662488627 828370277 943335599 911046353 57011239 133863437 785831965 94355909 654441689 629418137 341720803 401405413 507206943 470447373 312400705 788500283 185583327 340261813 308062969 755681431 756481537 839828517 609045085 808213647 870971255 867313211 181560641 631362695 206787133 132227353 31091205 907337635 422187605 180892715 845454991 576493527 22546375 284337705 825349963 59827415 475235241 888018955 868822067 987332905 725544209 502319639 990942659 507544847 720269349 783794395 661812225 758502303 870276365 249481767 952731515 585919405 424825083 59149339 256074825 981170395 719779115 747211801 260624135 238850705 616396767 103379919 488666077 833939713 541426529 774216241 469543291 294946847 74507009 617168507 231654931 945966255 188071965 823277359 67417701 829550393 45831955 665998109 452286647 863946507 428602449 220368471 2225625 69022015 377617225 102213433 755307553 29919669 981605747 976125287 987870827 521286165 29027155 29941969 601137949 279333583 184410993 49829543 69394729 427781659 447791971 63827557 86830851 177181947 925841087 44174547 687907239 130443317 805821483 951772411 304521631 14178139 836964431 505387313 253297145 820997061 244274397 369693715 403540297 809475475 159426963 535440259 537407149 885904555 719300397 588569517 323577039 957779393 877361275 106060295 217196249 290489675 139088203 714213453 964447107 269276299 519516027 138881413 935152139 130879111 256019947 516190967 64119097 492466449 899153285 428137273 141086297 704785855 470982715 59347241 719609409 539881205 741513739 489202921 465175633 837241559 17537521 653915879 577147759 433231449 609929469 36355285 874683657 949648433 988507967 416357043 903376403 210293727 24568527 766359489 337998863 349708973 786280659 827001229 482998273 280047787 886292083 162063085 323738489 303608239 68627939 578772731 758256011 142123099 185550171 866075677 371049429 242013975 592012319 382354173 199958913 192051477 660104055 351653777 679265849 228877643 548191161 257400339 172147509 181582713 643061565 729542155 570639923 498432295 975950179 584060227 304399483 944444585 796026779 724290255 177808857 267347475 118818897 675499019 959042469 76607047 23077379 619280285 48808379 190258157 244670003 962260591 661784963 810344565 485780075 748545207 93247721 450845465 712464699 835896561 464043367 108568535 46858049 257358561 839430393 230249591 317552669 81259667 245108517 460619659 341118841 63738203 932153851 235581291 616435721 800282327 326119183 622714167 136006789 299992553 288427135 476529111 178050737 30785469 973368821 600650491 245778519 997931211 348195739 667317275 62340679 67692491 648107817 725443961 351016287 291544771 72646879 957518107 29077887 696218623 169951359 496422867 101069457 877211413 183536733 212318263 458021257 447189983 521162313 259010475 250041183 919644033 754916517 917531477 890424343 554029417 440307031 886846243 951738811 467036747 375127757 122763985 5157211 239195425 933230333 574283999 177563669 991951411 328392293 271192467 28950025 392913929 657927947 93927423 429371745 413976699 20243327 929220345 844137809 469583267 261286357 142872611 224125713 873713895 742409899 187919079 933232357 583351793 122235947 390515057 710740247 372948407 488556287 495573949 60949753 594222453 839073121 431600265 847037925 260463535 262752779 796556895 940235325 669639983 63115079 95581839 474354795 285829133 128860129 361931823 306922467 296684197 749744689 461458721 641510429 322549913 351252755 83698957 237376413 344654805 216702703 927964773 137516781 796918671 106683059 359535965 161760157 444506949 251701973 356544761 693545291 207144375 89360467 164323841 643495063 603372019 401374643 795420163 866515501 839628365 495774213 472353881 791869371 860581219 897872861 189732131 770476289 127210775 72495705 240539209 107769021 707256215 829000739 604677243 534700985 59646549 166969445 215055921 806340555 469999377 903107545 496516269 466297035 634991307 726088633 34184951 259904923 136376017 422419663 445667037 231655717 67667897 195151463 184127991 65324381 705229405 982972761 812333737 74944573 756956897 466315009 326645017 312513221 791692723 874560071 294180919 675940353 32055431 722814105 142559419 960560129 807398233 108036333 106125349 614541539 674785643 946534081 358483393 117185991 140772941 595938589 435505049 455210969 888945873 340833675 205363595 928822089 841153555 370699559 51479603 443675729 878292089 964651403 669800957 535720501 655851181 380590557 820449815 527874111 582876325 532967375 572498809 951786689 919297181 322190483 543833059 377564181 202683929 353755627 223770335 181953437 17572581 923339035 91140795 686793411 602154517 723686385 554892179 194539515 312715527 585136581 278184003 713816509 111823965 150728307 463184757 17461135 787942149 36533603 586519195 961834229 859299633 756737667 337658091 860699271 335915359 619623753 920901733 81669853 901083475 354012595 784864977 792438681 637720859 824456009 712979651 335160423 805087239 513986069 764934287 648348663 987427255 346618803 302534487 459020035 968993549 772573245 398434819 746259791 60216631 378213721 801186371 975378597 234114729 301159225 635079569 993553879 871045149 871889295 75170859 960822719 918460315 290171549 998844441 135139903 782352747 929094695 544397869 221613379 217642277 338072187 396190463 328656315 589635747 156427121 970809327 801316001 432966411 129215333 924803621 539237369 210776519 736305217 482427793 434118093 86805389 570425455 448382955 354449199 86271831 313151975 362487733 741064505 609660269 205449511 394297653 965493773 225432153 573874229 42126205 965717975 742822383 641196961 21475173 646462919 920989771 313523585 599026829 270646039 71331539 617789041 861136987 324097549 648435507 289703575 645823235 84141807 158629469 459343525 387949691 539708177 475907983 851890895 880880517 191794125 396694349 946694609 909869223 244194181 631384675 282233845 431056689 637372067 346978021 634284553 10167871 285150363 864886065 205784671 600188845 108139751 509425897 38391259 823733543 899581447 175001595 57406687 240808217 424624263 17390489 635462747 664012735 967897081 679928643 624848583 891087383 551405047 487941561 86910237 720752875 749410085 59853321 163635173 577498571 334445609 703829129 805636655 532935181 341629113 183932883 611159697 325770195 583029903 932010443 710918695 430383877 929131115 959731359 88340887 653647445 846780185 129868739 341496851 887676983 923950187 331142899 507916367 849697263 868569659 298752817 920969097 568641157 640801643 132691405 63068807 214372807 53881575 122910041 580255895 905990479 494598815 159519921 207937169 652910973 736119951 57038331 30322131 757468793 58069943 120019873 796142913 297773875 320577315 236214617 605149771 673107557 40473317 366657823 991545319 711299981 757488919 712386615 855442325 958233075 153078493 587807277 418523735 811455401 358826845 642820565 418473407 533438599 517484237 994279499 213666019 709301549 308609383 828363253 631645535 132695041 218802795 108932991 505711707 836589623 710547749 14439643 206344067 569330375 542825961 656016967 21243921 721154925 266733837 728683849 106952641 775506869 592056821 327778217 81768921 982566383 90952205 492365949 17005095 14426675 914000837 804482339 787855363 586904415 675706263 266878013 530077003 234580511 580177673 703837369 860292963 762641889 584243105 683768011 723127869 10995677 606907891 292463341 721471307 497420819 97900185 985325799 200457357 736399437 843561271 381635265 186985867 736639771 7457139 462205907 898985041 995110611 272309765 942045623 368396919 87040151 782365089 484684627 760556057 213914961 628514831 464460753 738932447 830419117 218283797 509459367 329309941 612042279 137823623 909541263 198745621 563502077 324706879 597541265 997213819 383243833 433634081 316228087 89041901 403431849 20946963 64383061 560794811 984119527 373026317 555775111 838043321 395832659 618632195 717340083 129734727 381941783 459869181 650993987 361061705 604513567 393876481 454362095 153677871 564803109 166832931 393587887 133869809 349825451 788507261 949611977 264477705 95031801 855442483 295651273 303538049 964156957 728871021 298087043 346520037 855946993 669904477 224022549 567369549 619299861 568461631 967124961 217448533 974205681 30652755 62090643 455235877 614906805 797865701 737075747 732957803 674234457 907525959 812245193 904727131 857853855 128924117 291445771 682380215 413463565 349315309 233174199 876235973 229367541 244572413 875460317 62084687 866485615 538550645 537903325 601452207 497075547 79105489 443229275 826178755 168346719 299266707 245542721 523387633 105202415 834201667 199968451 4381733 657605441 165711477 534004321 780491991 880008791 430645443 773215963 33687047 961944823 21429713 631634241 679831609 508240049 34012231 967161317 289899131 215432417 349168087 730941283 416282469 337289635 253951037 839257505 704125459 725318371 676793913 172361417 969513773 844123469 95519897 169838161 47857633 918404957 305213739 66339317 921795813 44510803 762653643 232966841 291128695 742397749 491293021 313250793 75955805 705114579 587151049 462546969 355820263 122426311 943341569 222235173 111470569 64152947 11542273 419701299 563516099 240390395 909195977 49437871 744755801 276898129 666902119 606009675 236430365 56026415 55775721 58647045 526736129 996138003 464044907 408109601 248238215 485411655 433432593 852965675 482195379 171662553 685826819 210541561 719114771 429504675 27356275 130386341 767756479 587891013 127646365 448074899 184505171 473717543 847692995 193694065 736408823 428022649 704135213 967908401 511146841 489044277 731027759 317237523 640010159 769791513 965906981 352126359 893230007 396283309 571678317 116337547 303453879 201441347 875066229 411486725 283207295 237049331 268155823 471989855 421568611 495603101 254457235 736792895 573300803 869815271 960059043 345187215 299410309 168364101 40858221 486674309 322408981 465342447 6264703 880576411 370339181 319829217 725199989 91395481 743363977 433752295 402846963 13456777 836735469 262001297 170266785 509435071 4676781 296247863 477553201 406202071 880801627 990042361 812031583 910499511 105228309 919141821 282996461 390630281 450416771 1318967 805097891 932432323 961191123 656152029 183728983 541982241 498644667 877680879 717021919 877976743 147409017 827083127 401907233 85041569 855705045 810902085 278110981 1865381 952720155 915287023 319211645 555861387 618034721 739255769 678767493 917669755 883814215 637522727 512202783 144688609 105831539 258500557 74617427 62762863 471154193 844717951 213521719 66461477 744561691 709252803 89204193 645479235 589881099 906458587 682399351 899627095 665215211 377189341 946135329 642625591 109181001 372015005 701076243 410836733 940022585 408311485 582396805 356316173 434620505 317597349 924618937 366961429 486763985 196546951 17109245 822900489 503520335 491097943 338825119 333466403 906422793 741015769 473469949 555307499 23632831 207871125 424883831 37676585 493946803 365360601 250809207 271848949 688335543 158784959 52975727 816967081 988480287 787336743 350272219 162446571 342726603 799135417 137996605 161564581 818687777 933373413 474128413 564358925 405156367 82179043 293670161 592006815 406169353 708161461 650305455 620348191 964096273 903726625 135095453 768055705 570024107 319723705 377370243 110162529 677486311 876597973 978489109 671983635 838158937 131325589 178617355 366924437 916437535 899021791 833963561 393901587 52723937 942108007 609879607 362621439 685358541 983912355 241619979 606420503 511563163 791853525 241832315 41220959 903212933 229197571 903685997 25231139 663398485 118227199 320981193 105348089 143810389 519997791 553635715 35397305 242446177 51955335 387508115 454314381 366498771 251306651 59323901 409933531 88956307 161187983 746435017 138124381 432661005 762090777 901234957 678276107 738617915 488098745 663227359 440987949 340411801 190337465 744831333 861573963 421785901 214843177 862384839 469684541 957834887 119042015 598802489 180259357 566635705 725726845 765437939 158906447 937996647 790529901 645737273 183590017 946056627 486170075 462637909 763064999 793670991 796587715 865582743 223297277 523927405 741191139 408542045 719923973 969355725 413437123 614614791 787309199 533111223 854485943 432092415 65772717 250028279 137788627 75962807 825678523 214727907 423030009 225770413 434584415 330932571 478179537 542032477 467192707 955361221 499000267 107858775 32641887 668275215 959747873 729828651 745063787 630109615 436007121 331734641 711454571 908989603 841088675 299517647 63150959 441385073 774549289 434613743 32481483 302094631 583572155 681178239 960510743 375030365 240828537 812654397 690154299 391931953 996011339 415881195 866563683 738576457 432266977 263649875 760699649 987517649 901013683 615603015 289306069 754870145 41818371 740570015 357500639 648040089 721359831 815629121 47164525 77994459 481315329 902650389 253000213 596512153 494981143 133363471 972209583 703030185 730254205 585547559 29460069 3010663 244436313 573033569 962210207 3840443 956597657 125833927 463533585 481995795 916348409 453472619 319077563 77151589 930743033 330851173 592487389 938300975 496664799 668038363 941768711 769499255 41870013 413385719 788865291 95917259 363558249 824914919 251482885 931427139 617241221 336808427 346006873 296053885 176545659 203153473 345269175 13947039 685757559 834491187 262727439 587062357 41830261 836033047 959053981 776706007 895029043 386998341 180038889 468885477 268394043 417863199 258089661 418152131 588582877 408815119 658661933 572815679 881212719 651321225 203651477 780189615 622040083 704290821 44557467 359588085 353737777 544313351 298500395 380282227 293658619 319453209 189906039 822244375 464808357 308179917 849617405 301846363 505556531 508059837 276412545 867078203 619507821 953692555 720856847 28868415 20644321 695058145 952363517 420774257 50383849 470759539 219956707 85994347 789987493 80855545 884470953 354731083 920448509 490693175 511656571 141183671 589191841 867398647 101623501 205926363 785315593 802336011 251337561 765502065 847266935 717912907 596805925 864880563 247871987 926947741 77432191 730965099 570922827 492441323 980934903 699708901 91121687 475438885 49895533 773772537 419474107 825493573 731425285 900502275 931707229 939957071 92088873 867413739 284660973 159266637 800346767 185540127 917743139 599997521 610732849 885132693 787287169 681793141 400907095 430642891 398987085 513843419 129235595 704032969 676208279 53189293 28808097 872648473 305103931 970883615 905082805 546845397 224895701 654318441 241975085 759506331 256451793 5949903 771522739 521485969 298685789 746974363 381384765 740711267 852696945 952855583 994363911 499638603 73109709 325976757 827020181 563821059 109459707 522023871 823422643 520250069 624522315 893502119 892462709 437944719 398807251 814441441 358256183 477643651 782252917 541040103 132906145 816190613 644762329 659534905 766033049 339854375 324565617 959162979 895604823 145630249 998863731 507747575 651582041 97083921 238853087 383922319 487751263 826398173 458624383 550538957 121278583 730716435 634469601 979205467 267138039 994761155 147454047 58999533 417012343 865661825 884022041 386355259 297834209 818881133 11115511 390519563 681208413 933599277 646914729 970862371 163666783 991745775 495638185 907577685 742083751 892302951 433194549 796919935 655278133 498617559 53374293 167895683 161311321 187566595 63243995 749607239 172709027 639061561 762485599 559311297 76011253 652208465 23918657 41050857 87722605 70604199 642323625 107928261 314886779 131452707 324948615 346486107 228744147 767254067 363069331 33386431 408140657 125664975 517550159 59275531 656078745 200782705 498816257 701132641 839322325 669468193 976498363 442965739 779702527 266207599 340375637 663914205 428988973 385039727 661390191 313157233 82805703 980090049 621494127 72175591 771427703 250077579 721683593 20892555 942687283 583318651 844613811 649573039 300309303 650162117 489967279 590608557 546719495 437967403 655030531 94184423 457767537 113356273 454879487 758482633 617027461 327923685 62284735 883834051 149546659 774702175 718429983 533671759 907576173 961702461 374618827 65586417 202957775 937443811 338647855 392263221 127058177 792723521 527843463 71980713 201319035 859272653 748110801 587855849 548634885 772586375 225217495 638829207 820447655 602682865 254276137 13952349 325688503 4114461 74027549 545338863 905662163 149684895 209833429 31016967 911442911 998492823 474472761 224265829 344871429 450907307 421283579 982589397 40914619 45705225 620033935 645300265 1898427 45977959 551432249 470759227 683864589 67493889 973293569 498302959 357324537 826334881 953573045 676087595 758949655 331618453 903873007 345938661 238494019 770515633 254631439 417478935 732433821 110976083 438487869 589445825 157660311 913664101 916287593 971629295 889532897 767013457 333094477 12253107 121931127 507482383 341395559 63481641 608735393 480810525 682939391 253239919 52280041 498037379 174707495 59901619 365146403 293797837 13786551 369003045 347794541 997477137 223978575 25388799 529511721 189544943 650143575 47809159 411503109 262329741 737476093 296698883 424746739 514241945 752103743 837141447 430817329 967494985 617611479 556839469 500882755 278755419 13332049 573255319 357937141 845397525 709335037 368515185 487919453 440697925 965945843 788616747 839893 113297475 22833937 61006401 285067521 434007021 620245507 723167795 127137487 870044327 661635127 516241293 251825265 204491875 342869221 607726305 665616999 599608979 696480269 565163723 272872049 938039607 691402105 761647849 719378591 188088791 298694585 901133033 78639169 18688127 694697763 514183035 477511417 470665413 608750809 763191131 998959525 307741387 67097029 99668553 522313589 478101553 683876243 709547537 520190173 810465579 185339327 320501125 790715545 949139821 926863495 43343231 429981355 601972533 424805365 139546595 345250147 669141577 781362391 403500185 855934035 379738873 173517767 708497555 669370713 326083865 30423589 734142157 858451861 223382279 705335067 898852167 543044217 337573037 86443669 752516621 602082485 861628021 433848397 107838513 18839367 47770201 359235781 927595215 570371187 949646547 73091653 439095813 857121477 231142381 673047003 136947713 449268753 661833267 656840801 867405299 4540021 625521595 112170871 440970007 214107987 329156903 139319941 795806125 967951961 50559129 330664891 693719043 369314425 174326463 331495697 456846183 747718387 433029587 101174601 971168053 836701767 834925201 494399209 886877647 90715459 327323455 864226627 718480289 339439613 897519789 566053743 879607323 217165007 140765487 566910285 406618809 779855197 385601445 230742659 906359293 910280597 982060659 257425285 633029231 926163115 817244299 419105929 506901411 464497177 685055071 366451345 203117365 975223975 664221937 825077347 138829763 987515743 250587845 889294737 339565051 410092691 575944937 631910257 578760589 311459045 653087219 213336613 248032821 707406899 900474117 961888663 491184309 21658287 711365313 709758581 928095701 934324169 391404119 289285941 35298153 748674877 887149691 631338269 168048973 126046739 775166065 14844209 802972255 25094549 191399673 893557569 595056013 268158551 919224677 870901479 391093959 642702647 640366217 229601925 81324553 397349975 795475909 132857407 764453973 977271331 483083261 301280519 209428147 24343635 343309475 525137815 176897335 948445407 269222569 132041581 740733437 843951373 134955921 288403923 543031331 326866025 426991197 836102359 12632279 438644679 595107489 808123987 377139273 799947333 970237805 907088615 506601653 833889349 911177829 475223291 138789213 456343669 909818027 531072447 469375881 193761481 436867567 356674093 199778703 504211835 749687655 142750723 198917573 797393427 448777425 678479049 884702097 164716633 193358707 2427601 944987227 350319973 594443549 331020851 860033685 786431121 307930915 529288143 923644091 374847105 4241253 560137803 672051789 956922915 804028745 770260763 148630233 556306347 934863547 416649079 135400173 143445909 890440501 942151003 426916135 60451749 889170609 840253589 34849061 149211621 469542073 338091439 993825429 943585197 93590875 615776007 307582505 724538521 960046633 610067387 749939865 107495305 761826631 821612209 872100775 829699503 937053271 97615261 112498465 9399163 653905289 928781813 713030613 616393131 426706579 171038713 137279137 370751555 123107763 743186355 769996643 208568207 880634033 854662643 914989577 206928163 610282455 558939471 930435461 794856669 219131137 726120235 562518223 788298207 450238601 383279275 847111657 619462551 214758485 377394115 287289569 465715895 161848023 512676391 669334725 486892093 473302529 160697437 976742067 911932013 540916309 182955175 85936329 302519253 843923415 369534491 183162677 21015621 767503637 623368589 843434793 500943837 132139047 715182751 106877405 357526017 157405611 831278777 5778837 709941849 854428613 312200717 939974297 79612383 775499557 521788047 104921663 42810829 323844609 938574595 35328989 671872677 424949527 347628017 536333785 850515767 741264559 173085351 634898075 938282389 880512917 502174783 974440853 628586523 681087519 385855129 100167747 830795373 471651117 495386461 929236775 37052539 160625957 183065851 831315659 297579893 548049653 781178795 833093823 304124631 157453585 756727919 894175905 484596073 489158779 326594573 520472335 74689077 334580663 959524887 655156921 406962575 956940755 442782181 836703051 840180245 793766247 608250263 988834947 852847017 265906065 937476371 654284579 131752055 783419637 531403021 655197171 206412277 314976963 10723835 834924233 143347679 816874929 48412959 524498301 657854267 404489983 988274047 863219439 328637265 78938479 473853677 498876429 709459639 586309203 270963455 144224457 715327051 793751681 703241241 823218459 38315567 125195605 202523743 689912327 682654417 353541047 799674565 424962199 32890851 172884243 325758465 209990363 255334245 347364963 646767507 803606769 787847831 880188707 587575493 253400569 479551241 56570969 190537639 199109405 676896139 652694931 455463439 117715087 734193469 90542569 623488159 123648651 408015491 40473337 490836417 764818003 301376519 899393511 52510881 200177969 461825471 605858403 151690299 371129205 845669349 582891429 301207629 175878525 674248193 431443303 673731679 221780649 728407005 70918899 912265925 346859619 906769037 718667285 521899411 999653151 877029229 710914595 90513835 664666965 856240419 277186813 335867829 642089097 663036569 503296009 877698849 793549379 645220869 362320693 891577641 323896089 681810403 493987319 514398155 19029923 63501303 467602509 410323663 941301635 901713485 822900157 429311687 729861219 668531769 500842581 427146763 127916789 450518873 686557101 659126203 472790519 889547919 858229219 177919679 796191527 352053511 798945947 78062279 628463183 840892217 773306375 981446987 832080965 760389597 938757593 380110477 192383457 77582073 310215761 230942867 235190021 550102747 251097911 777865263 953633179 91123475 205620439 474570231 532185749 255259521 989467913 621285199 761362673 413745991 343901225 650408797 930290349 724247507 786443807 541436943 803514835 243887577 898675033 649136929 68068729 609640019 605805515 22178067 765003959 356200329 242974199 978108459 75582895 381670403 78931427 247970171 298404491 108602265 431641113 215079385 718362751 621220453 685493939 312771815 615893699 50561997 652625487 464219151 821057435 851168123 341806353 612863869 593326929 940540005 294619563 569826093 646688053 346562503 675748431 968061917 216277669 474392101 337831359 500802583 671201281 901411401 337726013 492113195 490799027 376539725 856573083 595568687 553298223 187131015 481636143 876349701 138906605 158725279 263024341 826523477 414763633 550900863 789744629 224886673 132249413 32463711 591030141 972564973 296659963 427693751 476708323 769800557 999242285 574356813 526032421 233579225 799044733 183210541 150105289 305089471 981989269 838602155 769556191 410743673 190804265 904926821 660557051 727215143 557393649 557688893 373284413 731300785 665173937 454137697 912733515 539104967 861838387 142264131 49007953 197275105 94516809 317296035 65374471 449878081 643524557 684519809 334743981 312618735 999631265 617732139 605886983 780794297 67069103 553454135 659460451 697707575 96197355 89385087 855069337 549367501 217919053 766858023 413883653 689694625 138233817 175688861 116736911 876401571 88914073 654138517 767327653 941986187 525915295 720493323 690574397 658769115 679646725 861738305 696873685 217214169 109649389 267432647 663854195 523241877 474744193 879625839 545484455 669268203 310075125 383406933 45908101 306691961 990549121 774500831 546493357 111796133 608605035 69904055 778927429 950555811 581895415 710104533 860011769 329316713 518598013 197234031 164341251 661652407 371062613 248267023 377050653 62682391 666306017 773231231 627861649 372203481 917858445 255102163 725082411 770761747 75731401 316246889 743272259 2221223 327219727 983515875 127616181 723691069 17177827 611292207 152201963 745131079 896536527 333996415 793573327 292641787 594084709 296898385 98301145 457679193 208197695 55183209 783570439 733256235 999787007 219003861 540012767 635314431 149502031 919672293 125650801 651636271 791396323 359173433 816778065 170698971 805484405 309955251 836586655 354170347 986266309 419302785 264559361 629596431 804442527 664802327 433810083 913708481 432441557 935152431 921914687 694384191 190368577 10104017 24361233 186158737 650542789 819220805 774257629 262054281 637054795 54607907 713805303 261439423 529197511 273703237 896033585 902951059 714438963 191169489 238625257 897409837 475509135 301182769 41761799 276265341 620044007 469637659 44397049 138415931 611781709 373674377 600345013 158742761 580145371 369850307 696953275 33724621 987531443 762352467 661891597 748016121 297719809 466736141 424064317 842490181 694826483 548088333 290083167 681349713 131164617 331504825 914964243 640526467 68993985 126127549 518249087 463993359 235885095 79721483 202013263 313613547 313739853 350862049 32638653 490624473 455518605 337150659 974571141 905601375 107872329 168754301 143280109 388452557 818853613 827533859 368943043 346441023 967728361 295433747 810097759 886552721 315620281 173853167 544421023 708626031 190966749 668067749 280374503 837223237 299854817 132308071 995004455 256594255 493239127 211302325 647851221 123079563 614004697 874122319 7125999 783836867 126364169 535170371 694968829 290111623 388361875 976373991 820976651 875291693 102360871 577480149 275741359 469048791 696707455 472392689 183267081 30495597 372755041 358077801 305530303 909752737 994403475 116798897 780616191 346563303 333568489 282625157 215419005 7842949 255593021 361221863 138975355 985141117 71238769 662492199 831665341 578355619 274464625 900184791 377625235 589357199 386016045 517854675 990173393 466172577 176784287 375160641 777067733 172628481 898743757 358597003 136023431 392626081 879911101 325782119 20905559 596256821 256481411 40237009 471410743 465242433 474660665 586695437 896837287 280840715 826878465 397623207 560906415 626255525 682621447 457037427 15599579 17501415 281298299 810860687 286466369 696512881 89378969 837125723 771050625 957228715 531565729 517682825 38775489 288280003 984553183 961840393 761576367 696096183 57586085 960517659 46390913 787960385 604269389 367252799 108134131 615805677 888864571 734194243 656968785 52601867 167477973 54193723 728208995 505063347 743240849 506890885 629932163 434821315 523017449 631345603 232081039 985586663 700697437 509509347 628427755 229598349 839588731 109678617 378399879 322028013 665159633 176072159 282703835 341339143 480009467 890343421 320947681 225391269 866503323 643918971 265279523 792218199 340047965 564500657 415768237 85673843 113068273 112389689 168439573 545724699 148156691 884668921 899221883 533594169 615739523 320428315 757681029 152829561 856661773 231021589 923495265 200766807 936000901 461482401 805611205 718800657 320891585 599052743 260125679 853033905 277038245 866660049 505939109 962304517 420365085 622724179 474743605 386561703 313570585 373141033 651858809 411692793 681717653 667664249 662434761 189599263 306156689 1377709 759574033 785497099 614373913 817054589 944940219 249816181 316603201 295611873 886208959 701446623 705754911 988745503 277363101 419738257 460366807 601079235 218837079 962876825 812110229 590145441 298295425 922486225 504869769 284739799 832635947 873943769 333191919 618925767 297703415 807160857 884301321 560108317 170004491 801684929 846608671 784792273 631206677 998549961 55097733 978137371 42690891 212520691 852173973 752284289 639489899 520071109 140931251 476698065 66731451 243694481 387677767 324224795 615026955 450272623 457537731 596594367 397287855 79958847 530384291 855576673 584758407 821441703 913878375 306539499 746723831 930008603 366353051 518496401 951345905 972254673 625317587 252549587 686801383 528293067 853189029 2688625 727267803 682821071 12822965 873646459 909462863 85012591 672051119 292941123 189597013 301908481 399395141 142972517 474543235 787138727 385720365 268849863 89514997 445097035 804636463 264392339 142769235 216467355 186576657 244956479 788261067 21945101 97522087 821587079 423487507 460593639 839608525 462655343 422206825 575306029 483667809 182159171 218570645 633869487 586136145 50994839 122304993 220559879 170483597 113795143 938626343 298921879 359611665 694913657 873857733 244989827 639987167 604261785 398788513 23961277 54188799 667854681 380503847 56094719 781493895 381540279 564797009 460129991 761484941 274139639 796767897 35961951 906904631 167513509 951063305 884909269 574284459 697935255 187839789 133859331 886982689 80170727 955674653 518043785 29262031 658794489 378381685 302815439 582859255 119401851 572170335 916091397 277456615 630482271 75607685 544295205 821434349 947540453 741954335 169034733 733299045 789860493 401763307 197309925 337721011 225625895 183067695 807047519 754679615 762303683 976083899 868179571 236887419 322428609 188493795 613295105 251589091 354170309 571481223 937660079 921463801 955271353 761176843 293925873 494058309 549147091 879450977 365591295 923413597 576327053 661505277 309937621 716906967 882438063 235844571 28026433 915074905 488554563 465080197 533401805 717248139 800466077 311315463 881870295 874565151 294957657 663549689 751319165 270680785 630427229 631133817 25406373 575451747 916613075 4321323 452756739 707609245 70752049 622668351 204573709 763484243 993148211 781895787 933001475 752245345 74549213 232973037 48857583 536289959 331380603 264583563 339101601 155526413 231667107 321597077 811713199 386820747 666803757 202907103 15541885 12384279 351504961 875843017 898148399 714775989 228012875 454243897 687058361 881871213 220892157 618467741 198756559 275827283 713430359 373890025 255905271 694505347 330432921 441015711 511938419 850099997 36631889 111302851 971036761 142689099 483382869 160476643 365826941 786869567 545149119 782627607 57516161 880225845 611024371 946865917 726862029 230584943 948545439 956514745 777510547 142971957 654380215 798915579 664282567 878871261 100832373 586126329 115737389 313170365 463556449 711060593 155871053 192453947 111019075 480013739 784448373 225046463 690807603 312597619 277174975 800089789 254700171 617020191 823932171 241919405 573500913 205573775 638965761 956956945 504262479 654663465 467745809 291386743 492694491 913599449 884005747 723386989 168340753 123821337 332635945 8101777 249582517 734419941 558887929 976688003 900770515 307587267 854531445 986395885 240221375 27964097 599623413 157925249 33609749 804474999 800021657 563049211 317683387 209140483 872920135 894759965 902768349 966997257 957397683 601004977 903229421 604423097 102556755 110526343 836393897 327263689 780855401 791972221 554750229 582202489 770413051 411184755 7784317 461832843 161227483 52915539 277444471 768256337 521630879 74670095 981571035 801578399 186684843 634143395 809434835 557132503 184111651 337869841 945133765 84063705 252318459 845731171 879503723 376198169 224934633 18314921 672487101 788140683 732205933 542059009 206595587 164432557 165556177 919671435 575350981 971107205 831607333 368305521 322620379 979745953 787948607 649825511 615034463 429923097 131844289 517574949 323842741 996295819 268812309 238622575 590214539 385660443 637426535 376949517 408220373 189071225 660941747 130713685 501235407 29129691 288983735 54979997 323289851 255890177 506940413 58949195 33917737 634749997 55303635 25724871 218861675 748719409 88181843 107775621 466726429 759050595 918734941 149436669 677534949 287346847 223403161 27633843 196691375 474005581 485191287 308905777 389292717 672249435 165368113 283658503 635384413 269967933 32921797 899584723 186485377 767561205 238500603 227514421 66236713 710072583 486561893 264534743 675617705 245668227 567980891 975973229 390469017 516414205 168019197 59258543 543223265 870455189 154228275 644501089 787972525 55039727 440157357 667587149 593796463 574835003 910497251 762594627 441571303 616525361 553636375 819378209 167501077 462715403 998314831 474834119 595375943 271509139 778846301 23837471 228483603 871230997 394459095 37179933 319479633 907056743 175820065 632345273 799511083 632618475 119186273 660121847 863967241 531404931 745948805 445324001 775915423 636650141 746631753 991650183 564423149 898289715 753789741 196434951 901779763 727912897 590941047 580868737 466331649 191066445 67343929 696973087 582497833 499426151 988985929 878553365 163250631 72662563 324944201 348900251 847562303 450515489 818037411 327596789 276123969 581247877 529209475 170898285 336545213 244279553 485481701 998989397 181668591 476612807 347410567 133248261 24041311 437938071 871150067 761680867 956809175 398058937 294462585 585642329 491498091 663645177 724272431 491061461 793919863 126368431 932396535 785153495 248344737 320631991 51627129 702422749 778881493 763249273 750918439 372085363 97476165 179265763 71199285 536252457 317727087 721219179 688713895 278507933 524734487 288389135 866892613 23456111 199400265 474481237 159639965 804146249 941750619 230151757 324983049 871909343 194434789 616953483 842597801 984153065 1022417 461035055 954813285 46221611 874581061 484404189 215832301 866477167 857430459 904137415 431726265 284473735 59656683 599419295 156829707 316889677 413774811 679925671 811888107 105220515 919547609 258531235 18825767 994718835 831235959 503621857 226170967 460034737 945366673 184598071 374315231 85991509 611352651 601167111 794339813 815265893 934651155 994915891 853412953 296326629 710990493 390170411 380468467 652947181 260607715 352688357 305197365 584837525 235777325 911040223 248390757 143510783 638689029 50118175 352810131 371584599 491928383 91675189 893436827 321556939 249557751 267320373 482726427 889629595 956113043 343942591 990881401 213950725 166261949 307774455 702281705 186162005 119255403 493794447 69628257 894766301 84495577 106967737 27261089 922216949 787134091 561862199 721128243 585852933 604141645 433418829 143048551 373913713 12355891 289700553 809575251 94753711 164638363 324694275 77251545 471959607 986622247 475742935 459537315 204407693 311394243 231927213 207097373 839494971 687036583 445704051 428473987 618253779 81243211 316922271 967074003 866868719 57262709 657690673 909306583 14213425 810251569 581801643 615375645 593275205 166932437 34878239 157484543 95057115 472793081 703954209 743425693 368802477 889640583 837994705 218798047 859019391 464638119 391273429 531735413 375346715 862612685 975980633 310273753 208900179 410879417 497096727 450897481 125435393 519668075 82037065 240982989 69640967 68096051 451284409 713471545 653775697 529409953 302168501 726360095 740623823 505337751 285828879 270726373 196983675 530568499 308439595 443603377 810224729 792462821 159305963 500327539 415848051 376275041 952946623 918514403 932853467 256544163 116289693 831527811 669386411 660112879 410545667 243216537 974106117 628618193 45407225 301730103 980731669 662532893 647030539 264104501 904364811 973321711 868278095 224702771 482504481 27425197 880933221 224052119 864243099 989151745 459072883 419035029 502704837 970208737 238927397 703438115 738797035 453514379 410050485 759432963 525531759 828375167 654535903 859080123 227072173 950717579 538162153 899934875 172214033 440598211 713228193 201526463 674265871 918634373 584255583 564294147 464612385 720716915 686766335 264747027 18838727 938832763 464610283 65290075 763709837 575828431 128147981 688845335 469893125 507206893 773722077 325234503 151332297 247899547 543264857 317217711 636816251 224081633 440337417 486337765 755669959 790767895 593554425 358464061 812983901 169806039 624983231 654150617 972174073 340362757 598120827 868562849 789609051 39745743 582898387 60339783 111062351 973131433 394414579 859149887 599383463 744974157 103382421 361857743 656567101 376148931 449464053 136432377 755790579 108924757 230153945 451368081 59023797 643840149 787753615 125363503 327135091 299139685 705028335 502012211 138254889 913185507 93622615 845099205 944213207 785819777 65803435 810285783 245642889 832466159 178240603 456943133 457595729 964092971 531788127 778045979 156668233 115213175 370877745 887676951 873666963 117227107 481332955 491089443 929022299 696650179 786529767 489976855 629530321 698572463 590645617 432379539 757972529 351065999 95006483 860212223 650916539 333187343 690422261 286568331 987887547 867416353 312038853 477615663 330295171 810743811 348087223 659553195 537008239 49531193 824786317 639720843 680768989 202730639 62578827 650399769 101891899 162771227 44531841 710346611 286207225 129754679 570879683 381132405 51278225 397597831 614523183 449021387 345373833 308945145 193280303 106823907 140470119 350787007 100568237 577944309 106919615 1983833 874468129 591495169 504623403 890595719 721090699 587698641 852289103 633583705 696800365 877838069 541744593 734098207 277813465 98369475 207904359 376908155 546602853 829522781 871067339 717572683 777498669 44866733 612826301 48943295 597850329 148437855 567891979 287689547 505420695 881363183 316553603 643236011 543766045 351602075 671301121 51550947 255597737 230304109 853313383 791445053 370588929 569228083 371043745 431852113 175608691 866624903 981002655 468180219 393163735 553160651 307179613 572500317 942184075 288789283 260092893 247765219 960287091 746006401 721401383 288253507 184902913 96545949 276607055 488538745 917704487 520892665 959016303 173237705 964211815 370127581 359119787 862133951 281529539 898314071 247286569 639578927 548048589 858599233 406687521 939524919 147953819 60350523 523608263 760350777 641861833 643284909 606594659 714148835 708109183 94894023 679419451 24247591 667360107 592924289 388224419 329450309 545468611 649369757 340118007 209159869 835253317 98043041 283486613 867943005 380233783 275164127 306407659 762234427 128315241 697125743 169653097 812923057 643303471 223585585 981673611 271760739 143999849 568342731 594622673 622951487 444060539 41642673 249456329 279535225 112659797 146594073 288863233 926573451 739700079 794391813 82210325 689432637 334411459 584437563 658145193 627648409 656301019 315829581 928438629 100402161 938504131 715566225 850594555 624041959 295146259 199364907 469151783 728444761 64519911 276791551 912543657 360062073 14544871 715600065 449615949 68045495 856417089 729285349 692448743 275830223 866224043 555588273 210828365 398696137 246815331 606218537 100392549 306454767 38447 998249501 598805 437962965 214407775 974583591 924524629 867760473 263472071 545955497 662098459 299723933 264714695 950389447 383465833 763202829 325537605 519399027 511983437 773719649 458914221 703497831 903816149 841598097 541272569 966056993 32717085 467107043 800515491 43694827 243314761 508560099 928613813 933521619 142109313 637914981 170280379 343066547 761215479 106281863 3882701 16679979 63599335 52333483 365212807 813082787 579850385 277490815 578839057 509301323 51705923 427262967 210161945 598533149 21616203 212849229 168245461 686060503 388512007 470368009 641109763 129186049 252488661 335694835 878929131 372951021 678960675 729599523 482542681 415486131 35705953 127223027 296377507 776207411 47961867 536451847 965244841 770986261 891602851 217327949 629719247 388689607 133644721 738524665 81177607 770809991 808595915 596608903 436545219 992752207 736713863 540920251 925098757 597103085 267368331 320905887 152806481 38242283 87759999 534647179 725821621 434926759 957701653 417490971 486259657 233892159 86901513 773644593 955650985 782115481 948764957 551060985 372914173 397005417 88630297 361199337 515594995 835221029 86423763 632875709 510649923 336623629 546187297 875913081 461443111 887368235 827608553 936324969 299352679 58020175 649924115 912984609 886781267 797364751 891190161 203880319 685878463 740658127 703355231 744364709 716171531 516567987 813122943 773007105 558537757 821760431 318904825 466939717 101657185 277246327 917507043 848916079 185160145 959441809 189103187 279550147 826894569 658246719 243923311 325995215 601877935 937839767 317642591 819934307 649532081 934648173 466349397 427393439 431626247 1109091 1053837 746798055 90691661 429782241 148727625 676950757 369997741 839272729 399687635 238129037 607847633 435080959 346617723 213862175 394446321 660691799 695301023 801839131 749799883 821060777 864741021 475876689 38144677 568122435 895628003 932160723 359578447 122161471 496523747 942618877 188179487 390473597 255584533 982892405 384461809 668865189 853694205 700612133 618959659 766355751 770138659 982839363 918217919 690519867 74115613 733711691 840138529 855705571 864264321 30540799 811466575 880064485 117450741 344687983 267729871 114600147 148438305 804186093 518335919 358792709 742444473 51859991 275743111 308588443 883267445 307067343 428833395 577004923 321100567 567476545 363313949 870928473 505311597 658617315 632965295 171800235 448858695 155668851 668592609 251726259 417497981 67681521 681111025 338946679 593950197 294234027 544072103 303762121 492595863 795948085 49577551 84219967 407090007 656311661 52829887 545932605 575725613 234359157 957531223 619999207 920156699 670426811 53938173 183512881 499410479 265840369 162541343 393715665 70011001 71738391 880234161 858722631 744740113 884767085 419209269 239888605 443830557 232298115 210428079 223808163 312130501 286555177 371835311 532208751 860742461 547942271 574144585 846718691 965375421 215800553 2776091 391111785 218826377 545753873 969782351 637456429 155515113 792731117 607514767 161415979 270471475 465172919 524656659 841422625 583896511 798851575 681431707 11145625 918191599 39957111 411849577 622145761 202356525 563567691 745299535 685007123 926739947 102403279 412386979 945314575 540963493 469708969 701823553 328492925 411656925 526149315 455009425 901517773 249150493 477933395 813516159 410591545 107658999 313623253 250670725 142037951 815454211 234803981 19868575 105520935 212055783 26010119 740883027 615965187 495411019 98243351 673832625 706208939 815641059 909561307 479167565 809647679 994257255 825912629 671110981 716135847 696394651 843814483 227551043 720159379 989801033 545531303 810022001 449923195 698085441 763796975 914480263 163591585 836017249 214314799 500042693 756681739 661382793 905064373 200830959 517293707 2699939 741217041 862891347 617638327 860206499 956926243 973340103 587248371 163933313 964978957 194510251 54496613 939810625 492560957 991049445 623503611 502766061 138013031 76181987 2223985 288593815 286266757 333701787 90143559 281304919 967532255 870467467 510066371 632798035 769595901 240428729 145555703 931188149 599731383 241601205 70863033 411286955 401775911 923519379 570256299 763094643 606228659 327227379 73500983 152844879 975081221 27836409 391142281 759893897 551733523 589738581 877155485 689460083 290320409 461374271 781001011 107113831 990915227 499346801 388027855 91508679 200590181 636652853 672827847 756625661 825376395 419347799 394093103 242305149 561777257 36997679 788637929 183340991 615296677 63854233 647909789 979575623 290691369 439086333 850696381 484440479 628145453 943111241 940954237 375757401 487877161 707937523 562499553 927589645 611555043 35538937 559671729 121017953 268841575 951513569 214797179 229328639 267149065 268547003 223876249 733466773 939282791 480258587 157187371 942113507 119843683 411254817 412310809 219677863 583185707 136697457 441041683 759454381 932022321 89817149 741833619 522442949 178725429 173368887 530153429 461952717 871184439 325055391 407470823 460027813 923991941 121402173 467795605 305532473 210991285 651483741 120842871 39133815 440022689 19579863 868673777 826302559 621016943 568667399 849440809 109171951 141517193 915626199 290153743 452042035 779938467 584072367 987417179 93671739 483658941 220446091 541394319 673586981 632232217 870180073 886453745 794969617 427871041 617409995 379323795 326129451 404638221 902778819 443648075 90040995 159405207 712056293 749950141 19017907 267055429 819483601 801510733 273148575 565284035 843783339 761495855 773551025 569122563 595685413 979995481 847757371 631839809 349270897 477670283 218003607 464844805 468457553 781851983 3445799 242204185 243783689 174062837 37512789 785105811 706858087 602853011 260225429 599970763 54002371 155544331 485443169 114493801 730664185 860139271 353317945 794648921 576615025 69346291 784288425 458249677 78243097 855963403 258667073 892323139 967238759 516469837 560841631 768003967 419640409 66163075 877914213 783414415 775474295 235280699 947170873 933805507 268882635 885777871 150210001 348351163 73353457 763959391 498508261 732267097 826372355 617355731 983597625 588249547 214303911 854425051 481261207 932516229 966885903 318437873 928922577 10275905 163259117 4443731 295938753 959047175 255055747 738932489 552011593 408858911 219997589 980213479 698244437 434017569 503754609 400621183 405450709 562971111 519006959 602044727 933478339 54087319 725012077 25407541 699423011 471777435 808269775 811271529 374309887 607948969 393808261 478680205 360464745 920355773 352082821 979826205 863542395 675238425 767695949 822840421 229375833 72215117 954539493 992756341 574863913 636655147 107631319 230037797 937049633 588629969 180407103 737629717 884891771 100039839 404921271 148206763 948248439 485248583 658562149 944184091 304488801 184569785 737178107 129559387 610688395 503504435 414285997 394132013 179917135 601424953 97423671 123030551 273093903 990029975 745569763 477616233 273834295 457929057 684553599 326169151 200244023 377038581 770487391 579280245 640574601 430945013 629733217 260815287 112449457 212922703 38506733 821921649 409176889 410372917 138248691 64204511 51256499 518472231 780788965 483947265 81057721 683658469 441375427 404304027 133706991 985569405 317988371 63390531 902265595 492799813 548599781 903104589 486534547 371648471 492289231 376125403 830386289 429763095 225232877 441223125 249576533 909625907 264027111 805291757 920257035 576222623 736172521 300379033 113625957 89251351 815086765 175508249 627822141 986090653 723075951 669854837 529036663 748314753 634174197 806603135 778496505 96178261 212377741 306036175 341992377 224662261 582366991 575740869 228164785 444419207 996124121 958156681 163459041 801804661 886483407 953276941 730324565 407527797 699732577 430146565 138240031 726978691 807389829 864432373 606884185 602982883 68745659 178795555 52502823 994930465 22939909 744385953 860878511 494252305 527828981 607690055 788859431 855706833 9961377 728015797 168945097 901389507 418976677 96065875 566574805 772769683 123857705 778179921 50161305 631442231 59003353 404053671 721151843 657700845 825046767 540124437 944320399 338745141 617120295 833346599 390339199 980045021 719790279 140761639 776770463 724982265 914398367 430166835 943925599 736802791 187335939 300416039 745906747 377110857 861492177 240433583 139990963 872857869 143083635 771810617 484425555 958030183 757283027 849782269 482763693 662282449 478614121 426576891 199650139 957708563 59023157 729057021 583997953 448110645 872360121 335798675 843382599 640973711 391384327 304264211 859302367 870584507 869907893 861136287 653608067 91506335 826221791 32375073 766261497 607548517 890134061 342625861 580672263 695668355 126028749 878307975 872717697 6156211 289911155 126977061 908007233 23832573 572826977 350074153 184100395 731106219 435273051 704458337 914776613 239837265 572899761 746501735 392971815 797758923 187159095 468347549 875452197 483135 977912653 636829223 168139559 84874265 802617047 81594103 303945267 983495947 72356167 809605319 61264733 290394387 931419791 952970771 223923135 742537333 256459567 919294249 994322301 983932861 913482543 415371541 893228223 867131583 943356187 30634161 208341175 373480857 231230219 818085277 128906401 558818221 828304283 174668609 212890301 554821799 241848563 986770893 965736791 197708671 976090561 930604345 372366275 807474541 52606523 689330247 634400087 258678007 391590687 135364989 786040439 630692075 185715379 327308333 528912783 594924889 512887237 534923631 973516815 403910305 671741103 217406243 899768691 902147175 903293001 790820591 581129277 467251861 793257727 501979975 18266869 332864607 307532731 771666529 26207535 745176901 806758135 875015999 1596549 929530887 777108909 740981927 799083931 449450933 850685031 92630059 706209561 206592161 989166129 884554529 732647601 204441959 349522851 881132461 360717343 760480237 457854425 577783219 110299171 699763293 778025339 429852135 74708363 498556461 684178359 502677695 781407269 102158617 772819779 478353787 526297549 970455589 502789981 589503269 220159335 278842525 157214411 639793547 57492955 125260053 255972573 885827655 194689819 906650217 683217511 663648699 403452195 259364543 912568009 672985099 492746995 166383747 506174695 871090217 253349785 980142951 568937011 931125967 536825635 401332585 727489951 533934971 830651311 11417037 312012461 926697847 551934555 723779105 233844833 367181521 999039573 207571765 103931465 90690915 195128781 842674729 334425469 938668493 627772159 195263839 248852377 42483319 760793389 836325765 135898053 108269201 535583135 945416333 195184047 467041045 276272809 976343223 409164941 830731201 292541095 560653187 986448925 512824861 480441079 420973761 587805095 218553979 622330119 43920769 339065589 42470131 363795785 7933731 173226339 747122277 583711797 535109195 636522185 828720505 5010765 201084899 697689235 703882143 542994975 576749089 516264109 132235279 649228601 903091073 960421515 551120073 157560633 669650885 927814703 267132825 846142909 594910461 981794589 393623305 152072307 849857147 123669859 436359543 507023883 930890203 573312153 509991937 141445441 301814275 918514395 772359053 27111383 623695389 943394257 3313615 283444119 226990753 210996137 523117629 263238993 667035207 739275801 503745303 632026593 550807315 502507871 770765927 720446763 643940183 327954755 523809021 817301783 317979297 225569297 468819311 245338775 907694287 886102431 615503137 181765799 335035655 236319821 692592951 900331849 406926005 160348673 305188261 529250439 590778509 622901031 532498977 557209457 466506633 115379129 996638507 997079333 848290799 5071923 787746059 126373825 624835659 510425241 514480341 629092211 249017971 407195007 936575837 526394733 962327681 148955383 402207301 876497127 454198745 466507679 997585653 881756195 121447465 399480223 453835167 783192943 991214181 314702757 521514039 424301081 97269191 389730793 450018689 740859263 148135639 911570213 250247173 664953345 721395805 581814177 311883537 991333897 193732721 926126637 855379391 131885321 538625901 367363359 793488367 271407229 351812855 908534611 674263369 482181863 294088953 781739311 288034365 883882191 70581417 627616677 970011395 63248331 447752579 978963753 335691421 583116659 440135243 421820087 681048529 487178855 435539469 804787417 890876977 508569941 763421469 654808221 919980821 690035695 344705559 552776343 984171165 212907501 145474273 497098213 990672561 868961299 825496487 243833647 904756223 417087785 387672027 437695397 129956101 392147205 732188475 227490809 903440125 235599229 232934603 605200747 405992691 679042423 949230551 647581379 84235959 796845019 71746805 679619405 342809567 374432925 861217533 795689439 464892623 242501557 360672281 621613529 584301995 385984551 520495791 685877793 787333479 397313275 539656825 564486693 236515513 938936903 166950767 41906905 21009185 618581539 991822553 261687231 655864297 125036975 54362175 648735707 162447649 322554907 287492217 510969533 394403487 724598675 377693857 323667321 594231045 254125141 854581019 138496429 954444989 465115043 963130517 148281475 969784563 869268679 336408835 54049189 900252323 146734097 294069921 620907595 266258827 761957855 421642995 587952179 303392565 881140113 552958403 718117541 550311407 71702673 953758761 702569837 399980499 964880211 780086143 203530209 719480769 238851663 666310763 321420259 530320481 617727753 879206361 195620563 255363875 440589577 483957243 402603173 656860481 174823653 124878159 51414733 1244345 437862197 551761305 707012937 731033939 469470105 319613157 55881119 7831457 469201345 750716551 212157919 362096123 605989977 547061275 19439005 994040705 110050849 552609927 263463671 594588955 97522389 529848567 806976919 9096313 913435717 350870493 57692071 362370835 680335681 978143225 18293983 322778411 115988129 293473611 475925887 777969863 811078219 860472865 621310793 975915705 669078057 576805393 460074127 157285271 973891881 499263221 876692775 99286725 920537163 867355121 225382253 841104745 638115211 924302963 199113545 98816881 325804281 528193325 109138217 961032859 852445093 48842015 770494723 56057185 35513001 402343561 626456405 790771215 491365927 575745531 721281061 837721525 622632521 130379079 420625921 17127209 260570179 31830153 427501827 24570893 26378573 67127079 630703555 887128523 778089387 3498187 977136749 385206415 424347557 696133227 724814251 860319317 933726353 788914497 681024437 666058717 406564295 956045781 210022219 368551339 542246825 819127025 210626737 935629589 459019425 789948585 88604341 114751791 663051299 507817819 956125613 733979611 164226983 261975719 812013691 533718721 519020977 873934975 425863553 553490003 376073931 277739027 67895215 351120069 873526407 196752097 971729273 700398363 407715967 677679021 879068643 352140317 345700181 720118659 590084461 990483289 983673267 258203833 93418279 187497001 985830733 828479463 604715947 401587373 685655003 349207287 796057105 214679245 951253537 320860687 620432645 856531769 479161577 272097961 574736305 218968171 999949829 75321981 883403983 482581407 913237327 102072979 823417753 922063843 871187369 92823091 516424921 670220547 808493565 379879413 933289435 894456985 836247103 865853107 137880439 15837443 563071079 594275473 30709513 758281837 858584441 739659773 361833337 970634181 456794239 918290091 210775093 637563843 62208907 923640469 523202099 131855337 922630327 229601027 201386737 377722237 662671141 658051455 949483383 389052561 280536063 746612445 292025679 505416955 520370041 446119481 79034773 943520607 926555083 956488185 484321 999245345 776080441 882237127 712644959 644354677 387008013 130570393 59058617 648333137 503706521 105406379 502050857 269400181 667817783 712688001 344609899 62412651 839810633 724048359 665304515 803793027 941810235 356027377 800773125 109545427 448369531 309746429 873868417 675748413 117975177 289072045 163500827 164418667 827085539 408469229 354681653 681721801 386391573 160197877 247420607 793629587 894250673 368685629 42383663 675429831 611526993 231224971 391001731 204885551 635751319 787651051 689721409 745591641 958414125 453702579 554859641 117547423 676690631 935178621 608831681 342842913 427893535 892950061 634155315 580276167 86547957 689827057 154857851 389207107 440516885 580501051 174257605 949118729 62432081 574353099 857801669 758273629 686145411 385616033 117790141 823278661 814410637 743458829 722896753 155567509 531242841 655660193 348877103 527596257 427014619 188332601 523176655 859212169 598912525 258539001 34848941 105915065 131479535 81541967 31427251 723747423 246420365 371710191 267887435 963004981 378095609 467949013 686821997 619417783 169474637 144495685 5633175 417817651 663522475 547369675 703681999 876724659 521830205 658665275 338130085 826389013 788101943 499112369 775645999 785927927 335396819 289914771 364553225 590153663 442559313 499045003 2216281 645087905 645018621 884047249 381031377 450139539 255619369 146911197 456075171 262264663 986850863 518742517 212357521 424633459 537565041 473064101 692425695 499207225 357826395 410917377 187590493 847138239 203739997 97826407 880311389 630482151 383816433 786287481 512775107 716719451 514401437 217689893 320223217 906191239 262632167 989722781 501083607 32344999 475550051 632361311 332572651 10000059 744792491 15221809 454193453 256150919 102089825 848731675 217186847 70874529 434668593 807286645 433509331 341015133 333366987 752399065 231902943 185707485 834248169 585713707 328192607 219100683 449078351 298561945 698708217 615575955 171472071 910458519 944523231 761621745 837625123 306211039 737161157 301274467 123498815 236371321 623674855 998040049 317728249 521775535 955585809 545428589 642893885 764489235 960209035 123464305 82639873 647174535 579924271 850622039 750602041 435548713 70242393 217140301 874469099 879606891 20776691 596571971 764372515 279106045 516413031 929318893 213048047 862887645 237121965 248775631 221146987 518950989 86964803 418591279 302806713 925151197 931274545 112162591 129899013 798831713 322531331 845717111 843997567 956209393 524743121 119092951 870137697 968339957 650712119 940481703 738739953 332079641 493941339 569719575 513806197 914717007 956095983 961783583 287001409 246883797 447808039 566577279 294965935 315482927 834450625 483672259 449908001 573084457 174699267 461206581 686547971 412923097 92736699 42577651 53898693 434640793 412934977 750938075 886890211 141125645 953660531 367661459 87987421 539622691 945740213 53757839 47574335 674166541 554961145 287658757 786589 454740043 498340273 586978805 227275661 845051549 407167965 959050281 235146675 335630867 351611653 707110449 1224891 270266367 534003509 223623267 136911189 842235901 923751939 221425633 319005245 172164337 997443985 467187093 171368243 776316937 364263297 227449131 974099459 339927993 322854913 73864223 945761663 271637181 400549579 628045487 724828291 411478809 376120859 193821925 567052013 767462167 991790519 981927311 641514155 404226639 5454319 679631177 461852333 633288861 141322903 700456303 531842543 148939555 735229967 397325611 788476017 246082381 29851707 417489517 112996415 870598609 978523019 652702959 444504685 564784555 896387063 441601839 37019153 845016351 50559993 2908021 695259471 190506169 249220507 869165267 123246163 362496591 776360297 704559137 144285773 110810105 203499897 123010815 547184249 104707359 495421549 357316821 483962135 667267949 255694439 424625619 598763125 996100565 420645911 698920945 513597921 828092823 205030833 918534641 474027703 302001459 876849655 350179929 879968091 651831671 349846831 187903099 399884339 234070137 972900387 892490607 536243895 506287763 284567341 949298965 645109851 48616809 873436459 227353363 727093671 926531305 121512579 289962973 178516257 511621191 951489569 326313897 186150493 386071293 832906877 480434041 542893815 335647699 466433175 551528979 279543693 77703635 211048691 875084041 791752909 866010447 739166367 598498737 854880871 564143337 863261745 143941679 33386519 270328447 772341963 749406311 393810079 452546115 902619407 719611661 520890055 152099237 290561069 134006935 445343843 291326561 658558683 320604229 929063759 734864767 324312151 698557729 419018857 441463369 302472039 621662969 86446751 329727827 735579995 107287401 213927905 942067579 754569991 396161741 989302315 450587875 702574027 76826959 516014719 757177335 13599883 854007263 819283429 695132783 992304313 904159031 14259313 65054787 352803655 568520917 132022847 196146873 8679351 9617923 431409261 297523037 621341453 681710287 96270377 526724867 961247959 672826643 563882917 134126281 628146219 170381167 398276375 696484113 876799147 27475019 816083911 530790537 808272249 49282263 361968379 965358373 933085765 986892813 522632457 803648287 126727237 201229739 264846919 261808639 326702903 105533241 163462683 398475149 206492257 691440905 18970093 206532321 309618579 906026803 849108015 661100885 462225953 203922583 848377693 211831693 95668203 400111581 384743161 134338169 22923863 307936885 497200779 918045255 740940625 429152663 234303143 843872633 285632083 444025155 120988649 542644177 385705303 398913861 636008431 79343961 691566567 619023401 837279335 670983017 282382865 406433863 472563715 655831453 719142247 579582147 446445947 790696151 172290573 128111233 255627409 804010051 616324005 952643893 781212947 903796823 707687007 90274389 464367055 526572495 833314289 616458785 284478371 635074735 110409369 961939107 341625965 125979459 950712863 539307179 307862043 112722207 266733261 249319633 242023839 510937121 500991615 653597299 721577969 200340331 881252751 889316027 854199059 513333867 122581475 472122779 383515923 71832019 852908525 869372105 558797567 660004001 424027553 511930053 244912117 185026843 631880059 904508889 826736661 157183433 561403781 457102099 390096777 920579201 375794253 416419661 491908995 554537313 64687589 826608167 794074431 473792461 882648817 155193609 629547775 166662511 511358355 918321189 896241931 904046907 483242619 910398831 438126777 687580785 683223519 650747307 8983391 83477905 534523007 161573217 64587619 854079851 268141213 102993887 266920749 827045393 797296395 184494655 612523567 640732639 366603805 612330593 9566181 982143099 138404019 513255405 225797841 302493647 461161779 352499539 668031357 59374865 337703563 441443531 509902713 979136957 784714543 782348119 976587875 671926933 267001889 241297853 519711451 373254313 508538853 592704911 23123851 381464651 885291403 184279589 211053093 11220505 759622053 958400927 944042085 447827957 87589719 985574885 483922189 947419659 248796483 709717413 984276711 416442323 388330137 119609693 560058307 317473029 690073617 588476999 89837439 727057575 428400869 333855599 532960507 904849413 384734173 865296549 56057121 851364787 368120905 579937153 329264611 298854031 406995199 226445409 159717693 585771195 374283611 800435055 361865265 788526757 43744837 318108061 440173513 48709121 941206825 738644897 967867413 201669321 622130433 213757179 439804723 526390851 327997769 798382325 852384323 406278653 160232199 143347103 461353071 384998599 249099209 849608911 317068265 778234817 188503207 260753191 401982703 779792719 600768831 944055569 77949629 687807515 486082741 150567353 851604131 529221147 482300603 14010907 645515505 972655497 818103427 810974709 827727871 212887533 513673165 71698129 739865907 19616529 851378145 358216445 948328437 959989769 735196811 901603987 859185337 67660337 964572961 688920179 813536759 9412655 315716483 187424581 308509491 713854701 172779287 435293817 409155575 141084833 65030603 763843401 283181779 178014151 674370837 180104115 908350053 530988579 159614195 185389439 113022029 946017729 104140523 613236543 523065397 447345141 818035979 517187403 288014033 13065821 623139563 412637891 520314073 778430427 779435177 810982543 113151505 207044509 514010601 679406687 236177473 826381333 965959901 119150507 649586239 754789889 934656311 503737525 463688419 51399525 314551095 625441155 521059343 73102479 414682277 187747559 313436077 811385103 103158221 367352697 110741169 738546885 434144391 315390103 277660179 703966419 230451503 11393389 752448983 500581031 308950445 575959529 75494917 684076789 996162671 886767043 825908659 835371703 817962347 206030715 516247545 234968629 293360925 18024795 315026169 48558583 67634065 379340403 973785821 512405973 98446159 332980633 471951065 47933417 595065457 253685361 656466981 270309785 998447509 965765727 753020677 536450191 784965857 877815189 296695747 100931009 692623617 113266189 938376623 392819819 537255469 579678343 881186343 680334097 539339557 309705095 115074443 469109887 756454955 460578403 447580231 556867273 986151443 893400623 932021705 888390219 796298029 356813517 277158801 71159467 806105179 148045797 234706461 726282195 640712707 948820969 381885943 178879739 200226067 20659981 148163253 182315419 295732225 342361173 190040559 317695097 409920459 994073737 2687047 992394913 99589881 817713463 314848871 399610471 350620821 757198777 28262403 251547241 686231865 117494319 615888083 543271049 358386691 593308801 185641371 137039093 566812057 223718239 903738149 673136415 386948903 715266883 88388931 740200647 996536679 925958505 924370383 843240685 599642515 888803039 734880683 896836831 184627829 389775729 353874881 374872883 238647129 350195385 323557381 164657347 386655511 269518101 821543535 288263605 983029003 525688497 570398211 740854387 46699037 379378299 321896395 234567345 90730939 564491051 72164825 64218735 568638683 771785795 317740615 505868015 420287227 107095305 446801975 283900347 681306401 177303951 416195795 277931947 360525533 434202539 458021967 765570521 49099075 949809665 750016741 205168811 135471091 330094837 473394133 432901837 530498579 157462971 769992299 173949489 427474767 981005129 449141495 660755733 706677473 9671519 280027095 842335483 590848131 721144711 937345643 266172851 705357183 379823633 691819551 996189265 146504609 597126931 646875491 571402285 607347265 896643439 289804465 653456879 653383997 362138063 748766093 790716547 914412537 403105695 522437505 775760923 818878053 92103195 23547679 688485685 756648439 4479297 800727809 29463957 943683757 814927067 400989385 882185545 55027213 456235383 784295459 421314465 310593575 483637615 273830333 832793149 86748303 351385059 869605463 666038783 264610661 599271867 202941359 959509013 2918479 38202537 571444625 452303091 117555577 425354785 121528527 243608403 126134429 723648103 109490755 284890429 244613111 586965889 453977039 273331449 251780941 632307267 231114589 740791839 646691053 240079681 966848993 754375305 995750575 346197467 859237973 981512029 691952879 899946813 574125241 945068549 991169429 881060181 373104921 626337591 126276367 335711197 529478279 172995055 508642643 14354257 833278493 806191215 610745569 313631231 75261437 107280711 787097531 779068657 24110163 177107529 930155123 88930053 802555983 109354387 604198173 635908569 52248363 576850053 858612313 736093907 666669867 76961489 76048461 349439527 597365913 888221031 743286695 301295051 60047559 90065797 646661787 830346369 505471247 469883823 508320235 251835599 303075285 936893105 365017563 872100871 528760191 752626337 67645241 274154815 471485827 217729495 176973917 896226393 824581979 190166523 346690597 251320575 87427975 621121785 226891509 817685917 248910483 566117893 282364349 192612975 681508369 278313625 673490675 802568309 613690267 26085243 582726549 622533747 565738451 22535609 727711787 900057087 711126885 227961763 465997249 342204013 982938625 872411609 650309869 504976351 666280801 243269183 359496399 253716543 803124811 666052351 38788621 603308601 521688453 992476557 526876117 804566601 372971747 206738345 256234715 190608813 277606975 163277395 465311329 64189293 518046843 882027227 336444715 192285531 281330307 575166419 271556233 491409169 81512519 628092951 364986703 489919209 931326913 524092365 730816219 4689681 95745015 911384927 832031767 823667321 838455279 375853699 149248109 759901653 614729149 804271925 820142805 986019497 156061051 751167161 163207885 102542395 394055243 691728027 200155997 979661469 608951129 789572527 792391185 209703847 589208277 725240083 645002751 372365817 939073787 451264297 277973191 490169851 447742219 746001053 716298639 458754269 113243729 267460455 786111493 868262295 573082399 374114751 998002527 285880297 588274639 761733931 425951579 108770655 600332229 437581687 785382207 540215875 555854951 788110775 223895769 925632691 423946795 381088585 370217857 461795725 274860427 533255889 60607765 709888375 492288009 656652599 769666297 422126565 15073581 62972597 538225949 280924685 279148427 197773251 848451833 351815663 738079165 296956457 87107207 988289877 380279653 175499247 583628625 421317327 873075759 855387245 192745315 727412403 700314315 702473021 263336019 901316643 699523061 954409797 884366913 600893961 503479149 436862895 911762643 423618065 886635265 37035761 145041463 819725239 466888575 400307141 1988131 976647481 986414019 280902195 479086293 144940193 548092847 512013957 802257939 803446461 911010607 471474255 803072045 909386793 399504691 237143917 653581559 143390273 181536439 855458053 69166287 434398767 408964027 63739523 565148063 396997603 138779725 737509017 513860561 290575127 149928315 414549061 320358749 421668937 524782689 209943499 583742147 625041345 431478049 645631927 902623239 614811281 208222695 454601181 49641911 496155537 850003939 316864091 434069481 310728289 296156753 737556627 340969277 77944425 370528115 987328563 36173785 193974745 651570065 169713197 694329963 294756521 497863167 926804927 284816681 605553563 947821591 390479725 440274641 410303797 617663037 417220613 38784937 764341449 674078937 612088727 703474305 366913391 635528541 957300867 745028525 827786503 818258757 303498861 14014477 86736695 715379985 719104319 737946629 144412787 346515277 298241069 871007879 580713713 587809677 688761527 490704901 39503795 296872807 322502559 684802433 817068415 3681153 901242863 617619325 644393447 72999041 743221759 935901453 279135297 718096927 562986089 541307073 658143921 169680399 282978579 460478909 433116443 238338841 829637159 130108579 927191091 256235011 884405019 63357601 765858415 875783843 825050539 910069873 875454735 663716047 737247963 725946191 935948061 324236139 265113079 996970499 306505319 707536739 439039379 533800407 972714633 154935465 377091723 845329831 436440543 654446899 31556869 330982091 405974675 480808457 427742061 141871663 961712021 580835889 556893557 309347133 556693407 550237121 675282203 946054383 944889391 623118543 319411619 756843711 308577935 171860097 423696027 255754167 792032461 725772287 364493011 244367205 444932803 961227643 534965099 694543067 127872273 323980593 966948037 557831613 104002079 915472993 856534927 212100909 258562333 974834777 447374267 488072411 533882629 15485287 960904073 291470845 943497109 14310887 714674809 720737873 664618069 742924093 14380123 41852701 720093079 833632465 69399615 739064369 904854387 18052373 654609797 585403617 175191753 642591365 419270865 512262413 553249857 804042403 774566157 64287771 21015371 282960631 574461551 740465655 931296031 592045079 67426163 387234331 351609789 998735513 622821339 320866433 712095473 990350883 63626679 312092851 255452999 190092381 701753433 389548733 565928727 334035449 21001053 999595575 424550789 534681011 944704937 199601983 50636149 180990797 93236327 702331257 386351259 199753871 516708879 994557717 478319213 501393997 61536601 730165193 377500973 137108835 305707083 799268307 673449183 698350513 814074673 740836601 137549913 430144801 244694943 331035019 501856305 563423397 285020529 48089439 988078021 698295097 828053967 907028177 150726719 782717151 544197663 478972359 726634897 923140511 297020187 402136755 601901425 585620623 2565563 28923271 350264927 358566085 258261061 894220997 824587941 314558567 796368197 368693361 300690257 111659933 864059025 617275673 280409405 588309401 899056195 838577877 10940425 972014487 25500607 806674499 960152349 112624089 47923379 300683143 189078699 212933799 77617683 977602385 528300199 544356183 760418073 386168279 651065301 998559551 479346253 408164311 52023485 55785157 420039799 24048537 429743277 186696785 64003503 587310569 38331583 656767831 34970191 748633373 854495443 10370895 756660733 384354837 214767761 717079229 222982307 975386423 648245353 448448553 722104183 174442351 634872467 652299561 766342133 801294647 205430289 36476243 260252385 518850955 481419177 700101965 495454535 977800945 961164525 640282559 843524987 616406647 42855733 234440283 611758617 412317365 252329633 229509855 178865415 123121865 732849945 991058951 333379697 248638807 628124491 204634787 300285897 282727311 642197429 725014145 731445453 452007975 168354705 524287871 766206081 54696543 825615339 202072701 41951793 197072633 590488211 18963557 292278899 244811591 709364001 223123241 90889761 724865055 694368243 322938055 247688031 211277021 863158581 677393467 717378715 259804263 969912275 828211349 781902215 505143855 663368841 780987877 898794529 859297065 901975765 365014083 786587055 415178451 102668801 44648661 601568697 499502643 81431069 900878531 818510615 738548439 193919231 962097217 184276707 858533335 971891017 486471559 890782593 297344209 447615845 508491737 575173023 599325417 216605823 435915391 442032433 605773775 860410259 72820175 758031475 658641595 792342623 900153377 484257001 48030567 253238381 285552853 656430173 298362653 513062411 626154331 544805351 188043177 628183379 836578847 891862243 347738721 402860837 894819231 241086961 485515557 469436969 136740189 787572739 375032667 261469135 109809379 22130505 76505329 420377425 221724865 590934081 624278877 948694189 488076181 216303791 749581467 179198891 478021887 144317087 514604087 631528157 994162857 2436965 679054905 572130971 350465351 137288861 854508091 526682629 237180305 678106413 332871771 857029123 368287563 365026881 659279933 52314693 267319359 336389197 763836947 132207683 827488573 285448715 139687311 537860671 872422691 264056705 770160369 391152703 217633745 154454267 462679041 75245333 595014449 572306959 900784907 90186585 842353207 937151127 282855399 368695913 81123291 611887543 4496113 830510449 451056673 425090269 72885777 628946527 563080979 324320955 757777843 435124971 973875137 329592401 634043857 265395605 29856073 793648607 6868711 247113895 433063883 232196085 884329723 236107569 426361713 416402021 807325341 583877641 459753839 324988747 496030689 404293843 641392381 905128461 888980839 855352051 388095071 99713109 746888531 816278685 321355231 876155161 306087511 631850949 98906319 927984533 150348965 98954545 38903945 855391307 516926207 749762915 272450415 456528395 550873511 35450289 366485483 828354791 496015727 368415535 425882993 241253693 829799085 65662399 62445945 815046319 356413501 699686665 108982407 155982121 212886151 545314175 118187301 924582881 585684601 299760981 138402531 523306067 403719305 968460175 86492511 734202179 730643381 825181941 235369273 64441277 540126339 396279061 760085277 355933719 77999619 773821257 481181369 367812329 959432905 325960113 876613581 307920925 780936181 829916725 389066007 952499161 675440683 774334341 201771873 580803479 24826525 902997531 988323457 44498703 318499325 482568499 638399567 541039433 677331853 139423195 618120621 858043277 438898193 408211935 870276997 892168819 517417175 61043929 563182027 808804565 133705399 792979239 187218553 340499671 421361421 644879605 202862735 788987623 153702593 189817137 17372441 846330041 975102273 573640339 457276455 277593673 406241155 865942685 655783895 860689625 974105861 518836885 865624393 798808057 216763597 778619533 905462185 657136251 720994923 166360667 816877349 851956091 251878131 184871587 447309309 912444255 961363461 120965577 55485295 602348753 571820743 457238785 435766983 830376391 824504037 754833217 409170007 93709949 744782233 236415049 874092153 473983095 814683805 45037475 267103887 315272577 260738363 249739167 72423427 377687727 329036607 24547923 73629001 671413087 616214017 146299041 981432025 69337651 701630813 931453235 950966839 519000087 253392571 182314357 267004141 628593987 938780171 260352163 674783629 960588335 803679935 73181371 99154097 607566497 809333975 86254471 628555771 946372773 209886169 318287765 241329943 581659025 382897109 274117439 592174773 990525695 780893791 960380837 955394447 217227731 550174103 815354799 187979625 467816763 69113635 772822287 491861517 202696105 974576943 168129337 516770381 379697629 914695029 193238641 669858563 893226967 449131567 122051263 897018385 199912423 397935399 742954225 498389347 526314911 726996139 191510433 47907305 532510939 864337549 486586413 688930461 10267839 362447153 400277953 605670275 694193337 11680889 617990731 505354405 339647869 809628373 671600517 888027413 309165063 487090747 599518699 690983917 988566171 239365417 464026571 383812431 556875205 749375911 875035183 113352039 632375641 816997441 223376885 154614629 413876083 496649997 323686587 32516739 710449529 944592555 601397223 161232647 993045781 65044289 543269293 354219319 228791615 807696251 840674307 829533799 48337199 917420435 76499371 225626609 907225963 484369477 622266155 340607543 687506623 390781911 674521557 901130659 613419327 759071511 24436415 961044905 573993289 162955357 785035723 503180739 243949183 261895301 312648355 505355377 731467471 768146937 885161395 274771007 83274091 128699299 314298679 907352255 313909713 467063803 691537455 619297163 20389063 348626943 953741663 188688199 536079189 38314551 10608221 47711897 419389907 872815535 448024701 5342007 420694747 581108989 73573345 718556891 197222481 821967681 416722547 77426757 522809955 163742497 529905375 840007745 687045765 742368715 801995169 570415777 72035953 178039795 396505079 933708095 152908591 202297563 879906537 167322877 599351817 927844679 938990155 843564743 215369107 326475911 162725809 281110669 759403689 604840813 767475069 355838027 807960943 863001949 855312855 974443265 840511573 323858745 8507823 853306811 934947595 469017203 745412029 27720843 375573391 324527101 771369347 217530251 289222437 702522711 845744199 565155295 189078871 473590153 142190107 359809197 475714815 439545887 225940695 920296491 537258291 369199 442608923 393911955 470667867 28641625 901205327 144743205 399604515 756882115 491122851 190905645 760536957 23320603 780694543 935726335 185916327 617000085 886150995 832614129 998207781 860554739 286079483 974458471 780997573 277804409 15822417 289191117 162903191 772355319 927703155 870928019 682751739 130511297 581189439 890318387 65377683 573071799 506036059 185499955 681939789 492829757 526246971 623294745 936496733 84325699 338547989 167092857 180116285 231633471 281612777 984181229 886923699 770236209 486098049 303492889 727453645 307933085 318915949 275450275 611671773 145132433 275644675 499543619 990561407 683095203 772118117 917874093 202909591 609874675 105077373 318309801 267717971 142746151 893505783 115965949 502017575 240703085 818284879 256722301 823111887 340150651 764940739 96134403 158907727 755582351 355738205 194679411 576262641 748408943 312630251 31805875 927781965 945739369 448945929 178555321 581249599 540964693 340352275 269327231 26917097 244817297 271393587 727530759 340513207 91541763 654385497 482986585 543006047 169208855 687444287 190698121 403807453 753263813 848699747 933309105 165559925 462011277 242008589 651880181 273854131 598149745 178256975 521468797 122559341 764894723 441195265 859436923 225396923 463076953 467679683 253277225 796904453 882833935 342883325 72465357 399630583 648655181 942642143 598256813 409471619 241287361 405441889 531750429 399876585 941928097 746584901 914406265 404630953 461306283 572599825 304415 403679889 170414629 724782359 516318589 499605687 789149407 587530095 58102787 893681269 855091245 31195385 378628141 959636335 626274031 508476251 178525307 222509971 260205449 334720265 677294971 226374677 661481709 124287033 298574523 220379761 434635149 852428269 365910999 912825193 433224297 406992619 515914611 949166605 669213705 860228293 455953975 742024879 216188793 6537937 550725589 710109675 438416209 735239475 152633865 353102245 785854637 210117071 349344147 580983309 750032437 284323673 809069377 490952851 321070359 899668551 633028833 113188085 913982473 234619353 983881295 423957045 260976713 373530393 622441071 861736355 733466271 56968149 259428905 679074257 79849557 105422249 559185263 42942877 622783557 938710769 574319165 699154729 93013965 333516247 635826067 831002337 203124179 568149323 738227327 503115901 451097027 293143047 547785999 65494517 455186071 67797385 699776863 440092303 242963913 37645595 311680147 886136791 720836707 963773131 820664787 960312483 275557361 703103603 462837073 300033547 43627915 526682291 551698249 906002553 968617165 308522483 210636029 908181139 83140319 423097187 716614069 522580563 822807919 226494973 811676613 603671025 565410227 176360831 249814409 350540533 827279723 357451633 831027295 305318183 691196889 541515813 491461557 825263519 852648655 357641651 968897533 385514423 485431201 800092411 656405423 959751187 46846511 867832485 95515725 870209443 118852061 851298849 555749221 579204757 831835293 557698727 751567237 802233707 788043745 313754681 351445833 654514151 814758827 277027485 4359253 376786453 301484927 83156581 68315729 396737865 411597163 495361511 41470959 146561311 978910983 515179079 229377003 408890493 353528943 860814953 847310343 160867981 922109261 737126401 857397771 831079877 908629963 689132165 605009101 223517921 864659361 199160375 234436899 458285541 32878349 527922973 216927987 209147677 179032021 411824647 244418085 670416925 347246665 760251281 942042539 192832195 634873917 332979479 257224321 535120433 348545553 930879939 444065449 2698709 981846955 942225799 207639083 815056481 641808761 464113177 702055453 767862483 69929839 246012409 284650389 447448945 38361615 252569457 628676281 56868547 947201373 100874639 226457521 178188447 484033511 794513197 579733425 879825187 711278021 640618475 407387633 618805683 756471187 308214577 871637683 350370809 533336955 42586417 216405573 732533993 80133159 942931935 368680949 380963267 720388047 627039743 978277665 806193415 271673137 939227161 520108071 6675845 536337557 79907707 685287799 426960207 261092549 124556095 581032573 19863745 15932445 509402437 113617079 148077953 486354295 688109877 109207719 654252409 642572603 494989695 550996181 712036831 134254677 199971419 548790487 187593263 512355647 844888779 293300291 108224299 699019509 561253269 991871935 292517859 392287229 276943947 855986675 413139625 5615973 345586757 560486035 835328539 335423429 6626211 272476503 124341787 816069691 284018765 976213251 843902677 994179947 191196913 417581151 484868545 559006341 959921677 737764673 545756823 600436799 196067035 493091199 625900637 147951575 243576423 373008895 292613215 526138901 742075521 715706281 320882481 19430469 483945153 408574577 349955505 826650941 322372997 146829903 342792193 128329309 155112185 659594823 899723919 697404555 526756361 752609121 676926735 16497973 56250225 661708211 91806075 43013457 80356527 610178899 121740569 689043035 183819021 991951207 244201847 831197535 182072475 993354007 827464549 412164581 663176495 624780439 440596483 134217991 733633387 645367327 368308149 186300515 40304057 926492403 69662501 223765789 564439365 255082589 915510857 857450213 815244555 605110445 515309915 223639793 637714121 388629569 86143459 900077313 15385609 720337529 500028843 485550167 123199769 590576831 320049607 816037061 658286099 585264005 590380947 466530721 299951575 343583049 803919797 581293767 84709645 285727623 28670231 150666143 502837029 889501647 229591023 993257495 536458073 788482225 832241337 4851107 56446887 438198981 651524921 97983045 381784535 438500273 793866107 727307649 423847547 219653407 750944467 872223591 457257451 213693373 339378911 498941835 327100743 323109961 536949377 115947533 754123639 299029125 894447847 143347345 799745067 924164667 287395971 629120327 514001627 735180349 530747923 640076775 8267721 326457699 817988507 946809003 877600507 318071187 6477673 937483101 731696451 522866869 636221197 293333065 449543481 661999037 127253607 820752197 682789947 14953891 668828313 692994739 821800821 21800043 440246033 344786547 661848789 368721951 887060099 884823801 169301523 378797009 924792299 127519289 378586543 822433945 508166027 594143409 652942323 404960413 170819059 195313255 62625263 72260615 531032819 839405547 326234745 269526533 506815659 670535505 341679925 917972951 11635327 709610809 912032647 214927291 697530905 748404167 686627235 810631675 302665327 299798955 333600637 801773037 510805181 622510877 91430363 618724585 951670151 121195223 536409919 716067665 548651929 930870563 328404223 680043407 255419143 223382221 648490031 221815575 293074477 849557549 448918193 240267105 435778737 712971295 328146989 4582129 130508415 349964043 552108309 210326609 347985097 520178655 206872477 722726675 248135949 779342097 528197833 918038735 751985167 722627999 876650849 648417323 255804123 920576015 877326067 695706065 91224517 382689649 26989785 444362609 737628523 949394009 877205299 680035013 967632303 917229543 275510249 36789905 397570751 577520831 440627115 311654303 730326029 687254547 993148147 951530945 799101273 945472661 4891389 820558543 60924323 10797959 907573975 148172207 438200379 20264363 959521869 387841867 618926513 958693973 530698489 967938963 740094181 336765013 99297593 185342593 857932283 290227983 129718585 774479641 485769565 285426533 296540135 784731749 211913407 974789831 368911867 500953719 978141729 454271019 178821367 503429991 62498501 258852623 338621473 979063389 507257909 900374649 39521163 510623357 4044617 576084985 596957963 82675709 789287197 377253027 654695237 985377045 908371473 136753175 408315549 273001737 5844695 623582073 640735303 367025443 709435743 383641723 216956729 560254389 260343271 877352015 676468531 808193817 149498865 536262839 261715391 321670321 387332429 228244727 521890093 398186983 112366863 462148317 359796627 485236015 416898191 612944321 393046483 182396675 150131829 948138367 51033751 907443939 411050413 710869375 488808779 86659163 701576809 113030063 987213611 877071357 712961831 406807429 331482165 229244003 128967597 958833919 439030835 902032687 937895427 184268709 411479475 896873483 348016511 489040771 590148879 471176619 408921535 66599983 690438503 619066055 960483237 793598921 310172067 187312933 285271647 774650357 914290549 690929803 767864417 683884773 699967057 298977739 892921957 169921101 579333755 231898563 986589811 605204585 820965371 40159829 724637395 623990531 990861215 111924583 198945053 99461223 805131265 882050031 665496363 236415597 293899391 523745509 882908707 491296627 941346373 334107215 122546031 955866461 158740801 813262899 709653957 578587291 114764589 637736869 569233441 719853347 519345797 569583039 241020101 198011763 555514263 738591395 239800385 84779923 100637039 701587067 652883047 659575311 795183845 138985083 817262933 531859709 534676381 964748253 611148395 670062845 243609851 117086945 593204571 555216949 3055923 389678035 725338901 437507921 994842171 480218117 138121943 80108683 697435349 604913873 821866277 289749663 733423495 642303129 201725643 926837715 984693667 349311433 396032479 346409717 616741951 749597649 123480249 230156893 295367485 148829227 830413057 508421863 399946823 700206939 935303843 800869117 788073931 375627755 904010451 225417097 406813695 202395501 997757707 676299011 686662121 873028477 251059217 813154409 999550027 755478713 598329587 558904899 793795259 41905613 46135809 991295387 918420109 440099949 667153883 249889037 313577955 134877267 822376037 638420403 768677543 567377471 909230025 114837557 327613317 483924733 490158971 729634239 315596025 630520415 712988987 889205515 771443265 755494463 711868939 448170325 328140901 952186241 605824821 812476771 729086777 539608331 81808209 203483267 51175505 333486291 563802937 257221517 256618511 968485075 454355219 393245151 732546203 759261707 969210697 218457181 45682917 109447 945292689 877069431 871160741 384732505 9244135 279115557 899002973 262672797 21166479 262712801 203039827 175518065 730724885 436872115 395056025 854312963 506760269 286777387 249886727 401329539 237040981 340975711 797090877 321213483 626411407 520019947 210046115 939241793 489053607 420738039 473430121 370634251 54745493 740966449 955257479 440816349 657979793 215087053 333461183 967062033 985875745 27182221 63354007 432760585 648999441 958827957 714966111 261373745 218434423 433678613 717291059 322279673 736684203 687701505 957833457 22289117 709759575 471725143 865484095 350931037 262383457 583133057 24487057 578039557 498777091 938397545 320197149 163162983 929737399 742559623 544905699 226740255 778388287 307819483 573151661 579330763 769307561 563533287 171112971 365638937 772531019 177725373 29734227 304761785 306018751 148295923 824755881 797284709 792909803 596337573 830300913 821762531 150496505 487458683 428654045 980422393 320357215 668019875 421236455 946979707 500679641 771540177 995148365 687555651 240562793 190047303 679039001 462801717 461130079 2425547 782635289 64167993 190948941 703003815 190981609 1826881 107848975 141146549 595311077 51101255 381288139 817727059 592561207 92290129 929397997 532189797 294237903 905645669 194654247 196173917 687915879 811060119 225334135 292789293 636932733 979011331 860237601 222082645 918134361 395302599 418820017 231090397 734749197 513735953 635933435 454382161 44880497 107553553 411825437 360342729 219914533 936260611 373130105 879023329 518203793 10809383 959632317 508320449 866209765 751129033 825404123 574952727 837924889 830885949 483321361 688636441 89554671 52537049 36066277 858992773 504883949 609968129 387516703 440575137 557515621 690397729 479226325 544662333 851941231 641913001 152674405 297105069 548945131 567041301 498779251 849668559 710405503 970225127 334931945 826579213 300220319 377100711 248775677 858940241 855866241 538590185 820430889 98022165 339027495 870461513 881073461 233350995 831842903 420914533 430442025 955610773 623407523 8417259 997302109 97228775 331097953 554083211 574905707 549981665 806345653 844637185 386071609 200965535 12312195 312667663 336914417 94107081 142359679 877663357 767221769 732902285 97125919 199052575 257072701 65963425 840512675 724083151 651409297 174164291 594767637 470581105 222773585 252987705 226661187 182330605 736991761 783980243 377882313 659626037 342700205 925049061 185852931 213913413 971282763 523125455 454211867 188476191 969695831 380836727 38226177 302770891 932770179 528454729 218435695 340642909 179750605 289422397 402254051 919629809 376948601 923302099 42112423 90663589 288814869 61622543 42566857 271890855 443040369 556955775 802798115 443871527 864043181 245664827 363762261 329784161 403956779 417934303 677494215 990941079 1509785 46567571 989753257 91531537 501075689 231693829 30458613 977089573 818219611 739214699 455827305 30052137 71012207 696156803 522237581 799852931 667657205 760873109 793742003 905994907 274875133 114851179 762059251 868314851 550354919 104980577 346442029 759741655 625672023 500223825 702398217 442470903 948550199 645481377 618948855 611302865 906116797 940055875 168029231 151160563 456646501 292286377 720153779 431240187 621288433 488450773 813359177 261615751 787598961 390227019 472313219 698529861 40561719 65798681 415511223 844388327 862226143 442485719 952972041 362798117 297732943 817207713 870490973 690684609 897557171 586285855 155362151 252344713 663477117 900073599 364854941 996863819 563079275 464644983 383146305 509514981 98970497 915294791 797286745 204048949 503596299 137994929 584073653 819987753 46921373 405933831 157298929 239928499 95718421 188953885 411373673 483420619 39511189 701096787 863699783 126105715 631252361 485072271 813414781 158833849 823953833 643661373 701640385 990554539 238603757 644734295 44120979 850157159 20579483 190951769 833674813 29084939 572780095 320873033 212771277 766137797 132529839 448079029 353354013 871467463 601943557 932477621 42205645 908357193 584208293 609663717 795646789 516531087 9846077 914949997 725640631 919476705 798954945 175614717 80858903 527754901 135930475 506678215 847241257 687145217 345565123 693397131 840813429 749183883 689781395 22379407 541776969 927515803 37241069 133378979 662440895 923777955 561313587 551364381 285060535 679745055 987958019 865266393 261694425 85047441 273329229 900496701 991292053 771854211 571861061 352142139 565255203 838623877 390919271 641670471 180795781 439372085 519982967 398449757 230575491 589626417 512131713 51328263 409778601 677783593 344807897 570119763 223760725 288965321 832218651 54015189 772024997 234818511 847966509 439060395 810219393 144843773 408804667 355856255 160350359 390675995 475220919 476304763 634471013 508424703 870778463 531027031 3449381 729229697 42941495 423244113 880753379 493164929 127629451 164175665 673668207 955268845 154017265 112155459 937058913 828118967 787654467 269060189 213470999 267218903 909629605 839765471 210803901 156139601 518169221 479772847 182715967 994483759 961921685 406300731 381067865 63382401 24249043 941354359 153656457 741968997 650097285 416946661 956414489 412554235 297886003 739070601 710896409 920170861 950782901 191188211 673091935 270212845 802036517 414989879 551969165 136062647 751977959 705071091 459091981 492664845 487056555 104197969 410738187 753078841 320007007 651348475 766802051 607755659 920695877 73571113 774440755 711589473 920153311 188931739 516474277 485590555 476462839 600185747 245764647 275778083 966856613 553975779 669451987 861846765 979373637 392275681 237944457 149367025 140497271 412892265 682229745 468462003 793597997 668095971 227830907 463071931 497186967 911124795 861174625 652828319 250034995 629351403 183504545 420904439 820217797 567690223 213309443 398170213 962926681 191324877 770439193 656313747 286017091 184102549 753084219 878057011 48022303 231258843 104304265 900815619 239243221 71677373 413081835 461091777 165314955 686906085 713239569 105941047 854820027 500373117 796094835 603350843 160867357 211430973 36798803 49294245 719355319 427907685 817990583 428548439 10477525 310762679 959939953 747195963 660161037 380406151 928031001 71987523 100910649 35695781 971706381 215421293 532508029 141939827 148871033 162606263 758781255 637744343 718998859 123791659 169279563 449037375 454546747 395499487 963932547 557869217 390552009 430524907 945996087 661190267 820479295 790197105 208074735 605426643 675289261 344158363 65608579 607333177 885384937 255341213 168830989 188400321 922089367 354624175 510265587 337962249 562129947 32366869 966258655 85077563 145722537 128045081 831265223 606295809 495780661 73696011 156136935 304219029 544265861 700431177 721033921 501391025 746640155 447105331 231339301 53565087 947347021 23393587 770478885 842725931 321673007 567831229 291163423 247474605 205552035 871576393 166834869 596128769 841194833 664621915 967147987 899788175 178342059 984166269 162605999 949802821 382629861 789543233 735030213 966504345 501646339 266412097 974670553 506498953 137489869 85735711 604619257 130204059 490328273 309127813 979599221 422152927 818823785 137198119 750518253 771124713 82730165 298608061 367525187 749445591 391675805 363954187 931752357 553554259 283498449 411011035 97052293 462539143 8687051 67995391 695276449 383702829 644893383 84212561 610013183 914091391 204859347 20703155 698038503 951165255 525970107 125618447 2183921 332468689 332144921 899431769 960577783 962607093 402950987 640648329 879107357 235550991 763872637 722853795 774573009 35415559 663426717 884446641 619708615 370638411 174850403 246485189 708894203 352148177 815692625 256517369 409409711 721751831 61927341 436091247 603154035 486724645 695064201 993967441 677710361 847036293 602098107 819484371 593172157 225684051 484886503 202509357 972680389 569391145 528088945 106787493 968208091 960259117 514557325 247862143 352309493 707813393 794384177 549174547 726281551 185504519 757183517 962044857 480040813 644507345 649129947 662032595 108916507 34355379 834309307 463030733 462257517 61533819 690478291 869386007 555612097 240723841 776048389 283264811 347463353 22878625 189997563 630673805 634411329 583914051 561853729 277138887 387654545 557082453 533383603 658636395 943892001 250639949 468561839 161707539 347036855 704727849 823988959 86412897 317005151 837313905 507017169 267954943 124629359 996481839 652510943 390550177 636284033 609647103 173632809 573267457 831303545 937900027 515184023 646077663 21115269 610025673 835045851 196531975 153282327 303659163 252944233 980250443 444423407 18119459 354474117 318597765 751008525 987718819 6848823 830353559 459007425 811679967 178867277 721922923 5650077 503951397 33867361 31838197 424743293 219462733 191722193 867841327 916378501 634045363 276693193 817101593 502224421 576051777 437063735 518138815 704172555 914955361 740005077 621825075 636936761 166924811 199680799 5619599 891794161 433465277 652418915 699079669 319834303 808216957 290345645 581229457 328322935 630413787 890449877 91663761 134165813 240927469 415572095 546527029 788429151 793030991 148419089 964306107 342961567 22000423 86174905 306496111 478853357 326025511 280298099 398558115 304985217 545456515 740566527 723115953 684257505 963126007 602936803 619406587 555343577 139341773 710010225 918507501 981670013 24779475 578868159 315352055 464201771 51890269 306062001 522995347 422270341 97068873 952207851 345808967 241393785 403983359 735562209 287408537 271529017 219126125 214215 104345117 588465731 836062219 917313955 366682477 202105181 318091987 800182585 110014507 8188559 948551757 299222809 180610819 781802033 458254217 414360733 87501221 591246045 472173341 75210725 836997067 323588215 721743397 291812571 687987259 985324845 352444743 946755115 612989371 787229811 466399669 846805585 215128607 890155523 75847203 766875787 757358913 585996517 857755599 61645281 209453571 482821219 252013951 44839975 118192465 510942481 433335425 549874929 120887579 43342283 279863725 821126817 174897499 400279735 925291617 650253151 247543575 360472127 579689345 599585819 589662549 993879065 244184189 481309581 309949481 239277633 683066443 64125751 797906349 715431931 9591915 849776735 53985027 870308563 33493983 763762967 974367575 61893021 606026809 176608567 817533145 968851317 586899599 270969183 849716165 227907265 111213693 162701815 462268763 458783789 144136491 203243055 695375079 409857451 541974597 219987199 325066939 475548025 514530053 926507561 700499761 506727195 925335335 607966515 877888941 668151391 425763313 505876079 206071189 507183701 911579443 262384627 995887455 700705885 403563585 449479843 761852805 789370649 806530297 745743651 1057671 616741751 619057861 566176999 654399731 262375851 896792975 25288485 475453527 325305391 604559567 402733533 547045455 724719817 311887491 909735129 671758461 650733447 380399667 57639081 190353037 733169595 768560619 800394659 485103919 418306817 444335427 640090347 879570719 719273533 257088087 88407909 288142365 284374685 127873231 640735427 388270069 787977365 595751127 810329215 648733051 154404577 132015145 780072663 505710469 522989957 356854017 97207765 829981687 948948685 975723813 845469255 598047421 747177037 54851813 319502537 81179847 198932961 621857301 631338679 501334289 115898031 403691797 331311931 491617691 812930593 630379977 779990597 567813233 840139501 25343649 486408591 264298151 443248655 608481173 160998807 198433107 433310667 580540703 828322469 921740441 244307629 714811209 109721547 677952165 434229899 700694687 983244769 639901863 870669693 255939385 252847239 743204827 686154987 556975539 20303141 615633537 722792065 791117365 612501483 293837543 748697395 627863917 288574161 311409755 892508219 226120081 621622937 322379833 336135199 841943389 515233737 738281701 725935019 767151389 349803443 831455943 13051637 644488089 508074351 874205009 861974103 453933355 388530909 932845567 33901429 925192881 832030115 782381393 263077949 54713489 429920821 771794899 428776931 639674295 245255369 555115289 756560867 665031325 628673121 502836409 471135487 846956093 481656259 862071639 964101703 956010273 564432513 447487903 182656013 326418005 84617201 426917185 307662573 520695409 12131383 338276857 706362061 499083409 130456887 662936713 137825751 622703453 733032357 520025529 209204609 626393603 320946679 64866653 247458695 872258873 725483885 146986321 45825771 378531901 671515921 624576115 579786493 398104533 588297393 105356209 649764431 75408209 293790697 518375163 697518527 128964485 631578901 748662861 655403375 617052113 201028191 977391273 377129931 678619417 566018231 945004311 83033227 112713423 266667735 622283181 510754727 387669477 951988797 97619073 188861541 594895837 407391283 38165687 116082769 742248379 593524935 841738619 692374593 410830605 569792979 408146175 781322573 810665707 654138871 915630971 419295 573412593 777057691 707549745 751787677 658269767 64621551 561635951 223527809 497524891 483361261 47924867 469661891 954254115 269500243 354353865 16930283 925842845 326348201 160061605 548092097 668322639 815318337 272180607 270199901 759955465 496160819 703993801 717016601 276144415 133272415 872848895 919871643 41973873 55747437 967963555 767066829 112078181 982333389 395544637 547115235 561992679 262217655 469237345 439015773 593609073 730304813 499276971 686579197 303785983 391440373 106468539 4587727 617327383 613232801 127446075 866636071 599993543 607409031 512950237 596681889 945520807 908724683 57656925 366861347 13008595 280928337 856763771 673311447 185358067 483814605 112990981 968160563 36106549 387750581 27264457 801614835 605214543 222130251 946609829 934436123 20890495 565447061 966403959 608407799 199972749 738546531 866421293 40279323 255999429 55989841 369455545 956566885 407741949 826715579 812639507 948618487 170412693 522858187 407148095 933039935 621356915 794599795 647332677 1080559 437254915 808387945 395877689 799039749 243013439 59856685 190602551 826538439 248445089 272490249 444042079 97815485 684484915 871879179 113049563 936393407 41675651 623927565 398480349 880062181 161931685 311181743 762441889 970798489 474073143 189546843 348722793 30593155 920956257 715233853 976115581 677357207 726267345 108767311 417073459 560819477 266347965 897802323 34113761 968941693 223608293 834663633 915023085 356242847 767947915 193061655 677175231 656433293 288710273 368689727 591353035 787013539 627213339 60310057 428933513 329909895 361058361 254896253 268097659 388461859 947701057 636739499 855988271 954844333 114974753 551228395 640403507 215825057 382442317 52074559 295658533 99154883 719690695 409992559 157400741 824543005 724572179 460487433 62893661 533290761 356800833 868030565 630232319 701503005 683102181 560540071 909636167 955625537 905870109 72524469 972212983 248350111 904617873 57766463 472376281 57784239 472742001 158244029 399350973 397778473 160090223 972664175 587871617 173232147 913214155 398936927 839105285 889141433 663304269 637334621 587924019 478842543 241763391 522074113 304639741 696486611 410855293 402270889 688706911 944569671 451900257 284218497 475977819 815573625 790388435 892632693 984251643 164512285 605583679 102487873 80513359 409986093 83160479 706501733 446671221 550155247 584833903 966260517 776448141 657039089 858089909 693406615 734065601 957584387 458139649 579124623 213302597 523439173 501309287 723335601 506398545 111970331 982565253 510241377 187853095 502874159 856761219 202368721 562784277 435936887 830515473 321073147 317470315 539815215 990067041 39939485 398045313 417575385 923132979 103745857 423710141 322875461 68748495 800200501 876706183 37705605 755759873 510052243 183699027 327239413 828411423 535871291 412289177 283340091 320721931 440666837 697419741 1627969 634458661 376229329 66891689 397732669 36524129 14074217 133437069 22470059 302005811 489364891 996837159 885817423 788809113 974319663 222024471 411236661 236112409 921865143 641303559 472289713 502793665 790969483 72429739 83895137 16725547 430115787 973392827 950682407 502814575 555812447 419228923 367766577 480966969 703956983 550082613 163752689 16672179 390432779 183333945 187649573 270505109 506059997 315647461 974317523 898408479 664118387 146204441 487506499 284382227 83459487 747372991 780515083 491803843 709657849 403796171 419982345 274398213 838900191 776618293 400253535 505847861 85906813 922103041 593428859 934281019 204467649 998384185 650402833 121127813 434952291 286304237 360945949 603677449 35661283 570541883 606211297 445238341 394946187 217545283 157927917 429063487 958898027 453572399 699757073 822353541 297100121 702867251 15106415 179697711 1767929 178612615 620053349 701987035 922555055 961963119 560327075 813239471 380108719 576863285 571983133 149078103 934376685 609656875 680890127 597165579 504873263 672330665 564645373 36954251 518587127 928022293 571346099 375562267 560437659 390526681 195373381 369297289 145957423 660727395 72765967 816479019 633507477 95655731 729198775 136301539 668784245 532731847 974149929 470966291 803985473 175634089 81077911 350334123 366127149 917848431 832531583 509109791 428242749 772710321 14922661 65188209 298109497 562060305 610302229 938658599 626553007 197832505 95687971 13076043 349014009 949911261 685424749 359765367 193782839 885171381 242140373 430594505 349551441 426718085 356205193 653846503 354812407 848299031 57358077 259117309 151564451 520204349 732816363 490136517 545502867 503119313 993508953 461141369 324293839 93174709 389763989 143460579 350587177 113748691 618521135 588601679 798247737 410739999 582886151 968966549 926567773 668316817 170198081 902365457 552167361 365973039 718387783 6252203 775000915 746933501 716957903 273548753 866187467 318056211 183713747 338264953 250603435 891781257 780435099 348748065 133018425 305670785 460269743 260081105 429976967 246437413 37186791 616882963 957230699 222594473 347621983 76986881 262331017 356098887 815810935 516841529 336874565 906462783 985088737 608056545 414992083 351418845 9731213 451158949 554385705 921169011 757664441 340292031 786294535 283760729 786318569 968087273 144457207 720523511 807102697 447212141 654198345 401650609 108493773 541345817 745347091 153516285 723842801 331645247 503757367 153958227 924049147 667290051 527014239 534160439 707327191 40942855 760330999 493918003 720033975 767802619 117381691 218535641 942113049 857992981 934366505 157703107 535788483 17897299 490460555 465792403 852477629 797964603 684631535 511864821 357029213 281715421 631655599 710392729 493289281 93891021 640123627 359814457 935130955 756148267 931141003 290820761 146896553 5484445 326629953 916933507 944433615 472976977 538492545 320960201 174699383 234896379 460630671 794605893 3736489 215773 652141683 934028505 604458157 842737339 929942267 337438065 902949403 749621731 531157697 409646077 72625613 920956973 193575203 37356407 427621097 55789045 40242509 342515171 696148185 196421411 677161261 80524619 991534163 19124263 281348221 323772097 675366995 925992179 84444601 134609759 260091675 722562567 810027311 423731015 431072571 243118441 729987051 313609893 47874693 552224681 894760133 666208937 829422359 873542875 421591905 484475021 752661587 601187231 142287653 833477269 896747493 461473307 458525759 878258955 479746243 327459069 145138859 90628417 324548137 954390137 303632169 558474385 955814555 294004561 18239039 33863007 925695205 775347657 518630207 252896273 363002653 878721199 199377727 514330141 562058139 729608283 815576611 764961021 431981063 47672747 707909519 194315569 437341773 134883075 56381943 225396549 728518049 184575827 573342095 252449483 644128125 319425809 564078941 630777693 887218855 625213245 985797669 677096861 794754093 617164889 337261431 241178679 401532511 311537015 776686253 457386203 872942045 372009259 80037351 567689541 426361995 994750613 106938639 725611573 741162643 447514203 430157009 704313463 783802729 672194987 358340009 225317341 704869069 244211003 935796437 303507521 861904833 335038535 903116637 515175557 351323535 748250521 300111637 199393685 599996623 435323007 231809937 526450017 729755739 639540173 34328883 680190949 34093657 35773665 32362531 277921313 257154867 830268581 753712977 412120865 949994655 390813827 750076277 316977911 788574361 594902899 441298449 398938557 771675237 330132211 631246443 490677397 612827023 838171659 103870613 482261163 440801515 839179335 463106663 73750063 577466263 838087357 451129473 126233437 455912949 248694031 966461771 284602741 103931057 252768349 435952117 798008259 716868035 260354139 950677879 244295833 375078243 6512189 101679507 852387923 1088791 973618625 677223887 161279567 755465899 985472557 197416573 318231547 640995125 201107279 530972083 528740295 211104781 930321023 485739605 688482861 575965661 497907611 16960263 249897651 912558477 658441223 620777789 609391327 500621137 875480501 723555885 593469765 714919337 511280151 724145623 266507391 290380885 573452589 215497733 454806577 550572387 207605887 758738759 967135233 547129385 294133273 107891187 870984869 97774657 725387153 209047341 987958487 156733073 194365705 670597081 854061655 440387651 683141665 30843305 538222835 260165581 732263693 37770263 532419449 634335723 658461569 421422945 193202885 491704991 659543995 402815377 132592313 950705721 200224129 414550389 711787841 253499467 450700067 317116329 979175245 587193009 30322805 982600073 175398873 478400657 797489621 822083647 922926821 724488535 548503341 216228283 400349311 668436917 327427303 697331639 324340661 869942441 498540285 326098609 128118179 503468663 364549097 138438897 680095853 444664747 183836597 68355465 225634873 385983513 745647341 932321617 870806079 126132191 390518695 713171945 261114803 305713759 974184581 625317049 487842525 334502727 852862889 967033841 999967747 289379721 434100161 145234313 839134841 153899107 785239815 740015171 121279387 475804251 739271735 450447013 86938055 614345273 606748569 179870209 993736043 342024213 993297911 545005935 832159223 277929031 708439467 949437647 597247207 747266681 343000979 672080327 528941755 785514643 963281429 223408843 76660737 309066699 659330077 182248977 987398215 586864027 859435555 901951131 494068009 295675595 795691815 756394799 563673419 169178211 850125741 613290847 559554899 192847547 420956867 646655617 789647097 597388909 465566975 493265593 196456947 159093599 141742467 206006763 336693507 503467963 505744113 817757387 494678261 681670391 790364281 132819407 790772637 955483343 599880913 562143799 377562833 173175367 229419319 896789773 762018167 694019243 260545649 804010527 238516853 404037775 73937871 246264073 77932995 690346191 602330149 669348391 703813975 98586513 550398675 528463779 739662387 244949313 288989373 824956527 795857765 592109457 314773845 612056895 837022971 831734399 278768013 813234583 381311249 54329169 594390247 868194495 872448715 561844623 636916325 941637317 993010001 127620623 519188379 9734019 431335125 16265711 958194073 984697753 156565907 475120017 462419971 293857647 50857675 364216227 423806971 564886069 861348811 940670489 163861809 131828453 970448609 524651309 992159963 155310397 51218027 799452773 695708343 227604165 44499911 163121551 80145931 253315535 904583779 423081915 542889639 579148915 993306287 291591243 232042975 428401041 746031911 584422365 353282963 696484305 684470093 783751521 687058729 848035 503697065 526369035 622652045 708970303 195302865 157692759 915341113 204219303 996583771 364521991 402477351 21368737 523527405 437677355 431859681 277121983 802803247 500361749 620873077 881768535 116805587 640922209 572899701 373362829 846731413 791007989 473881093 643204421 610815031 788848381 440019143 343194163 347602049 971762923 845226475 229129421 388180041 199239037 822740263 128400725 829474405 40132791 453720761 583685585 40879803 15466213 435606121 626867985 743472947 708551579 287495297 759949745 123380927 927172279 689164509 523235597 518842971 809582427 961336791 542279247 464475145 830345971 843540309 699917161 14061009 595663927 974709193 518382097 290925769 731879455 723220261 967336647 132978695 193566961 157622251 205199317 253159857 966584123 61982239 253445193 999354863 799089357 847413839 180726013 924909555 8187335 939778195 364044689 966712057 929207691 107707273 915349871 507837763 408705479 137368917 87331011 579010843 588348271 946039463 944184199 132645841 71513021 230258101 346779773 348125379 437224249 140205885 938406957 249001039 372301997 511058823 531089381 269919459 687273003 332271455 342958271 421704177 534209045 745959707 833608347 901491953 775300617 993566619 705679649 230643303 496806391 922475845 939956929 539326171 514254099 967819527 816602035 602415587 639508185 158957909 758928121 153444117 979048973 963236145 378962267 479734551 387504571 130452767 769123431 557584529 532573751 173307949 598591349 393613623 892956189 157824755 812326569 449768129 882373459 728360079 233034217 753714161 812999685 161087909 935309285 130755989 327523749 226558821 682863893 81424253 527576561 934507653 16443577 622130049 933442029 563136069 501207003 756684423 928327911 764553063 396749899 832720759 221751663 648563005 751724449 909292101 308699749 628874397 590756411 526474985 375579115 149376227 918901829 766265957 974543983 821768439 740002987 212581319 512837539 955443781 855120425 825679647 91534727 587207111 314480703 820637829 991374683 759546105 897742385 502408991 806013613 652392161 104779797 316943381 377753683 535287053 386920383 718630811 48553831 202674325 373338579 13767657 577828431 875319575 870471861 472256579 971616181 627277239 925804951 17592817 214547853 398904357 84935539 680520521 638807575 815011225 41431047 977009315 599633109 622826957 235021021 275553119 145186193 668418059 442615875 306898669 144440675 56700447 378271315 358641081 159687079 17096031 862577133 522915905 794651389 225203115 948755897 155908615 239407191 978936425 597362471 706248853 324173285 584910215 444759921 798141565 958925349 716461179 834039445 8052311 482076379 124211011 325099611 673514441 497506323 720809317 188052309 511782523 294901537 794726639 40851419 857422625 866645923 530159993 295461133 783171187 675167867 942308641 973514195 379342901 392454869 545709451 554401245 455303217 330247465 355814633 939157155 766071095 161657391 473288429 127826023 828373541 768904685 822105047 209442095 597860571 639000239 800327535 914131917 232965443 294578187 256812033 396648665 800882769 227225563 524720485 537125809 834814205 178943299 40776695 156253057 7255371 566987185 448001951 572653111 623873349 597732825 331683019 775254411 525653501 988476085 63144815 859376637 308711051 38211213 962358285 961312215 656551701 884670441 280103595 738885161 132664771 762405537 307178451 57544649 495859145 560806607 184565663 26895963 857326175 551882201 850141357 769443651 544368585 825642857 647557921 636582069 340737105 925295733 732028845 327681701 616244041 800433721 903042691 900160473 273430539 833340215 176615525 809627861 159997689 635427903 643915669 374555369 6516861 351941987 777057511 119457583 868132875 65062145 828854955 21690247 632683803 526292667 643774403 258944923 591262257 118987901 561526933 176897495 580910039 116406653 667867151 286392949 226246047 508799799 181258407 317741689 18666273 877395567 289124187 449060517 810716419 592399411 465401009 745670285 447695343 813607123 312921017 458400137 622538643 512767215 539877127 940966841 642890671 86784617 933817275 200658181 349643521 10810735 210113659 66171421 202171477 706208627 985426035 872889723 868459387 893437491 190123099 388368477 211288657 418529461 846381427 508564939 411955127 864555585 448757887 616151447 801477785 684779887 26766541 262758745 563981029 318622489 133709109 4242799 263912091 529629027 876341523 406924805 252021433 328989371 81929551 415272969 443757643 842379477 434683223 787084851 589011297 65248685 830882849 708441605 275377689 874717317 817261867 47372997 997540243 383088365 274515323 850659973 791087355 82676151 507379361 538459419 786783361 77282815 851238833 591990059 583921247 37623851 937182283 640934169 62937049 671753445 362982805 849158169 780893241 171668515 926155579 633521441 912952273 920117793 474046583 20321777 473185019 200134755 506503939 915069459 348579097 407941301 492266537 380356055 879312277 243816491 596260277 312522067 974615779 669344803 828380415 484252521 424277373 92279103 470055395 941267139 929866467 797341803 250372043 143636173 622667425 271529439 80262305 479259331 124602183 115976211 33092573 998973091 289482099 858657485 450120573 278599223 504136389 903023129 916322055 724567053 265249001 48430925 942395019 568492671 970670735 699072003 595177373 551154349 801933425 746183967 200396381 279951743 985781843 451726287 562102897 189622439 940269055 266409607 369635333 198753689 612048455 334826497 527455443 669830297 883423749 59458115 106489111 149274543 588585243 62939035 778765461 456990633 318224245 547876251 337103265 429796641 927847939 171003423 858441741 842661239 527411135 425056331 81875511 506180049 488658093 557311887 269814791 803748899 431280343 359686297 672382443 633726501 577758543 778326123 666601433 608520275 484059439 613901639 841252945 23374075 942344347 207610809 994326357 244994857 391656377 491166101 717150071 373568949 788551615 427235063 679395531 399943747 697334759 783131973 612418033 181220409 915439729 130151467 939004175 776970181 698682793 178821275 144150227 225480931 772055265 842889683 999050097 562699347 140445043 918083159 21564331 407024795 467748289 499153139 581908933 898843405 226851383 780972987 342588557 116646591 234805315 954808589 227071067 531920277 594904933 161426059 310779917 576361267 689356827 430369315 482558983 729475597 805902577 748375815 169402169 15991895 175377785 722839223 80358937 756328727 537495373 200475123 256170405 126301457 480499473 166993353 753495653 119309269 240194411 578929807 367830373 256301757 359081489 671568095 585050939 759175145 120054973 865238173 550200071 25455427 275129903 37269495 740799855 309038455 687250739 45160545 34298785 591757057 511836571 566987159 370860625 900488991 947053377 55235739 663499969 685177049 136878857 783668925 853307829 506848771 292709337 745681551 749240957 720293425 441459623 215029485 695013357 879619013 419677293 822483965 259147107 132859111 108130603 661996585 743608775 402653831 949115117 460881703 768634505 602519389 99293125 490614003 543465627 725726443 452570061 787497681 381109629 51965047 383726633 161222221 15555639 560499731 320151039 302025275 78306901 303933847 24496005 907662775 894999277 172729251 219250933 149523239 61370271 196504223 515742607 330210615 602006929 969124283 412955297 816445401 199544433 864786415 144769145 742327115 661571957 995880189 960776563 600763153 581598809 609329771 834882289 247058681 714621545 736144523 202868319 301002771 877321069 491041651 737696301 195504575 561346239 214813191 12876503 162317471 595819581 97037547 589282781 206798241 279764811 837619603 927657675 136140537 679849433 804350261 85044787 157117217 266947423 659601873 166929071 228741089 114610647 680406321 733215715 827534657 374608587 755170277 562827637 909101209 762162247 233254979 942118941 3304835 67296737 402935663 724515983 869955299 51699129 298777165 964656787 808673769 164405621 971416207 158676975 502274819 775999299 335635887 879942519 302128883 6868697 801805291 905131013 263447483 672490101 578227021 386875773 487967655 668239325 2269349 166171077 256370251 990152031 897514121 727804373 663657859 354404053 552036443 158349985 375674485 444085399 228482883 84144689 295907979 20809873 647283505 273861771 356914811 584227117 925169119 184219331 249404225 812381795 276666827 14161907 809018145 299730099 912808253 409719359 593734823 832943135 666280775 709076943 281401257 241120571 757051585 735235029 762667583 842938903 756620619 708219277 972372433 49564501 809894989 57509687 269325835 809252635 467051511 352656671 138376161 97030679 633956417 440780441 453180557 587818623 902209005 589270779 446170773 220866833 678853507 717368489 230082247 535588883 655622735 641546255 48749363 786211413 200084335 3021469 528233017 572141611 119543489 400041935 411073403 583321717 79613421 482704935 509977319 460376983 898860897 318074413 132847025 803750019 26071897 893790581 150845269 874438059 997784789 434927001 129151637 80565777 225964699 830904125 955152513 766456375 400483901 532034825 282376043 837793585 849015057 152113327 4438511 909671311 671827771 101698539 179320819 682980467 640296095 458499965 474236321 604627587 328781809 740013107 910808175 423699693 444245927 858744283 901583385 764113511 801944833 259374161 189361569 340363311 453024521 929275513 207098967 101984013 517858701 31057723 516139727 909298763 508802089 580286089 562468833 302880965 752873273 494034015 468032949 258648531 390129895 613408189 336657591 515042913 78885 636448177 278072473 5415385 589727143 567758409 736935257 201110325 169590001 867058593 792111163 137926127 150196555 174082269 409939147 209763089 463108291 206582565 287700959 494745639 588659507 307701931 994546319 668579401 600661819 420560811 538498885 43034387 614165315 70998887 43996839 608617903 707217021 33615655 842985135 534143943 633064925 220609343 958879125 113919123 959712551 709909003 439803105 64619473 282798561 14155497 258926683 832887495 506532445 178021703 995552027 988385605 927797427 193372055 132412539 505282719 370990531 9091153 292106529 13796021 384175157 775298295 636465655 368007917 443439993 402327831 536309555 148581683 897638087 426872639 610963279 352156929 591843361 704963595 578430483 746368593 713241933 506439967 385325961 453728941 14029021 541116451 55532805 675763745 758854951 785855433 773446691 708992069 918709071 32603341 975101385 793026871 218835513 868292337 733792545 70962331 516004761 454377983 619506337 786641057 1450725 130430663 186897669 944042751 104180831 372571685 532800081 267513843 405339149 204484605 345310417 127656259 42839231 930513975 607229977 650351935 452300049 713565125 799590919 379933627 933557343 88113571 700112829 579086103 675504083 696527827 356034217 295937849 873185631 309495903 224820093 866481295 316489913 449627223 430411065 293621005 81826913 103250137 321251357 105385269 815743649 195788803 232284855 177824011 473351303 927019523 580114653 697043229 810362093 146489867 971801255 216220547 296274291 559527251 729684351 438517979 219509123 414911517 729323789 39621961 789242185 321878711 632918597 938300285 283478207 171508847 784407655 680483757 771268263 128066211 331444725 882882711 59093385 692932019 334396857 888186499 334598323 179094537 80254411 767706173 822594879 21694231 820014725 18459 312964365 56833113 437104013 294234365 43998661 826379857 86481101 32401225 220662231 28113287 612909435 787481067 481366907 193077137 920576787 745317213 131241907 534209543 643674713 1438875 348539719 810597769 400945751 439645739 436505541 699973317 7221607 776075547 186992773 208566637 915717663 712809475 368567211 837221689 72302695 349988865 642755869 14936813 323017833 995702713 853880715 534402897 259787677 526575195 290663789 345142331 730282427 189694109 927015427 966014849 419222473 806677439 70512727 213942793 416498451 960678531 24113209 839418043 779455533 812097083 129705793 985603979 335897077 60721595 924115405 776087153 710634125 867676773 488455689 45505649 58070115 577522969 918902497 460589715 935550251 216081227 162996497 803449581 782757599 982334959 690874393 430538647 681936069 507924611 886599997 590109617 357816939 816310285 970519699 730578537 450727075 924767771 332321263 571423217 42288265 789862853 507966965 906524801 339347585 221794985 355083017 216140125 269315385 741436907 617847901 860963791 505545893 19692859 826173163 62275623 193364225 638559183 616332401 157362883 787036111 66356583 377158265 473452291 980024543 996504901 92454225 461817425 968195907 211725627 2863379 314110241 514919511 311066783 75814047 761234411 296886465 167260493 966063261 787115059 144797035 289048749 369729149 147197313 309715595 591868589 653161849 845998699 886855325 386495169 787091343 835325321 703139685 724646635 694850183 36736123 400576751 974872241 110011123 314461937 167132817 358068765 834088235 832366999 645091811 856445641 990752335 42797867 278907853 282847443 106685255 196635503 139069819 191761375 355600323 20316717 119657311 456363549 444148027 393344567 43519031 766218565 604833777 682318437 699211785 422669713 135953387 799759005 366908189 440846027 365375483 453148361 638225161 65482559 873525945 184659415 794052011 304206019 70865795 184615621 816744999 901242809 924543877 876756373 11806181 451877379 47756973 50736209 389151647 161477647 849740979 186961931 410642511 195751895 186001943 241828317 989340215 39713751 574864163 846566889 612332519 293071381 70880487 173849689 702985519 234332961 151276089 740117087 570255409 272824591 682887869 429124409 465421387 489218687 408613847 868881189 56898349 644363669 691621307 492738157 812324299 218395907 791167581 599532135 50267489 572328187 478053507 293065323 518215795 369105469 407195313 844724443 319508941 605678865 458886711 925606945 1771907 200874051 350866991 857162673 105297393 77531179 668043897 843100931 330314941 479159205 820472511 292881051 829528019 429377305 557431149 355025155 212308069 78692725 673483455 773087693 501798385 125826351 179897779 525760659 285332795 810538309 580239633 136888311 358850383 779565629 538433643 766777507 387856001 18757415 278270233 434724427 921554287 246600343 165464891 614025383 866194939 711610285 526199481 9020539 645515859 631512333 879504963 821085329 539596779 139836905 75126867 13837499 988024957 870291699 795773991 752795857 340464399 614058349 469790407 954122683 174105839 188982299 565693445 398816861 7736493 776692811 348990841 661393581 690482985 184373459 619370369 952680611 603956359 162252565 803288137 109052227 430133553 164516339 958187711 175139223 993916125 375007965 42470299 512704433 956782469 349804745 944664671 24303531 640558193 472976181 940730961 400793255 454934827 985126183 761458563 39504847 2400389 840793647 240850891 887211351 626931617 238320993 701010893 553434487 357596893 447715933 6408173 146988915 942955243 909579847 333211999 399361685 379303355 667326161 688996121 530155311 889846667 796540717 476551387 658302363 742712799 788941085 119301167 757373755 948061827 467342821 69918565 39749499 549359755 631392083 60505235 850056393 609302867 973087423 336051867 245554597 414356353 513388549 81743399 701613453 542316545 680104077 70651043 309824013 255216901 700878405 948115275 456275895 583384331 879650979 821879325 297558309 69013465 442596775 719147235 485540857 57548151 111777491 577899563 275332573 13142331 935912505 333987919 241033093 83346115 87810413 487585391 321823147 439194867 564359823 172945779 577124879 526770419 770378053 317106445 225131133 525712189 402514875 526056113 895297479 765815947 961851307 504940707 688935111 565482719 111107919 351070443 220331359 335371911 612077169 862337623 553718137 7529241 425364319 964119937 858556425 682764399 549460459 152500681 312481289 225628079 498045049 607916117 953457529 298448451 368688363 870197017 261144677 887024865 75121585 821614541 396946911 108906117 776888001 26921709 69867777 392044401 676952217 527615175 523952621 403161653 495851329 890998887 436951757 397189795 956939589 823040677 873016021 622637785 18754235 745593637 182176575 919892537 174665795 262511437 640266827 568949359 459709443 338631499 849877061 976555121 630309031 388524317 239361663 275892603 500231785 786338685 788044883 442543633 534283781 376857847 332306979 231893759 306079169 647463643 595129435 287616603 561174123 747892287 553957995 69633149 645731419 34447111 253650381 83317519 496161389 176424151 103731463 298529271 594339083 365009443 944723615 164238959 957906207 977836833 931481641 783720943 372316961 33500369 137998655 275182909 682288655 851852285 244509827 863555943 537257585 404522547 844429983 858941629 374530899 633794765 2941255 257029599 525794123 253293037 655969845 784822961 131036537 868687735 512318505 93909853 992158851 635263517 448978415 767809879 161661845 569137753 975763289 868291679 671593833 872284521 522520131 731958135 37573435 649626709 530997131 720970729 778531793 318147313 667515421 574904397 854632057 178245841 799378925 312308093 712542219 511222871 868275957 932651423 181082085 905354155 236028469 937473309 332357867 800736189 220996283 164744621 198098573 452090693 700183701 999007051 237464515 331204549 935536095 112228667 558534151 427541635 732805563 880229641 329268835 399275411 369942357 405645193 346191459 865642183 275127517 333900249 157068061 732205765 275582093 489495643 696227377 880249331 667102123 752889275 227094725 19429761 882647933 668874737 732274823 439648359 622052439 552985909 141723819 617357927 725509267 216394509 577945843 691273479 519936915 359428421 150268579 751055001 474032835 749237491 584569739 101543731 430575763 580641647 478545151 904518073 305469311 631273827 191517917 105280207 432717063 718219191 360996495 165518825 965187255 262392991 746512895 67087933 858787107 880381083 684825253 197768651 689338081 703235435 487139969 784876125 31203221 241358111 30995221 297495683 904524523 342944519 429525619 807330451 648538003 554545859 264499249 212681137 843179593 374447927 721776235 183250113 945447117 878857613 172741321 843930485 457384171 810227771 435324793 885675335 451673973 478150653 423160369 453125237 754416455 614181589 89682223 476265737 70353983 762170131 971054649 402427347 679802443 703270985 3007389 423686505 207451 91728979 231261491 583364397 475877739 115625559 889985369 4564551 203768187 440435649 680008179 186778791 409659031 163838275 885555571 484844039 977600977 974922203 758271947 267717349 863425605 908396493 102668157 146465161 969578513 325613477 96141451 318865669 920692579 329793335 650087815 244047409 107905387 175823521 734234759 649504429 491653989 264903493 550160935 460751841 455222161 873168081 845272207 709164029 954658365 635911223 770351725 621940475 32486583 445469365 754138103 685299095 704595547 118715089 154562539 927634015 912162701 349453139 471557263 445219999 230156979 424496723 817320627 171937647 224738117 159683115 308286123 897305779 181025463 548360831 136309079 972976657 96338833 343687485 983776539 955864055 531449945 963450777 899411687 725883555 392896163 835767565 424773939 36507919 837856267 634554977 163865337 340655111 516706095 540029597 465612483 26830619 671961277 714778649 974511517 71255457 323642469 627885423 378083359 577907645 736522723 971902085 985359205 254649683 434328569 380974469 269145623 916942103 134169455 51835365 443874659 397811583 349727769 956896097 452099583 997880779 156626387 121633021 965162281 403038469 812978043 400914437 244344743 921658107 702027775 783808781 61033673 4203849 378000207 426517235 487838051 865547851 234504039 451588057 336509653 749562923 497513289 834861611 830707717 884433371 376547325 249444255 885473375 493513231 558291863 478940209 983023325 416774219 660251187 170640167 852596985 757913559 841197807 444205065 616401341 662796993 535192825 642248109 959256757 201636067 702855299 689596209 742281977 88916701 144877507 380351223 513455141 134177047 338752001 526013357 119290209 307257027 591699587 890756935 561997403 824144597 44159391 517840383 281032265 699992849 389121451 78821723 502395113 650265853 210912781 462071593 994175363 862301419 526676525 69771899 671502307 261822707 1432189 465703085 47573343 399689717 522910585 964865635 713737175 716592793 773569187 672622219 793659567 549374031 156977027 969881945 535105497 28664911 132807341 497626953 897189575 992422555 176023229 551991837 666079611 426830585 920198993 906757605 832522617 133880827 319806999 346457075 892001487 929764855 409879489 884221411 429643541 544727057 677733127 683808411 512433255 259412781 774845867 878151495 158619245 503339775 42098043 446547545 508464983 706594557 484705605 716181135 215045847 741628265 569206247 8532973 266838829 132389961 183012159 380272831 747791391 498850925 906915643 564179097 444172797 736152689 813148365 195935065 877975707 951584177 665758445 167349793 219466329 196718423 571037085 722837597 30361373 829055317 994179819 736748741 193345875 517634401 125265893 48688721 213696245 547762171 868156841 477580615 867683455 680054637 601214037 529013301 226786807 596265157 747822615 608396523 882705899 78290141 827358753 705171849 651013747 844499285 8275371 421318513 934064683 518421911 269821177 757458001 513214781 717063119 97921619 331161885 856746067 104428537 458840335 714358545 847885733 158427859 52691587 642700463 130565617 914865893 358574357 189665991 176066943 690850689 449905453 878375273 550899993 215779263 639334973 310844663 661673755 77732223 785967041 497583887 872832607 77621353 627592251 175286691 415767373 748246253 648212021 263816163 819540177 84617029 411374911 787956555 284396389 178770541 429753079 226341027 945885701 778051891 173764093 373319925 550454071 212752163 626262267 40902293 493397001 773560725 575893923 800458785 753514259 540762285 275162545 840850809 163000689 2509905 991909351 818799823 979412429 635148593 151390991 760634259 101358929 662949317 971965177 217808771 312278709 736728909 454049667 256794531 77505847 178710227 86417291 875663169 983671199 582585895 416999425 368795885 801843001 818938593 895178961 480643975 193814235 694266207 672341497 186225457 372341221 707257293 571432571 658824281 360748349 794238231 748627809 960275633 489358929 310913017 356597947 436751417 797384727 701719539 843043495 800337457 405848587 257480267 228129861 87249959 694363959 85933841 856876223 835044081 829232937 61234719 565943367 229802409 191990005 833723415 741548825 106967733 869490233 111112029 519964791 310724799 234482719 85102371 905646507 199926203 356058705 681346147 639197959 179176425 413173767 790967515 468118243 701521611 312588033 158809621 458778277 453954603 368908929 986720863 835896757 61450529 164670553 471433683 576516231 319673097 542416351 494613841 107745683 232631427 256221423 270230913 663767645 466238081 143277297 932594133 155790959 747304755 24582099 627603329 775551577 94994199 415820041 208532105 910645945 601863153 731828885 153921203 287261487 479158221 618206203 587603089 386501477 244066815 458735947 41645691 597481487 129329701 960848921 797363601 105181669 125541665 467445893 258131131 246953131 858001951 319685171 899095977 162426409 767652759 846816595 727416275 5395253 264180289 395219357 238792571 341104295 471912995 274475339 126531239 468655713 163114377 506774567 949580841 407937613 49385993 367232125 922383513 168014175 673283965 250015267 163192149 270815887 100920073 52855673 33741193 348150241 541646363 689195109 863018787 910346589 803568999 862117717 802503643 403896345 140350439 799699519 570037297 26054445 479315427 693375393 820571247 946044603 804178403 252678017 10513829 788644589 550938047 845632111 954841769 490226935 977720721 694164095 415923999 771460625 819826367 307936849 726780523 467115647 489421043 218838537 902601921 336134283 753162531 711548503 3127319 945978757 837236363 596648819 525198637 598897355 371135405 694378519 918853261 624530621 690344793 427008653 610245509 612105159 266188705 896118689 957916975 585380183 39754979 954408875 681604971 447085805 24043201 952740743 82807267 81218311 183823143 862994333 983893763 294159407 560769867 537943259 186109703 676977147 770649257 116913591 724979437 704894979 842360837 690690351 791235453 504097513 929715309 470931401 455475273 231916375 602616369 877981845 298763433 306374401 771625969 475327527 768711869 10779039 605360527 566283167 677182573 700242421 591164217 130141601 736097897 763049165 242422369 220721503 200347435 917667833 896753861 507206027 30264817 971202387 726310251 317456743 971302339 176111037 379145115 976507317 672439923 654497313 804232685 257671113 749546905 285739635 589940027 317928563 635727763 149289643 141277609 285516567 874737805 264091085 33595813 958136471 888269173 661943011 399706851 145171555 635730179 303255551 392308575 253039983 663515833 894135611 16334427 642611007 326646237 934205881 160161639 975667411 829025409 343912611 26757973 889066941 760955 498011181 661476161 47731473 894868591 812479633 666039185 707034223 469754561 798686991 994857711 444883707 784337573 130152691 712537937 277596263 857369873 369230989 642542323 850171877 163231685 658573371 624183129 3807031 104393803 899884893 763579983 568723873 770984179 667844959 697219817 230838001 547219411 288172209 300509317 708438143 788252623 726945741 623315397 565841447 956281227 271943223 699729813 498555217 780640377 150610297 174620717 845105643 973552595 241782309 453202437 501380459 673162135 844117717 321253603 128000975 481426831 984550187 375276755 542956191 734425161 289340625 586115883 279024615 568023583 1194107 946143109 237570365 140856369 742709987 709540549 680474305 520938857 980303817 631457305 470620183 800109939 449588985 197245941 859991921 462027721 401396549 18230547 963876993 148054189 375275911 467718521 178379657 880156199 25378209 213127029 514854477 469466885 933356413 8231577 584325915 865894369 114145807 759703233 511556555 127576091 828322385 556345617 339197115 799505625 85027395 251907833 407161295 981090319 680846833 430787369 299078519 928851829 504938605 880525981 46014889 663952777 958260945 973975453 545217251 317785235 317971775 532203699 642983725 202984357 661013475 334994355 854183697 398564245 794318829 410150585 431756971 785104903 516967575 723640107 925434005 171334241 258162725 97768117 489985269 689792209 805940961 683489865 479239293 261347669 588556829 39439653 98861409 261196455 249319219 709200333 451724893 715171155 619680391 720355085 814528955 833677481 292356223 294707449 549728329 192770495 609220753 333711855 68966491 150783097 290544695 490498449 664942799 956127867 480041969 469687757 369279501 591225401 87339083 928861141 487144709 297457129 169047255 564736809 439717417 986245259 603954991 424520329 544837241 792608489 283350005 264240387 267781243 994234001 172011989 145366765 438773567 229360349 608357503 728400609 829892955 993508335 669048237 380936899 240083435 918352811 552701477 661030593 182606743 760182467 628401837 756267599 552655755 322488241 988492057 599536937 122974337 164942771 873469251 329386065 411571125 620049873 153964045 214921495 956426733 977037791 833309283 783862285 111422071 699297649 551746101 742232591 350375467 801955561 80915837 932824387 617444967 313384047 919350593 856126483 300639759 441521907 838049927 879657013 430368403 394680109 333769571 917036965 735422697 303638687 423544303 274179495 19181713 312819345 537587021 783884231 344989325 825570577 513540265 290583769 914774127 43298295 910356531 171273209 724240205 725482471 953647143 84728717 111343299 832996679 839142341 167103041 744171001 812576583 950545497 635468807 332816027 282141407 563046965 253063453 118020067 103015889 274570675 569720073 731964813 851193251 358327863 539270035 369079519 889218727 326673191 477926353 437519785 740531955 944881401 934401313 684841791 574399851 965865511 24393253 164133759 860619443 903256113 733982155 959973331 663871039 128295589 92454471 351177765 80988997 113753617 882996755 868625901 779554245 615537425 697429751 431725867 239518601 462033735 979921659 215774049 875511073 449002591 773546359 373232289 569571 59890953 461594629 282261121 219144179 365120513 315260809 926453533 455990069 651634439 421974323 728328221 969610333 342609895 949377393 289064879 150161119 469265269 413477637 324091783 548437247 835905159 960133105 195044839 129623749 839530753 855131777 280852115 537480449 902884559 80403529 998935003 28427849 717796577 212108069 648756115 269973503 332654131 835328571 589192219 203355979 99341509 80356085 508620119 699177501 387900581 697285641 652962745 460195887 478414049 439784563 14794547 734133247 922004629 1190007 301040709 65527765 808575459 983947937 168208119 611422403 191616247 219825351 624429525 898511265 163907329 599354113 724161271 547555343 599451453 624386745 583794937 183191925 871819245 30656405 607186947 59784707 280072025 882975375 856918723 616648115 70000853 828058847 976338799 375931713 436457403 434207499 90630853 274669883 202182255 458316769 400941323 45989613 113297241 291105649 162128143 278810991 284041195 189393947 419353387 981695653 300638113 521261953 952509495 971031093 52707579 65211793 552153247 894005389 333098117 753631615 541709133 991609323 123963347 370556615 3132603 207744329 994140283 876791851 686859747 320558963 926263587 833290427 136345423 721804793 526489201 265199305 288058891 735113265 805037085 627055857 105429679 343136319 663833563 501574425 731571287 40336391 329376371 863050091 61210539 984802877 845735083 600744797 930157529 965270359 464286297 522241195 358992279 601404053 622432595 724865625 528445987 458949377 160007805 105999793 599487555 839336041 982082755 723372877 418750791 185838185 524154903 164925955 824487939 580701021 740918895 387283963 489269207 210560879 478882003 802551201 958183335 133375377 907851337 264046247 526240997 547959927 621715687 891228939 144309891 738385829 318521027 778479633 544478211 126571619 283533571 969125701 39557225 36524735 331063501 430698365 414859075 605150355 411058777 236640721 288286121 464489087 577870813 130220203 481059639 240164075 134447259 186298547 104213 683217673 279059937 924654045 260413169 661758413 387364861 697870953 694234113 93951227 797736779 728694231 256808451 87312921 546459951 279503349 110105663 728459129 855047953 446492633 596327039 87933235 635372387 748768989 801586719 72764455 687094433 635220391 904096503 863368957 752011341 350213409 551533171 258428709 63380975 40162177 279088767 970757079 332294685 645138241 884347535 736285973 260855661 448641065 823967909 872746149 528255877 360682563 316800581 177687833 775520781 7573219 116398973 205211847 938909623 503474085 469924325 712660179 785216319 382309743 925815705 855621155 5808231 813091179 534262337 387189349 438130935 98622479 188495371 576637205 82721731 637138455 992252589 743479923 813710247 653361031 35106407 198557829 94246019 731854507 468193531 207807515 382245441 595283225 298243771 264946641 933477331 198709417 290768763 291350275 816187957 818685571 797759899 509650139 76378473 963619859 370995457 620896587 289421175 209845771 146656793 735337481 681704821 279486827 871581405 620156309 323980921 801888883 631418825 452391481 148533929 900930481 52946657 378330371 963729965 563562747 936665273 780160717 782868023 853005931 74744163 984582457 121119747 454227813 702168445 989251499 784050643 258118039 554225967 818103893 980211183 194134005 394680615 43151665 671546285 387827641 373390237 85353213 271074403 122854763 442564427 293157441 7873143 543585235 121753721 378584655 956725841 382830345 825758199 41270335 651293029 134392679 933919771 835920881 979016491 139004051 799524801 946053389 967331365 140762231 681182031 971081731 24970977 760503369 949839287 455894797 725725935 619872645 430678381 911268647 71107047 31188207 917201261 707722527 464352367 214108051 343105089 498168449 113802543 408759749 441445111 19265701 775239641 175936033 514565667 59515311 506363945 332624013 200788707 124583301 219259105 230161717 282139615 31490775 210560203 95860107 338702407 352371229 333287351 280396109 868759757 597550231 348899203 72379263 210316465 999197007 111952143 477131629 984624827 135329301 886055237 497062827 387791927 32670337 50834967 684739863 285373435 166013681 620867459 80133075 308404583 478590865 132352133 729217101 534793057 159058253 738195501 995021881 646056279 523414753 408796297 66865041 270748733 341707725 983673271 815525275 720673173 625478487 826207959 188216805 160755299 536778127 928442131 180206401 759857719 169241167 777865375 285041867 389385253 66148409 66680755 190101223 836735435 764951473 194630547 301045827 252236371 544238569 125296519 257973971 711441255 487528411 7740389 332701395 818945087 803780933 618156803 193481669 831340185 986581425 963350087 603605881 83454397 883065709 162805017 446114049 251360119 42418835 474323949 31253945 833685791 677242371 372119355 164089415 62693009 851021413 789304967 320947093 9524533 225735979 797569883 910268889 747804919 748397449 675277895 581627791 27765073 377476483 614789609 213026939 997022271 293307103 898093537 492988585 219501895 281455665 885191641 819366767 804960889 893340619 452611205 739008101 218701673 176538323 272904349 21025395 388791861 937639983 625618917 439903429 350687879 377457551 900476967 399325133 815550089 431103595 823874611 254586953 896663027 432953093 258428135 392654911 721698565 743550307 201689635 58223095 870808961 870614615 466125265 14262535 552112569 966464121 23059685 136333133 230392195 237690663 349301335 348412397 521476923 638413709 649933867 378278481 83112137 233602457 902481003 108287789 454125723 408857859 779553831 41205633 844019879 146879563 668250749 656508813 460058475 753720251 394849165 675200481 293447917 802322019 238893953 285377103 903535549 324144409 861026701 948553971 979684335 372698497 701535977 466242353 303537697 380462335 469659097 888220857 17247869 644975047 644510887 438735481 15369645 189611983 871210149 586260915 616930795 199587287 971223341 802299625 900651505 652679273 30277791 754438887 845920777 607369939 230833515 957993921 366435071 459366447 360162047 696642515 722734377 941213789 395013333 439040707 84355433 964296455 109455729 679029373 710219809 135741593 724175197 285377075 922423361 534197071 696779817 873446755 698423871 82358311 137802099 562171601 741680921 592589289 696883675 522999177 548380501 897100327 740080139 421939169 937477121 540588601 46815159 922822257 460685239 10993727 96569497 509139745 231742863 815707681 428254065 367506461 585475637 867683471 496136969 191061209 16899795 40436227 70961975 601340687 316663843 944320955 521162707 211325893 381206367 315153087 54998463 522328137 962426705 478907617 78016485 60913963 889879365 147991993 388557369 539689803 962426899 336195493 968920245 538989773 712186647 294361809 436153433 783262747 945755449 579462187 685285935 117059307 496336359 72819819 953626189 504792887 659363863 859686675 382253771 351375431 133129031 511690089 187385547 102738341 410789503 387388287 56533369 994157603 85046601 464097067 224539395 34731235 660827329 769486609 908897705 972876867 332439679 247300501 118492329 41700085 833305519 128756715 126790991 242236649 710591997 385782025 25744877 743830621 716057757 636369071 3010269 86927573 970733905 447785063 516969345 951377437 393720155 591903361 967584579 188661577 799712911 150718227 524924567 960148917 447422013 809186049 848951797 170780167 128731209 435026159 763911393 907442987 293244949 42551375 321145573 132237651 419874705 474604635 749468307 723716351 412058675 11805457 780253317 188878319 776700921 865984059 285260381 95302193 940342379 965350503 123788231 291211033 519057811 432013807 81568627 946345541 719275277 681762291 597371931 612336281 381175537 455905117 170137475 476569917 443774699 430174681 812356469 516681387 680629543 709062369 651483331 523016093 599587161 601393847 456395335 542129685 831462851 778261859 301378531 418284643 967803433 81217459 226958723 556829719 83535577 599651905 77307927 493362449 442142635 910062701 749923993 425628789 160875771 945068893 700911885 330936749 428007603 890312967 551956861 179948911 544644925 910623005 795279099 256277687 622883473 65075747 275717281 157366217 212959533 859236447 953173137 758514991 459668759 356198115 376900343 274655937 240632031 895790213 667298051 493845147 168093339 84274921 339039727 653530143 32795879 494917493 840349697 481617657 325396457 897379415 280207743 819719199 434571859 10637197 325715389 839861965 196631127 854815697 894499349 580495751 272945335 140107695 391299817 321741081 153798071 664364151 492391587 324598681 102343207 868498751 7456439 524037983 888677465 640151531 236859551 684849685 897212721 115230239 201666267 201766817 544642833 378028111 149545975 815126845 352511721 325039793 297126789 444111969 655632687 633355845 756331295 833010643 896038115 218990037 551503719 227313313 834331783 408365807 308815625 282639131 837637421 814548205 856001973 945521121 501777771 872945 21680423 917803223 329837149 645074911 581092895 659409959 652897449 795911529 513725801 276330311 816231297 353244937 220903639 751477233 120669081 939467773 543976003 12460845 219160623 608050509 392923279 736316995 418469385 546681549 119719079 760228299 409219189 86630929 230996091 608395935 275799627 735211387 463226375 580138213 462429927 361774387 176598603 591525129 610775347 809535017 572355155 423692477 806540953 963356437 693526065 377669629 856629265 466889081 413974527 742296593 449510683 92697245 106267873 955510915 125826233 44758159 393615869 786211879 636005501 892875047 314381193 503792667 277358973 978679049 690707903 346176193 504917333 141531291 791548895 487604933 888992043 556197133 420359477 505681439 74411185 288704343 272869907 928830215 261512987 999822651 17355989 101066499 692456487 666526783 902004953 302568415 378430235 788668597 255223693 988334257 720781765 555863731 387919713 252809939 131945853 82210589 684117711 254579433 784788001 311528599 364076893 661752289 65242389 991044245 662391953 908690925 759625803 345983565 118291199 573315469 212510005 863942591 686040897 545590401 20791251 423207605 1279227 273280729 668467117 850357695 823869907 724766181 601001167 743302963 716144255 673782085 675783377 703698997 814078905 576677853 890156495 788578729 48999747 927648471 432242545 430445891 13068005 745328809 575268835 720907895 43788659 769251855 775717599 509067659 142901703 897397003 862437025 160927873 770900421 87905261 359748335 620333103 24340307 634735687 717799961 245560105 263263591 98262007 423917555 855580369 873986299 22558749 207829213 859808847 468791825 359112235 830830267 878998931 139446449 515008209 617410045 926026327 760073199 217148685 841430171 410283801 316377317 654873891 509890831 84133921 596770743 493282207 773602147 78936193 14775947 41190485 46222371 756215057 68405913 88031587 62408039 16570737 549326613 99912235 848222155 564443913 446925895 558015067 210692471 56158217 812034677 399662309 390810905 314447979 699659507 325355783 305412325 242677483 873677085 314455367 777288605 976824343 939306833 434521709 660729223 946221371 746237437 940733073 964539245 749014895 78241937 864676365 177627561 670656663 68993161 41723013 51759385 213282393 975310437 291323367 82638883 631975203 938302131 636012391 86802355 182474035 744316161 313306751 443866177 931314051 254428395 588143607 710808781 436096223 373798677 864032983 787537371 927000791 342400039 307754359 705701497 920662209 525240787 792499825 197681981 227799745 976217557 263644587 784178505 929260219 139550445 960858447 330614079 233527651 522653161 62567123 500536911 938507055 454197399 408503795 862382895 45891423 371699411 555990451 463882013 563958525 717246849 664495967 309468383 872774105 209888649 441094539 812693445 677017993 740092125 429046037 561013923 642493039 838011257 451359263 413176537 897566387 226202717 131884821 491014475 240466759 20514967 29372845 748170603 447929567 852532789 687664101 513296939 410526975 237706579 785089789 190476557 51135215 800248597 68025987 224778005 499216061 595716771 371843403 953624529 813886019 807472687 190008435 987435095 724330017 976933365 88480349 443533385 328322751 208732471 239091639 687329993 180424015 138642237 835671669 463400327 982980293 606557275 244465873 494894521 158873829 54701805 599551057 498192157 231629621 162681425 47337667 838241017 33486855 358084085 788772665 457535773 945976179 322116171 608860431 180312285 128349785 892209097 975953129 685163545 183042401 243745783 187483573 810044983 168719867 777014365 541122983 535734051 813779295 3233163 42745147 7277655 213127567 921133085 832840755 541615567 240955473 24772023 925941919 646084879 635246135 835352065 152675281 946609707 875264919 912912301 59891047 974082739 934078869 306934135 595150913 985226955 319303959 66567969 908619153 397940245 668646859 541704307 221467079 526061249 733075757 335037507 380715425 111521413 120996733 569705831 173958435 966820255 355124417 364493765 311042713 290213335 262996425 186575173 118341527 422747513 401672497 687440089 79325691 426304603 205610069 914905469 962026215 108744925 418167391 90348339 291113927 9913571 643742529 65827843 432058707 106674911 694587569 311975683 516093571 646374085 623313199 827396937 511838109 232792849 708685573 577099003 862514991 150566349 644980545 187286593 834792713 801250183 301558973 67603533 469188427 566270033 462190363 604682333 688595287 731033295 417171391 216841901 286762203 937575715 168329435 861949837 861545675 825417213 847230569 734804555 220697699 539072403 419587367 872035397 532808741 857544357 921148829 282269145 872975585 62234997 604679453 224116085 645655209 437587157 6734015 425197195 717838809 678975257 585987683 655646355 944655893 384595745 567642033 699292689 471025997 446290771 568624921 74187149 945145521 534538397 834808021 74864797 863840189 847683955 458107873 159621335 661842745 488252119 587840779 645884129 72025135 536032589 333321183 529879907 964265715 68130277 773985205 555678225 372306979 521038641 705756849 623412387 42929057 556110933 9282745 102958557 417629593 825534963 574126717 9153159 69982081 437491003 860365941 809541239 609312533 74935013 661445601 595666307 662141785 48842283 133511629 576149649 982147995 285464533 515308547 704868489 860453483 339935027 343886881 924754783 10488489 874030875 802107523 155949323 379688567 851471593 286637397 695551633 972500035 231922053 788334979 389391609 677993407 387008603 794850249 943968345 916643563 631781477 614568359 999994567 136193799 728791327 896138339 683502953 444556193 679621007 827911693 536733031 606033295 29872451 11799679 711004405 933166571 592574291 91613787 720209995 769505563 500711773 62610949 340598445 966124489 710323333 921478319 742728549 520357355 919849597 731093331 173533891 458799035 927953015 261993391 316359973 925288641 451282995 968481101 129052139 645477063 156555001 770222203 218387071 983189727 415629461 974255443 4260691 756267627 947677789 762862261 834342629 414229515 157282353 477038921 295820465 286533291 355692919 137718913 958204999 840852609 147823133 814960529 514038327 165172745 496873881 324767357 490325273 529234695 362453481 841694987 153328275 210843527 108215955 262261711 327561293 817919709 653621669 900400411 647274235 603327143 313859767 529267733 788295509 730025927 579834855 858082723 597900063 194529641 484818137 181199221 552799267 770989573 181510079 266641667 669406515 385432659 97370187 378445455 598425895 647467097 98590909 199571999 125682149 134052963 885000413 640867461 918175573 189888007 359988983 949655129 542553195 855638815 882497251 307881721 804613151 216941263 281753853 671971729 9716853 554566277 906598701 913392143 128830839 91255541 308724705 402829867 558180407 805982489 7296783 60963429 124064205 549675321 56347445 549214983 462013535 98728413 29260889 382317857 607460375 705547485 880054537 473937801 787485219 126574675 798178141 828560355 907896771 863824805 874290675 196122003 375874869 829400701 634642673 506312397 200491203 209267665 112724227 508269959 881300931 593606877 34866273 907482753 858602381 33889317 657813451 515723333 344555651 758415987 618506629 947587617 716417807 138260959 507456605 92563759 28492453 332308677 304091305 744813903 526679229 928402631 234615115 493866539 359943643 213330385 579661477 42244143 90551945 629331737 777200037 367418775 480781913 68799005 414260933 851723617 166093539 748905373 264003841 144141909 849599693 458248359 491112673 613427205 778171585 800837519 4892015 484847049 976980079 764665587 547879237 23941569 553917841 242783413 280102785 822464469 659280107 835068675 568464585 736191157 488422727 600095567 556425801 857595611 435049077 622222169 984780475 399460229 135659091 122246177 529423193 154095547 227087809 254319861 49562349 167874895 400030123 524304491 383056579 347508185 673113089 661400925 314837427 994616249 227267261 263779823 386784025 887116565 882974947 690909839 729955805 225842401 445388157 955009265 419786093 767190995 498067101 418163473 97617087 698700141 773917275 533730865 271250257 940126453 749939679 356952033 344563753 513265277 358758477 964166387 230356183 645542875 441956315 881922179 306209903 150984627 690015937 587522295 401627281 605700201 857052739 279645945 280919139 873588017 902539691 99516031 859687313 341502721 616794443 49785797 655185237 904211865 699980669 451655759 108326249 77613187 340446115 958149097 368810775 470195215 244495655 396295079 802496555 309307475 478712957 755079399 141748733 136987187 891559967 260102731 542468715 885554771 950760333 922934465 112972505 616293413 587483731 401395835 940126519 11453667 768325379 512828919 595780859 508913803 367123509 605126393 230923299 882916583 851636625 106017167 351982133 239827077 756096699 532670217 373282625 856289215 261357161 383984903 917294811 511294389 17559379 441931371 729982755 948912465 283238207 432115811 530151871 408907839 870998513 899558243 401963227 918339577 696377921 121183781 396316209 396865217 805980935 384811185 405496317 69041823 585219111 742214991 544133637 500428385 503830919 370609047 902979735 597673121 660417053 616433507 448696715 504443071 342210273 859973081 527662909 277502435 259804121 457819747 413749141 412001277 523924235 512391607 892595457 911019717 922279817 919897807 305694585 84276925 439163505 851354611 157529463 916807211 99617253 306125741 559786243 876587553 616260619 254653393 698875053 290238325 307305497 89399931 588032137 499349451 106743113 40063249 194507063 129013897 226966491 356853055 150928605 447423455 345749019 306364407 838909993 853406149 366977371 332276343 314850127 144291067 1313013 646499651 36610321 268269067 348858187 641527591 181519283 217748037 650505929 848429111 414138371 3387583 406742239 137081553 197279321 911075165 351493895 549148823 263134611 392209347 191589829 521604983 139102229 353659493 867272099 356686499 500101839 950379385 194202675 450258331 264480311 95165951 116608273 633962783 146964301 650576065 543062235 21994045 826688147 277419341 732705853 935323467 148575003 939749629 84883691 887848163 886654329 936700403 695873695 420411113 433690829 800888851 473782809 548546443 153850301 623483407 162958885 234056253 930115447 803993185 753944213 904801467 571951791 338787911 787667267 988300295 184457895 607156939 174626067 327811953 366967843 389726139 146821355 960078219 697883763 622783153 419890881 331952945 36484203 465216013 720323215 41793673 531903337 663361015 325760341 215696893 385991767 688785759 43235359 435055427 557133983 143430397 2610943 914898519 309794105 696030291 482534417 285012605 596231587 202401449 429483123 879462209 536943845 561697293 901112145 952096631 182854283 240149079 853324001 766170171 745539499 497784363 34605399 173185011 74261477 82432495 615745019 440240971 696800351 766447827 454652435 820694581 320751815 476280271 278684147 975080687 123637843 795381925 892942837 113067775 638791361 74450139 62656379 976401453 904286039 967820483 993352689 832940431 839470563 335658099 396679623 923883651 753491389 567112911 30661497 174483883 43190979 747256443 767403655 369587189 25089113 197396203 153661053 34757525 828460655 431291733 80494573 479305477 640320637 951206843 263548275 1086989 165852797 866685409 711877293 120407221 718531065 121897053 785389385 301360213 369710333 427140995 216629239 200691335 649566495 247206007 321805169 444010543 224162431 441645085 352483197 876466813 304663747 17978921 787089377 843817953 52630553 539543567 815998833 455774487 904344631 627687957 779289863 22068263 186876251 722487357 991284359 542309211 89476939 163375965 514503129 912721479 968757335 728522249 429365743 611537095 484354643 353705379 954732995 814390785 71244189 556632915 950681435 259240799 988898847 369548041 295670461 285336473 320064579 616361599 186441469 990751143 446445057 731052083 993152823 299230669 957409753 437439597 843318665 17394333 936268751 767999041 721306145 712750565 627598961 432940161 355342383 746955203 818795477 203244755 518218991 961728415 921581213 380643485 481960609 869553439 430708969 303931919 153300369 996514109 595014509 222801699 727023379 754270513 442537053 871668885 575392893 999715201 4041847 872744691 705612339 833216763 707526145 113560457 773154977 545031599 659794891 880149871 445286711 22775805 965972009 543542921 846530929 103100809 965501947 917564029 726880721 390523453 994934181 259295161 792541407 194570573 70720537 307889275 294230575 332691513 430025 746654141 80836445 183329729 577495479 506332235 822832903 721607413 179798629 752275381 486979547 516046375 864256743 878807377 874476937 583029747 778887629 833846595 946130381 702204991 706256443 212176239 689926505 595177781 947792595 74718857 43063077 113164363 533767365 169658631 699893461 196372797 477555397 602926121 777670739 770910991 315717141 840249081 880876675 948226317 286146939 555451207 595456589 144777675 252086849 640663721 198508451 511377445 74254147 743869825 111279745 331659329 822556633 184181239 407276521 356169867 202615023 989717757 135916771 474076853 2938351 7901511 473900931 120828605 558573011 846992473 574412261 608202727 426723351 77409659 280436519 335837631 46265791 136626875 681375351 635829531 8400479 644581875 506491397 684924693 59292423 583979971 479840781 34861585 948888923 135624851 551489489 410238653 207172221 66760597 503840409 883581195 474398237 744501181 58068155 243895611 345027953 561346255 979477133 643325645 764767799 70719057 731144053 511755663 15125941 834520725 649836249 487297687 360757179 522529203 99680049 273087295 126421917 705608331 717727987 498939949 636583227 84478917 851183521 950948939 147676667 399895249 63931081 584298959 871196617 537017063 524548857 398285107 959626783 462828041 7948495 577577535 610034935 131490813 274740201 952208125 850345947 987314005 536974325 296584897 579259607 561730663 521153445 673634599 147506563 969712727 946495921 548278549 463737853 81921547 512840667 64425397 60280809 130216241 680186865 111004029 219604343 698434885 873369793 308567849 519289949 157812359 581338407 585523389 636353241 925230333 480315143 609721477 565902003 407004535 448575561 389359639 857035317 159507601 227532257 690092363 401099067 588266919 107218119 734446409 588348447 325998053 490743037 918052733 451169479 361028919 664325265 661652633 375333285 359607129 550772881 322628509 917171883 102695113 684752411 566893257 88903771 213775313 925745997 877031083 534553273 460883327 630009941 340948249 178668115 378770605 796403301 419584557 537074497 133568765 848023221 164473163 197770273 98961875 459548039 779231777 129660183 834666849 516722985 904704931 842259667 263360929 855203561 218786059 695410059 738224977 594582053 573211361 464497661 987300601 713511229 124975597 573732977 447359467 126449819 898754631 120226739 750546239 148807089 18045513 99834393 206772949 356166139 336037273 638844035 671827541 805826555 192916513 849383767 750014511 232302139 941327639 229283713 50899101 286946891 589560311 788868475 409939611 687094217 721931141 959532097 758116599 323029843 925842125 479781465 819029309 10696599 192115747 190139089 399203525 7946823 369028643 178391105 560790963 898763547 346568371 271398343 408643053 298139351 371271679 309203463 904855075 66458179 169955193 306161713 919453389 472635189 904863967 317433595 891474219 627847045 532686133 616685477 45499977 926405651 622273991 199077617 614853617 194029517 966257963 617170481 256284097 459438757 809754681 46176315 756773397 563599507 422924057 416381035 555325721 279532699 520952887 635614631 466078649 253136837 647394631 702612321 939698865 295851047 819566659 708809869 386338177 997397465 641354867 416147625 804172143 509239291 759723871 706059963 455155851 854102461 471578079 30835281 705135279 911352139 728505101 200989827 445790845 669080803 684275533 469683951 151127641 537684935 990517581 464116921 134005621 672233281 878071553 814405521 419946187 672779169 404505765 1184431 12059673 621422405 687082427 881469389 502077161 397255053 735814675 74942005 636036489 326245859 164904639 412406707 354548755 913894587 62599451 596867997 199160167 175430285 24610253 230213587 506822189 596818141 881241023 460777915 497742295 813815603 803346217 841119043 986447257 610506789 553466497 46475745 149650295 807449163 294818193 679387025 450331447 798341447 221629539 724384223 19817325 580452547 763585101 901858003 233277035 541567857 842449127 202551815 846477655 64516111 136827161 933262745 229761303 719512153 662719503 442769197 912955739 497976351 7737403 122493685 756555163 883259441 968046173 772947107 888585753 644850537 643537525 868946039 347419355 436744615 592039633 960764985 473243827 833394395 712651013 309568053 705264697 938355185 683509487 23360067 506902731 892637673 374151091 889230527 998535573 305295553 573691067 492877201 306458757 759490179 240933563 736885543 688389971 813190725 879183539 788244853 747171967 220486943 777504483 88247549 381959251 177336627 179175387 774510533 216196575 515926699 311207789 17004119 661152249 324188347 267068853 680745677 639755333 97164955 462691351 197306821 429250599 606798479 27643459 776653155 622831059 7856865 165749545 876785241 885666111 182839521 505353221 371764441 97324843 649341421 886170463 714081189 816063009 338347109 478583297 21502207 709122927 533166259 329342975 113275321 846585391 248448587 373933493 371791401 381311041 972327589 494523593 893673771 700443983 165732933 693947687 798516519 801960901 599535029 655966721 979077899 695186399 557652615 214286549 927945549 153409179 81053781 715740263 240591083 776565441 806150081 944430019 179355243 414826467 243158901 942596415 127109341 562313049 795616549 986164595 31788245 538158915 245214345 601084487 94569331 219291529 517882469 103536103 710310747 872840411 79325571 435835847 807988671 923065779 800426933 540087201 598698833 128545615 768832213 545684603 725457235 490695863 669457349 327326627 978942601 802503101 668755823 52394921 986549313 211529721 731206599 247573357 213278035 654636491 338997957 944128275 484913435 916024665 922543469 469713669 314347649 201354647 953562825 621051129 25534195 943388475 630053611 385003241 797154151 594351047 626758125 672608797 992592219 517499009 160261361 826258463 351706069 831132539 303324449 766155203 237198437 771902603 124394673 457891365 254657055 225220693 523806169 510863787 932927139 60767037 294698461 153130751 933546263 654604919 200858119 483895319 798125351 451026681 37431465 826547503 338606605 103663237 979010589 919460299 6019971 580353695 811685829 709945271 681240787 573575069 702564109 881637383 584051657 921685395 675947107 372803095 24538557 210304869 775019079 692720269 26960523 887564215 545480247 674514005 835705757 340103675 724716479 15302049 22343389 563385195 796896625 699208945 275876291 213405701 976465895 74208261 521801805 21677459 548671683 167159531 918425089 439640739 703294895 235380473 978960111 942011791 370974559 208392135 497409195 500761465 527012493 364020287 789527893 551038277 244097785 688233353 801145491 527851173 474415727 521294873 593779857 612384017 817983937 653744815 489408777 707522763 758112713 822054219 423638581 674609115 192628329 796419133 14999519 940004111 763988875 115640597 492075093 983714561 255202851 100841907 339210603 633789201 980684587 757219131 396130175 651888743 58603683 845289751 278505081 470870771 928636567 695418365 944349383 414909037 438710809 444543721 883611231 737336151 994181187 674630175 924680127 665401335 505692471 928748585 958243567 819782495 677151 245062879 761176187 548390501 178992431 260624989 821645945 596125869 756895905 572591109 988706185 550272925 138534837 497522051 432977873 996786021 485701815 723771341 77033469 6667773 808351993 702369311 154696775 706717221 419346901 659075325 712095083 578564199 194048429 156535605 534166959 572053523 701325037 277972695 99336673 415682111 593810181 821180995 668083801 261497551 55140207 675725083 72993267 525543271 722611377 908282699 770303257 718220411 626632017 96228363 286075061 541738561 568813283 661914835 229267263 971364793 266518785 131517033 819268021 67338157 101930061 87445979 433601695 231895979 750716275 417283961 648665353 565421325 95291427 935866339 509597577 711463413 365111319 93618941 473571135 556932679 875977747 719535857 965967057 654500533 215006435 904279861 622876013 466617785 189204565 570908547 642293191 924934801 849132101 62107363 261775137 569608263 775636885 640071325 773146687 979398313 552768305 950954313 166510193 511963985 10603785 735086019 709781129 274849951 557322007 305122347 411535339 702324923 924057697 791631603 519319929 453218965 22769645 731819467 723758245 279063781 295274959 71754927 862991969 276202285 725576225 11535591 256381997 137410229 114915845 40090621 752030481 162657675 88765607 737225925 476561049 390252423 620934711 803182685 228728283 169170253 652797679 165615911 607509623 41971523 541733909 820147153 313417619 770578073 87332079 950858829 384315101 382456903 245345233 8655065 486026123 147241487 729829653 525405945 219770201 942849399 982166559 187333241 714788753 774258897 316905045 812495983 668131329 628800051 778981421 934610997 91122685 767241857 216194081 346309743 620528997 235893343 586992561 85282827 427032989 941294913 257577579 743982395 422436501 316199005 780317405 180149375 145190851 790779317 208190371 457550743 247857447 410105613 159334495 359366803 635170373 231139579 961169085 847318723 986564907 752218067 272143725 872036295 758811503 250656441 591908651 912121987 452383025 906901649 818314167 868633121 836088855 523751183 692556509 190066967 959199311 718527399 127164271 834701345 776027535 607035039 729336393 930241857 341707797 907246585 627503945 949461703 761836967 370475659 271847517 681973317 252438163 909594857 718411893 604241817 227993777 77355125 650911373 928796131 974215263 98583639 542423717 523157141 836692867 796054143 146283721 496731743 321056393 606003367 10802701 743814719 98357609 951451981 378295687 852436089 668705955 410927801 526803803 370249113 560536121 632699391 34331061 204581747 771280573 674010097 70264773 100327461 704292933 972860981 424871111 249887505 792076141 527543345 936679163 380468197 553763421 450929685 77454511 594652051 213160387 918460891 418933041 650302811 609535957 830962751 400229341 472046525 920134993 629359567 22922519 951353735 578834045 565979095 658358085 635392207 972697129 891488623 52290527 509975535 996418729 607849595 62981723 597210763 423125213 103764641 580217147 680098961 915722537 694655569 982444299 442311989 199436927 137145283 790768991 576739825 856989521 953967607 404910541 565462925 638627999 202714551 878036729 153701137 741114609 127616147 857195919 255153877 681952595 40323041 362585919 268551029 604317789 301945797 426924485 653337809 60880683 940605475 336149987 515954969 73630821 560240559 225739361 727884737 758416697 40544479 392899859 167050885 881587293 714922739 444674005 585782889 517618959 650125557 688227717 607855801 671579159 540463285 998097169 350750217 686791359 580471241 551455849 824037175 732008929 338543251 205587849 366216293 123210459 84268859 49642867 777630207 515698323 45521587 924594479 826297275 700931189 871523759 819557075 904585111 459165563 332922291 954672757 597147859 460321567 9397255 433321785 565437181 968157291 863681721 59878987 471130857 261193451 42631587 353592797 395335093 894252983 160007013 873668135 89869251 835587179 347827815 314393707 494875585 603911215 97617883 827665399 199499171 666136241 893974197 987649817 261786019 334789927 79420601 879916589 360596807 56036689 832205677 43918999 60087389 127491697 769593637 105121727 34294775 959378009 66991091 264277527 368699761 181559901 72357565 964282907 757346159 918897245 806600233 688342349 679498463 622265277 11350439 510315829 254111221 841706607 529821295 214915687 820623149 365751781 174567555 602591103 316603979 931704865 324253609 152191005 208256857 378657447 194005107 636650473 663675311 262188933 854164279 594047899 883970281 305275475 810487577 6483433 545079783 594811693 54289663 490276501 761096667 831911869 982542487 752806253 771820341 396594733 594211677 48024895 330996915 341865013 394870161 12743913 945430617 217050643 821950777 448914505 239391859 997123981 32605477 408383821 475436181 991159027 601956337 585745127 993897117 133723161 982523641 358563855 623721389 561918303 97262441 975489735 877300019 147602603 287405869 135390493 986061281 922827371 505711617 770997279 981800629 72110227 792671331 552208107 175678451 625887653 442050717 164021665 988639785 818787237 291733949 314510443 52105511 781051681 46680221 904236155 117817613 66015793 974580447 677381389 751082303 910714225 511272423 532176995 329705317 545661195 63912423 657863877 364350073 69221801 48163545 9135497 618106293 953646979 318874491 937600517 405991323 293051735 108214357 413357727 725191931 394263405 275297465 298866623 383071207 949179537 561269695 378658521 462192827 588398361 516864839 210819941 495411995 812302309 176957177 329535461 375448823 798554971 134454597 14085351 632513407 800300647 463392869 411286009 544034351 908714883 195621717 764940985 754827727 23524779 549222115 810011591 214722409 482720101 4897435 504435149 346809169 665447359 855377365 351437437 265175077 250932049 995482805 14938515 328783303 849474361 964119841 210773969 951614051 364347419 494643145 790297089 790230895 443086119 31069989 523132403 148766887 692436243 739088501 399582085 549467409 859120413 336700613 729733015 859267573 765978637 87060447 863035667 150935017 399554863 752913249 606425067 375038411 759544665 252639655 668550683 266461117 408933867 658257629 142031013 257696301 629863883 856682479 340744339 901168333 284664935 892056985 567985141 498534813 440740021 480877403 952617193 398927325 640031793 964675195 782445199 908520733 114274279 333435145 232773137 135894061 195593567 374510815 702854561 335965229 314578355 305499807 871199613 824720257 701729921 255866541 237051617 809622739 129756397 697976891 666307869 471270937 118538919 630394947 451742337 34933645 709691621 771779715 122608485 970404023 720373095 404928645 610357039 270986593 435925871 307448471 271264071 663355039 296106191 322118355 720597537 176472013 23414493 244915737 794986549 257948561 31962997 49750801 465540359 982165717 682102783 775267117 139493409 609798095 43147369 882404769 352647187 145822459 190348327 601557617 408216443 263147037 679470395 548417381 356463097 653860673 406501161 624815371 570959671 880736187 626678785 342945723 795075561 286087977 269147479 298963097 814213319 227254381 101642059 484136075 25526165 273845427 5486465 373306689 883507739 54790771 577063977 902724147 687084847 783186533 49700603 974634915 321716649 165868175 726753841 399653783 962212203 334132543 450153877 290199777 691152991 59715589 131677043 485704217 532905337 181805249 751420833 839236253 177785265 957116565 489385601 191777177 585297675 178068207 294787059 166686459 425832849 405521539 708803691 870909563 797868627 483265611 155896285 230322841 203614319 308499087 903567047 717305247 289206789 670254039 134038831 958560413 995941183 81471995 367292325 160793705 585974097 714369813 296179773 551949991 367952243 422511243 371369367 196759227 703082473 478155271 209161687 591140569 139679485 418209407 862276527 308617463 761255937 626803503 448420689 175376853 603092557 401454747 329278333 50682877 413858887 801827213 272278651 269686461 435835481 652565533 498627863 249228079 926379505 539145383 198118825 968779573 682333327 849349837 832208653 493338227 90070705 489382523 675906475 614992731 286538465 27587305 593768561 286790183 746509493 269031311 603512277 296655829 994098117 886433587 202132693 949186861 581270707 600576737 211924983 521734081 732524073 92677357 231394891 323377899 713078747 147673077 548066405 984763077 852980097 728649179 17059685 117074749 880351199 323883213 591002095 209878275 156022719 493761085 799642421 19693707 358620915 636138475 144020457 394122521 665271125 706834647 274321229 917454771 658671559 802078799 183071779 625822763 204783923 580616425 769834943 662855705 505338253 829941119 735100657 119781341 709741773 686983733 121927453 915594141 872846839 242028921 181896485 460840525 880347669 163454719 475695737 476143779 512491321 529240259 295853583 831779361 456231805 536441863 204771685 568454669 68210179 815140955 186801537 426745977 891753461 459691153 898159091 267925309 57080199 616453573 16180687 228379895 257595635 531669085 773838005 469089811 882591097 337673475 236494793 679439805 954112613 526491053 599149245 371558641 404753415 759358615 137887939 841943919 848467645 41247045 603064221 584658619 63535079 243395459 227806863 10393387 656355057 966084197 198792551 845261011 624961099 620439369 748014973 287918743 360213103 82050257 452299949 209658651 970612961 219146219 459029599 93508561 319028523 486518473 172428417 49432563 333725151 801786857 556057225 514975103 159887255 819811087 21245557 873261119 489630197 637439561 858548685 944008385 122673317 632752871 463426205 389315937 419817557 539729545 134436475 350640955 727799237 792569361 162050439 164060473 308945587 315443885 986486629 159443211 303851 87879377 494128711 383010345 596803903 790879031 55498721 954692821 186478217 210719719 460262511 567403799 601128107 81818921 82265531 142531517 376224657 559536789 650938897 120766817 944870953 208961541 50330953 131752291 810654067 954955423 690597825 830806763 256517485 226724301 184666461 410740201 636701731 918004293 370615949 865868821 238117543 513952001 35217223 468174321 357697043 5761097 230995977 570371011 910749321 260479143 969434331 430319773 732629557 344615407 609098313 175448919 696683079 232236605 118624361 230849935 687596025 291165943 822700507 765026481 5128079 369148361 176660677 202328811 883716947 522743717 611162579 927556661 745848471 356985801 767162687 819702607 357038773 899768505 158195653 807211715 979264017 223969089 778925483 515056609 228774161 135582581 3244479 804010431 116158251 12554163 992478297 390389825 768490969 477038493 867269717 424541451 947912603 278059297 456919069 689887377 582656765 97085297 776143003 739752713 769758609 227110413 794411079 91837811 437095153 938337717 674722847 979817625 242843071 342187895 535299755 791717897 739170471 453337513 145557237 122337567 987000153 138322661 776065433 576410103 711914383 483060495 363254193 854148219 32743951 631876693 729487845 461471579 137942431 73442347 93398369 722938129 257817619 40038989 658070239 259940059 571931973 851065277 474714523 497970627 62454807 434339275 839314011 157701015 178794869 839119113 55407213 917093873 5000015 400743507 552911529 27890481 499469215 708156367 926230125 312660351 690506091 382319079 484687517 587358667 240860601 841609809 836417705 544474317 264993437 271653129 335511945 911648263 709769777 690298195 595775671 162118337 563266455 460468923 226185019 942433033 718864379 680522261 129842341 800185529 222569869 579224189 997703179 238059631 93125769 743460441 301973769 826410135 969462831 422459477 654469319 384230495 361343947 556973155 799623923 784055999 520146863 5244611 909150913 671659897 117280821 290014453 204698099 139610643 811457729 271479495 245455309 846016735 839932089 709676365 441047583 112829427 581879445 571466725 677446205 60994099 529740489 982446897 276316165 357136451 655450845 976383007 439490273 872070551 979429463 548927715 218287803 910700901 315275211 793750007 941412107 832606127 62536147 249248035 998452689 3313723 636784657 570028143 218159247 377432985 807985713 766884147 998891351 939313189 71953635 697400073 788915647 175293691 986335971 626062039 177057763 676060933 891629041 864089543 37659499 439818229 637734875 900129359 873799813 669804863 678291823 346016041 517073127 748818217 986345865 918526557 841052365 687645621 576184331 391181365 258562051 463574457 647089889 488945221 317745361 322599881 522131707 868432489 471864593 851142983 646548821 272653255 352669473 768884571 352011247 183725001 126537957 511373813 493491415 826562343 512253135 739557071 597019931 339945177 176265425 805852775 8349655 753310501 761391467 769436933 206707503 305559191 370863269 429180861 165368137 205349635 608503051 385654627 627497309 142668423 797758645 472113559 266353311 4441733 756435007 182306757 472238423 256796841 764841425 163051035 358082507 184487403 348617753 208373395 401080143 609204611 926690637 407205353 727455551 902415863 273784875 34101931 252154873 265753621 850875129 561570853 566668779 204485613 697337991 729931119 916181637 154483167 421634857 263061613 438524227 296251279 555044797 809848517 158818981 648168167 863677101 27578087 73107257 161158939 308466915 850485003 103376013 184442795 327252185 742878257 937038397 338169687 415858569 344308515 443566829 470822703 232095613 973972849 350017347 899193221 804644289 595862131 499408119 238586101 259299565 182831687 930289599 31453029 420164637 875620567 903296605 823837439 749396473 221312213 888569245 222851897 562277295 932983991 84480339 721357775 179697141 943912893 976149333 677154245 904282633 577050865 5799049 805656167 87176369 720140323 107176917 926040649 886798141 9174249 322331441 779142215 671882369 230038437 5920403 731268743 200294365 381496447 991934205 339638645 323295287 721570921 107412859 613659331 712928507 84359191 993041953 872413295 273597729 743390991 535092485 160619453 747533353 572772499 668642637 531625529 155102999 646519479 493515809 707118265 633244025 133298005 963171251 166016599 182197863 647307017 877087807 272467319 550099325 651576381 786813189 928400071 304779235 780114465 614342483 794037817 102819655 157894061 51119991 453697549 716129503 789747875 805677007 182653379 790603369 503592585 661993913 968196395 892265773 647569843 858636451 691794773 999288565 846836275 853925117 472620961 398977309 248143087 612374851 202795699 42460543 638655117 537502455 720545141 402227073 772032637 301325729 772673565 842587925 181542903 342680535 427662117 218785709 798292221 427499055 733999701 187058507 829341525 830641231 172415415 560476019 436591505 881605599 478319775 892537395 554241545 431440785 990929577 2590499 447329243 968460321 271893691 100304991 847737843 973694289 479219711 313909647 598064125 967314153 790287083 216753889 652482421 961037247 818696251 55366667 295672987 386909353 388495347 633098573 87015797 226281869 401489503 935930473 53217491 955436627 443669781 984086961 451747665 854322157 852086253 330627321 692349003 53483863 476477455 824232609 895567085 302767763 501205735 962117775 356626723 230014377 893745959 350576431 875965097 456128943 296963535 80221307 538190333 556242363 896631071 670908143 259891561 621211123 531950501 137792657 962966011 862370943 767509303 900542959 41573519 146201745 668986863 693231905 721854145 781303141 9119537 37938371 959921147 445698877 874024107 661012733 452675693 238827107 60061009 139355263 119165457 822292007 834541149 5923707 148695973 870294503 501601367 432198833 591967665 963884545 620763143 579403879 414989703 325291747 501341061 538668397 966701119 592959487 177974571 117465113 404141497 759917261 596006047 334872391 522022813 414563281 635396043 611963741 290822235 855978387 561391077 313300813 671635501 276037545 566767209 170230155 525422607 624193961 244541979 91303187 240615119 950733881 28016135 544692847 401809913 147297793 212527745 200162477 573280999 685925045 211034661 614436961 911267255 944906765 253797081 733797545 376533589 255872715 88472777 151851567 746055535 119061437 906157415 346635805 457418109 102231219 41327217 5675307 227599807 463984517 859351275 689170071 69931841 152117017 454372897 999568681 995090381 870683735 161896105 457079341 226891009 889110835 118456667 971870841 623801145 876432293 418275937 414800237 429427361 661286575 365337121 936869359 163259941 852434271 496622165 593880429 227169921 393593797 77476085 946347227 63708981 22258169 518119241 676836795 992742791 502793505 84850905 77952273 838953863 554650213 308735101 95574637 665833745 50606585 19427151 323734755 215449793 464342037 380635059 933769233 233416449 308963325 329155159 742484257 821024513 58346233 80371503 135689149 379382715 166241119 436353143 14975261 968505069 58482055 386411441 898205441 74604065 979532497 578070701 665985707 593322405 778072237 979805821 881908205 784700307 531676039 726022781 870502941 928712395 793129437 437213523 782437143 644232693 914463537 927682539 598149187 919109763 401806093 583863415 259811213 952436137 409833987 650078069 912586863 360631659 673402539 708235431 444164325 906816401 761975979 677340189 4668021 737883305 345793963 573615403 195541295 280241421 58343007 653378409 598530215 168098267 219464575 765974463 378688251 702854143 952040655 798942553 893663189 225138983 498041881 258399401 893849439 176458955 200992813 741154927 754451281 219712813 502711785 921133227 545873387 98519123 308261677 271318955 55031537 885536527 380888035 478049541 815340209 944412665 359082239 912386193 183195393 147571311 625493881 93874553 937249345 65489821 556688213 460813605 346064471 188594545 178335901 552836169 526412209 444293539 696207971 481834469 489348677 474981555 789859263 761348665 407797393 20605163 357105367 616125397 131791003 135356763 130366419 935201931 992865011 178578139 917876711 523249783 765515181 531969289 127394379 893915901 573589351 975297359 565117763 236394445 817667659 948485599 189675289 597320151 481091331 284585647 523652383 364802647 76592585 599116415 988545711 169811925 481817943 937725913 42587691 214006555 938020343 237185035 68602877 159964221 628437621 298606127 420876185 784806807 285553961 796125223 86426743 166107343 540373743 30130583 995690267 326987217 239542319 579899121 357807631 577330127 576404439 861193327 524807395 381062215 403968093 410835215 606576437 155060221 500336831 112295321 788669861 635655677 888152451 265165217 143235295 924682909 245014457 958694523 649272465 519096437 930312693 495385159 760249979 470597487 831807831 747204337 161696603 306309041 961357955 218272041 357419517 569350325 610655401 418719587 660894769 131326515 126991489 647643363 378088917 462113585 19748165 87125167 241098697 140334333 873295807 120098457 227163385 316772903 203418427 974985785 117877587 820621199 727461009 843762671 344100567 659546969 593047837 379043809 581555331 951228399 635698631 437609731 356672867 810359047 470218749 709618699 710200711 573775003 2939061 286059643 529521933 893662707 543919981 708088729 302627605 877242009 724052269 685347703 66202827 173631329 535506305 69966829 144855647 902899559 990213503 636768665 29159947 881022737 652241607 636930279 500033299 268671753 805903997 344632067 306790081 417784645 147095123 230620905 383615847 114358785 314016123 486153305 537877855 829201601 677801911 257900247 426785291 65446737 725436491 718169273 10368213 202114757 461899525 338470931 552678449 664845947 24653629 808477641 55784087 350034197 679542479 30507647 639662477 305271679 502060835 996155815 615829145 678307823 425967143 209647227 57223245 648017123 830484305 863568121 358415175 714921499 460902047 517055211 189691687 695698341 142071193 114071263 950364057 119992023 673493577 709429041 418170189 567449417 913260107 812624637 92445437 363590629 961396665 698794797 632469613 734082003 387765305 514328945 117694311 544533895 870741501 581911873 733844669 544428993 400762039 721495263 485409609 865492097 89740969 720753235 766708461 380746775 97982871 81681003 520423317 368368659 8857039 551689665 470964273 502652503 680497961 11852725 507108283 770125825 897319939 849208175 560510519 233959553 576034881 165362911 698596783 558031499 482366035 919597501 265259829 111345435 729544751 531805323 886385635 343819893 203126867 806620047 574782941 755543845 907752135 173894619 134214473 762621183 175932437 617250887 315990877 998754847 958853209 559253617 886875985 936353771 394245677 429793221 427650923 497507853 438307767 541044337 22931441 403244411 245180329 833086061 975989815 951242609 143874615 880472697 253909911 958648947 224670237 433120543 415235699 329686863 552269221 834533295 457927477 772780565 269767069 516300095 751480657 368577317 954353753 296209331 271089729 905156641 366314167 708064943 20675205 699949813 636726047 238565031 642105513 901945561 556661887 853319633 265455679 814518597 33497935 56274221 30201057 59078913 234981001 547855237 399640371 695700757 440150709 168283239 705615835 127152089 575554275 391085871 389467279 704870373 220170665 552592377 128355593 622762787 315115043 794383535 350053897 325964219 305811191 755485185 989775451 956125987 609857879 15025769 869898193 3460885 66164215 76666661 209693765 280881305 657971221 754548543 422223515 642691319 887394935 508440197 252987833 661545159 373800043 760971921 106345877 869697253 814058697 408245699 371497513 828161905 371209455 47838275 362196597 289983197 414359489 755598081 478625157 693079257 756853935 864720565 544989547 348072803 436063919 887508193 1784897 619415485 771188545 242321613 262601003 385715575 833609575 216975495 382865231 132001123 824704691 74566633 922810595 529006239 152410683 881272721 903430689 87476109 56367003 591823339 460672585 92640987 575328763 934654501 200016553 599322747 169603847 407572279 758906767 470223019 584709113 197016291 994373975 18051311 532824205 601909935 93441891 445338899 973979145 120613101 586550559 496064045 203595837 46182835 793063163 521953175 745582205 66887653 652315507 345612277 101804199 289655335 865637895 680749109 230877221 639053293 666167363 72734857 542048481 83503725 183911097 908327793 722631251 346764201 207361027 138586285 79996025 896528743 419285957 820653133 446253787 511853111 662998949 874364321 534025605 859392117 275642459 626113611 4631567 721595197 918248091 700310825 341201557 9751929 308012589 573619051 929555135 267273435 411272919 38844293 914864315 864686295 810649965 240795187 73919037 465326003 174846665 702634361 148703623 575732081 144016079 478969249 931703389 646538983 358835557 110287427 964796175 740593321 752899459 846352187 23958897 107692569 667849245 863419819 241506275 21590623 18006331 334060287 892170313 320605547 627004643 943158765 683981075 801375991 248704041 881982321 649200697 729137537 710306855 850739663 661602357 978319185 802249473 277550995 972092177 692428667 736000223 744495249 302753625 543393491 72588019 158946535 220227365 976351481 850828921 324808183 323506449 60817241 48394161 973100911 829825349 216774689 8003815 815796289 334952047 19104075 589604719 456924077 205758661 758388115 825761439 461789747 25328901 984983943 675899099 852209825 151085941 888111731 842778255 843067661 738388707 264936815 464841003 93030353 564231593 807122527 153729579 313196177 491676319 355190505 855101969 201952571 857471025 586818429 270775653 585275651 274615113 926750291 470272443 953128803 604421217 472953963 369532077 215655715 910194803 381403279 883972319 951229261 251558409 221333071 632215801 292598323 560625199 566133507 24980141 352974967 388524925 497556169 309578167 571091447 457763087 298938763 857590999 97940709 854563725 519863291 260392667 872900273 554299941 699114127 385263505 969664791 459027853 432824967 266872533 790863135 499310339 692881133 400603531 662609939 674994509 38026641 302651035 736790151 221070779 790206985 172225015 788809561 90843425 462001847 148103067 105624235 579226335 499792835 441559175 53970665 808885209 853090335 175040457 64302027 670475649 110186623 97896303 567344457 120644809 372576361 292406677 186667177 384882483 83144479 764913503 838372215 780791235 810130101 334508533 693807239 728230919 852936965 710387081 841746167 142690583 862961835 166595671 62899497 41465487 613010961 9844129 275751883 354056599 31434343 26434223 97799889 857691613 313082533 14875605 905900661 450547351 179931789 55574383 540784191 378034563 312504229 128280795 42515959 496693223 825071681 524431751 251510965 834389395 641145971 86508517 571839443 790635995 800268577 61608045 448706037 48197791 768350961 812167841 241632777 75081541 630758227 493463055 823379523 780771257 171981183 696834885 508136223 32506229 894527351 162933983 993199713 98705525 656852225 405279873 604421651 844875327 684224687 899447763 444246925 666930913 182227673 343102343 533778027 914269683 452060317 826484313 202938765 803615633 244426983 758930955 708419109 116388195 178388323 821910629 521691811 217617303 985706381 552647741 612677061 666484707 281547173 858932841 202288527 519122053 983313841 879873743 887384653 674120517 981231235 389236055 140000659 216833135 362320561 236086003 826519871 90251737 141328797 157416095 891069043 110704611 474453105 760438877 882885789 638002803 792893209 879056951 352523375 149420533 655748433 850413885 12105959 440219747 483686807 233398923 348440649 419905079 441174069 976412741 740031267 276280699 530209337 595688083 995956037 659339965 569166463 936624297 657546959 659374609 240673443 857372607 978637093 106366997 212005903 450317847 467646449 942110961 657818355 862366719 973211175 505842515 283314505 800747717 583459591 912269681 394718671 960840135 842101009 920604171 636058893 956205413 587996437 277235555 405940309 430799369 715665189 144065099 785085631 48759589 311160221 189515031 447957035 663384629 50279457 917866663 616333889 752811963 870941857 17834849 358966129 263712831 270648909 944575027 735365621 759683927 335470243 117318033 409096905 556137625 504252005 573940349 342836923 469484203 514438307 435347835 349819735 306570293 343257007 242194843 333501943 221763819 6195239 33214833 568430265 371189381 437047277 676350491 287339913 19277255 112691501 841638465 830573333 520825209 414755165 215696147 580317141 820560241 282850875 524162883 748208395 535960965 208175815 171725841 538208189 760570523 49217103 350427717 581973947 726471067 984899431 859221291 771847841 779678841 571743469 640889753 734035147 131594029 225438467 968435951 832371301 505100475 206351383 39596563 41166429 278875179 943305691 860776563 588685673 876217747 99421775 464023811 18945295 532868875 587494067 802955589 323601043 909191091 602235543 932575805 186122757 471442617 878836939 573691259 584749889 739833935 384433775 328405523 52974819 705900717 772011495 414328227 590552917 914133271 643737053 448122195 438408135 292321495 366172231 939099347 144245043 172607037 174390111 878536021 329073495 838438311 186524333 603374745 619110845 56731253 702734331 952366567 661373619 50656273 256670813 924740875 60983379 984119023 877222191 970226011 509329789 330229127 894412055 232112313 699133659 886774109 65204479 676819589 988665817 256228345 298356509 227209907 995957681 990161905 765032941 26455223 466753125 735511005 793518387 884985487 835112381 999489885 180460795 737762241 729200199 352694305 886726809 325716061 975494749 110570709 594165163 446414839 444808989 753682999 927719699 785744045 26927475 944192009 608018431 127478825 679097613 69975061 444168417 131030165 750471011 757213997 913158775 662805417 215977143 992233513 205941445 130873765 587286799 892162799 605034521 426935371 181710141 262353769 924172291 100422637 795081177 568494213 838140003 827189345 35362883 201201473 990789723 788365827 193345441 198804895 873894233 509614267 356263399 588121001 701021201 450354935 73278155 171558001 558626685 476223661 505965773 806213905 164808165 137653851 766249015 60130729 650885073 782674439 101701657 480533097 552025369 365733439 160342859 554351229 627976663 568637725 445096811 483140901 336060785 731918649 840486883 503360671 657305489 487670463 180896485 230915893 394006829 877888089 99873895 805272125 84019073 77075519 936600361 604073231 652656913 21458225 384242101 626740237 191942311 364753267 279777625 416421281 673378397 817441235 923543855 998026047 247649417 316446375 451739929 134982751 926546131 678267089 211092667 625707909 404431653 217648819 315884167 28625723 69041847 684173117 358517431 522756883 808987393 454113507 496664137 739455655 424732873 186538151 75918341 972765849 258634011 977685775 464528255 851616147 222794827 214850853 488971787 293907273 88929527 985012613 510180297 649545075 732301569 347975 391397541 537694933 510312087 982263063 10137935 861141561 347503403 568567839 792411195 788194673 905826429 643792665 32036525 331743829 548321677 215536447 412338603 864134603 573654953 191670619 929388295 885653181 367126887 656263353 840522841 630941979 512113569 267711025 699395585 587451615 499336315 423692575 910171685 596853005 369853541 568785003 266373049 463141551 559706893 410452355 748740979 155891159 642535541 677447517 71500501 832401567 263544799 106560887 252010277 863186473 26596565 17529561 632441461 999026079 967542831 540798221 123420829 472432949 871557895 387281199 986058299 206470947 48206275 235767511 830942651 238448301 621644557 677016369 285955145 891770653 818575069 994561511 814073057 141443269 38070633 648622643 404278083 875739647 493454395 160444369 887067893 453386285 41897245 660860933 745001031 139420857 680928549 247917731 360265555 96088087 903076779 207191803 920182011 833195201 468940631 698398449 639359971 215291959 980817173 492066791 646161277 611368453 213811479 869759437 672614147 346316989 407016923 322486809 119196275 353852665 734067493 692035785 73736599 172186203 811225347 697421667 730073853 514488973 631022789 616881143 892933889 555298371 360499723 98632729 997255359 213981239 491050423 499357673 467084577 60833833 83959031 324647181 375012311 444404197 947059775 952629683 201930841 160309309 584574537 471636367 719704809 348725257 304138525 6063843 116135311 987022129 723806979 54464371 799525657 496086937 259421587 75498381 810305057 276426807 244288679 346227465 287610887 44523013 100570981 350682179 760120307 429275907 660625207 675253539 249389013 754733373 763185875 830691865 959420773 492010949 929498419 764794647 363112229 886594485 546730143 258171037 429435227 836116271 817842081 387076785 286006041 707397725 178707981 532662243 789063991 741688435 665278975 352788039 437582675 471423147 377375453 571928701 380073689 716559685 587358291 932587179 88897527 796547725 166777683 13165951 419624613 534533077 781405467 806141741 645991331 498267255 177514543 479866487 12640123 194618581 249996123 540999585 437876605 853093211 601340595 564341625 20982975 106640249 196813461 954649175 567348005 283115177 893184163 290476825 225171027 103118705 491241163 807752739 393522877 549943895 873628223 172698725 942177945 644825839 871654527 789917781 994045671 747186387 216984139 381433075 401609329 886544037 356951729 28381889 1131205 837468943 923423239 386566865 323085119 983364549 375732455 657436599 361575931 57721985 828163381 662033043 198963427 123300867 722576671 274925067 708022439 58710295 518641177 900822349 254382529 797868431 571545567 201989903 527080815 486361927 147720563 245212813 42421947 671115037 136950821 649379985 394263411 685872125 814943367 361997417 317097777 496375771 425409397 280126185 759048277 168970929 951956757 152274287 442366727 367696255 457996753 791301349 451499063 927245649 223918431 895453877 644216477 529252411 23914427 923684823 78856635 227656275 788478505 579658185 522797785 622657725 248968757 918823827 81078789 432990885 921033395 703547073 859303193 506882619 907371201 32031337 523901619 341105081 926178497 308122669 784734527 74535013 805696863 692135213 518903275 346809221 558837393 747367197 320275887 617442669 140047509 363622193 40083021 668962935 620160747 802622247 787567947 748845061 455092577 207222341 236080891 341643139 253820683 899611225 687296883 759073121 473572679 247240379 924085143 863906331 887429815 386189641 391988749 520478513 246307913 269096295 421255747 212500015 708348977 899621639 624985973 645534119 752364777 2625947 612368291 784206389 800607289 113555747 99848339 270289783 870979625 939359015 234775253 863368475 214263313 738266547 262916293 533755857 658722187 80777309 51318143 690226773 300562813 717885255 579556333 922666599 957163793 112851987 88106945 741566931 132330685 841086703 65817711 865507179 650498363 982937493 348716093 48909323 348977811 539548225 595160365 457820561 824326415 773573817 731246101 57287147 382902339 822876493 766687113 903986185 689795595 701306321 860524267 99353831 829132685 16400547 781074275 247373957 426129971 466812333 567568097 887748847 634468533 737145689 226000159 988942647 523980299 725429665 446637723 500066425 592581755 85923071 332095389 872911059 390637713 268551037 768521017 768837747 91580961 104885159 3129411 639991945 963812681 161136531 632268891 474854481 131422059 850270691 409528045 676116491 584838707 573962425 969476135 210869253 170465945 215280323 98235907 670450573 609343957 968049211 290774333 373902335 141265517 452666333 499634787 705399743 888057135 756202481 153508545 540929331 953874475 581417281 553984879 775449043 872414145 286427687 118872657 518711059 830309269 953369985 948586253 2116987 530084241 224301493 51832851 491246481 77481193 642948527 905035163 300510441 312237341 403231719 624266917 813806879 331229933 814120285 464801787 992830673 153701225 688768149 380581165 531469485 749233379 766581917 202042259 808880739 710791671 107003403 967684939 657376687 407821451 216107009 151501887 614043475 139425993 130914081 978075425 108769815 473508903 822790811 540885095 256578511 73557601 705180965 43176785 399639127 843579003 257014269 182505 38626445 760092097 936827881 156255999 983437663 760606407 279731257 726751529 334085309 265156201 707392961 317313993 636737699 545904333 145162721 632890631 356767251 564512863 865499005 762810325 208080405 406364369 394024967 823737575 57791677 822858273 939212913 915683779 322967591 844751251 999462461 164646315 431358833 979067571 590769261 149821109 874827721 679671895 57329301 797128885 859821407 566786969 456574405 112446541 460864111 171605725 337053601 448458725 973368379 262777041 367882571 367733933 167138315 190687591 234191475 196613533 825182773 64404191 628198991 87389303 748555535 746661049 407766173 246443715 953440255 200058565 247636131 640645839 177838701 505156627 399477809 897263795 488437451 63409155 709273243 158345043 2035093 66318137 455501761 775384917 644431949 60491935 809244937 236857385 861819515 319818859 581262943 890487047 75408051 769882903 201073981 451939313 770568081 727956587 637527453 467070125 819427507 862985841 671891209 118176717 446439879 16026237 952826767 728705449 218812287 752294955 834748097 414579039 122371219 803395681 597431491 94920667 401702085 929281609 660554551 224608457 865122787 611770459 277495885 424932261 44507835 844398925 950825403 645164207 951801387 462260521 389241791 603789293 955614737 308578361 383876129 29551153 479601755 921975827 327721259 577048593 3149307 880085647 349243065 52535023 705088489 4570837 87457573 168358389 336878631 764755537 798928469 640537871 953126083 30724023 990068923 459470841 36304587 939619329 10558539 653978417 710156125 969927541 229724545 561829633 148846231 357556895 377813607 639028343 16427687 827138901 50098571 374782575 620538047 898148785 923685119 87797893 603173911 708725015 574521703 872831011 626294003 995199285 984006885 755305337 831750555 854090495 442884137 117362305 920894821 571192751 655273833 44102649 468889511 607494605 727642981 548565609 382461639 813264417 243849823 164580131 199314733 156406979 499209513 125116735 762987083 800536589 76832279 766385821 51466141 929916837 700738569 497854693 557715365 49559925 334327653 437445767 563151085 413554355 820087065 783611837 861211909 698686171 114013081 676530053 253084043 948677297 44302823 425793703 791063839 472890689 753501831 359811253 349538411 924206303 308744839 857262855 468794145 399917607 912723583 688537531 856690429 903523071 170918797 277742269 566184641 73703315 295106645 279415995 634493751 9961813 848124935 661969453 40476207 145502723 344079707 324225621 398820743 632227489 39941515 223451193 712040989 405044347 20863839 329975721 571118817 67870247 555841063 80386625 229667263 437464189 733374137 686352989 309982901 445084071 245445745 581466665 401525957 253794315 822038583 693515411 921828601 777881955 836515703 851335761 640042337 987786151 223124267 861922537 940539931 965419039 294781135 871831455 660535367 825410131 971450217 571276931 865055503 966018843 21501575 896783729 974865573 104930705 838602561 243166981 553782085 8775705 871288629 363733929 862574129 368635233 162295687 757760143 300599987 989472093 712591849 61542059 417106205 814670409 91043213 571284929 470844871 571835303 655513139 325438297 393903127 561989959 901416739 919438785 984478069 815345723 778504745 349152019 586260565 438076895 974807195 724902959 215955247 892261081 481278041 863440831 335583623 912975893 206147273 633265455 818627303 966353349 631115737 402320313 592174047 318141543 865861887 899550559 274803469 272365503 783908409 813720553 763166225 222446553 455885069 789075941 228306581 514761225 154464137 649484717 491725133 7452139 17301829 120021087 368749809 117418597 137169503 358133991 967761221 891211427 308009595 637303539 387955729 446740759 927683019 856836603 706054699 320078465 601583617 495333441 484100203 35491041 235997021 557873611 320092339 647294085 258692007 981559659 754669293 174734083 607172395 700186553 953898507 820412979 209983937 917158933 640149771 246216511 598279109 499716517 988416491 210939791 418145055 663698525 885534389 407827927 911219773 491889651 177716351 586285847 76515603 168223975 798259809 367763343 390617635 829654403 488333949 827731919 410120563 323290327 539369213 21635497 18161037 901738427 421328661 193901881 844657803 737512909 132775933 489511907 484748043 909238903 58463737 386281303 685566259 355300331 866155347 328363141 335905199 851878431 471928155 551036073 671692471 184026579 179644783 131535435 106481419 578691985 347364847 922007093 529727213 185240231 593785669 724199035 740113713 771455023 725971685 55367035 673659431 934081035 958245447 833574613 846621873 74188767 133305327 979637883 227871541 912469533 974668391 344896925 692337825 198239487 167485761 700835769 127020907 273448835 85047831 819722643 902893201 221055089 447780747 208161335 189920921 40772957 155662407 651577851 358618259 575180187 857337343 417526135 656344339 870331213 673704043 547788437 486783289 400661593 893674063 147118971 823639979 227274613 716159605 905109923 52134293 992905491 51663023 941354693 491118511 519399031 189928151 240979433 466185017 845334183 624474575 273350231 870186743 425377653 989236865 128389287 308426295 463676537 397097185 726600627 894482385 661036563 435358951 894197151 88952609 693672553 416596887 390062809 984765711 551271535 801001467 579385109 457624329 177793757 183299621 988104781 37126661 653111087 341605935 414520777 579152769 524866225 348532027 337491731 641949315 943717747 751997555 80861951 936816795 724381517 594841611 367205545 777647837 162620637 816725053 633080439 252297449 387071119 327839305 430961939 585588197 240723855 751999867 869016691 555566973 429306585 403343395 745419475 283077355 672969261 570934431 285425079 948951529 870617361 875157071 569114859 41456065 728921557 887760543 604304259 791130687 297736339 353458687 903017181 537787579 771232301 972433641 881355675 489540371 984688967 350239457 482616489 367267499 163172693 371186545 186488383 18746227 288963979 519680299 136436949 426225377 851422701 177161897 220553265 975976691 212627523 892041101 932665439 255084335 572260635 391441793 99770037 670084005 340478673 71682361 509360331 65886185 485393537 625184623 930577803 419462171 80259349 99426787 665792541 398208481 652652093 589212769 710996725 498487143 603798387 217466299 342261459 43727975 361609971 769729739 192043959 612772637 547008203 458180467 303397361 722864463 389352903 842838941 949093651 590728011 319855745 983184445 115347193 145959657 382612569 559167565 373813959 426359429 17598071 860227021 368753643 165358087 707151051 136999113 141545753 256246749 120392461 683261523 532530509 400447485 696464319 724035973 224143563 531816167 613720359 74361473 311665695 832381085 412218455 303958387 982055197 142261169 837239335 737913227 816263649 70763063 722082869 719718403 474414033 173122255 853283309 822572319 754410135 835446687 502750077 798282025 162605867 437591893 485082333 987805043 673422533 984824869 393866957 529632087 247976427 483094225 384417751 678330169 871783273 372553117 164076875 288644991 972784467 501190999 785603647 199452575 753611271 957124695 612328599 344876819 512805671 299855739 783627767 638873179 439537825 808803111 372937427 512417283 365914535 270861899 135356257 495903133 238023095 17639773 25485985 998952643 896062871 345282907 700920669 128355351 355038799 488744653 510697763 630670405 96650295 985216191 238530383 517766397 249982953 23003591 563132925 592600057 534316873 86700805 358642967 468008959 461081733 567517983 841264973 983652309 266018577 54597955 583593753 832226127 495813287 452176421 873727929 56590919 77804111 780686087 843512375 606338463 567782739 976876717 357687393 926692931 285959237 679411303 978588113 707524643 899100167 498783497 593374951 417135929 827638455 564646385 579399115 324479115 778518215 789954567 749520237 906559263 432070119 703893691 586862215 261070601 833171477 806570751 899488405 253539939 265406099 186998355 738259173 643109455 4898545 65581503 30564227 341081081 706158595 38310607 270620233 59497873 969161441 497277593 572962773 543924563 550904307 434421949 621470867 492407935 586959333 40131169 772750257 24536673 695288489 237380915 949175335 751572299 400474749 907904617 448342455 891218327 518593765 133210559 863956967 620065449 98135981 252046977 710835977 599644135 193762795 274984055 824290611 398308807 3248377 5475579 900404041 264630979 811251579 580462571 73002481 443542107 319958623 432115371 757428889 264864285 319032791 326592811 813919357 847986839 734212195 885108451 489429917 464296037 587653059 770527181 503753151 464854313 789269511 26931571 206826867 45740175 71206529 610295265 320337685 215428935 343529165 102236333 984556993 364732429 490971087 669226999 226999905 61110433 614927541 488112485 103925927 426303183 6193651 420198693 34957833 953935723 245305413 900117741 691659975 421969227 683848111 827193083 197725929 234353747 99006075 555327765 331627843 341432943 83440193 102168971 874451049 546990735 771715805 311898673 823672253 496435119 76670321 122317157 630045287 318938063 663629161 243051281 766911575 86967037 568822139 333418399 977652039 591664199 488395939 963919111 632470453 443854537 178423077 571068873 766435305 97790629 928214413 813867497 722125559 355781127 635786159 887936501 560512947 444547103 851273129 340493315 595597757 527490089 173887197 255641779 234771073 665861735 557533945 523900971 497120301 629685025 777627887 383420185 72847547 850206123 892412415 734871475 452803817 341081951 992192681 115106999 75039039 922732705 149602747 3212907 615854863 5813209 248166219 200384927 885637999 335251577 800197555 791217319 606834755 783329789 439919767 771055203 738579249 983241957 429205477 982841655 631760041 359868349 770398417 999823381 785713379 772058649 709283541 216373103 26702559 500895119 348771001 308511815 943251815 15073987 577654151 843055391 791770123 424101985 403980689 289528075 403792931 61464091 162838393 759940763 853503949 246140839 276183837 198019825 5475571 348430285 398753967 158435509 246785095 892736851 401053599 566635279 490303039 479885327 963538345 124916411 917896731 798907351 640504789 901510389 971838693 777329039 440243565 125311621 428438125 589744163 394200325 192509109 92307529 690160517 30364539 308434529 60779739 697584555 509758193 423521505 974522443 345994653 353358291 206298401 696020875 37976673 748368345 634738827 749043025 916016653 532686587 258142745 76956445 202482871 432986751 106900293 842438711 368165253 27998705 878342425 460900019 176247709 604662309 823190305 141463653 726382391 296495161 642899061 102263791 136902793 318063759 104493235 424573881 948678357 923845589 372461823 5683443 10110313 434013695 485431561 645560981 608176787 314964807 201547271 649023585 123184303 10414389 127571383 823483871 509552929 896556945 41891167 31811421 142460241 834379635 39416527 693757171 577083825 925280821 567878491 180124549 294539965 489180283 305297123 898678713 508050935 635114803 72619725 649725695 172448999 954422929 450479877 316345999 87522339 321767185 238266629 800857195 802008129 921836151 945237191 270092889 168273127 7332045 380018133 108626667 859741629 478283115 527747643 4388473 128219509 536446445 310188945 616259617 269281995 478192949 724253685 420613839 876826497 331945583 146457355 109163055 475533663 595679761 915849475 373067711 77372217 363910871 325143955 798812601 59847147 114319557 826868473 100751401 341092181 866506279 656482555 701530079 5391201 446628497 936999401 109109105 67886337 574643681 206041497 439488065 182583601 194178873 798428773 730824057 319948787 880192519 316837433 414210821 793147215 306230013 593557889 891616417 958560859 934071577 280914481 594527435 232609325 609977505 406885579 276117453 817609963 728174621 747747155 944025269 266817213 539658083 494502999 74203231 542977237 975246993 136880623 128511079 835908207 170145547 960288953 119559735 514279885 802589307 672199897 812063743 980816183 393624021 113214207 137808313 508938755 743305817 765283169 374456355 253067143 430028423 122176701 356154821 414663721 363322671 336879451 879712755 975529041 336881763 389155847 514591167 753457523 381807743 982411031 947819791 54405895 347892009 223969131 485960073 802585999 189050955 999218537 25848221 490220953 53440283 945296381 346430341 929421491 325088533 114284449 636962879 655617147 600547579 392819025 709578387 238732689 112340445 208550803 242155027 522983583 928464397 446695285 224637463 945894231 72172585 77524367 292640957 493996405 387765267 559419647 279644657 422184379 592800247 451982441 734382177 637692659 68153163 972489981 674129029 851963117 39140301 681223537 936786335 186573703 107540605 308381445 299058357 462962081 983612585 973063803 302257047 923162149 226622693 966229285 955689441 352407813 17156623 317638103 233952751 56462397 756020297 771247603 990063085 668550863 390786561 296843353 895279305 691066309 399321321 862194813 350244155 378542895 866497281 51975507 947070659 632071979 761102217 599537753 833426091 166564569 547251217 649674389 679144705 78673763 109203305 941142933 368347041 601179389 726208689 843693169 492528935 735696351 870657613 562214599 238716925 965185869 409564903 30826427 585685333 416575631 799977077 999727357 258796067 965621755 913782065 904445893 242107947 304844775 273119395 772711373 61472501 321839545 482915477 400895069 125167823 783523545 37478427 488576325 506615251 984127419 625771665 297235931 424146147 541387991 172832925 690476027 725889187 503564721 57643817 824866061 921342085 624860627 100416107 797562623 150809537 475179469 888586463 894257479 228587097 423783485 299173961 762001377 562290197 696839363 162007733 317661785 988203395 429407497 101195127 698542263 463625469 561903555 713915437 636195989 364529569 477825961 390186425 744755729 607289435 528136831 428594505 45369551 481233113 779352591 722945359 641474303 556800661 38970153 212990601 116195929 649939403 971616427 467156731 384401687 802850439 9320053 369337075 31007491 617606553 97971825 357085697 444230761 783485337 377342355 121579013 19953951 935134695 266627795 107808801 521505671 267826601 913898549 624431043 515458435 745167059 231632323 931521439 460098945 184995099 78546061 658613935 797976955 896639235 3054513 108520763 421993453 856042705 329851215 181789131 909419741 745173397 227943825 852828727 242289883 668732971 172367275 454779545 534740987 675528751 654266581 633555543 179132637 137558283 840369491 418528027 126023077 838110449 569492847 731575771 838007557 48060887 430722683 591801811 681238831 909451901 223184335 777414023 586645731 957807981 786537425 650825667 359864937 271031285 594686699 244844699 411705485 601219889 502024331 164822123 749094311 241605885 506589745 599139033 295470739 828214531 500832859 190023631 698949049 407962547 462433173 348611205 367123975 329518919 508307823 15729267 786724851 161009341 874385287 63273055 290671227 666257117 938002045 983653205 4057637 624400699 841763067 55465897 313134081 468224811 268506293 894408697 59317411 477272783 335378789 462691879 752647979 236582927 345158091 86293601 817204797 750714779 91061425 756238361 260240139 111573483 182432749 228665615 945018951 261697089 676586327 46690883 435557683 679126435 867973073 171495683 820703891 961676259 978121797 517915621 819319221 7367321 358843559 175685571 694164847 601500709 302489841 11330243 524311331 342382253 588971043 655742799 76157875 666250021 570472775 567850267 432187023 340938821 485901427 614793767 11844781 435648393 743421887 234640309 178723723 141751869 348271693 123448655 471513647 124035697 677339977 351997389 405568553 228307965 416924385 534105673 90428557 292061567 48024917 465702185 130226939 632222051 458601955 302852889 566861977 895925973 220871639 460104715 263093011 553657041 345778563 152731709 8049569 309512983 742409025 106720049 982572547 615154989 543533683 264625847 183121789 607449955 749821571 934786531 316784093 810347477 970816997 480824333 429430395 500791135 103299857 90117597 743192371 475360427 637878155 969175615 996593005 16651051 71402717 408386917 19092247 867150867 555211673 185263565 544898471 219745127 319697497 927748411 35334429 934787823 342903999 529308093 854067451 10810681 98251383 511372963 200559443 392459425 746522673 963362189 780286905 848861763 158319783 566456669 794267213 269265673 133132701 259655489 919077045 609107619 469423325 781566893 276045597 70805131 16387897 538883931 824240447 529816829 253334411 945434195 774688597 165681159 307004853 620439773 275365161 654001781 560695203 35053201 534532361 152883937 794059845 728902473 606275783 720443563 435583125 316864043 269830343 75696379 21608599 331843745 670019307 361823169 314974293 361441633 900057507 186865845 912426209 313729895 434704101 667258457 405571413 644049141 321543471 644958451 798672851 290213531 857544841 907647893 716310663 792038443 836478847 147362071 530082465 975911363 661954087 688103191 149476699 567007939 255320353 155240193 535500539 703421149 203217043 849529091 810757575 662550785 262089001 905697045 251945747 342662765 611298589 111259639 556442169 50552741 203728683 805316659 88707995 561290101 392955801 450209561 109274019 699913715 455303989 979107777 636780485 876216183 763746903 899926025 706235771 56864169 884604891 403323803 20354373 152575093 257522731 556778729 564939695 921492751 557124657 262396969 227739723 181270257 371146853 340218971 187363507 939175649 178752453 186526793 678530441 198415341 701466329 617932673 383215993 610884197 528964269 738139999 263279155 307078889 551498199 169277439 5445491 885829467 152193911 25456971 39309817 692453867 464091699 216114675 532161681 464054791 99238713 974413425 233786637 706766193 92773693 858508803 183045447 107418409 988507009 921151923 974775841 396945023 961614025 162387279 74882183 402013701 335266915 839073393 272227433 112951959 427765543 945834361 530659779 212342363 613099123 173312655 891308437 314537403 432004907 843737251 488131307 656252525 122242751 737333359 843984855 908809837 843758631 924991855 936554099 749340927 860564189 794249457 222087651 556960687 438533099 860739329 749806925 427326801 971394269 143332217 665368295 748060931 767712969 624379639 179347179 570552103 744043343 958621159 875004569 641629801 765138325 203314039 677172029 250371775 192243529 951475359 808075561 817130599 188094879 738566945 139825337 863228641 224604249 288897667 558539083 650332667 415315131 602014487 785697869 158817993 573035669 605021429 117562927 217585833 262445883 434493179 544542059 89346111 904529549 862066645 707557255 530524787 888350703 407482095 418482697 348058495 29378897 449720197 110830469 732538843 593408041 427895191 89685141 354634575 192623223 717313259 996627165 745326051 568110525 798187025 367404547 88670447 416027661 542883685 151076541 501210637 734788861 563451907 244346821 376977955 668811433 33729749 99190493 207366235 485581497 986655117 894391757 135337771 881211739 773986721 896559465 336545101 361832005 316511569 397910155 893274825 65366453 6055589 370240791 333612521 978829681 960074865 571027187 749317185 132473287 666997065 4352789 663010733 262700175 10656911 534082679 213424979 234417191 373259115 811008795 558776991 24427123 561940941 214884105 714036291 382742501 840684911 240862549 809666365 453318255 601901775 368663321 876252625 133110419 866308151 986042489 114311307 683201107 788741301 228992411 706038079 594236481 900615459 241353143 806810123 118566515 842200865 125423105 132517457 16216965 833326613 328086209 15934909 923991455 866634291 268232765 848851783 583002479 229242227 814815177 722012199 617469227 650739859 585924801 296116963 452343697 719788059 799394691 122705481 348722407 182543709 402251901 598109289 320093693 787692913 631494431 243308451 940819239 979017781 77829861 434870683 383671621 754095957 20948559 87948347 451250875 655355711 903017451 837939383 885881 517944363 114100039 513454735 288262903 399567129 12529663 221718661 325087023 258004691 564410551 432055203 184582059 555718889 198043671 340508225 817495415 362925747 531804625 407161593 351767339 466513487 938260897 81550769 146446307 220904873 475761735 395675283 577368135 377856365 969788561 750499605 703308165 749318167 435616333 810230515 404349523 328568037 598687063 978692913 276531695 80733409 782696595 763794715 341212447 336837595 631067881 563965253 959591731 989543273 243203147 86486155 381385471 864700397 634731701 574451987 999972835 829000079 556397863 483496777 724314309 436732225 44818607 327490783 33200401 811161529 946943323 769543123 315826625 611851895 428332359 830385513 854934095 312513731 293595031 289648943 278478789 239188145 1056627 417766389 117885871 781007893 394781965 765068507 382507813 547954065 742552737 692068931 541983683 57169805 575842673 934476507 642270897 871504697 188230341 497614997 975103389 727195021 959423217 223208369 841644477 292186187 178790481 984491439 297717455 330614011 708307011 929406559 485806619 927049707 203179061 501210833 509133677 998614325 270847129 443929189 728226843 4769719 868409317 49299391 697873413 846584349 825566625 312914377 324070543 928758741 721087827 120136889 603876779 539422743 881907601 281691915 547282635 31488741 808860913 28721793 753482225 255887365 215268121 216301355 289674913 906136585 766961073 354877019 998384873 700373321 611290475 545115053 844578913 338476259 689415427 991997447 187349285 893088195 90720315 286418579 175172831 452762519 681025755 709090249 900409785 481292247 172378553 832354913 855495019 334650051 876888491 925391967 816440371 686761573 462613655 172669461 544504791 329689485 26872421 969964305 254850215 141623505 633119751 172567857 67611255 836352915 154311801 117612443 200189863 325456637 476866493 511219643 925979677 646637819 150111195 667502661 220531271 686211401 100662761 397788723 348974617 159320165 397554429 776700875 78038037 159968921 12502845 485980057 589895743 201343731 319140049 153916787 694760741 933396559 998649067 993940851 138585311 629124169 244121799 411988733 731228169 138393163 244862631 834695615 592703181 775403653 552579285 411391661 140846549 322431729 960374945 396064513 173672281 843257421 222324585 830482243 253449751 837221665 763542411 134095419 902350423 108917953 694068085 908097537 488379107 361688641 917482137 592732911 888087063 281164673 212513391 896534187 797843149 199511085 649643387 187598623 211049837 632798387 969757253 143060353 856232163 663428941 732215907 542575437 81139113 590598393 345469803 533806919 551206587 354031743 117675011 51820155 450525855 746969457 493677779 311044413 993377379 686530855 153866639 711968809 163271327 931474879 435945967 324828453 635124847 874250533 583183543 899284573 993795197 247335943 699009711 675256643 557480435 699129053 216350125 65097109 512158089 199136489 733743495 670401623 521292413 246951217 580346659 16483541 888691095 151913861 932360041 198643109 100498467 551638913 329634893 423451551 240837367 231573889 956531143 633971949 131511667 542341553 444293851 869224949 57555581 610337535 897387665 274996849 638649219 678731811 135007999 697689689 479418235 499277469 593238075 153041653 933366241 943097271 256120171 362690509 431385023 535229823 122857399 778022841 355397283 4198353 532655955 512147923 844651425 807049545 739232375 888227967 214987863 21763665 31981159 971727467 88956911 258470939 674156139 389196171 813496851 222380443 354354393 746902555 699347963 358828693 749833225 422179231 654984551 764389521 563321693 220729825 467215257 916593629 762357823 185099769 588725347 372706453 275988257 256463683 589735707 45708181 886000769 358582879 549930397 165662087 693642203 717966399 940626257 202739675 970664639 374900499 642519077 621738441 966889917 4335961 26447245 194257235 563226477 447444181 781108107 31554113 195184501 168947603 532932003 696761633 173539709 631167719 34959333 767350861 100306489 842755181 618176997 750157027 613689441 450437899 841966019 496302543 600137657 110819821 350700323 2428095 553458699 406911365 731611701 322560813 216845865 732392595 733976753 262914901 549628139 336267543 30843601 885479235 266536503 912346975 206512223 473586631 591763445 247877377 51976615 878285689 861779225 414077399 783680639 93772729 396774043 781931269 224168775 832113581 733430399 216521721 374010853 234936137 557274831 880180069 698411719 587134531 67078813 49282121 900088291 835646237 137010945 415835365 529262519 430383133 24546849 236573129 5030985 893298259 868353575 434784455 450766377 556463259 913267265 515708923 598128491 295259281 385458607 688626891 983145647 822225311 270113455 869756129 984988697 696253943 533617035 13159219 778012761 274210703 897281945 861433083 216958375 399522599 174213169 51707585 850429629 9536841 56016309 265284431 12285413 675627331 344712335 467220153 806177771 470317617 763102771 593129309 335679783 73285615 90128921 285886171 155229301 202610215 761855173 113641765 419358269 62716233 57016513 562620779 663663981 692477327 603574687 730865451 276615291 459548663 988687095 348945193 111645797 262841161 877268847 794076785 599809457 435847449 627017137 628706137 825794927 838113979 28216683 379417209 419520563 701870161 676828765 91935675 591213853 70299587 367409477 727969605 252497105 692574657 52893423 157647505 810873985 521196739 791132459 997747543 101674719 581728267 275541463 351555743 437705005 215767711 742539731 148952497 775212589 900931665 891487755 52033829 368998707 103945913 638550637 91616213 214427919 85079095 714090745 898319333 905373477 451060977 842028717 358538179 436506199 275701723 262224021 762279203 495368213 232524717 277816515 475699201 429928789 294186979 424650063 713494431 941545365 828341705 571629919 868819853 440676827 79282031 477089309 241543837 799004087 640845997 433458617 147745259 416532029 380369953 218015341 26315229 836671757 611891255 491963261 41491229 57107787 887334939 221714483 142058913 121092777 614132937 325080289 55829413 485553753 741260801 919175649 568497325 731126301 749332809 70718101 883649157 973616953 608553713 510486631 233892417 408974715 644928789 157010891 913935167 534343739 547507345 685650235 777046561 799765333 350296079 971067447 377842131 677114417 565478145 187622475 673479821 137466557 377422491 532350985 81465031 302862959 194754273 213449225 949797959 840990533 259352987 979702259 660377369 763575495 996799833 382142827 919373459 805960961 800224881 820299559 732088399 36269961 677558277 936099295 94063921 686404735 115750653 598050135 175303271 197880711 975668489 804394329 924123235 804764883 553616803 78211767 964238821 768649237 636613897 792843851 570469613 955605391 714398019 540699639 696500683 3765509 626507555 548130215 713053713 475945157 433146177 981165643 296114075 825616039 24175869 639207645 417496461 915994377 568339327 21413219 591797077 941562831 838634679 30611939 800755623 773608809 183315549 842854255 436188543 836596685 710377715 467744549 425136417 173106041 767343295 688148775 678029593 947793013 417858771 266551195 587771707 898419531 105017351 233034167 719638947 76564503 482337785 167833781 215854007 446988659 292276245 686445269 259653409 160631687 905713289 607559779 596771545 880474879 718612813 952646833 205008919 857058837 255647009 137835801 226527585 90500483 472835215 487183357 205403011 160354195 964433639 659671497 143287953 741417235 949422913 76701165 692322025 466930775 248728443 668267491 117688877 815401533 232802623 871061551 417957451 62005549 564250879 213242715 783564917 747385367 443290865 308752633 370069545 933063021 358064661 833899683 350976557 113045551 198137653 321608957 506113929 384980709 842758111 351812269 250306709 415394457 552174447 148846441 107374059 947864551 21192193 798910187 87559535 421587945 670029695 653241331 816826703 5913927 354753177 753209165 318294271 703947565 218726345 784009931 485606969 330541653 743968845 400762951 802532357 122473979 277906735 232860837 855999405 745647845 290627645 809881291 269369285 569872993 591156497 72732335 769530153 734358855 398793227 915171915 503465469 113498869 717326163 575079071 838595761 601445455 698029529 392826551 543707893 192111813 560296023 372498085 374757575 333892941 739993161 492668035 418781035 176234855 305863933 59778933 509124715 202329109 776977023 250625185 443591329 475252969 823860393 819271231 19556643 524180729 393692697 205279363 875431001 204102625 602447163 691562163 884461295 782782153 317713213 638109211 303989463 795777373 173287703 733218569 246089295 575759063 628556427 772964825 136568539 974763251 409631519 475954157 388433481 183758071 838097701 813341873 650251177 539656371 518122165 963889813 94535771 841206139 255449773 803757589 463785729 989249837 177084857 145131185 755101833 515770163 209652549 139922933 188371239 993238391 682505357 881393779 975826773 402068337 697841041 930569927 974538457 521556769 921457687 620021903 277728705 601904137 498651823 575586681 781476703 573248059 331202485 640543797 321218895 952739149 198031941 271913341 13698677 369205083 440244041 251846935 454300671 296269837 357004915 353584329 926264929 401922961 104915257 854777703 474780247 314517915 815428571 550933451 453735909 468702829 753355361 992303065 720543573 977027533 128977823 336020345 756155967 432496133 917381161 658764189 206951039 71254255 264167265 177734463 487050551 378562281 814583919 200354917 264054227 673844695 586923333 312939285 268123913 67434027 540087191 189821539 120313813 162659287 499366377 290391915 295722107 479594331 396552323 97147979 463406983 310562495 724511859 830185265 862347471 585217167 989918867 674930509 64177771 334980323 108706947 786368475 346851267 350396503 400433577 323059483 365313155 300882195 144945209 499070297 904231325 626948037 74881579 10100201 514026065 436637859 222443069 487700001 933556511 733237867 50483447 37078629 874120917 539784547 341864875 494039841 415477641 905466971 368843121 92058565 338478485 647779239 404710439 652072397 117042845 613110821 494380409 88549307 413534351 947688511 912655317 455594007 122278559 412361439 760439155 445238389 582331465 462291071 43063635 460125809 844147791 35684889 748770367 775193257 335936961 21716535 722032071 759300555 923894513 226535397 689196867 789994887 294563451 218651067 647896273 227350937 678080067 513882837 70469213 581879489 290202233 539558875 603022483 209026509 607774349 722143227 170067439 785614475 304902205 639661035 597988271 282801367 424112267 806707945 218853597 612704149 72886471 837165499 824998729 146588589 76677507 659494321 631706249 354816785 845638045 833653663 2918655 844770749 727317303 289355493 99607763 6478515 437021373 192960615 888571639 239919355 482449895 631020439 303927841 493346473 837225133 641105255 515061713 166158297 335062613 528994649 19135311 977124777 257408619 665380465 690058415 530645831 768485827 793366589 352631237 120563427 56518011 775347157 455506227 235720377 4061175 846836949 83218273 254808587 20515807 673832037 762764671 205723681 512608045 416711731 757944965 115636561 174891545 929094517 734677045 444386289 879022635 686622185 106037783 101652327 634723115 996823767 263879801 494691097 707428913 42912777 480337269 805688703 606342807 722924763 370415593 584527119 488747777 913389349 88219777 10483019 731752031 561182291 732324523 573276097 850167519 657935953 128937375 486789375 228839683 342413459 12883295 462350243 511534733 733657883 314934193 765153099 848604039 679103853 820633383 624874917 690312009 202513303 37439001 28122467 78332271 283567409 862603173 735680315 519541467 289471575 353869495 608136949 93418169 766880433 627845373 389864537 597737855 579805293 451999727 141112887 860546025 258120001 664965069 387192171 380993531 231816557 214642849 507252697 129017345 49293491 187185979 143033705 969147279 620111205 687769137 390065423 945269891 451495767 146070757 466094019 382263807 327640297 876628609 86455687 920896881 378680833 663561969 664429673 262227851 762856715 918057457 15380343 604441931 64154113 663622655 681283023 549179639 959766367 568157029 481913231 384685847 628718379 535903537 144792293 358580609 363004403 218330687 152718595 658302035 289067983 625752107 944502049 584886001 405225819 235149407 308367745 676658949 220950719 430841611 500494449 529028483 928636587 187732009 891857215 945351595 581619537 437665911 525734729 860205565 390323569 129012349 592070383 302917449 97381713 870167951 929819291 101959073 222195137 894719681 332241343 680622945 57106711 764877811 955518935 348041775 663355439 787051217 72200037 132293621 997532527 467434953 198967539 105485801 139250633 163122453 268581905 429885831 848929201 367322035 143608925 402408849 981752867 99891307 391412341 320427799 308439977 684625103 739485959 446062699 465991505 83782711 602551749 289725483 174394799 36156609 484677223 440215609 850530785 942249561 413865393 33551553 560785041 639945133 876453483 45854523 101467881 888592693 915097195 804062047 813447073 792924723 593443209 66648627 112342007 360144301 340759205 264901379 619353267 532042101 518275245 970576995 967873825 500585761 394297235 188082993 170258455 671648533 544473423 117484943 450628341 842100085 576425189 572230123 296692385 442831157 792227165 393813497 147237513 52305675 12978381 776122803 734806945 283038327 800773453 319735391 632911723 115426499 579061757 55566731 481232619 815222781 811108877 101334535 946271153 570749441 844969385 307525363 650975441 902269291 882034959 550768307 87172585 449845925 223673217 379941361 662378019 582721761 415773257 16900771 517591849 669752083 59252663 990236931 317633075 348798719 523729449 929659033 430488831 2589229 379851007 162763055 706725589 521683691 5349795 750436825 234907521 974778709 389280393 368355827 794978395 737789511 640359977 712227875 929734463 541298283 499189255 360973651 491647893 16209201 921579435 721471929 372401993 213495761 326614443 544058833 785246677 195292749 544225439 180097375 282427701 650713197 542297641 491397231 260321007 694995135 507414515 568286293 932200211 422588829 457993391 933236911 518445877 96997925 899052827 344250463 620974451 525923651 29927667 128025747 834115959 692944037 97894919 725271485 436144491 616389573 350754087 239940251 230532359 165651679 211439917 238918449 279378059 787237889 107983865 358142413 367453625 882021365 305350011 513180159 119948003 757643609 209004191 849702823 719221215 116145035 415129701 866938343 741167881 536053169 674621641 600972333 207407689 66759103 912938971 102003501 826549773 782147435 276981419 40999393 181050443 830193463 155776083 318462097 958691713 838158697 251519221 745796551 20385717 652463377 953526459 267261269 235218807 651028235 698614489 141013851 275472091 282118899 203805319 44591421 774411903 679123507 248086537 334144165 28345485 296144125 942178729 855000713 489486255 447854919 377680567 827026981 800160287 812230097 301421201 655065085 337525911 50993957 217232791 370859229 943593825 126552209 907143219 42333401 58398025 77376305 107032025 177534029 406213799 607446753 78341121 596724447 736182359 55470923 189170991 948162169 245978817 214524127 554598381 110510675 339145427 305564119 452273101 685749221 370792195 7990065 949433961 390944757 7086159 880199605 570765411 788147087 396123965 815166199 579224165 745414919 593670363 816135755 655346723 852008699 151449539 745044435 721350485 759995213 625808653 662884215 956335295 813056043 760719205 404204519 941074731 24433415 202407413 493015451 359735915 700634529 57266551 161141205 591120985 491346681 726425381 808524699 943842263 437282399 55637961 15856831 648897487 717389411 907325103 197743321 828018229 356827109 523585711 984586825 255660289 252047625 646977829 632544567 903823159 971504185 368907001 983767697 178016737 381773097 758068633 657992981 192268049 703786969 820219387 932970045 371063521 29581195 503749021 798703445 727831155 947378633 243771783 904250477 802954481 288423787 499643715 727520093 199473807 421677453 35773933 313917635 703705989 504714895 389962013 63050507 307225879 663171363 681502719 132134753 198501519 285229881 382678591 866911425 467383871 20338447 686128401 275947243 810115713 341279783 23282743 740009317 308146359 43711057 309738229 660714111 603937869 233083041 763265817 990626901 438450097 889852015 504751097 179198403 810564963 384728675 879165815 18361715 62797537 756542825 457630965 458984151 375320503 374712243 119006307 218167587 659192951 933906367 983700279 645499485 529640891 219940689 424078703 547121223 975952677 804200567 783382675 840154999 990341215 138079361 862783661 904171073 362661917 174935311 389036377 653884871 491301145 978580227 569459377 350660849 529250067 773705611 135181915 14194031 391812055 545167643 561928329 865206459 863823415 510551661 523905773 983710483 492141837 663245193 789260745 396682367 885058619 203333303 80247521 109709265 865412011 640128399 215083651 703502241 576493137 959738859 31075463 417909071 24899879 632916721 30974793 188815875 207754797 881991179 833855667 481404333 633875311 717752815 257161519 714225669 18277887 293194649 694774453 679808397 447099127 596160331 204115907 667385483 592718969 519274901 656753247 998480913 576262831 758434377 578936089 685724919 191802573 461069701 854732295 730836187 172887565 580621481 515172805 630461737 295414447 888630631 883638393 627650575 81891071 895427247 446445781 500581253 656235087 786922943 773097229 933806155 132437497 287642907 702719453 165368555 985514591 289980815 140391311 494525109 404145645 705643313 623940337 814280385 305946643 338660441 39474261 956679405 720067147 988122799 872848031 70794467 344176411 133868575 660027953 493913365 893767945 725015517 847103483 37262777 857545641 832832867 717609587 618460111 639911061 214447479 320001177 485528609 12074607 67998503 308935919 815675453 73689059 89547971 511520391 332566399 794887841 220260075 437691383 559032323 6215779 984627075 176547931 454461363 314748397 584147125 63421017 309044543 704803339 914664437 777161507 168669473 973907595 122576131 441530221 682074263 23622473 899946207 377020533 575567531 67223335 996638425 60968705 575373611 931635985 694802307 862772319 328467889 111791863 460820921 495915367 217056413 685853395 338526113 70618999 105686039 914937257 413683109 310924147 796921103 820865157 92379003 24401611 809977407 898936693 73532191 625945205 48735523 488551573 562803669 401365489 478132489 164893959 226126121 111554625 574584829 15889399 174257647 291258103 497719769 896366997 107780933 285730601 886890811 58982939 295597965 832929907 828640911 213373135 921682803 948435965 461272835 659845367 226492143 121225587 442648463 191856871 663042105 741949455 665279477 490480377 308622551 433515917 384492987 633812113 58619541 393920307 356604723 757907221 759261833 528746703 301384821 745109755 510507531 103531449 631091295 903161533 557025733 464595407 777623453 879319515 221485725 72724597 154045851 614342113 122336973 64849821 140859797 529565027 471399629 534418617 578382219 349650167 601761893 18657737 306153283 209069121 95000989 158282837 959810893 187315437 784063949 928769129 795493893 813731755 872501903 840970653 460119687 160079159 695482569 483226637 348320701 365243729 716700581 640870753 287927641 293043141 33748889 501792197 379436753 529597285 620639071 4099315 900185701 805053709 20691199 500995879 661224479 407231131 880338115 380440615 42203341 825335293 751951935 322999363 168463113 132150819 85013839 955618127 588685875 282249225 504939289 819848107 657233779 885417391 282642185 934591803 57022651 611478817 899415505 776791663 569763775 101890419 344196207 300208447 879364355 155649467 184175911 746208293 232585423 409691677 848831109 10345259 773974065 541708485 203445341 323851997 803942915 860117219 788727501 640451923 850334181 378741683 976557879 606122793 703189821 611424629 131444553 479820423 408017985 325979255 934177781 79018523 306134243 711939591 393888377 704648729 975204327 905032065 955860827 526137155 965137363 927412041 171118435 443069919 61463545 326382021 821596839 390858423 746819953 323806829 213401477 884895269 711538713 746880693 959148449 488247047 817527709 458842917 13698789 499865539 211769963 334422595 866617989 590410053 513571515 533376933 174521857 512557573 86563725 254585057 119171099 441313027 45707179 842027163 617883613 944237763 502107813 175672191 237807519 614745171 693763539 456454461 394435579 664508491 128255827 685352849 791274711 93601223 794596625 552111421 593047645 924481903 564082105 967945481 477908483 831063665 843921863 140508361 258438533 217480067 988702841 455577689 423114727 635258339 859082969 732823191 128762997 824516695 375186103 286065265 619496387 822973999 172679081 488146391 719937197 263235647 629660177 981603013 486255449 287405031 90657305 543906877 857818675 855081483 425483949 3368263 740870893 658716701 742335113 68832247 688829317 643202319 310959915 212826729 116478271 396437091 757267931 127978939 5564841 323314973 198752941 698134811 785677715 1956555 801727349 697990331 596517405 340466821 711292117 344115923 563452841 97635303 368345909 846803109 506781925 202901529 15750597 524639101 489605059 353817289 514632573 322569135 906471555 15332653 703333919 338404753 5679781 943973635 616613683 421407881 348622329 61673873 680334599 511430655 535195535 686130343 696848821 689942629 399510215 785092505 245393435 543011383 480307781 522452039 392189157 845080311 759685363 132240407 201601 195581485 417842951 528625909 704437031 580579949 400730365 907240539 485435353 904017491 635251351 317925445 56303453 51697021 373529573 458658359 922809925 480194457 298895929 977020485 305654505 448364377 965812015 831654913 778538599 710658421 46650285 973635465 303708075 164661167 823465695 522656389 135504995 510315477 87227703 602150691 107201031 444460725 109626227 299587353 791980759 404193581 7929239 997183141 196442845 430999323 116854767 932965263 426671849 943825517 571528207 713282595 400984977 831994389 745058259 875238455 321909815 912536843 185459811 676071979 547946501 556195153 792274725 708677093 227905255 87093493 698483923 310346705 141311641 177155845 947319397 335233001 661935001 390142623 16420897 298337447 85650993 195387875 168966803 178608661 823465329 416571131 423211921 81824449 24142383 239640857 483495221 427952829 684192269 625595257 848506595 859906733 476412531 835382365 854255177 553021107 545818513 127829517 856562779 630280575 600909153 288815583 636218451 210947911 444328097 141539113 280099513 682042571 608894425 200912977 535516759 369540685 541173341 737025471 330240319 564565151 701733185 664850151 962078675 701501973 106968165 53928257 114874801 430277007 457376117 873624399 331385033 377339763 319793375 42434463 414114895 629867183 785632477 6936511 724983231 781689271 276374637 562477389 989849053 505596301 586353239 254549737 306999733 851427509 275557933 576479549 527766427 201868863 786915143 101276155 964768811 456100541 37803459 613159647 947822923 178778451 5480333 730267819 326444839 23388323 83690835 928546345 736191793 333020125 564087181 849281321 947303207 920505273 160565629 899682697 33081869 326290801 411007529 81016361 370493231 187489229 514840931 190405107 939135267 928281117 776543425 497933017 304064707 473701687 828019367 336497879 193890867 14781559 202688313 972867311 272343521 317350085 57153387 96449579 992948095 388281229 704548339 636639387 63931147 356020169 113175633 51544157 669877707 384632565 896219087 673782417 229849415 972905495 314431099 564053601 19088471 36032701 423459377 32897023 837500949 242994687 955008397 241627561 868204773 906650491 858907897 700975259 659538807 486846037 885687207 965783077 224272825 775190079 557601931 326068887 909924845 960035947 229304169 736442441 226847637 389173913 12733897 982601889 345644667 417250321 168405497 57260807 824689079 960892575 511903765 260478959 187670693 625439641 759169785 204069841 975840229 630691551 851598159 223130673 615489129 466478039 540763271 833593497 113972321 502152303 896329177 172513177 445788747 274368029 262536519 28966351 941979115 518252255 10761881 792078555 418776909 230313019 643531357 588322407 906727877 185863231 69221613 773903143 515588335 131437699 746678633 285797331 195142067 725309733 127613111 732960815 260285239 387141067 754388107 961188355 623247861 403187361 30101597 371897893 355486373 732169567 650821225 471000941 942035789 704377925 822229181 660483517 908159033 404603157 235684387 427654399 980858623 507627041 554353465 391643687 280763769 814436671 126351197 167515693 619521739 217981643 953317301 965969173 819684451 579067565 165351477 169232617 384939253 515222355 725218451 482182329 907436923 900343987 614650193 356659619 955735099 606734667 323563189 109857223 163685827 850774305 138550735 344279375 329373157 537976003 398265211 762863983 145345213 526013001 492353365 926507871 331435953 361266257 664257735 614427491 448047211 961723649 294642691 688380357 16428001 195414277 436193535 258376151 853251919 952153749 254351483 513759985 749415223 906730609 270639873 262328185 205137001 490778333 172347871 437763545 262341367 723224231 351220273 81310079 874898751 762662949 552098259 301984235 133020899 288362553 176489071 115831195 891254735 897997637 653421685 870975769 945034553 168831543 818452511 642437115 327895709 793028489 106536555 868041177 502449855 328700471 618808353 982013269 935597227 752583881 453110485 194324761 369643191 483774025 362746843 830568153 1191805 309861713 858043733 511203405 311990497 658742015 176437035 937011257 681434383 502755833 527403021 523165543 742009727 223660395 399811187 38479273 857763305 608488975 142864287 406634201 202863957 726348575 349384343 209724889 788691723 693456741 249996077 579979155 131851683 623392813 621624057 750129659 793500663 887897167 283418203 572061961 120098859 564990759 661462395 511445441 147565229 646774173 463878983 637688109 953957169 971450655 620729981 742862175 312405939 421108899 756754583 969462897 70950261 952820647 68959969 586352005 373159943 635383601 504827755 827289029 331045947 599559377 664807437 919298917 430875437 987848603 328889701 343386271 440509763 757213487 321643999 56065203 672580903 585868467 727378599 493664493 550416591 761355219 669711033 548124061 312398455 391405001 170092501 354306849 207056803 687711823 45005185 397702873 371375647 617964719 411001869 695440945 784323839 673305783 815430037 922441113 284984225 634024889 124961525 877648267 125553831 432383897 838096087 626058635 153204477 216110521 645985453 40812323 24646363 760062985 60147627 314663653 570042041 400674303 141543895 119365483 892573789 446956441 517741811 136395863 840132563 182693469 791438229 149427029 562695281 849064027 994366993 143772435 361738193 623983399 957674377 946637905 694224087 105035489 105970405 362831053 245000881 742122287 216739797 550007379 889408465 596678207 127071187 364678069 377684727 635420101 273843485 634981325 990687267 29896707 783946683 227669117 461990309 976479421 906445951 991911857 353693455 261616705 617391105 843117143 871571517 330132071 505098145 558097775 450900051 478839691 631302279 868495095 714645183 270054805 403754659 875755259 19997749 251621107 394005421 332242573 278036401 978269597 420498983 179665095 6006647 29616141 708895831 440640971 157596691 888753739 184499535 557476805 213850457 631450343 975583719 170525157 185685861 946660853 58760637 161708389 848797 268207637 876642365 82929801 235745707 317988717 492333461 417402267 958994567 72408747 348998589 688915949 393708393 880722947 893663093 620030169 294286039 608733239 729714503 935581379 172227485 370569099 118708355 687387665 448053199 237740749 562756673 872014905 362028491 573792341 902619231 872261813 559981363 426594049 475908231 422049285 87912949 360711477 845353259 932377781 578981187 682756577 583406721 932470359 477467803 498886523 601477513 16299141 473990339 30823171 379371789 773701089 41821891 883241723 167186075 215618327 272528115 634028661 638744975 181561303 334745581 255605253 914428933 139051995 12086677 561046219 729759207 199607273 34810393 686918509 20273637 384700615 938065133 526803737 325679225 354743369 719007179 51602565 824791265 954550345 154535867 945692909 397597223 224745385 990171655 519950107 899917337 69260629 775537475 873376861 333545041 571140413 128623691 140487559 982990639 77502299 585238853 770643447 762321115 647974069 222406299 743920279 624936005 553364049 341497859 609508561 951043623 517803587 949192569 548242333 426807293 610491557 368944705 821386873 275963669 127040153 320972263 339897965 458935675 807887691 88958271 502443781 630948617 981367531 968089957 442757463 930093661 988812725 20848319 298154755 374174179 601150697 257981945 878239023 132073673 75774419 268613381 61962121 955482631 531284165 43680289 648166727 156470623 10291225 571445457 259588135 389892183 644314931 398034147 113429871 205633857 643510649 558973799 765552365 733890613 978594659 272620477 462411257 410131985 361975141 631783047 260911729 22221185 973812999 797734067 146733497 959282161 488177103 174124661 340050881 384965789 33242705 909019207 94171137 519464837 377888039 879095279 5508211 471432303 278061043 17132923 386834081 970946539 69432929 390095421 370692759 36919893 449840929 865156561 655198187 230061769 851687663 7127323 203050173 779354673 4134283 484190537 719432883 990068287 159753923 693460175 358616571 770262633 262286693 196029545 556883019 153902831 743510093 951001627 266300897 693065179 802098525 885776943 122016899 622207483 808791681 693224511 613138049 424382441 397139113 149507617 613204399 117350149 513578705 54352637 703753323 884946039 324889337 827273789 259507871 504964657 271558959 456110743 693131445 64768487 750997633 404284167 715380901 347610141 680848907 381461969 469667567 729180443 243920881 195127681 387391383 992757743 95724121 348707309 351442219 428786547 22330489 94596397 584157121 153524551 429295499 462717097 301282299 628310225 853451217 79339021 526174715 13228103 822031251 679943245 512900719 310844827 7304741 67930275 661400465 486118289 336807137 464706453 500930589 481378991 642405419 29239279 395566681 239694919 953521259 688633287 741191445 559999345 694368019 115388279 454133925 359239691 82433439 673133731 540523497 513230273 54814863 376559929 246072133 342735105 754786417 834804333 190677931 427014659 17764051 138568635 692517773 830270407 617901905 880611301 354072045 718721303 138499215 777310715 131859279 715354499 754192179 836232783 29007553 857727075 460126965 215917437 735059161 338709461 875170699 36058473 338097849 384555973 382364599 644092995 183470339 492768479 705581637 36764027 818889447 853214623 351047945 841462991 533473561 362229571 609876953 841155393 887326429 593922261 710066587 573051425 735770355 520878629 558995253 938946049 49190571 535260873 475113119 121500607 517287135 737357091 40792527 368280445 408960231 175750493 486670791 757664167 253894575 702824547 636926867 391144949 747834531 530797297 767903559 38218335 680127159 764041861 844559097 763195947 733654381 662651495 565961167 437573349 887250375 500327083 505045745 229422947 296120153 23362853 31905425 939395261 459223859 551496823 444749035 850487645 791176953 709776649 512539455 368280041 974273485 556684299 178884315 158695003 679794015 534845557 936552461 103191275 881990373 335059977 799923507 915368737 838189597 730227791 408430507 808247493 277667405 994316181 448345827 255579375 382621509 607099381 440980811 920999161 746822745 948735053 23849311 826303879 104706409 47741257 862479521 334061961 205661147 210888791 363095705 335725357 311784347 15010991 952270813 376546549 985737763 728259667 984955651 42662051 357549421 660924169 179126705 260367427 487477507 873293667 80144783 764740393 758653683 306695609 411982671 37268209 334490831 367656745 147127725 457607809 842080443 464512671 196391531 675737347 462680153 57731529 950644049 122781933 426653657 568393247 492980533 720092923 815755505 598303201 211645677 582163249 337099743 484984601 121440863 457234395 77253739 850986135 498553715 562795149 103398111 294448369 461215515 124755237 856382743 548221833 818816595 364788933 160767341 913082249 934712605 577320155 778873287 734700765 878645121 944087577 164934295 20710209 368955541 580475261 20664271 589140275 180293999 36348237 280653297 297420029 182725685 542208529 254473985 889462703 285741839 676737953 913166733 616799775 604450095 533330453 625060269 361204207 694537169 652968151 673409535 158962823 546428215 961662863 363834535 777196055 217207723 794471217 639596117 189041817 58352253 465444605 882452799 431300811 329389835 901392243 687916579 704562485 992276915 308714339 64853321 790093099 460377827 644976863 120674173 421105089 573385741 974859331 794070805 886789849 527406249 370259253 758705905 529860633 856397627 982542751 378182519 117601783 176720971 431766711 324503445 360501413 886014319 506606585 551977919 438090023 492332093 609305639 713679095 664734275 140926299 860764753 669267393 269886347 72458097 870907081 718209835 226702423 860394035 126621229 413846477 77084357 93848921 213415007 362812613 755725505 537335717 707780491 422872759 810306297 904259045 71429929 930377939 928450021 459587047 195126513 690279375 444987591 16668041 135670249 486227179 992041637 787234219 914634077 34641129 453920081 218125623 141290465 751711515 952497761 163939359 902103123 818453591 154398265 46757985 329876693 529258489 108287229 181804281 323003349 3521769 946866081 539957495 530735879 343138963 800639707 409017963 155360357 281964017 745146923 921257837 672415029 755370111 969860315 10272547 378928901 361502531 767910137 904745653 480272549 126819275 388104801 651468375 776020277 430207279 210489775 365851201 550977305 511882509 405024589 334152119 956356347 7668873 393075309 76682753 791728337 180179283 432555523 681965941 371078359 887543459 837762005 926022251 334968463 830027315 773288805 333589571 225107401 795072333 204343561 882842733 669887383 812057021 601369301 987852629 692358997 733342937 258049451 27948921 771875241 702764161 455100467 988522075 248029053 42570779 716180445 822573957 885094663 468383125 769141217 473446793 408325315 178420325 85168705 458476799 606076021 49397897 191087813 929137037 309796905 302047111 732680187 52909275 861827891 974498669 578214973 527750045 78747953 302801875 219807403 67466891 229059333 347145943 383018027 564438889 578119645 739506717 158171249 641539073 746576427 801499607 205838581 211480355 330107565 365195191 310581235 612064173 981462375 188740093 331669369 521174399 994028711 780591217 277162577 129523843 727049213 195000159 392171801 732137389 679185737 416039071 146949423 628407797 817905069 30284941 8278457 425017183 375839383 831250705 464466603 658043381 106869435 66362521 560439227 166161607 862013717 565721369 324413291 925504755 74998759 129723667 462528001 979173017 304205761 930207373 116741773 413923299 240495731 121497617 3890155 630919173 633802271 468409 782208439 832047159 708829731 621333539 774922077 790171837 275961391 850491763 288359177 435228129 888879927 109745243 456239799 464546549 646439031 484696333 773298981 259788627 275528307 826905163 985589981 892995421 783658999 930574935 840024365 700367741 999410455 705327619 888936241 2351399 702338095 787890597 306725061 301367763 358449893 113016857 603628947 224699909 960720165 873443271 588547595 861693511 129525281 218433949 351133287 583118889 325978455 26975761 55391141 736307017 577535371 8206369 458638991 195038279 984114633 198715987 99798707 479866319 866469477 713820087 548983147 593403791 387320317 180597985 181536983 138974023 772910707 843024113 671516895 255017397 672986101 58594957 703968819 787884453 576173047 82556129 102758731 309336295 759374387 740943525 678863721 326408537 52076463 871142169 721295763 5659099 973462457 121173249 675548571 604295513 701169377 877127595 538508569 347385281 232857095 845993967 16181869 368411411 660635983 433989417 671294911 793976397 479393571 402372673 491007997 422355067 706970423 485649061 45794277 443205037 835549579 171503435 110932721 376452609 827192673 334956977 673309805 685585559 810385475 370097373 556704361 611867291 9874185 421019231 107653309 198290493 310564559 732440907 730761223 684897207 134074357 247204673 834195123 318297677 565369645 95895911 718905325 440597321 298931815 510234985 749026481 804015357 788083681 42239617 321365695 850565059 486538015 903784041 302010269 370692861 92179435 675476075 197963675 48346645 679328095 654788691 967709397 766617471 897413329 813622649 532997159 756821939 262238953 269260729 569065531 664289335 624791699 710903933 895429251 839572623 126806529 796735919 182134323 997306195 449437617 58524871 123795793 534229787 660814697 350822851 831499167 104866185 597201201 516137 630894003 717204553 956314719 260914185 573002209 302569995 352407185 825994487 280366411 834887561 346437801 877296915 62298841 73611911 668748245 338367491 494464571 477694159 303095433 847577587 161221867 221530419 466901375 340078237 99170599 205629069 388124863 72016955 259583735 114455743 964355729 864643223 939173677 697449397 519819917 535278591 187990113 402963551 114116749 420198471 828945907 794173879 188390327 216160717 990115083 821178305 3005813 822616697 350531993 507242631 256203901 238789817 7008085 858162971 544767947 485282947 247715521 791920791 392981921 287863383 767291939 491909917 526576783 838571063 151161485 232803545 933133927 716880565 540048087 864936699 7624519 12105189 673057439 412777149 746784401 464100967 806953809 59961445 595690993 989443681 866175259 507295801 178912349 492956799 660747253 856250253 961892625 171562747 421864095 58210747 707871889 768879249 944268195 449142053 338001833 597941127 334310993 264154165 482805359 257293483 542779329 672217183 590633787 452748373 195584465 665160989 126107573 77372771 537322539 437731055 297891273 901318713 237774657 843841633 588663979 550252487 381582665 172775173 802703829 239900803 256619331 774993013 32717837 827415915 749059577 801093461 507896417 356901639 707660537 84633675 104073505 530315875 302512031 237810445 11184365 226167317 108433927 460836693 674282921 847710013 667061275 603211235 799146367 746842753 249856141 312189315 474423779 861311247 422275537 417528839 675719829 727256987 15562027 498387785 413680791 432990055 46048163 862374443 478226227 573172023 806775559 552383385 848033537 482256987 810597617 683726723 65438427 454978983 970438593 675617253 940486887 337962617 650767775 912308159 327755151 793464761 565056891 200608797 118175881 348781783 208039439 42191121 904508369 920073413 868900057 544774837 527308971 994102531 964639521 544862765 98146467 52009625 515785465 987880607 316550285 910433555 938744377 158984769 163850119 95207815 409673087 842095949 651042803 507528085 335757111 844776707 98560125 316985443 965889167 689607855 501217565 571613087 309630079 407318181 534526475 965463167 828967625 262437179 835681485 511846079 644415731 589094869 632213807 649148843 203087183 255034847 320455751 304487691 382600181 181716425 658311533 270582841 321669059 340568591 20064587 589067539 729809253 150639665 601063625 196661501 214439495 66202043 745717275 444361703 804174245 301035327 706074561 475486537 791165823 506638167 20300667 264082717 427392411 641663399 52134231 626052333 303265417 448519637 934523563 395131077 746577061 199416985 718831377 70239803 609363211 358872231 114327407 872718191 934610085 194551751 536843503 543097863 955482405 323261887 141069319 500893745 748703233 454366563 760552307 448989091 997906297 51083149 430696757 928925339 831242647 132895265 767464349 793041631 381380905 765760773 246044733 923160253 877298377 255524145 372357873 861042701 273745879 325554073 382944479 705439021 942737787 815670341 230298995 682329091 376109479 343656763 555325791 316331259 698875407 210557839 164183457 206377485 168155447 812599387 925373053 246939577 881372007 467840963 845943935 175197697 206296493 293684207 268209531 951092089 259072739 925707793 796435343 936430129 174010025 515997029 974035997 433116875 781099111 650043947 974006483 436023661 326988877 580942511 251556003 91328709 904998995 641504323 362099915 699547401 922214203 222546499 520480721 396797175 386641291 473686285 695108221 554393813 664334997 720148751 18295527 861137267 96943985 50726329 660525927 918227749 64860157 618143367 842290087 789776587 439583205 439712251 879656847 974785225 224241047 42547869 279077461 389455889 48900427 427068929 733079923 836523797 403555329 431295425 22543281 245287127 397971077 269279873 732737047 473846233 692787297 101380329 194828029 396588333 911347955 481684139 499231997 844798825 120439895 9008003 557037565 930065321 882830457 787135537 774181927 366829717 860048901 599560579 669754609 594057563 640017271 899206983 155309079 384336049 160983053 640474969 295417501 706131413 605806801 401895581 166995919 482786191 444854675 414623739 902054977 698069801 882372073 377834341 171996879 963608445 890300469 427968727 420976031 239691241 188881569 263337297 79930653 512627027 333772313 460432353 601158907 547994919 73728345 523269781 838488887 861617247 859961311 628025225 573330709 227104885 469998323 369072097 738300451 940940403 860405929 603087557 348195633 238246885 893641429 207020647 938966367 830537187 691660825 375909123 695222543 646305801 92754141 721254875 630342383 424217985 363001937 501853239 807665 647754227 365209453 23469675 31190357 670437531 347655155 127758547 99630491 138575159 84569963 605632205 709452691 960704265 373539875 509422535 360807501 887314403 598180405 695792179 38181163 850273561 158323327 836710537 88939211 50890379 3349421 536436811 682677789 78515613 894099245 841872647 397787477 42996801 560589367 690339659 983742703 41355753 601367757 606584755 7781037 293728919 138894005 12434915 167314079 394504143 751815297 941754755 362545687 965197215 860313737 398691653 421900977 176444831 611845611 577866213 927146323 718204395 747099027 977633061 421268265 188027949 6197551 729694925 50650277 180784271 178231863 508323763 943022725 342996681 205772523 613946029 819407565 184790297 403408725 304371105 761657289 773957957 143350853 286589559 180878093 180509597 850766929 369972257 355772535 382789621 368209627 90119067 937708841 866952877 785829133 809356007 189279887 922491819 117701843 380009999 667369313 296814941 400858601 424960035 606749335 909610935 880121549 468663871 457847415 152980795 729068489 602380423 778768269 769680365 208628717 245232419 798786479 688780891 971822607 541853511 733037815 1425053 641688529 139360299 747874505 953555281 469001371 572092433 635237075 239404187 611004573 832662855 973426697 409765675 648498641 416093467 438847397 117443383 685230325 947911403 365367855 386358653 903963281 318041879 808882801 750504005 224834041 273736201 278073469 564997211 281145921 664710963 975313589 546845205 402286411 907224593 305496759 659440723 742982845 883253029 172857459 728285563 941344013 166923511 171447069 58674809 836888685 254615325 922784817 395174855 452157409 155167533 85563507 998998625 273716783 295474125 71073007 770841805 648812265 244006821 199414265 471962649 183732071 689231977 754739757 991810781 465499591 489649105 31784817 204942903 843478517 891228321 927505393 339226315 761076383 870637985 607813919 212043721 893183037 57156775 538286265 748632551 627325457 787960713 820765635 836911715 576130337 197257005 128885641 72668677 121992511 811447931 273239713 798090777 361313281 283602279 265660389 752183669 634179531 371331561 683605369 818963321 273274049 111158533 26433483 257276171 776362455 784250819 295568013 422197657 394293187 843720249 123124159 921862169 293260805 386649725 95780001 731068937 882155495 237504437 277606081 111160431 731733367 424641801 134388469 250450649 290462353 24629421 668374103 13073503 665664465 982416089 788881227 459919007 885419937 993468625 534960257 541499581 492387635 671800799 89617895 695223401 832200571 432061011 930285503 642553049 490944575 202377867 975758731 701336013 341047041 45016039 188481301 847567495 677596183 506212305 487810421 552366809 681481109 208390331 348764679 351808537 553460317 151863075 653498219 126624803 521436951 807839879 186903187 978276959 901342515 133930097 188550063 247315131 101665769 727958391 729440573 20219051 813649211 914045999 335823105 487895089 312367857 827503679 104064263 993886929 623069081 938848593 77062819 384153243 580413325 780145171 973074291 117421859 268076013 76325699 970547801 130011785 723598751 80077475 391284353 201840753 635583063 47212541 220348515 569644299 855032205 390639139 705328823 486112271 557220221 319410157 133162371 527995831 929147445 996747073 176925459 377151437 570060927 899367433 818850557 921932445 224023801 212149555 426959643 101823997 2553089 173309373 898649233 332594255 574094781 220010409 421917901 117310325 188306209 28820737 55741571 450165725 72163043 172137687 538139309 727111553 804431237 49041989 695970195 415074525 729443149 308368747 621582781 573078519 942152523 313723513 979742979 338177887 33357403 348328091 900391295 128397097 597864473 857241361 746507415 662434805 496803825 975196697 983924213 990214631 823576079 596569085 582384783 976110001 794296943 783676947 502854049 518069637 766298063 389093811 754184109 657359395 512959673 290282815 873694595 599971795 678123643 629581601 374866229 909379425 209283121 588485325 197611297 164246309 759205303 796670395 694509289 879281147 656265399 848828015 414480505 200026699 528526753 732996979 616736519 134561027 262831279 922604633 118474767 206472345 283411679 785263803 159575637 226480651 29849851 754258747 424077031 983523807 975666833 803134595 610010133 510560549 695039739 633563207 870234239 998284913 736576089 877118015 48128007 451282147 429841043 435943215 708489435 469504287 875186777 263557601 262150253 388045399 983677475 82421799 387184251 661390141 801488691 133753305 665205259 705052947 516759695 599171549 624183909 79815835 355675657 871605533 52249633 558137641 751578937 861771657 548293145 184779661 995440767 759889691 870028401 300036395 35643907 189020887 29979031 699564773 439099573 22686151 868951871 812592171 747665229 687285757 525800805 890692083 519878475 987871123 186358091 276364219 927362041 905587627 863024769 31666825 684356455 918977391 683961817 466160621 701965165 361281811 324625007 180590331 525521065 695183055 664624809 827051347 107479431 784318951 375907633 656892953 203768115 962628517 90033149 283457791 762062505 121071707 952767817 10198327 977249193 827902563 140694681 200683139 618144697 659449119 652817337 908751399 959118633 618369017 590192061 61615089 535070229 548603237 313100291 336916793 961571161 68848605 237370157 849824219 629173663 79386849 800128039 640109887 557159513 127589885 74137897 214283603 203674811 385532867 219678379 770515853 580921547 145971405 158415987 277390829 908556363 455908029 254247565 856755701 138766801 39871293 304076879 576370615 759314353 899665665 456011603 149243079 83204365 458631873 580271229 907586373 351620301 577046595 815982843 225507543 48975521 502241101 30936895 962741161 89155587 775648945 328764425 174252405 282045745 8482637 451652953 379415157 796033587 843071235 321930623 336024179 411759067 991078329 496054797 365868989 478803649 348275813 249234655 638948901 402972741 117669375 973424409 867771919 88085391 994815117 899553835 525277533 135872655 49132053 394187971 188863103 337586941 20154283 196229091 475295083 715958107 230475369 76289485 183835295 897860591 315044977 661338381 350281251 424414155 813760493 125594999 588648579 584833991 219043857 331471143 591203285 259140993 683042839 978097539 740356281 607597157 246517311 23924791 553306453 816103073 544260309 604956725 931076181 132195885 245209387 796779195 996094451 206083017 936827547 809946189 640925931 835696639 937441159 554573239 398729603 510005791 598753371 41804557 877718153 342397249 783733895 580311213 187860565 723453251 639074181 278830649 775730627 514160079 954468825 731277215 770840381 179802455 64601103 236499985 285106605 611146257 286998453 477214477 185069963 884088573 87660135 674125657 181104597 925264101 48735431 623974909 849377043 67600217 458086271 728104273 418096209 523558319 874503235 348650479 865414693 871650825 833960141 926915003 309166511 138019407 820953565 217036515 694526869 109908275 74960447 438836443 569504003 70474025 772892613 863851359 265188019 705838965 318827081 423219057 152962529 173673247 146095791 341663329 823970131 478726645 710632413 369253569 357862487 512480657 811154377 93447533 687572933 633112147 5444717 742302347 468825851 15085667 316375753 322401925 352588509 272639153 64360937 240486673 173252827 925126647 395770847 473473067 680344557 378743219 977688263 515880727 204943245 99003181 418034623 401739617 702988483 249993335 608604661 216087005 948074783 246883689 804379033 350931367 343028151 741683363 286290661 606172965 948810279 108698763 104964383 349132547 991393687 649707093 64935821 294655283 834000821 991464183 885842051 640954355 65404853 639804467 374902875 762815687 369660249 135566735 149643895 678171005 17490917 986997597 26661955 655551781 789901609 496912309 401529391 945017631 360138873 813389173 49639095 454904845 328193971 729243977 233368923 379914973 690411073 449231005 404919207 810956739 473619981 787836077 121934381 270916921 901694095 552982905 586993545 419896581 415449543 543869639 113654617 430060341 905908023 326946599 772314443 641721627 369541361 564347637 21529615 263240275 290595979 948688205 504859233 901366721 274339361 425416473 971567105 55760019 422493531 446029323 931066555 902695229 806934631 316638617 985825633 556246139 977555707 15315971 131142863 286067793 302476115 638131539 996760291 607218955 975762235 113524823 466062219 58407997 1968891 531350441 20707767 195807683 917190253 661328041 614323299 388555459 560318447 362991743 636584335 225095335 245829477 493631261 168697671 856353317 128193345 607138359 614237853 17182265 152295797 485434961 386930861 545177895 324291203 34895283 811764629 665571707 269054573 409967979 687881603 69720843 954551237 731600979 385600935 769147375 827343521 238353931 857075005 960632207 989830557 748785147 841341573 691036055 274735841 125779027 85850061 49492731 28250907 656310539 471313507 991766261 58988161 851548901 660108707 285112331 372019153 108618855 712882161 465677065 85708113 832711395 500638131 632422917 125684689 175898993 990706785 206704473 189722533 518333423 184768367 948367529 486038957 215447561 296399205 130724835 123781197 65426477 113503945 32574011 551941749 490181779 999512367 106084653 727713437 106621499 335863347 858145147 46675903 943811057 848077427 803708981 569015397 364393791 285036189 286682029 764370331 225148291 150583393 753518719 518802425 494499033 120086395 79714961 22513819 769082157 523097261 323195917 344996393 598170411 878722239 872873065 244874193 286662991 985548677 19899745 165734473 937957081 211064027 770973175 926368463 658068685 974295455 671840635 626723369 99696385 62961855 725664897 249154471 837325577 609127979 684570593 859420701 661819207 967864287 691925955 14567659 913717733 21062877 716776595 233861367 692272079 545450029 479434755 91770797 895159233 959116259 282859025 725551111 593409849 69642779 716342785 803368319 264721279 938012147 401136479 649035551 774810791 164613785 261815041 389838963 888526469 68813885 430969855 664932499 608090555 394988827 407069891 690389787 904436913 444755573 198684147 998042931 300673175 416874387 976228233 671716489 252863589 119521483 546543037 581408851 168471005 141370483 699305495 784379471 547526279 224187377 609512031 408608709 336421553 599160493 232527789 135006335 509425269 271234841 267727195 328565209 893703857 252544433 411313679 931611053 958327825 819176437 673590451 910182241 519293955 927648627 6012285 108549351 730523071 293329593 801501415 707489201 374836551 790829157 694043321 498373057 860048993 315073045 854107389 919260315 919516063 812249463 556806407 554042957 367157081 358523197 539358835 142914159 690938029 15007263 31025703 614312221 53245063 414801887 840131405 419393023 242762389 55219787 705475675 263498051 238083151 541310513 209361421 237813919 496994805 185295983 606205543 114627667 173314449 867377379 402390453 375129121 746866675 778266491 91848075 573902939 603762609 360059689 110549447 981040341 94879791 162199781 691480971 530041839 850438289 698183345 661017669 592372111 130792649 342178971 946725031 307407905 656044689 418583985 599298991 390208415 89378919 971665169 600121763 332418181 495248021 894216409 402162443 149200601 597359147 216111927 178536895 691771177 995440639 926567773 367585751 635905421 142656947 187331203 403474109 287520417 302280879 112252141 50053145 655164047 294040355 277462755 904485087 163775489 256545033 637917627 211543631 317611823 364108063 196503755 253058283 627126999 814660589 999517817 102777725 173546303 813041351 102688557 350855709 912784695 459839169 666192985 91135269 813006101 472046013 42216825 443626555 562383285 425155427 868138255 90961225 335742845 709710371 509735845 226171269 598606687 634271285 530829515 232126059 283324879 858013851 662399007 31286975 371600329 264617499 101705279 155929483 216247257 162454087 278542299 477338921 980327687 379226743 208209567 708964399 295965165 44231881 893146697 137473157 738562471 260008233 206955931 726528597 523268319 868248133 816401759 739795223 856258239 250171029 423450469 368564355 952511487 730890587 48084363 14075295 692394973 935643549 707266223 475005879 33562401 881705773 889934785 312590687 145934103 456358817 269739693 636022133 642692245 430626653 134951281 122791451 59500795 490353797 129244943 35558335 782737199 30166541 730063505 815069717 77133471 60754091 974996999 561468183 514106943 51695071 544072079 49180683 579084177 727555315 604310089 709719679 96081305 240442357 586543967 229910341 379381735 75925697 228054275 368377209 801091471 335559155 168845681 891328895 769090095 285337589 659768811 190486533 132618481 929976825 195110331 958609663 495106943 123293427 172806961 682854569 725285649 136848041 693493931 359348869 293049703 644146845 87934345 101564515 771018691 696513829 122317621 540489045 407067639 531320405 849529379 664520887 722994521 203668239 855799499 72333103 302049221 58445819 454326449 189589927 852078243 455131273 234229597 776134741 54403039 103384561 844656485 107934133 603990259 616513589 947280737 465486731 915204571 334372637 471788275 809588707 446382109 94942519 292851653 956675089 773246409 66399453 490158217 917702067 660181107 891448111 845151741 884788139 856015929 880301843 135078367 360235303 255602373 29379645 86474233 390813849 56249921 500207141 550128929 741264575 460461669 273344263 295895087 993230751 605042033 66458865 103443717 478415745 366465833 856966319 617584013 212782075 788027355 883217625 145082041 256776939 209465693 305654995 67144583 870174069 560836623 575138753 228745205 940456705 470982615 680689047 733069325 370203721 977602851 395443723 974552805 739167303 892266985 88559519 673880469 967021373 8540327 700240025 546346559 869529531 683715939 140730377 955711245 636808081 139383469 162700491 329414963 50211553 389684889 624735867 280571369 185035017 362194885 126683269 300089203 226366393 556840027 967220501 835409435 907484645 316980997 658340391 620300593 957996745 974610429 400377977 110113299 347311337 547337725 41209493 617163041 431420177 365639503 4104137 509844165 210548053 300303039 360702257 446574707 617067025 574079653 318061737 567435683 434042091 478336989 773390299 551462617 569822671 426103503 562880823 110234783 239804911 803055209 562958071 300142727 493675209 815169825 320997401 306196011 732580129 496137717 962599271 794027565 293620227 106851691 301150831 61097783 863802307 621392019 692083339 870952189 258559231 407614465 244726747 989053239 401865625 636526293 272734279 365116585 238405055 195854771 383369343 418258973 536055525 818368971 825414395 19578725 731947205 645878741 302967037 543575131 198153829 952196875 978463627 266826721 211651859 62140983 943473271 11023585 52120927 496666277 644914009 175536975 981094441 861989165 674906769 451612451 906439061 818091819 878952007 14566753 161797645 961063817 502229355 39929107 967526727 412993967 20177589 518392907 977405245 996936345 858666405 10649891 207327543 994070467 626081157 845003453 724981949 374677045 263988325 220459075 601782951 57251707 743837213 252863465 727899153 851346603 300054859 212533223 562731867 224635237 536805979 675094403 890293047 884998861 518254203 213282817 814715797 94014613 955958433 215363001 842394291 76912623 864580755 114817795 661067797 877396637 981798869 115407681 850684807 505035747 922434231 19559391 428246045 529096079 946780501 614938957 800444211 565682425 840294539 273584645 682440559 445195261 957856003 575303563 736178109 361051651 579992623 320217449 789268047 449319161 164306755 798017585 468984739 939845717 962867269 515234941 839261055 368373269 468562679 293748207 990112747 200485825 266132463 745035313 10224189 752825187 415231361 414773751 912330771 79640215 886796495 470265851 690073679 420329335 765133505 719299069 406525471 13656489 142131975 522875849 889500151 410414431 133910811 958236721 914864273 503483467 594495803 566529039 948197877 585829039 195792239 609626949 445702251 562804303 246658185 942104509 358534539 972608377 622626081 61745771 719168303 974244357 941212823 494022217 832497789 518899793 79781907 805922135 796891359 830876737 813147013 192162209 751579915 822877253 581047973 11248185 805577213 156572243 670175221 391610937 204301303 945723113 565953979 349910467 205014921 909109263 769438985 322958083 479899269 488569423 145713335 278394665 852259593 634158533 963705443 430855535 615223415 564533003 165287289 773184537 636157563 715207239 409044007 592329585 338118155 609753131 561254501 71419593 433867875 46458603 823414515 524570491 181540871 484696899 302011997 632741353 427417539 810436477 143120365 155493503 66507181 183555175 189920961 634445997 638623773 922758229 484682933 343348719 610479805 840990245 94571893 125444293 815936883 236221503 51406701 690322363 756653433 174188945 461378265 43043427 178711111 587849363 83574455 715015255 342615715 433672255 837629905 839886905 949725083 249933085 176992695 942495925 809185151 114056253 903489471 490900859 796918511 587843125 455327755 761074245 384906703 218042913 493640835 558292953 209259081 580276393 652294105 611405565 977482705 739688185 892215425 142929797 983707687 61062603 867719103 259429707 39567949 469987931 193104027 343436081 982876045 132989807 859314915 693766691 905852543 380763733 182124081 66755089 924254205 215107557 364471013 481651957 867437613 347875709 818811175 297781717 39140217 424901633 360861671 934775223 756700055 244149473 156905951 202728111 199117955 366934291 822373517 766350039 513158017 421777943 994663737 566359377 835721245 176074479 567446005 261516617 17966891 6925613 201274009 531944687 152952265 986678759 231599557 279303295 366482521 410135225 670092255 132361529 454134663 236192459 220328475 134124649 199146315 631920073 308376431 503056481 808972765 208978669 777098653 347018107 263492291 362214387 920138283 698042651 982600649 115252769 904949611 743274663 125778949 677236039 284049269 35788437 239344335 973237433 144071975 68660063 208058577 39860309 19325741 824411781 601318131 505950085 322024691 270382485 702536041 864438835 905171381 293969181 2859699 476506071 254862195 640878521 890617489 421452399 830961651 858513675 748855571 965923203 412169157 788042431 215418249 891577119 951131973 267238277 328097171 751850715 169672591 232492057 944005141 470545619 273168781 591409723 650181689 668247727 782933233 481367991 752728693 505750685 586528049 18950497 613029253 217675345 917906573 677507599 822761323 431643661 556489487 700384165 726093431 261463957 741095301 209198095 505936955 829550393 339463817 854223421 292296339 188611277 113747835 824679723 507746469 533487281 820921219 665427673 913816541 222979273 72693907 617289557 216430829 619557767 573910623 265648557 416820947 231719645 725293931 230835453 269631443 8241483 373691903 254276455 647844985 692907225 19140393 70730519 243962009 534344723 881255875 46530365 7252561 797035281 442036077 859665173 983202563 549561967 606990223 327735009 355176029 38389845 66460249 709311721 994874705 247167345 781792707 831975553 893456669 132377081 680385679 789528835 339633223 806037163 434744643 762199763 297122199 317459917 703431473 49746009 993116453 969187373 624147313 301041415 181103945 540902437 727154657 912552537 694274477 640109197 40581165 547861199 27947577 11219409 665364675 823199477 868178467 734809307 999504347 203511391 225742565 499925029 359288951 613852323 101622599 520011945 875820381 206949 199193681 7145713 651123741 621231185 776359515 239488521 460098579 857048089 308935167 692210313 11621211 711057779 518500643 588584333 786308065 714811687 631016433 569303485 938866257 130757627 31533023 209458759 773943591 870888387 596820649 964811745 554669475 685850203 885005651 691256777 762311881 883699873 429726505 779955397 548565103 133123971 746234559 361856549 554004009 170859251 550694131 572524221 215176793 365594855 168461797 319259629 954057001 188414567 731191815 301590681 143230853 502265465 443018505 28783155 390466089 768918323 144556265 620900269 668630675 155184811 789833453 789164681 781532683 700595207 910433949 475672523 568531621 361977965 149465295 723351297 363477045 231679509 679285921 652290883 126905693 49829173 346656373 881506861 121030789 672923407 988058361 201308391 766237405 376958705 745755681 184662303 744433501 880525609 35005991 576405003 934410695 669257747 436130961 254459241 765824419 525597459 323896621 227729025 940097343 142704017 542836493 470560029 727925429 85708287 776494989 833921177 602563299 371469017 125434193 916447949 980766837 783426977 534595911 758498085 334775513 976412127 73989539 364158349 94032199 849718313 67342561 668747129 618229185 508398869 674949315 293063915 834486797 781202505 89523033 501781863 276257469 558471021 110616053 311751419 628901417 771191603 509804083 498651455 996887407 101908055 653529849 943736399 814411131 183230619 532530547 827141587 798201851 125932487 613377043 263544825 680537191 993461423 889802647 926000247 884258559 448682543 358782979 700984715 48552397 646832679 820103587 873080061 353793441 461993601 542672907 493760793 566612753 924748847 540880665 159640501 142780289 419599917 583310831 295512881 630254613 539243133 385135609 822250355 878557887 696012071 869588463 567936231 630873913 833307457 541347017 431488903 241730049 55010273 90898637 245101517 831114593 36818221 567131273 297362883 239938665 631056205 25299405 753887223 142529007 984010099 850597561 239470717 549523861 416416987 369370799 774088179 545516227 587942855 450476381 607192705 12847529 444809855 587095479 816087765 930708033 460095577 960182009 423370535 164645705 233277611 435943845 448886833 573900619 909229019 786837131 790585403 863135637 121094737 915359163 257614869 415691585 175656833 459056023 514137107 154778159 463654627 146781629 8014613 186201607 793403641 344589343 809162113 931325753 950123601 429075947 830141509 992257021 763970681 463042211 451807703 545796949 715376399 930485513 523967795 866567175 924168883 434880553 604300515 330733989 962453519 839563351 990701557 183708551 696970965 968752177 270487805 663501773 687376577 375600023 646363929 227667037 189977237 804469947 135883505 483171819 560324891 73945869 1654709 31420141 289601059 95818315 817200151 27266213 640600459 392147321 836157783 73147417 953564723 894108133 239247421 685642011 82700549 415932959 675811861 741330241 64851955 15239943 747200437 227647727 452798201 233738943 75775101 764352073 33406745 832470965 362356563 201840195 987681117 137510811 128398757 144184211 205875157 133040753 997604455 476421049 550129311 420666743 755677979 641799679 640044763 988790843 361298629 670241397 751712691 407302035 245946101 450654449 116258651 11254937 475104447 217124885 62915595 978825651 107025345 632197705 673635079 119098763 917809445 102382271 168912279 179119637 72176277 142908011 80666129 365242769 977624905 391730963 808765643 437672321 203642111 80156729 664481067 881369519 692418815 908167219 345210009 329188147 20508437 598230805 18576265 626616169 678993559 467452865 710193779 650835185 799644519 296010975 461102811 594464445 841428709 26876895 428246603 322204413 745363205 223900665 681822547 362222639 443511611 464352559 289656977 98249751 652908421 976751433 35507621 476556481 108606313 928544981 751564345 15486337 167572727 137335341 898269441 742345205 605897667 362260081 906722997 326381823 878238699 234260615 935343897 375624651 331036441 669823011 958038007 912746193 618982775 672925885 501535775 159309001 995446973 700410513 935851119 268341689 814382379 366230445 968085703 800449005 929754243 51296989 63031057 626129147 362318615 433257657 102533697 850114749 726825149 180354725 745668943 169040471 980107729 585082309 439597119 74898743 345107003 746713613 701649179 367885841 19896937 614120755 946307827 448320479 730733649 722260409 345601765 506841833 207602289 29177829 543036177 272076215 866961615 187208391 722235297 130552865 107704825 487056187 38831049 77783105 204852745 479834333 509172929 363950973 828434839 30630681 595950285 468811647 435867343 786219547 455017015 195366205 456885851 44224991 582033489 727236083 974600307 653660963 452302963 995680291 885318615 297520241 703983875 463339165 265080011 776573207 156164203 848939891 722517533 111111729 944248345 387885315 810319395 571686299 804159885 939181295 570282431 463285503 904888645 615378723 639636819 720879309 319269325 62063317 179048911 81056063 663505589 479991681 986906535 648220499 111032731 609726955 408119773 826793427 508949791 801711393 167516407 296686669 680406507 813055347 863001087 270374427 515924915 702583681 814044561 966274909 276917809 149561133 81449157 601530875 158061605 372418213 108082759 879352997 130127961 312984923 982477633 779592659 381622435 904034573 610720877 395517127 929117915 626956481 156820741 228590727 345441251 667941823 629307859 211654373 942112421 147821215 1424931 210602873 985365 943377979 134843597 918357155 259274541 997320887 43256109 574821003 708218861 57456257 960283691 754855969 84369503 111216973 107306805 78838301 40067225 263076631 138693953 831539711 191327923 118926113 704216525 204693265 503505871 590161147 273330145 620589923 688665881 993736055 166747399 708345549 17999551 134967729 725039195 889520109 494340353 308639247 808099701 99267887 800636701 723792699 815456129 759416769 115888735 604096299 605083177 877339803 152772377 423616539 503369383 291094909 120705955 68880783 463108279 619709937 60322149 731449171 61639581 136008773 566482883 925838459 521711405 410062485 884024115 885153893 23488183 326405565 471148077 441063859 335532575 553912935 574581301 480868689 33107655 732875781 243761365 425908087 307231903 983063501 793555615 896156317 661188893 240223679 894140973 96981129 4717119 52185507 672286497 154469191 480780171 912852493 289473319 648943149 106520849 710317905 687346927 551078613 172386919 442834577 402567475 961156643 317251495 443850421 655057335 690766661 193311357 795671917 857929285 243110575 829674261 126536243 470300591 665184539 445040419 969453893 43904207 3537039 625369833 611168939 831392647 528068441 426717227 546196279 311309763 824544523 565679415 862830977 165299315 495843201 952666085 876289769 68539537 363964895 904957585 538876567 233837089 608265109 72636709 187453563 166679341 287158611 401476107 470530125 605373127 346997269 387567419 844736143 161684489 805772323 598635315 476158343 225277717 611832839 368168953 11669575 971913751 196319125 708785181 838467495 277444159 453930729 800725941 241968965 182968007 347513705 334900571 666225293 830802421 436633281 651093819 310897581 134640655 488424931 443449857 54357149 131403881 459872781 553516001 731336223 90129501 173491651 859501981 950778041 766417997 313738705 879601529 721944507 869000355 788817995 789027397 903595585 241281747 713396111 989090387 468693031 899190871 3832639 804594823 828129049 522942383 219857737 786452803 890894723 277064039 290784991 472118135 402082721 490223889 46184833 222338969 394514033 648856647 941300719 646378665 457090749 889797547 334375735 37769513 546722325 15727593 251114927 185723435 932444623 596843697 446024689 448209987 290582029 805083071 82285025 727349395 605577399 991005651 406143917 564976059 527850111 799664057 116037833 809983215 918618585 847820611 846173937 501509859 234065417 334588491 778369319 117220051 757093399 730959795 692790971 992987529 20739537 601218151 615307327 390241875 392513745 931749463 80554639 995317765 208161655 919933823 593672657 910595581 366256107 524327135 190259311 612986661 194631453 3033987 74824223 91475687 358118343 575641469 504857309 499645499 83903335 716664039 218283501 519971999 156137285 657772259 713612507 516301083 263450995 118970013 970664059 999188795 807561161 597225029 525268969 716040725 995989735 958909463 361000843 969197899 115760435 617363795 379533837 487651837 193909729 341147461 285555041 329062367 627123177 205227583 604207557 477302309 497370375 827412125 939831485 378430605 336334023 85727165 351936023 539744861 475359097 428989709 813298915 380643683 472765237 431034109 408663169 342998775 752366297 198263303 482877843 303711479 778724113 807589809 603648263 221760199 712346955 847748993 103848721 302590553 365661887 786000395 909226539 594083103 696563053 569713129 356664349 13738777 179149087 570401983 538061551 665236943 159308387 841901107 290052089 628181837 828222869 605164283 222471381 658504489 332532177 673521105 836078183 644473221 499261953 328384631 271012831 890474499 48184279 873393845 798185387 955008209 89934025 843795295 181978253 816299433 117966615 785023311 397638279 540100295 798877899 250971239 615971813 292646385 887062195 474539667 6430779 436218231 844498281 779024579 523170149 192849197 234460237 511995891 638358153 479975795 139357319 79482917 619774737 357066285 876219401 910740833 653702067 170685387 563414663 998970555 986583915 413681221 331653253 770277709 247105661 835505685 764141643 415109947 657055605 761149253 379891943 354262187 590177833 932287585 34257715 23334101 735467185 915325823 111619791 811286253 381285493 109552961 62560035 120194363 252080929 501905865 515445855 565688325 197730217 791195077 977814139 220527263 842792263 159612783 566715961 298600037 974626945 438030211 673096223 273004981 785881637 825871433 183888255 11649789 221701699 656054923 660961649 700059565 10904379 55144611 270677971 170974017 672340143 382402927 482630737 586513977 188098189 655773013 933708121 967814435 20055049 303256385 816475939 148631949 350661791 927258539 180350129 565584659 356602129 195985299 54353609 578610777 247775343 967950717 363347707 767699463 738490635 679918711 46973091 230535631 384172417 69966615 983306717 54377837 128580023 670707839 704618645 538055073 618421719 209673553 233486711 814702905 830634327 746948797 765089023 217069059 577339891 177234809 863600237 88264155 383353007 125939907 861737669 98149285 791832277 264407393 154108381 65317449 941371647 916746403 254692681 356229049 2615299 69691741 414150507 436855281 427849737 739437295 323762797 382866417 186166141 908332093 470658875 932126407 941207569 990577337 793231505 175833729 727377859 546822997 260184557 151834939 663776727 820625299 45593239 417260057 870162393 175436405 917258915 146375235 550068895 740921231 554335205 480843243 528691521 302624241 963646719 7888205 583273001 366641983 958862937 45826985 904180223 880349851 967327011 305434701 269675191 600610229 497123927 363327367 472270479 916412867 72825777 539918773 340368141 77998211 897798847 651746869 589749753 605310267 292917709 523908213 203063915 948389819 913145077 776201447 841921469 78817111 253232919 772957697 263821461 96652783 949849817 723075403 732724189 210982633 810004911 463768651 285112779 76492849 860598481 148497303 360448729 148458817 371426363 601349061 755082959 229579795 662239673 685881467 52402103 480563249 773115355 517579105 529758437 425910697 525550329 356532521 171988469 208923149 700488753 670832783 969391053 718781825 531347567 198373205 158921623 71714727 634889057 269201731 539707337 178852527 926577279 505531183 885609759 874637903 489403913 88886255 443038621 637851333 140142601 539362153 797129103 449030617 997166415 218169733 310002827 269882837 102307953 275900213 319205481 35105941 654086355 717178229 921104465 838527091 579333017 910845511 104049071 184582997 995264693 611603379 984673077 398408621 109699553 622928079 407078371 412549999 592188827 135625905 180091385 308129047 731702829 59984767 797191173 819009199 952763047 402096481 428767197 457719493 789635039 128504713 577620891 591492971 718535031 344332595 565999779 880817989 675356887 129751713 292992675 160858741 424287791 527392797 52958351 598726571 666842489 568571127 749944737 246477085 253872499 27436685 495056481 51209611 559050919 527710013 637368215 938609463 52313699 493776757 83871579 495121139 36238273 159703719 26900487 203932947 978622625 130950731 707804993 187002487 64085675 111717093 140449523 705936773 396225615 694332157 613297747 879243051 560519109 602325033 403823837 573181917 935326735 305897983 616981845 337491613 349985779 256956197 526958789 644397551 784153347 183670851 480334727 20284641 677251223 195038989 214073905 30388235 44874959 34215227 61602987 910526091 627144593 836199311 312303905 227377413 367263121 690098391 175548677 796791465 729328965 86367971 881633813 19776047 958866927 699518859 290754389 753082065 51460245 793613749 437884945 131265879 997990153 129438793 450295005 927518993 908830433 551187259 105879191 732994773 658823809 440053379 354479969 153970175 178422285 662276389 471123369 709295991 246225017 448799785 670899491 617604265 109249659 49960869 851190729 491129999 981233555 30856111 679184609 357374117 129404683 634829677 189106681 200117745 525989619 212118535 915037667 942215681 949976865 294599089 971466683 554162157 615836727 332083875 831101413 501092691 741299869 24949281 945101583 522249559 46404997 447245171 822012205 790122923 437669861 341138671 482823803 190240129 83972477 376691437 821887099 662810777 176187349 36157647 43881213 679395899 651103041 779902975 346134803 147617331 370845141 352519919 222039065 153439703 672883827 405098523 651721397 899569415 352549827 541159173 338874321 285575977 855844149 242800951 929255843 176799275 382247427 848578883 490591911 822364547 217177641 432529345 158313121 72915759 420433269 563523671 353098653 310016181 784503923 762725549 187421425 105420835 612972413 894258551 166138421 919837969 680475571 93303661 520388177 789881757 327514621 336075859 927076977 38257003 39930889 809403379 492133639 717050541 195199317 885614367 920090321 747057429 891856411 633610415 674207189 610772707 442051177 7942793 353498715 59329503 554864395 5528213 775289849 795624021 776742041 287327175 649216141 590549021 50238071 302975255 872958267 556017043 647914953 29848713 627911533 893036703 439750275 215233575 307053015 888018863 162734171 451265795 349335417 220581559 730351571 361515573 283934355 267565113 181608753 747339747 463318453 676443195 17599365 875140151 730539697 65853767 972906411 291928159 387691427 233655671 148060479 941143963 963569135 639293289 924529581 652591655 356652867 803244355 467117345 348594259 855543955 208745393 49346967 773922671 37547803 210179819 112279501 214035157 510519135 700929457 69324877 713717991 216076331 464450117 202410087 562532367 530984339 320815483 628569905 338555841 637759987 264866723 398919309 687414133 442517745 645271455 754877475 942670767 757856377 978916821 391530083 865832185 36265405 609664307 286929287 651941605 336032315 675651631 104004237 610675467 915287223 134265799 552076863 452481553 267896893 755296899 182710315 618281121 11754785 973746541 90883499 967742569 292343809 452201759 212720863 303615785 615689919 939060919 767238063 50806687 680606601 256493787 885319371 38069911 388417491 797846199 228031659 659564513 184649047 712349443 461301393 14326107 278348059 52078335 150090115 991962597 463849581 684138351 522866515 284948587 915930589 13236129 362406809 391196379 137709131 251526253 299120821 7608629 659687899 31516975 547179727 228226679 779944695 700834511 280475863 347189677 57844053 56758459 337099141 765914857 686612207 835767785 903507545 45360707 279521037 443961303 98424479 180253921 832335673 182725003 839917153 795437549 518360645 946084501 361901949 262046615 740420947 192062985 590354063 498510873 921310913 75130247 471584771 911593655 611290433 4151861 553991431 413905595 128011459 290934207 892962963 699696759 681163653 960620895 393694823 674065477 795422475 436674767 229819917 636076935 921674529 894462809 417744339 53060007 104878811 453613769 363221973 582782233 835628437 551464567 559066863 52105303 374929397 920611905 656266187 970079457 672061159 953349003 955587547 313574979 136881821 404504133 630192725 580241677 909544343 747809253 581526329 133782493 274880405 798452841 79587919 756001877 225644197 18057559 149619755 899765787 804345371 295363263 686371105 487547877 262221205 931469877 41730643 848566891 268766199 541367769 879483561 230485361 89041001 595744593 981006291 715153089 318400869 578186953 179491147 362660653 830801829 74015739 888498511 834940303 213765419 122737443 365304295 54292937 659885639 99944967 104174565 997168583 790352009 184433397 562408929 922011257 551184849 672654277 212686139 516210905 585283395 581489363 279162651 926160109 76090441 403910663 312162673 14122681 858161561 636658127 901853173 55812949 103198255 247892001 674523945 847043545 909457487 379800957 863629651 910693481 925953155 802619877 326352773 672658731 253968547 491110891 818485399 741095765 352163019 930529699 650691111 508309537 915534429 39663021 826294689 969061327 651641605 836400175 998656307 594078379 976998329 484321239 188255445 230723079 820359093 628510425 506942793 192642877 477409661 513558007 269941525 510481583 100423133 173409141 743805833 494030537 440641771 179702817 11217857 852252923 360463103 829972563 392530329 676078783 880387011 686380777 453309629 180527769 260326685 739693639 668171161 40109331 303255111 936081757 562288233 166246847 347281593 521863329 707044907 470917175 364255545 750941457 602711977 931792671 286380245 212730677 106776691 583787293 598841309 330167321 451263455 702172135 164846833 151459411 808530959 648507703 445066741 220292355 115284715 414484941 267189523 228613839 378374949 808323701 129336257 629461221 992782641 848894209 612835769 802327545 956844115 438191947 845853699 929354061 577759123 944969783 993418215 845505445 26161855 882231979 433049085 386484305 117663089 339600029 453821215 985938469 737512969 145022983 968591219 452207231 790900911 664700393 428683619 809874505 557958739 999039823 303381157 756842221 822598575 609013835 933722421 616356707 678668865 514917111 809755223 356815145 18649937 922142327 519765911 7935815 723250417 533187569 433231817 717450057 301587193 384418203 432275467 460229189 340328969 172436399 470999231 473497051 832861831 310618989 860213905 71462705 607251879 609332771 214680441 408736245 314460769 177855519 292798383 122324829 108354161 995283901 642225337 357558055 252040035 104768607 241909859 597829273 165427591 868689777 800273347 885248897 851179253 275469667 559579697 591963959 76920971 718436017 850603607 630102425 66491637 904931035 324252957 485613067 329780129 313138029 117391543 233726077 439041479 96571129 688817061 358137447 37583207 224590361 801602983 273769411 778398795 893153905 96136397 632792091 408860929 561498537 790510183 476495227 305820133 916049523 476590613 975823737 419154963 121490313 333214907 919006261 604446327 268777137 928522627 980698453 152941245 844578225 583259875 203849479 349381217 742263645 804618135 199220993 908167585 866097807 546541473 202218881 397988999 374315307 478289745 771173965 944199137 621841177 165708345 750744501 289827401 896392523 261382199 737895821 267181855 641709755 327530603 126159411 302037387 567639407 974806087 451630481 589689215 99528557 16366715 673443857 129807535 896656329 69432325 316512171 439909791 251352989 506355497 992985823 860503703 862784269 336337011 608305073 266441893 570124865 686454711 320904879 396322467 771625579 247797523 722353135 812902449 229653191 314550249 68072977 772013239 58858389 617078247 661362491 359793765 27537697 468601343 763703323 931705651 442529471 195403631 652966631 87634403 557553605 531891389 356990557 550854395 66607767 998710961 238379203 352306125 551171489 840531811 81920745 583942513 504175699 772585261 833901859 36781509 261108265 774379955 552887377 331288693 326305189 979677923 794704599 969016303 873211215 449995249 134087591 660059755 492198075 919319639 443038515 980587243 523634053 526196445 357014141 819120693 478407755 158421131 340695559 431053273 561157051 547191737 312412901 56807731 370820997 830032641 877660071 669841503 422502245 114811465 62156143 215796553 108351515 35358651 606860517 533895837 168435829 466683597 594949937 240891095 515102273 371315003 189632783 897098551 372446555 242049545 553506235 78529217 673049767 219915907 402004477 979487563 488656653 716824893 462656799 913405033 936906367 42385685 889554941 942648445 715929849 107608109 809556463 686885297 443050875 854241009 57695713 48500977 625187603 391047959 908184893 388252409 804047823 164289693 151777021 353725255 745880013 755904707 104853147 261932837 216334379 953581335 442660129 325851809 390672919 173379693 465330715 876812181 790437825 823963619 596262049 4685473 287324517 777032667 274704465 163942957 424693317 981419779 660344399 129650025 945761705 618851151 472158795 937943375 933296103 304345337 263446907 481385371 863262549 604071815 374114717 110821851 334454617 213504711 258279927 152532571 757851993 355623883 383675993 632044853 339441613 681191407 415990295 455192905 847576875 208809431 51870481 744760125 411381 606350449 316435117 184246917 275389113 861495793 990690007 299955801 868078853 618853587 250336521 24122037 330838135 567309529 278802237 413657445 792561325 101454867 295640317 489820409 206602581 637579219 263978069 978396617 294774049 526457271 768678109 912284915 24363207 554369183 882463411 925963107 315431439 849190845 523992443 364496583 794320577 900006273 238432613 789176471 8722861 866962601 398940711 195036947 689146287 385777465 799086591 172253253 962235563 133875069 865097395 360207613 936231561 341319433 531554963 334604753 685626427 597318587 115942261 923728933 601269437 492123317 894497715 681410845 630534673 731004771 12592441 124218027 420840513 909095037 460496499 236613257 40729693 589781243 131592533 165572919 40504195 905492771 837057633 662364921 293001169 256120195 857701787 501013733 740750197 667540459 344569233 31895503 705085857 252727419 232110171 95870809 968148365 502843541 544699543 997620971 347621243 761715175 21792361 775157429 879693753 412101989 536733313 852793009 169932693 167545931 188623637 609910685 958250093 601362715 772246755 898319875 957681313 900995749 184802867 159313713 454846619 687270139 299778513 540751937 396027853 410755705 983846419 112868115 464797619 838642883 579575769 378182479 86839503 547556809 224609161 23100261 658158507 961786555 41819151 237889933 284113367 903013653 891865061 155974857 374547697 694402463 333824007 635480031 464616343 641131363 516251899 33596513 138648695 483321013 406408143 871525799 912767811 14321203 391189787 619468753 17211315 639574463 264955901 629578949 210819211 889398149 368700185 632638263 254693011 549634299 790367135 615137693 365014945 246447581 776036933 258555705 418214283 156248367 406517835 762568977 623594807 277645887 732056691 780370167 479394701 641556381 790663695 351976065 150601345 730122281 557810165 647297043 621963275 172859909 418476417 267072465 273589551 733094815 7034777 66948271 433256693 933823145 604436399 599598435 430925683 429780771 643141303 671403373 433305281 532914765 130883119 35661847 486796287 205085109 358085917 303508337 790301789 872936497 670841615 809734993 856825351 863593179 309042461 947748953 114126139 458082329 900332261 579812081 694555451 984275605 981181323 158584395 953437521 27441731 12638399 254718301 550677453 481606499 324631993 530344935 626797325 303020407 269029427 500638577 225231473 916177483 457915255 272905807 920830819 443294449 723191633 107600021 659180631 318161099 397528855 788292389 630566341 697447033 172431017 176535719 767224113 709980391 601208173 531111051 392732195 810365003 614493009 438093323 142954801 901393185 954840523 34486563 637056243 219177261 915911895 855384993 570128651 618056315 619302401 443063825 672532771 577236575 893995857 474855629 907512813 419823223 567268449 127468789 407989287 521922469 603249999 250748785 12606861 905244437 678854079 530217457 719667183 894329151 468885473 889038317 633567773 164105947 670768493 798690725 202608369 867174383 816857757 865333541 299509323 620411079 816794427 691152185 334512155 677035769 776594323 797305977 731453773 27034207 608629117 928825417 285398241 930095133 913398613 107112397 987875539 51462049 457031939 984000761 914234163 155521951 432547059 116085635 33158929 314855697 150973727 667333101 907465095 797371455 895975427 853081213 898607799 196968881 597385637 987019331 206840011 236013375 904944789 305322523 23675127 974456579 426297063 895725473 573554803 32979555 792012091 985543233 720217475 654899977 373639093 556196391 59530353 279456747 25742087 771102543 702042765 493721669 621761379 634738807 74065205 943177369 673097099 74766377 536965321 405686711 300737985 650287541 364088243 958903729 529550551 381508657 116743015 913488101 200967971 618348927 236863325 297146613 473981313 787671879 647159321 895439309 52551257 783971833 305981989 115164835 579716249 788961743 503671571 739508467 254477495 988551623 206987901 842822019 315845041 699317931 49424133 790564699 49906701 709340169 771689813 244082385 479866587 404515643 556376353 196203651 137609391 235312737 632051233 645371987 481988777 521890659 697596185 263617647 792934765 572749553 319710419 138729033 463360045 142485379 44930337 675124129 986693019 823117403 163405789 368484215 173178617 395714687 312123881 761646873 967660811 820654017 788263471 983356189 311128863 263246265 297708195 685756509 708492299 800592071 401730365 351189245 727395633 579695379 952830209 511869803 84785011 743482253 28609785 625481563 782315073 489822445 739224375 380977865 335587985 889392307 720314837 277675767 609314785 401725483 994537461 755988853 566998327 426829151 482931393 295475989 777783331 179582509 959137389 158839539 471981497 118097201 252241201 111186805 103421849 879121623 878230097 527791429 956646121 828200013 449765143 867391065 524297045 600667787 101888469 291240685 119719445 719349073 594356965 981533317 737345257 90080297 403659689 868055789 891264277 234842465 604948877 236435769 10441319 294891797 118006015 528277191 83245623 386992673 595929727 696427065 360974945 793398575 474788235 357682301 170574925 316561329 176095151 495003589 247038953 794531549 647581053 327565455 303419051 837748915 785766287 707225247 711424147 749774587 649121159 672927233 970943267 646099529 724165391 700804107 336109165 983273201 465922267 704641111 903052293 84475925 870724517 87120841 985366027 392914077 70588717 441673615 130556453 190190649 2812735 60593181 295029375 114786403 856968365 543175725 97613011 173983577 343007313 55360967 131660123 80825123 55335949 572271923 754669537 782796947 479052235 203438601 808856755 614920257 253293695 27950115 361303971 83539341 392408867 522948775 113077013 694442911 700435383 122651903 277538027 701924455 494520903 653563873 88553365 78473629 16879077 467468359 535746825 414552515 274680235 73794169 476122053 313337119 965639099 551275265 466603473 538922179 567420479 161643955 68323769 581931399 894766699 140448939 674286995 465220875 643184505 68889423 155417599 592462517 608996777 165809483 566691107 719116473 334162759 204315025 527212459 290541837 875451813 521144159 502302673 547459699 391248925 674326841 936884817 696234865 746494225 162750443 738399089 167311703 904957677 253883273 739608063 501864257 553577761 997966961 67502163 536062731 984125735 883686469 436894537 68330081 661447557 835527411 943785803 831608751 595769025 46303661 341343043 61985585 590743663 41123315 850457001 851052517 121780777 744789125 919199611 544913557 980608145 424771185 664081729 778105553 534605395 525966861 414401543 120916463 546922783 513738739 623693923 30226449 563803823 917344263 38788981 723583263 653806535 303108727 612457443 136115659 875262257 693239991 46307035 385947785 337675969 513681539 230527761 888535197 593670733 748625117 630505927 717919503 962544313 175684373 12468673 118612397 866436335 857330109 328389197 280371217 241844965 156684721 734639171 756050075 152483471 569459479 968446209 346730355 96254195 107851353 609109867 824788361 874741021 499678509 761215217 655274391 636582171 900089743 245908619 200334107 847396105 876136643 738382771 787231581 949077001 328468565 115115379 861768815 266457415 226003225 603594583 218680361 208432371 18234923 780470389 971119915 177276743 835058673 121231981 806640091 791943561 101376279 732419173 147342701 161495295 946807695 644698635 87846105 538037757 550950295 114584723 746953179 609841885 272280245 77939647 313983999 726220033 740366001 305919699 793057173 266360789 587967137 195138975 857597109 316663241 670044643 782421879 676001853 609679193 334718745 359444027 171877081 230453253 631189809 696121167 182505463 142155097 366305887 634066083 395044047 834803689 570113309 991998381 608251745 747051595 679316787 113060973 818677623 811379235 63200937 189007461 231519649 873928989 10455767 393909159 784571957 219215849 929206615 79140297 839570005 938346307 840343821 6963431 11144427 87919851 582653225 668650665 769128867 72990381 454201881 900389181 486366713 175241051 741063327 13391449 590218795 895960017 455500477 881793083 976449603 487686125 804931263 578780329 825924367 660156317 811634233 803442673 508759337 990046673 68792583 931229163 524919281 778231685 943422031 976367861 523782287 7693497 592671099 489193717 796156149 644195193 972755265 627711063 228273879 23082713 468719773 679048467 904049849 201567215 486201299 256631209 948261091 37163743 720812401 908506651 495186019 220284373 963261255 61628667 233418259 534897665 939791219 467806815 521746835 983181471 643179869 302746851 451233355 44117999 35308715 402259119 855338091 868445247 438160983 198771313 570032107 183925981 367173529 433234015 820235661 844117285 412589303 892031799 855452119 725084027 711917375 840757055 406526491 192871493 500614785 160493895 621400433 670953211 363644189 849972131 254118839 552433425 583685301 461847347 325033113 159650575 10422071 917004891 270876293 754673019 221331927 62818317 170891187 753841129 899875857 940981947 359689509 198388213 144742055 294554469 611372961 133436989 430546601 134262419 894807223 368889711 166513769 834040657 339480003 787744571 224945283 469534263 83239649 608531293 621801181 924977249 21549565 900963479 692026273 741879927 961247683 890226609 334132293 422665127 864579759 965551231 80079493 217803431 507644417 82472669 497381733 38847157 355887805 585479593 245025329 634288793 267733177 32255953 400015229 589709725 222743945 975008581 791673893 819017371 83551121 488830977 605133903 115287281 586970357 806572807 208471655 352264069 480898215 592762207 20678687 422188995 109625185 876718365 399350645 674154661 243430561 923093085 125098413 568427941 275842993 977873981 755622483 92180941 110262431 976776171 899095613 698203305 276301637 355754393 939561605 752767825 486207043 265147773 818244495 633062241 883308033 29600479 476192777 396665345 290007471 750950661 454082533 983130335 724096583 827146309 506921827 588045617 236740485 57722101 897764867 741282485 42583287 895474299 51921811 382920883 37357801 48521279 321912105 770580727 663705973 813445299 751610911 87598807 886326139 985892947 762722587 762773555 313971105 858994849 323018503 482505839 516897115 357196581 776980505 612652925 681838049 327136883 901095115 368540879 735813935 778155303 335316197 52761703 218454801 675786463 406484593 396086729 206617111 372766537 128769219 142196483 217257113 365116695 232093047 442668973 383967669 105342721 412365171 27982819 499008087 500186313 33597921 904667983 548369965 199489085 630458167 210016795 799897263 24174123 965320753 265477119 3380765 53860209 82580691 579194169 716296833 51312109 432804713 703527823 775438507 275419533 482562953 968315217 336045361 766815555 637593867 219179091 794397047 755900935 843507479 548651253 630664353 866555355 888801049 340014877 890647203 593303757 482016195 544526137 676351281 980257771 671650837 557648701 106317009 24778323 295857743 479181739 567808453 834069029 458396927 608217223 949358371 259562379 471574011 877409887 135278527 58787767 160885597 111525707 956880187 976410597 809888905 514702823 578892543 662586967 792485165 75492957 781683003 403952981 65003069 562645847 475376617 360189493 47971571 780157197 109341127 64211533 626342871 871821885 969075039 380191235 584223153 285257007 391014911 579191743 187655833 396389037 756515521 252258035 558446313 937254675 385140613 304991005 422072903 385440059 747353075 470924985 2815133 973787021 320574587 697147479 717744417 263964405 194687317 748070277 408126799 780929517 217495939 503058401 766373867 804420977 182376907 221109771 105982465 699063303 419116479 724355245 983404517 675310269 846606007 129801593 759016499 467901995 938017491 208306731 424952017 401383789 696556537 728847237 866596331 610157357 630647517 611603537 692195571 550043285 951048693 616553567 471462311 362032733 317532803 101527949 845046539 921608643 200001933 780324539 755531883 663031183 95943397 342579411 197520989 634209549 864911393 916173767 300086201 888933139 527162277 293578131 446014119 454963969 993838997 664689465 501505939 148603837 37954789 12617155 693141041 711402677 420672075 272441153 941524603 862862047 311425863 153315281 151317433 582794167 565601059 195617427 940181875 8891465 507656687 188298417 460182657 763129885 736088449 169059933 762607613 959308877 628915835 956883413 689825355 931084407 253482309 23035989 621691417 320809407 475721489 439986477 686403419 752713685 960809685 304848045 627730509 632749551 568265297 857899309 662174321 141416397 700238093 382624787 543925655 744904369 1543005 792110279 121931985 391580269 665904469 865995709 132167035 644381271 423158743 187229037 230598203 308453451 467282827 672418651 516475387 537638321 1493985 224990993 358477043 633637495 600920083 234324767 122594713 953689617 195394077 925162019 444277175 314571905 1255885 818773949 31167319 536752971 684469167 809107863 708791247 209279103 533698589 827811941 522020535 342624177 574548535 503174879 95651575 261358337 315806437 880390857 680134587 162427923 42803671 716711915 355003253 872415511 456836741 146916635 313263843 293914565 884416305 926597937 83599883 587907159 139087329 679158287 41855797 194461847 262999399 229867935 108017143 575664337 98061401 886895317 554466863 768926427 949254171 667413673 666432769 837992725 117243347 191473951 258797015 361277285 894115183 430024767 111305573 75031609 438397611 295084319 139197099 790428551 677639687 580246231 195525097 108903885 578237385 265873289 397571503 543154961 31481089 748983135 856284111 558268899 750272651 768013197 542150245 32466519 459458051 924120395 603196629 565243661 699358933 100246237 128562895 493830697 940514605 121289357 507842881 711758939 905860359 43299757 322733421 140719579 217236769 471914389 584238549 951065955 810829317 456315563 569243461 631576381 437664003 914560857 184733649 14159925 8303921 346952461 351801301 240720547 228432497 702368583 104434935 256117603 69950571 342367365 225797411 7868125 107343247 145450321 242477451 735813119 227788823 747364673 419345837 557736255 541813505 720936941 115574861 714631067 78544151 203934199 99326583 650162585 857778151 37600777 354472065 538823241 52110539 261984215 675030787 694828607 64140259 773913881 853531109 392925339 156243735 265168531 161846611 596879873 763311383 733571855 548305601 357773731 605287003 508086879 375251945 249907 162613797 690235997 403081681 133658355 677582205 633703915 682316231 801800357 587281457 362582003 456360539 784711325 6751705 183665769 880020077 634308011 286548185 966886213 709343265 596945203 575652183 849316747 25773025 705679895 448529987 729877573 812072291 325587399 291235413 234367877 179653281 157957433 373820173 432159589 812532963 57566699 369953207 724870919 144959411 599838435 877147229 342604181 94200805 864495025 867546845 604049219 345579669 955189609 59635155 243120203 768576041 620856235 358336427 271324653 498627915 528312219 679095699 727692661 72968689 78928619 606444675 305613619 400370263 232614093 866240571 599499653 828305921 664107267 487480389 966234571 257409211 478523089 576036591 606004593 402671001 606346757 53443157 527711975 650602487 570541047 958383443 903253159 668273787 47359619 204231827 92146229 705275921 562753297 465127303 16479003 303283947 340739471 275496293 683023851 148505481 841795955 997557805 931381567 497198507 184830139 944188327 106057913 444963167 788510959 173498471 818421253 562692601 66533403 292120769 701156817 588435223 591120853 442379223 951491293 111597469 472644157 116116113 731082983 58419893 389785335 924318367 39239099 475161811 738895413 53919099 773847595 352869047 171821483 708515171 372502801 654101089 465744789 209526879 251791439 47559713 101793213 145668417 637359567 200192903 708497007 203486369 242352261 17681523 716027779 502369759 372122987 894932489 755778391 598510627 724907649 361710003 26741199 991006045 529696211 350733863 68132699 135445317 681603187 713478753 519650289 679574109 280624507 327537317 253482511 581081323 318372109 771194237 144830909 115073025 448613205 718590145 442117511 104325239 502594435 923887757 871622019 832252397 866073809 377313347 601078353 90677705 941448067 34595215 17914391 658822207 538544611 690468711 34343809 827388741 272178499 388176135 277098697 130495389 894385405 115078899 57568425 828184013 176148853 678055415 321624939 19472165 736921361 50381865 783479773 202817729 413398855 582770145 84542547 197233789 183772049 135742665 665907115 513209861 657603695 322998983 896757837 941046725 859840109 763132693 44061993 260399609 412000541 865673515 871640753 845329311 883694105 566910927 852674533 794236801 580662275 368581135 580574029 900761903 654570887 807635515 135495667 81729535 291122773 591774451 288447091 96337427 523940903 994424347 676624871 952311635 355064259 554296797 586943223 562487921 989198319 303741871 738761423 180447201 164915839 120362315 301394473 1235687 345100109 232521657 474474049 60523659 940630843 471151169 225867741 480869531 473393973 703964539 276396107 43558577 871433003 11327555 737875043 597867821 767047959 853926585 464085891 577290295 136976383 829472591 903723663 189195967 770105577 891855285 975374071 260559743 770925033 956028391 617655729 514935797 981284633 5991213 291768381 187556713 337221531 453241617 882873245 285406701 799657115 417583207 510460259 495196505 914745417 418372685 486262437 894351437 922299105 223871269 109714687 244384559 742695331 598670747 906791321 740404019 270776795 552801191 110192671 314035537 61209051 653840769 235713483 250584389 269388285 560771247 469786713 500631195 792479653 602523389 141709583 577177507 337595449 28345729 585886653 280137845 670959153 616467349 626848183 988257775 271597057 497426397 592025819 752905405 976502065 51740999 210607763 680619085 690788679 414368261 359326921 562768343 858979543 731270295 889826549 507814235 808320635 743175357 83391767 900017827 429304789 217068679 902573745 937211455 466165393 994392901 687628757 365640325 694891359 580864663 823141401 345469079 417633019 831683425 441294233 810041183 641014565 833608397 255921149 388802697 98119595 356233553 393255795 32453009 253799771 712708009 504734639 866857141 277979921 720610263 92943603 686568959 368091823 446631467 187133701 754180157 829622305 610279479 993402415 334602249 571333719 687130585 589878859 431258307 707130445 152789553 236331959 677750165 687506947 395654321 213043799 70522475 586179975 430432265 805737629 412970751 41598951 338500407 290453115 449404883 55922751 924949631 223409265 501803823 207281331 453615213 496792199 950922785 446968169 289132245 497815369 940168067 299333527 515519957 511955663 393884917 718240887 526843599 921395637 876356063 796494923 451651441 490478115 649902705 101230427 916951213 319385287 50441891 61370619 363919299 902107095 632062775 127494789 377621811 722080785 14583987 420444253 222452683 841338299 604642921 631254251 724303777 856697765 292094321 388151713 31392015 896284195 801530281 55576571 812202425 59829267 82725053 419601017 777486733 990132703 757978395 168258473 457650111 265739377 597615867 401978137 550938569 435310147 267159391 872093797 115351667 710127695 189923597 968499761 93249733 528364831 864466325 677800227 961535255 931946431 846408787 101725939 949394949 140467911 663656291 654724437 785117551 232312147 942315185 911798033 739399045 545420299 677985513 98335981 689739195 138531357 27012231 119679679 574770637 418179647 376886475 651838557 185636031 195499439 705417403 872769195 149049309 573633843 911175207 726257301 797718971 957317147 395956905 883353613 243493687 115300155 880504995 990356745 968010867 771982323 98133561 791420049 730951131 975516457 731730013 325518763 938621733 984265801 532595145 87320685 155461199 523179595 923992059 360723181 650369689 427490479 762671165 830206545 179741585 237435001 245667485 556393921 975690763 351741751 48897781 141887855 190580005 872088065 184004069 489198999 656582465 639027315 342323157 261383033 832934669 415003573 135387125 524713059 35140733 907281781 111760703 181923 756205003 261775081 416429423 541730453 3436669 289582031 390137875 886755741 620985953 806739823 594464119 590864163 543828617 104153491 745920437 125649817 159785553 506632087 284767661 587510139 778212445 689389909 476413957 840984651 580841883 57480243 466323505 414992785 364259903 148798499 224764777 84466659 264824005 25887383 656961961 84841943 512986353 923367313 736916157 619652883 506070733 521424533 284646709 182399295 457897905 598854577 403545961 697461517 588927289 196162173 405949049 626418489 589456453 167644949 681942859 967577989 132477447 524369185 28378003 222141369 95388399 322616527 80236743 483088043 731247035 301067733 617172263 996463409 9926255 561584755 865217725 874048305 604905303 965672555 746211929 535235731 911411207 20542479 119807121 321262665 702405213 42229043 279611081 847024463 693228411 306204727 820896293 86638503 319853261 329241345 818240153 460880729 500421899 542365181 974032857 685758331 507255085 659750693 259369579 795823395 790006649 130954997 143581841 3435639 157734013 384949107 524258145 280629663 709402633 298056493 775817647 714513869 416232509 479429179 738705693 895872061 527188091 198135097 305886483 94656817 440760945 677777487 981109187 403438323 642334483 899450413 51092769 944902355 977935773 652966149 730286065 664337967 31411857 618796439 199011003 787381093 463357631 567922217 706024653 681820899 577699385 168979339 672605505 694995483 307217755 866124307 964728823 601905797 930807241 845590173 619627159 707603621 764146547 810349967 78684049 317030659 304242569 431521243 449360669 633444149 988864391 775241205 420092989 503359185 256653365 331186905 321348535 190471805 531506845 492162321 751083805 128207073 174832403 265863595 443331527 885663151 897934389 24833851 901956053 580470949 852790245 173333727 879598381 676638847 583779919 822185281 413154947 749548557 869029097 504901515 229460557 802312989 256983919 274971765 159109581 302572941 803500775 330994493 615484425 420750397 231759513 946628267 888254163 638555671 634516763 338726923 619594689 380339469 527374155 94164019 581300023 980144413 640629579 788850819 672071513 374722371 129794953 437099489 524151579 387101327 638271927 588124091 276370739 558430993 980667861 89198341 596506401 167621345 302825251 759304001 214700591 590134565 768170287 616671091 334769773 467882757 215698639 302114603 794047921 25566389 112259357 305421693 255260829 937879149 895995007 662006279 439030169 290721137 592232863 396507123 804421079 530734345 349117043 844357867 863335501 130813323 196373301 204748327 924571323 308561231 690376045 989024613 642871977 650222005 134586597 197925869 184599147 178624045 464209073 317776779 824839701 199888675 130400813 306986391 255365769 64625429 112864255 468178413 763199087 969732997 515837713 152703477 206771511 343837693 256985497 371359643 730396187 920718093 323313683 323651673 550873881 378135891 398075459 539263531 637947385 174452335 480824373 631058583 869861197 228199947 926075709 229820845 899701101 776019163 2958073 211171585 312126841 561825175 646504011 246829233 663699545 375526403 732334175 500120167 659679677 589186025 990209453 46072909 430157085 186032665 337230061 862419483 570359483 379780465 509513253 327462417 996518557 273711057 469455265 544382961 183824277 170966819 716229367 822119951 152578105 67053659 784336385 598022203 415493101 294842481 560708579 364698839 30821335 218954089 753097739 178229193 633529317 813082445 432668973 195733375 974275539 481287981 284937795 928109039 486602785 625954343 327281045 143579543 762177301 588486747 818838955 639237757 105073089 413600755 390596701 87771953 513472763 570490403 186833861 412432839 405055589 681387043 73123657 776360669 362756969 693068855 533613715 168935581 166354483 606942889 950216857 10426801 140951231 833450699 949503639 459194963 17764811 616020471 886079761 983566653 295142881 883013263 832867025 213056697 113081425 79286013 859482095 388866451 917135409 705337013 80393415 246343203 407496547 795070767 686908155 352292165 750257039 720196847 826983543 43409761 160717607 9585791 781022321 254245733 441990751 261503343 343704167 949462471 543348283 144320861 447751449 561827717 379278723 349850857 702635925 445329701 387180485 303944383 947236399 437620663 113741915 124088973 827899269 648934351 711217509 462939155 965670265 705263755 901687499 348403215 125240377 709596821 98803517 628111179 523205431 509141271 768059699 300811677 446618163 849200843 622718959 378126045 298809901 417512171 648445561 823201773 397167219 619061313 356227743 876252599 542747547 674292249 806170617 360345647 252233855 815876939 620766443 998126415 431033155 875135283 360006555 46767127 85157973 567129273 359498489 941661587 75951465 336196427 496452541 884568531 916118139 721137631 231865703 457116405 652525261 484213235 268389699 71440921 492637679 736344207 986178907 127706219 273588403 827973949 961123213 682521627 274073141 41120025 660190837 599885667 502377179 355315133 56266367 71721351 309898063 335289423 853031129 230381521 294964103 438137473 217685115 957652115 283729855 89974149 561207077 89850919 57477499 926013725 530027617 483761647 545467527 142970509 19107453 71306069 805363191 885679011 196798869 448889037 899144489 426340279 301822597 664128207 322990271 559410853 357883895 715012833 242124199 597786581 460681053 310332039 885378067 721191221 223203821 766009945 900332673 757100603 91795879 712169711 98683573 890066149 271899219 710394347 301489853 381114043 512061061 510655225 614384105 683261895 423627409 433731785 333252057 841324965 986749337 263906837 106862959 425572463 729709189 357618337 129418201 992583115 85510405 433211447 557655947 857385963 639030931 454566825 400379199 952630401 203868013 207179729 306594557 989812687 74550171 659901585 877119245 664198553 824796655 131331029 967330567 572892205 341284609 220664461 962622149 664434531 892763185 10725811 9140589 655072151 445420711 987952459 425100905 514425011 412646995 699808095 28067439 66236193 746542317 593717505 234517625 279213785 314537207 290840907 289376463 308849753 850803895 519336031 390637051 451181991 999855935 647371369 715014097 25138515 241569639 269351577 397513325 292868979 497452239 694692393 880858421 844204707 977458909 695974751 903391701 785121033 184186821 989847169 766646079 100046679 126388605 226463971 837337777 483245505 13013703 141573599 491276975 365628675 752708137 971455959 12579845 80205671 139277555 873333045 481145543 686306747 452968001 979214189 721921875 153377873 664949231 585131001 638950219 204347917 5782441 672878425 330476701 326834513 325240795 577288217 517075067 109950221 756876481 688369099 669474917 539383737 391105881 577624073 963929883 962439247 630139501 226046327 27291051 252500311 875050893 831614139 117449835 351425505 704224783 564229515 668859381 71821443 557598229 211440033 341557805 766165593 92224903 933268413 70186817 792311305 889224983 678458027 175424165 25326789 527904057 231690813 133184021 982453569 917229361 937069133 564026003 65757371 677427719 45214653 341576559 927244793 766029193 442798457 70177083 710047817 500855633 290481521 729352915 124212355 255398335 984280481 108810333 344927237 847144699 924985609 476667971 586746803 25126389 466250421 468816443 510219517 862999399 636227767 105849409 850373337 916651727 902355753 778844569 643178183 253823861 676183343 848755151 484897737 969340779 886036975 546894263 999549297 735753865 417237919 716699757 797168853 825564015 83999353 57428567 927592849 482039427 512494525 266850337 510204621 713685241 851467959 112563133 288526901 129589193 693635515 457544041 746697987 226468527 203449119 349052587 251190003 749157687 805170247 565525323 831164235 284476337 286379679 323187807 591261657 787303477 556243095 906480965 187531765 452337569 214373033 850602655 898454909 628507809 446002267 633833307 607554517 302619811 844709683 483692461 795794671 281238239 787258821 400770063 864885821 186216789 840387243 566679113 856157119 322965455 681213321 727542883 102947581 477012189 154722821 257143221 734149123 39608021 2659543 380895705 112841321 927778009 921297075 353311157 234303563 142148563 544029025 161974899 942558545 513056111 17138343 405408393 740629415 390547753 208629081 979666609 919174407 330240319 176293457 48545011 299464109 971104699 971522419 255012761 358350687 232319339 549358245 218677303 641385581 540412137 612880095 788835497 521836715 700233109 573713173 443408405 281726585 927547545 74810703 416619493 366468539 286289377 685511571 647662801 297336033 348634407 136198901 901231057 538861539 100792557 751990927 851355435 909390651 567380859 411973765 988971883 696593139 749534175 162207487 44209253 990897047 183567603 59266863 559438391 574806847 866459223 413826129 5593667 211709575 224544627 976258725 741695541 521070487 349134967 670310007 595897093 459110685 299499867 700555033 302037483 999998285 920341217 847207399 888403821 286830313 106131343 34250559 785979481 645513783 264113847 800945551 333438143 595848193 603176305 793203783 912560383 655187617 566893981 140015843 522578109 657117941 43356385 378955237 469503971 802564963 339975089 619699157 111703461 518114007 949645379 264764487 20536707 290057673 892620697 75269333 922034749 424872249 475379321 716921379 65049315 2202539 961494131 675305177 605858759 593648173 127985379 712026281 982838661 526115159 252274149 174312783 519170563 837684805 20576613 846313867 816844651 597469599 514814991 781482539 568217395 70088851 870773855 878564605 375825175 117138391 237687701 854815709 462715931 567709865 710580919 931100079 873101195 661581775 853357973 80158043 486516219 35984025 586926537 424572627 339644487 736138203 17418165 105491987 363439765 365311733 123659133 245262875 304800081 640614603 285520403 14639609 193146925 714353871 1324081 350488507 565587239 637757939 680549717 454608765 39899011 18685881 396877513 833257059 300225741 513390373 646991515 301879701 112919003 928083397 550059685 173297989 840899015 934552241 43813255 917384623 71776501 371181957 688025513 930053653 256846867 331498345 412141627 429611455 842955539 317856267 638523447 919313665 207755317 365752993 677999963 544813623 361413881 617487081 551941423 869286591 427644205 786271785 572463621 699445767 633217511 378556465 666807285 973296257 183152257 735379029 80128479 632929445 697865121 632522869 180562025 949819381 966467633 209774583 672818439 804766207 896662119 515095239 488918257 348162897 169605821 607498847 776232483 212570247 374334203 631304379 389204585 908256581 989119787 300596575 504153683 963622707 328693921 360260703 877659193 762484995 16608505 524106573 79734075 940499313 89543961 534913095 256928319 563770431 806285355 283658485 365866233 351439669 521429669 754028933 853233375 616153897 125369667 751636397 47672369 381605617 584039945 850313643 172352761 676882547 851612483 303068999 194983943 665368983 883869831 497391821 339329009 22107983 353612717 803149331 683339803 439050391 418482141 773029241 185516969 279159665 6698115 424073445 840750223 783600101 623604817 244339907 512983681 530132233 899947591 646164749 59613701 599734771 117208229 739158077 744458077 540451529 398292473 502291037 880315295 425534899 171233305 308716539 638584223 616270821 303736607 286023979 16182527 415079063 634541167 882686603 604037927 364352523 1234871 534276163 449400905 232631951 954638315 871674625 377851481 250276721 612555333 508228859 58877979 497636879 697087821 162414833 375560727 60813001 605154763 609020709 712249755 876341769 217960407 693052009 346501057 612513601 503353291 42739473 440024681 785272301 786343757 569797117 604827963 69674127 139800135 923802515 916632743 134118831 314296303 380005057 942031589 768390371 92741569 957424123 893137655 196416961 469381249 444811843 511721891 797503727 725644091 485327901 950448251 956723989 431721027 823923353 322672855 271089639 820597301 347826251 771570391 226290461 247564535 853432913 939777121 349587323 371792565 336500051 211893801 196854217 585165537 333182591 601996453 3239389 584728889 210007181 54869271 676003725 957318337 289501367 122161797 932016063 748983493 733941703 759184065 406503259 939189211 33945351 640366433 314767445 824103131 311106899 83552969 976712357 25448431 895227909 426212637 960910159 809606525 765552645 19100497 867508571 305878847 456080575 391239195 41735391 799793453 860028717 820822779 461996529 515749519 756936395 657420603 730272695 873916653 636523679 179127531 391342937 968855327 619101753 989259233 511056651 867904575 746813611 533286591 374758149 496582833 848793 532652015 658324107 271932707 123899941 480970397 559075047 676381577 300561921 739117509 393942633 154188319 292577375 727128357 687664495 699297383 511869183 786360901 640225113 434341425 243458857 630938489 685385617 142221967 325999273 441814741 468679817 110943965 157184725 433113915 243256511 367728065 51381645 763598675 432409519 645414949 734436919 505825421 796736745 838583361 222983361 215872547 110743293 31518349 467925153 969975315 556622467 22848717 722661845 356453925 921259809 496569105 522124259 78970603 667996289 624294573 742181593 263959741 61017425 581770553 257794127 621577915 176083023 639660445 203191395 675561421 882897725 251981573 703072443 471873443 74523621 274852323 38999939 160692661 861988121 777529591 32272499 149191749 486170545 621392449 609896395 188908889 560689555 454458383 167394637 145886659 637180071 766715895 255826251 983071257 483789281 688568273 14487451 460679615 671842873 869614279 749574809 702928859 358177715 166200385 651175469 597276251 523949657 787942643 575940805 508072699 845053757 145365981 832533591 939170875 461516151 520880447 315559265 640056929 725415725 214483881 799000041 664452735 702658697 698448109 854886013 340246379 956010169 211551527 405820213 597801671 551976701 773261243 302987951 751873021 167992723 635062361 284453137 120773945 589562565 408082929 324601095 693388407 168504809 379849663 107534537 733034613 125773911 148322379 269656855 835784637 579003505 33116767 202297909 703549855 92375713 975819791 738210545 635799857 140422235 466192311 711278497 264577621 884448023 98175229 363238183 618283699 694595417 16284621 477335525 563299005 514699179 153870681 90146505 842006695 45074335 70677791 392663117 352723829 298106575 742464483 319722349 112062959 911975389 920039089 435252401 508945315 476726643 986426335 153851683 430249451 122848581 814135301 54683997 727278823 911330571 425881867 811248253 39939199 242693513 374063389 591456553 340641635 171916169 739290543 886151821 123202059 144312541 110173307 629726563 654885305 352047965 801506951 809108197 11384693 747116527 367957793 340341213 429888269 419669373 238200537 168966039 123909657 700958199 504963215 390803179 86127357 721211223 84487271 267253045 195781087 462141601 762052299 451584861 969949615 265209567 825127281 736135889 39570213 613497891 723338323 664548487 458220483 71406727 676664505 36992509 61943503 863088941 274338349 440652347 839680089 729180479 133327235 460805835 106219069 468173553 780059095 530233031 396070679 469351035 723543951 384493517 898790227 218975009 115588949 532437251 447059487 761543213 133924127 785745941 91593843 542990321 207459113 653300285 761282575 133143239 809888503 522565941 205225085 969470481 649243221 781403207 792022541 794773817 586926167 4393793 632694997 459161267 371470937 3380597 795706807 568607481 402648835 758184135 372772187 765929867 306602299 854156441 542487347 114156533 814100281 484231899 146622069 805147849 342098811 563110659 989512481 389289121 145433025 558779663 503770881 327123231 130899993 907377797 322414755 736999405 260121049 783948149 667862113 323230655 768805529 738548083 127615323 230169933 948163395 847418015 365667449 104882781 306086655 650605215 645177707 392481461 313549889 819260321 461936555 830329127 526717385 856794969 362778999 950921873 378740119 987788297 298521815 816553173 501620219 853301621 24048285 670534105 751819397 141907435 801370977 741753491 125145879 314002243 977791619 983206907 182516943 555409369 218910507 666852375 106454301 774325653 592076617 55333613 63446709 154600677 277014677 236702097 484125331 202572737 583493521 72069405 218262779 768873635 988884611 256667059 573381751 810629523 838835325 476753789 429516001 819080481 498866775 950137775 855331919 367586657 846748593 126110595 149259305 702169331 849072625 293612345 537208857 334707197 652585803 281786653 722744597 66924333 354227637 714700417 284511833 932500663 592240113 521120447 264335977 199216989 717632645 543660089 53210131 470746467 733607105 829715291 769041255 762825623 20233153 977503637 372284613 956357713 237152609 548642913 755442127 182632559 275488077 980070467 55630449 662754389 893843441 654872519 141267427 185616115 730771849 238966907 950369693 397589695 507174675 725051387 949537895 240463545 92845401 170730217 909354313 159060323 741539307 381806575 299843737 588429263 820204063 106279617 604833525 97864337 426022935 9336089 873154625 220299977 305423291 794391479 352453799 799511837 57611709 120666983 154980253 874692283 330782353 319460859 542900957 88475225 608613243 102560077 779424623 68219699 271711619 543822401 18522267 318907923 336738935 104277949 53192441 288756295 865509873 740977079 423391589 971003043 702998097 859109929 672142847 316257413 999325631 68718099 172679481 661789399 697486635 273974913 407486659 826465539 867007311 626479493 892584089 302070785 400173481 587344699 792297987 719191887 771959681 974673089 538081931 495904757 828495593 706988357 844334853 752868223 987287481 201649399 228310671 983967491 471260305 680536081 935591307 362113057 675679705 962568153 421695655 987966975 173277375 835935125 347144661 953458251 482160193 91134873 48330579 609038907 392405529 540009023 538730661 11585421 226935763 735344873 435805079 441911687 843434943 726764803 264206655 966192119 236503029 310017789 236625655 287527477 626507091 888825683 67029859 148824607 328054405 762009477 835458929 345826073 398351609 489589023 778316627 748858645 870514663 408633011 867346825 601785221 623087951 44157661 304225235 163004521 876459771 851200827 662885441 239202633 520587131 387340155 211986979 11506737 736805669 212169293 748948251 802927287 987488027 161985645 229258759 688744701 499179079 652165019 57377303 748742307 633944661 848891299 666565567 410755549 801765057 81511255 963847099 613213791 392656841 44597649 625334285 305923687 512935799 305182261 952155397 384230331 173760153 179118379 293860917 975650475 139366345 137639269 345832827 544132363 755429479 52969439 422670839 267068217 787481501 277597337 757720347 992241951 248555351 573563807 182198167 113990951 298973519 329970179 310965865 503885131 232843783 305670881 994687445 141739013 738999239 681039959 140847207 112751455 955687837 158416531 266971123 893267941 238622819 408891077 586711191 546311597 514304953 656942121 349678517 871444313 921234183 834500863 440254715 780563211 789765757 7606677 405157723 131382129 184406035 257740601 836644885 829113541 262165643 801627463 645584297 94375875 267340395 797878305 699449573 51551409 172715269 166253619 380053471 351906399 183984497 792458477 254460145 928648993 359760271 516892107 127272383 794194391 825788165 600960335 293181495 672461029 295295047 315240449 366441869 466550589 696783755 691000181 857726779 177783121 356407251 90161479 928296457 901075491 447711717 983372309 554912513 555619895 115878227 87541389 473600629 686159515 435114867 8868959 364985607 741485541 570658919 619621191 549463189 202629431 616378905 179773447 554692945 349360947 224113975 707226471 525811883 766923529 597814839 493983547 944314975 590729581 242014303 5283167 185038709 289659811 24131251 97288881 58808119 630123115 46863619 363334175 622996537 314290967 17938153 550203801 672112473 929714811 777171143 589679387 69200569 130245111 78438081 186602919 762812101 710906991 216728009 979961925 611365685 64129365 399581337 128613641 753656833 546730395 507795119 181485071 582763631 549117123 853809493 935484021 721044491 494762959 690438809 275007849 489964457 629879379 605563989 885397275 145360999 450172255 242454825 687480263 73752743 497155735 846293885 606390959 243579159 1522973 807258753 969871131 128260523 817779361 671141167 10163041 247329437 451414617 38738245 185918423 813050741 254181379 225048651 925586403 927629307 448509669 379192979 278765805 971726663 879287503 385316917 993373543 218764979 195866901 130160657 402138061 383369955 761751959 596047053 778872223 399167685 407291323 324432349 301608555 587263117 337063277 273714809 26834111 852960439 935676967 534533789 721984825 792346375 428864995 245669911 586459511 624407431 583704107 944868721 62634279 555465103 674255117 100497161 519256827 54402235 571637787 866566141 940101547 488387563 31512953 374014259 554030841 655225425 612780745 462955615 495649459 33673309 23713851 539870455 764640167 159531213 863106949 878000955 22722227 401016741 900136677 158787381 65991605 74875697 288926755 804976565 785452187 937355013 429176713 528432977 790763607 153076479 28521203 548786029 787865057 386539585 463379643 588646701 441532219 802330169 257219783 882892933 492321907 768167321 551355785 838322985 167690903 132437343 75857651 651484063 562990789 614741455 200244615 365471785 723187483 113654135 394253641 363608029 306823111 775927847 911971015 809677199 279924219 638048767 780999705 346070241 531101935 172000355 266112989 420313915 482644199 299169019 530488375 543933647 913391147 812456641 292239319 41442193 543153169 658161391 166740723 253108293 533311983 314981895 891155529 635970419 782562859 905538777 155606049 496952425 977763117 40857463 873278279 776316481 261861991 564995133 550477329 48719579 95913813 161908431 918672735 621302751 300252793 336483613 51407255 932980157 893377629 880528471 695772071 912307885 211260561 568301049 42213379 936832945 283581619 607156427 197517741 784682895 536296801 597875159 867311401 656749017 867640139 598504305 747072901 624955879 215024669 386845239 81571161 268426201 118734741 44329483 594691523 868361621 642058357 160450329 32575847 87765967 831659909 926532311 943323509 860541181 240026779 274620161 254281891 737674849 544737167 102664349 991562801 372786945 249910593 658382579 517727969 532660399 266498719 28893849 848707077 389633281 542341019 593352301 617113715 607250011 218593837 186774673 27015 920312545 921109849 484313459 547638825 7325575 55086633 325128389 66434501 640008963 816857261 232381063 994642261 269514965 123755267 139419641 22915669 449491527 915190859 460362923 942651339 356682089 430518703 479733613 387060037 548526609 120308065 464254815 263814107 178533601 635492253 911580389 315755307 100488259 935857573 105226409 948295769 602422627 858402499 218416801 365400341 544846653 160119111 66801415 977354391 292708751 814669711 829778787 727527065 888011745 24200955 249623423 188365413 697183367 635997941 837104751 461624263 5462421 309358065 240654223 907451925 565883373 113688679 746299781 628670255 57216567 602607067 63713083 750741115 667602915 248200661 906281191 224094183 856765483 183326443 835429125 490222313 22261517 413256117 403704153 15517567 236163153 523161557 966794223 69089071 92041865 175208181 327307291 933949447 966870541 693090759 968554875 328141215 784275965 819361545 659918577 32170517 483366209 788276345 728701353 561267981 971440521 71952353 624471579 319442105 940771917 626630679 945491199 929780427 213070799 529521139 254566491 129198979 620295701 385504599 668618365 816575657 592287217 697813549 907472117 976386697 823876601 118766439 829022627 724772603 798847889 114553347 80925097 557202523 477041631 76875775 821417077 523403921 548277969 14131045 84691131 407007755 64263715 869861707 694666613 2416829 889330261 632513225 685461227 742455081 206910893 116524545 688919461 327797589 364222269 758384413 399213947 613032907 427271643 449475921 421916295 552766629 4521257 344052693 333596207 723264129 462973585 886688493 377787933 16331139 760120895 72930019 401534791 688361053 439409711 734405895 20616425 897495873 230589215 619677879 703726471 138450161 929739161 716296787 766430699 346353583 757611245 528717381 4885551 257311821 982542385 849005569 706181801 326913825 687553863 510809855 239089409 308792071 942191063 367530435 281818913 747421799 994543699 986652887 954037825 829871663 616230127 156429261 559388633 841307349 330395311 174092351 303854255 219518807 26672219 443763919 670054863 979513403 33443201 452915751 196858765 94137489 363117435 887720443 313709703 787853037 252993129 981478403 259155103 863889007 41623091 943946499 948710915 403343805 430110601 21967813 581974565 926924803 941954275 479274011 66223301 728456185 402041219 755049439 477141731 382375647 428190321 682012659 116698061 98658169 641228155 732525889 160588825 218593045 984309305 857555389 759876769 136952459 546408207 260359519 606710153 538837815 207418403 643624235 529511231 653105153 644790373 610293291 997290359 576054359 325002381 934762097 725241901 645685551 47576093 952279575 3196579 1335303 246092891 459226175 222685801 287478757 472192343 89184275 852601425 504362073 308480237 737192903 897221495 522475127 383842747 929039763 31937089 906590687 742496807 394443453 291733337 26343351 977337189 774188681 430516919 964800939 594927211 478211919 147249297 474027765 73687801 318640999 286631537 402050895 740697241 394414131 195300385 101710851 131787163 90972959 958176437 795747037 380334101 896031387 524887947 723689269 349002473 597191969 50349381 43455207 368201407 248335925 656188625 209830749 189045001 313623393 191947361 946857601 25036541 598466871 411837555 252959179 900532379 924411985 621012683 623131961 769517997 359957585 582352247 397272657 684290241 355258081 544407495 35535651 236566065 139816117 553978203 367673667 317182749 853376135 630361877 280168145 225255021 879292439 317283875 264414067 924544465 935893809 568448761 153016149 455226051 12206759 273408593 659921457 777405825 587995987 106894387 863213123 33751059 798240535 113460455 140770639 965365579 623760861 390561797 805594537 887371201 26517657 67112807 62657315 172003029 554490437 142070835 532978715 322707887 929852129 567288787 849217145 463048255 227646585 834753789 833104043 870954045 154289183 975207083 258759335 502222891 221105901 322820389 350138605 649582671 30481669 253010165 247118719 987127227 37698707 891536879 236589807 552250183 180435653 522059823 575660881 326321811 968491739 923082011 343045445 711850757 864947987 701056607 261723889 849535697 897500089 69820141 259504385 18367469 63093279 855132675 146173359 735717659 2229663 904708645 228222391 980708065 945154715 285805087 539787103 110881423 369862527 445459973 277446005 72671553 126596539 661552181 696476241 732432083 914103499 717809233 740214481 351253233 851978543 696130119 411583833 44900359 128007027 588463433 165939929 71880273 11566377 317666519 819331015 613355725 907708907 827875249 858586401 692895813 139001435 924251877 309136239 20149321 82499365 659643593 764734909 399161903 667234809 88705527 292678305 432215065 79505553 614203987 81459003 532848623 123247539 570147851 649812529 709446755 184926757 277123219 15425713 330639849 278975931 331229607 997050735 927867335 25909839 334107209 505463213 316259071 482822339 673297865 842399279 256160101 377395203 699020985 192578117 300441745 865933823 625177589 945533635 693865187 566969521 941321123 382849799 578266243 715330335 809665581 440985593 699838563 564330575 286705481 25975049 386549047 84454997 149712115 381971753 370258051 542669131 105232495 906781657 886741901 52494419 5574473 260413985 68244071 24799385 677996117 83647373 964994793 122495565 507534001 266221875 717812147 379367339 757706429 611474611 152211757 82798067 567894315 75834675 155981445 668151409 857092587 58612833 627925689 199973239 171695421 903853939 414980995 978911583 450515105 160539685 981720687 305784717 839926757 810496451 71955405 734081895 113433117 345989141 406817717 629524323 944590503 758927989 359480581 694559227 179228709 443424449 440280169 637513903 884413829 312428125 626182479 981415181 110289147 364683577 780200687 401514403 958455041 33405645 148756809 151107853 418734943 855198483 852008999 633428717 372768797 631757717 958759961 390597871 193876627 6775903 447816053 153835459 994091611 268731143 985842525 552859685 924706907 328529325 192976059 111072725 290850749 386127863 842496315 681513119 956272375 513028627 79077977 872939351 925363907 593542583 56329811 346514643 47073065 986181409 994053939 146079479 329429619 436954647 90893255 898787759 382284341 17472743 784903849 426761707 620496459 464757611 909854011 999757991 47782363 157966331 531737761 54046179 562399823 534165635 310176973 710879147 752695903 106280813 219172727 926523667 850413827 163593905 870376225 253506353 622934657 637038799 772459539 103643689 363467621 59660745 325527387 467243559 927494019 676939315 311049683 94267995 891344633 436925469 603733275 84920833 898636585 359121449 913391771 31490907 713366463 453941885 559366787 877668017 975406003 789382087 41790667 59132759 734324797 210248253 115013685 669510311 811091939 644662429 166027079 353655557 209487731 755290413 289054547 71869657 695026941 849674429 41671025 334441365 894336737 979914657 367493505 555683509 928166083 900960441 348367657 8601785 437151373 37597289 54235357 999847981 644936563 296377763 737863379 799288997 740220149 43417817 967759885 557867959 798015443 549810445 207396689 21822471 2002717 77882049 847540785 982308417 339904805 316615431 138319363 441842199 724592263 21205621 349414121 83236159 730153257 111380007 592336077 917121665 583273781 851399877 37615709 924538531 657487905 376706429 69309967 346368889 681059753 225582341 652411689 176998623 98442449 675399835 657672367 647900083 577993445 100669191 964918897 675217635 774702201 622481299 252939785 313326687 242949225 192485145 313989593 737969187 842428635 541873399 345110021 463110449 697659451 728723987 608849279 2602641 592248379 674175449 352939265 875937369 553149657 198040899 280802825 817573535 927779161 774532555 568693217 897326217 815971143 945175675 111064727 357683517 346263417 78884063 631121925 192066291 358808329 928960015 495469259 356364769 962885723 864447399 964165457 750594377 528015389 340702929 657025735 128185465 441275457 121443127 816491559 449192383 841580807 890326033 935033647 883477879 849888239 908717853 576831847 436773637 738467529 100315553 772302113 233323985 821386917 600508781 758858357 523384397 133995235 531281365 993130051 704805621 38079015 467815097 611090225 640105803 55523675 348129149 360943795 192218327 948625077 411054099 148374529 969723951 723239087 805609967 501429015 335523817 691223825 457762061 325447619 647909291 761606117 999689975 377998479 816593693 592780927 437977529 112969689 737939697 822470779 243770091 766408895 687685603 440074943 181356203 925940775 853813173 459370613 403260573 410674117 272587823 277855251 608954609 662672655 920002085 803397717 282430813 229998149 203566195 646886207 815109151 958755185 159159033 775616797 814017277 318776675 964791199 737937797 334603847 529465009 710435165 183301199 816784849 889470143 748327209 204792995 153958395 254144177 212318471 919482349 691585195 878421627 448616191 953140447 424570447 914273233 381400613 187947129 327927003 469863737 341752213 822968059 760481489 831713525 102087023 638428403 956127285 628738587 956142557 912665655 699448213 854550911 170125329 713175265 615073545 174549187 52104007 889169493 746683695 171111759 469539777 90535489 432296491 340672341 800198087 26331545 904775341 959391945 748709551 940702103 850324715 710202479 159670223 235929795 715028899 878252239 363875213 131779045 664283421 428805431 740841553 568743701 623367205 771259073 19707279 748491949 490790673 250550605 783691455 649830483 492950209 518108803 561559139 542829041 511323547 336864979 681435401 536589501 615365259 79152757 310854719 674150963 812746763 970998891 576782243 204315415 931087639 189493115 960307157 767232629 518340149 380870455 287606143 569943201 902325875 720702711 107691603 396266039 341078121 233706203 120194061 378653469 489867573 777125065 361052015 879569279 481362811 853401461 412488003 278543055 243761259 566783317 824704857 488243403 803462843 69044139 383558543 746142839 220659627 378963837 351512261 131266335 859146237 280882333 377338853 419958617 903703811 371091105 834729185 256276477 89536401 16168429 820969909 52575029 817573129 587337893 803505507 746588007 745678923 982388669 440504053 514094157 530086603 776907243 996375163 582227935 431945085 937274543 429118995 882016101 833634783 855308115 273216733 122440807 589125367 252675559 937632771 996807613 338323027 606150721 108863929 985321089 776500491 196990723 567408695 621231383 343645373 469445271 934221505 878212141 776282253 975382569 471662239 276283319 941284907 297466037 255991847 909903857 520066253 159243257 227626927 513109085 156144179 995579775 713837725 326613707 629955999 12328853 515857497 570766925 369000675 834471509 239295319 36202559 910525269 41108639 554881551 382641479 890268369 592526107 364147205 417631313 79583935 931368761 814096579 733407119 461491981 222295091 116366041 963528063 194769199 858192391 508681445 892983779 670122791 697238141 674318983 651237579 601409657 270216231 676929897 849421707 62002485 59268445 271570495 522707387 926199535 90633023 443541953 292076099 667743687 997929653 886611891 343594063 915017057 359988079 489737695 274737745 125448685 592405733 480453397 40977161 911446307 994415961 904164403 586027127 169294653 41960657 455874329 13884649 83211269 625351199 352883121 795531253 313600967 747536345 755704559 938390899 237383257 452556131 717066699 921650317 522995229 696635363 363423817 341546155 128136949 582081351 513972851 290731137 778746703 837267275 39191897 505997071 116342565 652346991 786068505 199591573 440337651 928091385 510201555 405923747 549061823 730329083 783257521 1690635 23130905 49554507 815025127 402382825 503989269 251263883 635582125 143994017 145010259 562642725 919491143 517762531 840003575 450808645 720051455 151179935 854375347 997055975 857359399 116855313 59939769 377971657 246805271 672044225 559321801 885084021 235820085 99564409 691763499 883172411 152105451 349415501 560393131 655991089 908267431 457738137 766560929 84948025 684783337 923138307 549565673 110643963 63014959 411190903 462276331 783207401 460860933 604594983 308936597 944903991 243854331 547800209 249364317 135416809 293758895 555678073 732542273 983461063 20204481 862164203 206611911 420344159 890245851 712528701 706388479 942092555 338610353 6593287 493133437 9926123 56417531 780927539 836327009 129091559 47041661 69447399 605629519 179840431 157946881 256801949 710728569 67415483 206773081 296484621 951122065 16152909 951336543 352962877 41299673 601942381 665220597 53931643 515423509 343857129 153488133 125726553 122846867 439710809 653020547 129605299 611032105 865386273 311649127 685547181 744990009 888137319 199651255 869627829 483824293 877582619 458543479 111028095 676404189 286845429 541836479 165373957 244603863 875007095 85508007 691002511 54662161 145484775 278628689 582798503 40446353 849854549 80584937 670847265 101928935 94197149 403460253 700533529 707727399 638533725 997110445 326903541 708853233 103199483 177943127 863663455 971867241 480665259 191646439 435476045 688807233 454179939 529713839 369240059 43339691 626288099 55739399 448677869 743839081 243564213 670280791 519754735 9727935 667396393 974982403 411341077 125246075 646938453 516105345 286131901 59620597 229527067 29868873 717715849 165700361 872654373 875221215 338809957 13094943 340132575 794403533 752639881 624009253 948311941 524893093 817386349 570620049 745119253 459079681 979305943 54004579 28911193 33628547 424622291 599358493 78445791 2077143 461420471 335164113 940452865 543071661 459119131 403519763 255929055 965789631 738256105 17538307 338904673 65731537 814427977 444123719 586497591 861134765 788219311 27412747 560527323 640954405 610118875 188830473 860037003 821258259 976573133 780394619 783247695 731785049 683879381 698787627 852615163 341727715 480338819 603304807 261762081 268741793 50896825 847046401 207507239 160331917 896222101 922165853 560681011 295009707 891682439 191938909 659829045 967737861 600253763 993613937 193096677 240024237 451751621 245974415 514646213 984045757 751421265 478780725 827932699 409299031 473683315 664977771 970679033 873461159 670125311 569808573 257622583 674055645 862534673 217995585 972286837 979672115 951930383 165102487 341928985 19924205 860458659 742118885 422860375 430703703 558162627 790193879 344859173 777717181 255531437 945058983 20540997 33460353 394454497 901375505 379694397 587184383 597251117 144960347 119128669 769175971 451858085 74586963 898845889 623290337 136521639 355569233 320076357 221822259 879146709 708023089 860976789 741270553 740093981 702575197 268960797 912488735 631547569 577913023 139426585 465546711 859142159 929408207 419917449 656115163 382437629 167628683 410262321 325465037 110119555 172889979 512213671 830660697 340769529 936263083 802582591 106748719 390380793 70759089 716843547 215048715 409825895 793101229 475321379 215229869 533468017 632752965 196080393 519180513 688032651 835319461 609809729 421378425 318092911 223464071 317406225 20997455 374939429 212183079 882926203 548844357 657082103 229709387 186426451 891264583 874691191 200542273 309347121 26955333 807080071 185408225 501842293 932591931 673480517 240953737 837064007 823071785 980298531 278646045 106640793 657154587 864294353 398630669 936617759 694591779 710713165 28982353 291914589 933971291 236921561 191892067 512752025 978610149 325519877 62692941 364276709 311309805 278276517 92996505 904717849 674553763 219277521 34326883 400377045 318268739 54344689 52858693 367196801 144476685 140843953 800012391 58336845 280483149 602692099 736598647 694407985 666930517 803329829 182578345 781798637 758720641 105629339 826208959 881398541 77477423 524071473 423649789 18136027 332447693 662580477 554870835 36039541 151751627 367177305 834853557 269776055 22140067 519206121 652347745 143854669 845757915 657793435 966225313 635442597 496307449 633321121 619490143 929329655 554894481 253277307 434290707 862468931 422396221 64605417 484517309 739066195 602441377 215903227 738724319 161709751 731851875 607054593 386900107 564249541 717437753 56618909 885584727 213253535 746314205 904836269 465448543 74103087 365888527 172150625 644698443 921215009 653465501 228788781 344862793 942956017 34761045 705228237 225701647 323482333 886442003 729987141 34227163 627020527 40138681 297822687 697743475 196623093 897289267 670663219 174979877 490201993 674032241 55069469 510807497 587092493 669965167 396452799 570217149 803278245 982467375 633325445 154630629 276252739 438383033 797290277 105821107 773968287 990236193 903825307 16702489 157824571 542106497 825104171 641556889 432600159 308556285 290928737 261780021 684486425 710271419 304378129 284239999 436620099 649338867 578437977 325506701 461307517 156112345 102585499 611730683 326966319 177171381 326040709 16640497 913772169 63117261 476922377 826928157 448405379 320357749 530576999 664711605 55979999 300442633 735762463 445785463 639951395 112826855 32148991 794232745 110459297 572036477 91160093 934458651 985443185 205884475 259370195 610951201 989578611 976568733 278354373 398280091 460152141 874678307 808635105 506581485 424907123 289832539 10520411 834073095 533650459 758561747 816045741 849968737 556564039 769673255 954949023 892729333 33892029 257073147 85604667 167805773 487496975 256574455 468308435 822347125 668373139 110720973 92329993 480284933 139274093 837613369 376678331 615405337 9006977 754779387 823365403 384088153 896605059 491427295 168789913 278192115 538423783 336797625 807010033 527942813 501229043 213523551 939727403 798859157 964470955 149946551 781835921 976041889 679722975 165567399 457961143 670294033 95113513 426245415 993954171 952501689 791137003 255477037 140773119 826128377 338565961 683221691 291948975 757927863 126277429 974257887 483551043 475523679 684915049 635748263 806583219 410978539 3302243 339609391 193191493 962287317 866175597 437045915 479423621 729792807 584559765 602643219 810672967 67683181 272640949 579044553 505887145 650731199 928462445 462841337 458653197 311517881 377584421 933442531 605805345 794346115 878626573 298200533 672995545 771520971 671527199 892219421 35490671 952511943 75648281 456952601 903215211 580597813 125363843 835181095 495760789 48551517 979758511 758068405 503593989 477017611 276064437 80700723 35448597 983780501 278516853 512395293 933747049 501188571 694809495 647537909 453779951 970508097 321103753 311939395 74206939 653036217 612827529 504544157 69175977 330047925 956032913 373710489 464597789 868746295 99915119 786767325 879043137 698141635 883273645 562660625 315201389 437988455 205145769 958500071 450014269 805256123 351084929 485833243 870179219 996747739 422496027 728384623 699307675 855146607 991525675 410651051 19328459 849341861 343137063 133059749 68811743 555018037 396335439 438086707 857491163 768576345 503407021 442944571 146233611 460587993 829671697 563140261 463296003 833921285 995864081 582917731 775950753 574904497 718912529 815557233 361017607 888702781 755681333 528679633 271401379 170971279 162117233 412511627 196667943 174954771 696019065 945189813 331110289 200573635 240084179 532814949 79167013 16836123 838731713 895856065 136393329 101277985 21785177 165907441 560560709 313990755 859304303 581581351 744794561 627869689 776968357 565090207 346745417 791958143 812436323 865691803 849895815 945330719 906544091 385227621 816870511 812651907 998900737 483599693 355415617 260159203 597189785 935849905 741477245 142130429 180287531 447078127 650117363 172554775 295584773 749502325 931982517 719335169 748546369 954192053 181537567 947056657 343461311 568783911 252504535 842148387 683910951 527419471 546440903 322224541 337425897 353836981 174980901 33664881 92239421 595842031 378451053 932545043 125007141 256724115 454419297 416332929 766376295 784784455 972366097 746782529 753313941 993973171 319126479 97331041 851780615 458930827 717737529 360973689 278396893 323254919 54367281 581392037 776953341 580803177 560506851 613549455 979767579 587281663 26611397 322802017 503569837 367902233 36483733 363796179 601970933 916412303 633591891 880776995 493959161 803833927 399196493 370570009 477076619 949034793 799542807 687516161 157725761 125394473 635058063 865979057 883637119 488956223 720760279 813919369 201918057 626598765 249354589 892965487 489065971 223980993 699887571 837433297 386217171 904988235 802430777 290712483 109241481 773926179 212485327 585103719 190479455 504536943 533409829 270278689 362929253 504141911 229831179 574000481 388935793 681053199 336132513 384819259 295160613 837965519 524882763 803362893 95084267 53363163 625259955 582849729 46716655 851865211 990135503 972803905 354694189 157509381 69252313 882213637 643504227 626379729 950380889 276577229 566885659 150506049 701941785 474065115 513894051 939015615 75556909 922673665 725998869 185928893 775025905 288945813 468269905 178559927 437928715 406783091 68841471 430020143 755096421 880343811 66070159 431309743 533037109 680313905 222456891 219498185 704549367 685278071 457396481 394505237 935533167 127676625 339711145 829659449 208095657 858608069 693224389 339489757 534628089 843611235 992128685 327385269 253811197 717749311 112471681 871850617 1313687 601571191 121029673 793872109 286798069 655844277 429057877 655248347 871386761 925265187 57222013 645107731 965250833 813128569 85384931 13470323 211869329 604042487 477558157 258358491 520861527 259100513 739393613 962143029 806515955 777137925 357162425 25567349 808729413 668835257 246417717 435783059 519826799 612562397 926344167 215235219 648872159 328279383 871673789 894082943 245224521 873473685 971175027 777159529 682197159 433791373 483234953 228529513 681961025 65539261 158371397 576507301 119209375 178213931 527954617 698347079 775440537 838601831 592680123 158457981 557536585 338346373 903826925 953317765 954058517 855916581 467277753 646146977 239099303 51035243 370343499 834194715 57495029 506909959 242565023 923822917 84449083 996558385 871893621 275846009 505652733 981002403 309382993 189966873 518376711 395646631 167495561 478062479 959903853 202312457 884456497 156154191 267658379 242251809 626048811 75332817 922520327 985778379 673213471 62885529 131752907 649610095 728363391 853120305 58295823 994080507 306870143 826980907 4072267 160737765 948374307 68007711 401048645 670893355 202522419 305332403 714372105 467092819 770467133 505815953 677356267 97739629 238210715 455676263 761663881 995086349 728681325 288986613 545870789 181058643 122782107 137820665 896285133 949133027 470863829 817731135 448672531 924841711 120639125 407755927 681132375 684353321 169831191 254788319 593911705 150257873 305010793 272791031 761920807 32179375 319525975 593081035 111221399 421522447 813940857 748443465 915686595 881356233 26455859 409364337 197750737 950735161 132184235 387958337 426288683 127221577 33233361 120759493 104031109 308992353 500344669 478009613 766634975 229378173 764373713 857892663 328645755 653235227 785279859 440586339 967683811 154654013 887591253 774194621 716921839 934625653 708249677 22005109 624706745 6067159 456580863 50572741 28434855 989480451 127935439 550318065 806384485 395213597 54096881 347310403 48834533 31007959 617005147 763379213 439057251 212157539 555986637 702619305 667951463 256983427 112281809 58571897 69301179 402251131 336369335 830657255 798385525 227174425 161262229 597520999 822060525 304546997 986508621 376821619 317651915 45339947 125052809 838931339 522010107 551982307 354631861 211971643 68992175 251786187 895733773 553287187 547993189 269992281 92836239 784133041 973682401 873493387 402627333 871466167 537065009 953671145 285125885 424681675 355150245 640225405 369077713 72963747 724007645 691735779 524714657 100188407 506830523 481898805 599356501 100298635 996695149 910427417 551233693 486535209 508018279 680499393 79206643 938223523 249204579 979894239 612895637 446068435 865281897 543901877 109386379 744008091 644508865 819151623 788122281 953105383 447987459 754258723 278496385 450090151 638358025 355544289 789300601 5403349 471466233 799159455 627006135 700373621 121536829 365909569 706106923 215505297 848407947 306839607 507151247 627574075 16598751 423698551 875777375 897432717 62502779 691515263 869669863 952600491 869496815 378600279 674289207 495044795 265039885 351000201 820699943 66480371 691407347 193579825 170571863 326666125 805539073 165582313 626022189 769511113 541190889 781008599 628393949 664020723 58566299 513202861 81285725 954581341 311656277 140915103 724318575 814212449 913577883 897603177 711062425 171442017 234172985 332805973 776321067 381384649 310588739 700068657 906935873 245279241 933924631 17013841 7580599 901529499 131269975 276726163 824547385 971959555 205322737 862925663 194266675 924114635 513721879 426994853 583084001 608932485 722825545 220510679 646166083 542965195 566664775 219812341 474075677 283577153 666886687 468755333 87467781 284024717 717337895 21241751 760726607 524596325 779764729 76798657 531156509 568804227 994561145 858050079 355193943 356693927 683837141 379535449 150273455 292016029 602290817 353389723 669728411 297932087 784693561 34727327 929196123 41963599 348273151 442177697 674792951 78705097 722081315 392697959 181661505 385579659 617175607 253471295 584828881 157504139 791281431 178044161 819875335 181737411 916204777 604894219 550348299 180247859 627951127 307035713 111968975 734591463 257813079 46295315 101496583 209730033 708553125 71429495 159834679 549079403 545732421 431812845 375664549 872310137 811439299 366878327 32545635 918742337 774033139 983566759 751850313 762666745 97738995 97780627 815392247 865212123 605236005 114660823 117858773 497224231 405998133 905294235 507079187 407351851 715059737 291742347 868494249 387058485 619438863 526329825 449892439 998383009 755493015 8094553 563659177 252559569 704737919 288747577 739112937 426361905 703362011 467382353 322352949 684519985 961692169 176565493 735790185 681237837 230061995 756267011 207382065 219348741 83907503 185185509 485527547 399292133 910301769 249377669 587635455 367316351 869716467 147386715 214170429 520208749 704757877 192673895 667346047 402073171 781195223 880521259 89550165 338196441 265828721 459084473 606371349 742428849 946113245 328306087 651609057 634865557 164509953 632451857 404076451 562262603 951667463 65278111 191324935 972500121 120812901 315138687 316951433 97151827 264068309 456128613 606402919 238581075 860106079 614368403 435489963 285012605 878901069 39292621 113919523 243928759 696413747 589064547 28316777 510414585 31542765 260077609 620796127 858197559 605756833 298598783 466223273 650208889 593295547 477307721 781049785 216617925 702901229 553124857 526555081 253746991 343843893 622177665 820520277 597435857 979764183 51746913 304390315 325576655 266877791 33502881 507298007 200558929 127578273 477629645 521563827 119651721 642511291 743155453 62890463 917914035 641839119 677728205 698859459 102643215 342773577 345120613 39526031 457156841 770575969 577585779 501646395 128386965 51349647 423364397 892355465 82731369 820758617 227886161 6228735 247402697 824123533 214918181 125219311 241641505 509909307 750164343 953163121 73902817 486292163 24752801 113893733 319857285 709914313 716055163 250320241 172502415 305816375 107124593 496832009 511056519 595816257 375544429 402080611 396973825 924708455 841853417 423022721 836992663 412789097 281540319 437739049 773150189 134302551 5104601 436051949 397242283 403759235 840172003 96312099 995663235 857721225 53863829 661804527 736105265 693896783 88873995 37529653 287626101 24914687 698245101 562497705 55835933 735579919 379817577 506592705 836664311 82723899 893477941 60049597 419699167 864797063 974088335 357158567 940244921 611448895 227465789 844371789 343880813 590128887 997524111 57193033 480759789 918141067 577564761 311624701 667449397 71182625 167652603 851510925 584027717 489053477 691549529 783218923 514251051 222964297 399205605 560688593 622166261 928333963 124449425 951395517 963561921 967564079 508391391 651800313 443736749 614857667 22302675 615783059 191278311 643274007 807965691 945832293 310913183 371122251 415946095 128320015 93471249 631233473 275800523 422494969 905583231 272085031 508274231 287703891 932927281 373640559 602021985 543639575 174931067 325394905 410566015 606523139 324775609 413358309 577846607 448082335 331983177 526586979 70397209 639595069 356471193 160761699 333032103 84792565 653011995 610627397 966353749 74269351 113932103 803408557 372227323 145491451 104093343 171545733 972526853 84438625 486190513 946888451 688529759 945845521 710734603 299122339 612703101 458870795 448403787 156286247 914109793 768077083 637830159 856073375 718067343 531387083 458125573 656651357 332193557 478187385 840521437 656167421 811296907 901968451 457257043 723236453 10637069 986616335 613843753 864661183 99197507 416155281 288422185 143950211 282411099 403274559 454633251 36018537 507689227 969170521 411064307 680140917 565107345 226462697 53207421 516816633 290241717 260117695 170449833 249818243 436797891 760938353 200968553 13529841 230488977 870764387 724796857 282736489 624184447 547313081 139757211 489923415 328086643 377284711 904802841 56501103 473218009 746755363 292211523 853673643 662829739 226197101 672722743 112607057 625640805 270981773 663975955 11448301 664743947 197350039 557700613 919885397 706965297 98943327 568878143 87165091 479143145 479891079 288289273 413948987 919822801 760684919 161425781 342259915 844511249 308476001 372775169 584550215 879116887 266402617 904084971 838829289 447235803 491164867 831054737 2590777 202087511 798939527 563033171 56991743 846576915 4683475 109202587 464020051 254760415 526423489 432945115 300349839 191559441 445526065 401566095 861746009 677579653 677318091 120819257 484736923 101755809 314632959 125865569 919287691 597279319 71558661 4957085 829230245 526408731 588481503 75084165 961094573 755802601 675173203 33502393 302625711 142417483 294001651 183195623 91515647 378971215 577618711 598713537 612127289 546715785 72849631 880755967 437235523 252471319 919367475 587667301 962247753 85921 698597569 644245691 76795581 789396567 2393095 480247511 209581661 911845611 78356031 106476943 151111213 926227101 10787445 63309257 513865593 673410613 954208377 311214701 94039767 371162879 962784737 955809647 842327839 314242001 73433361 747799239 837886587 924549131 77402669 947611513 294837073 762912403 721433129 297213581 221226843 979758295 572866491 475405849 25955473 219402187 79593571 134912053 839007803 314481393 249970027 88179713 108332513 211013965 782236899 182782637 768053851 697771119 141761697 331653221 891148483 778651499 188583751 285452135 153105277 72089055 184694591 974640373 312337207 873558261 922515893 93171289 320258533 362369111 972708261 110424035 871238595 845428029 292460237 959043569 572883029 737626981 68787895 176604131 472489317 308965399 549463473 809972003 852739595 117692703 459125717 666630693 144626593 575320019 935315459 863683425 534616781 638242325 434636003 112188507 414483579 339512645 601420261 584483483 518247133 557294423 905826371 880686775 586461297 775012799 278857723 921820487 514918139 239443579 823866581 692382187 516723335 879692561 141310819 670878803 368065641 535653777 525837821 939221803 171449405 967543183 849755587 116420915 372429033 767630121 173547421 65772583 637872537 393863689 970191675 647581143 60154559 238351449 447680021 291030803 969388827 871713233 368583789 141191859 138253485 238011569 968818249 219264669 971881411 106359995 865908347 714516155 887907827 406348865 826838425 302008827 301384471 527634201 903504647 245178205 782333011 971382687 809129963 680937693 656641813 576670651 402022963 85321355 274839055 191066587 421171613 567244663 907003457 462515701 116363427 205991611 751259115 215027335 773168529 243699321 633703325 128619927 402663287 526263515 339839273 130429363 732682027 833846549 1514667 356741877 57690191 395871327 94290313 553738741 662565965 307822333 887704941 235439327 774559569 599010615 751152973 398633565 803015511 149422691 39794275 938212519 989963551 496134617 264939319 192998013 519751469 460299259 200202387 615121955 389318871 500579123 469282955 608385639 785669937 909080309 443505533 316719007 138482205 94112953 829564681 687593645 548246851 691155203 991875361 918030835 329598741 899358813 378473205 540949601 1988551 563133017 186812931 649013867 727808093 189150865 554171663 625514261 843697055 203304359 246738725 599006943 594696475 496080453 636289179 24625369 322507819 158823967 139275273 228852125 959993071 891389165 459357017 700393539 544533327 921742195 239423153 304290679 714783227 879459963 824410507 408411235 133631341 744065495 31051679 24330689 194911457 739162465 646340085 322787019 129896293 772250619 941657557 261299275 921844421 210101391 863597527 4227981 979471515 487352081 230751445 795080553 602945861 429452153 780839155 382005051 953422575 526533323 91652255 296458731 605304455 977030673 674755981 474140391 789017285 367466845 251925431 718783781 171647275 255206601 324820581 773961251 780573439 5024119 152142625 504303849 81223763 333329041 460457663 145738497 676928253 788118603 924583515 107375495 74169249 628229853 26840155 706550291 152648867 151636875 674911081 741690321 623853879 694191519 811774331 235477611 630028371 14894955 32905933 352047387 470004151 28414281 204909795 761116061 343390957 282068635 830242185 987170101 366673477 83141837 911023059 736843191 591807445 187332685 700559135 119729779 358082175 918037403 942043151 732336461 714131693 552970293 903902607 294395303 1490059 152512423 533949399 396343665 547101333 711874691 721560927 684984353 632863497 41113443 587707885 872610741 260502449 28911593 868325261 499218867 964957979 849652159 510222229 257924651 144247201 619272089 597460895 436822195 524530787 79798833 280761487 976002917 37043273 907485511 635120531 554849773 661508869 830939815 553450781 50839159 234302475 544768803 340200941 988588215 328653215 755217301 907835907 327080175 814663111 21983199 86205359 263979235 514473815 108096491 250027139 169152737 250237667 782423213 912001115 405180609 760072139 824946463 765643867 79241951 214972219 553422657 879650289 884220709 526597409 242584351 666650065 973172733 468816183 800418763 63036663 880580959 200368633 677679711 865716647 995375049 659249589 219867389 74546285 402893633 623905141 514994639 475525405 462241367 106422807 822361097 122814931 623448353 367357241 467823845 934025717 332688955 340266049 244295843 337431853 434723787 882876771 781101967 911255667 831386755 974342805 99760379 738876159 554537109 723631257 493558849 914455895 366149827 683917301 49807299 92494919 559929169 349590011 841628141 963108323 777151759 34803649 839547439 591520393 662645839 784364329 194048515 6256091 226038773 860826077 646012911 358776263 210794595 619891273 608364153 478188415 839149193 2198697 610654517 457773185 227504349 891790845 628459965 864566163 716658783 26101001 728587443 333202877 256828817 736151395 988859075 274044247 656488325 934564447 311000989 945865979 716254929 486140447 643423995 744099469 618222737 463221389 253098401 960109115 170661739 522348629 270993497 96787321 657942673 542402035 519265525 422299649 646638263 615717029 222818129 299432667 99432217 54163827 49482827 518960465 473420931 903999023 600033999 323185141 250011197 930069107 508604627 399964073 291241761 982059161 908942411 656825483 290537611 501786319 514911805 644781837 419185509 679702533 826030005 96428255 909038361 925861103 23858881 566646271 38153887 378775313 263187325 30293935 612488565 270443953 32753419 947685247 927555235 467330785 19450519 54001731 77626293 802486393 761994833 627957011 846977987 88463641 867524723 600175703 934828137 89955113 421370947 978623675 417884877 9327065 391189255 803780145 557165729 757062177 657323795 476096759 196095257 726996929 406780097 310750353 825314803 614978117 682467187 709003979 12138101 43750391 330389653 797294779 18321005 114129141 975397527 535254459 188015411 786106397 942801909 873999471 625275557 330176533 761724975 390552005 847276583 235832913 686619345 394428399 59735467 33889799 46874735 626189165 447237283 773424439 885573023 493589503 711315727 177515947 426999301 717803445 625839223 923553267 256342861 924254689 890272487 684381285 588906023 201840159 391330293 300872739 571422543 878460243 422740931 434487319 435779717 229605035 18746867 624237037 247396245 167501467 592615603 741664545 162146129 613726687 111644093 377632241 515853461 323973243 830660429 760678503 606495039 564548793 52887337 235556177 229170493 305476145 949264801 352173387 79366527 701711039 759793801 434550705 299696897 983600517 368972865 34879917 455711683 774660079 655550125 467873071 386509265 359017651 288845373 722566129 311115327 264271565 359117033 2898033 956038179 705604225 104837931 33051383 953420193 45027419 869092109 29461141 149623525 675694641 908988699 250952227 629082399 488150043 349626731 683831105 247779211 745356673 784552095 274637143 708297321 399920143 743984857 473873045 542923783 547291831 674406601 298909939 588267443 122590905 588412579 671552307 455897801 937560725 559312169 932675035 869141421 882363161 764400289 531175997 305758917 302796379 142097877 242431345 6638985 412348085 673472799 849475415 6241645 105623499 104318301 687546261 244162809 306234251 857899765 769597087 288868531 284287785 576437971 983789227 533642799 453471263 982078831 585928379 751624457 484713781 647961033 398909333 533575135 57577333 179557477 562941131 891214687 460121393 407935057 682079155 426640185 299709195 267017251 348122737 990915369 56611041 993320189 250069737 101503473 117737701 844176257 557475279 16548441 623654535 470402783 535505305 516849717 19600259 999265229 471801735 578834785 209424097 44820361 907591331 4911291 819038699 647183577 812475067 839272241 576954165 203331341 712164203 419370163 727113117 444512505 910061327 969450301 561623877 82826237 179218897 824291793 300748441 952302333 953618593 214792055 508944721 905935211 854104121 58349123 871498597 637098041 538877463 846035537 10291739 39938281 360793477 27650751 416177407 577290367 290490513 475811515 382989029 912448137 186024213 882449527 569094379 333589021 810582449 966926889 310683507 194728669 955485901 66963737 261738283 688561131 91890073 75311245 503495687 506320119 389519631 764238043 456788545 115409719 245458157 15959129 392503137 540227177 592742587 589708909 637379375 592331731 689330891 863742079 584603331 734573381 263610165 406989569 846520183 840776211 408970969 720113263 389135855 951024669 312637023 911669323 26551579 702470857 480147767 361408541 890324777 313886211 117676185 856642169 411363995 748249925 468926597 931341307 229210419 35051657 450610375 604810817 111659259 499502937 273414635 139634425 251569483 137349571 742808137 273783509 81737151 756841305 419023109 954865805 284558137 115712063 418538243 664878563 436017893 625910295 57001463 343849125 946755897 897052433 775675223 166626209 16346865 496947427 480408931 415289781 540099089 958944203 169652261 817282751 960146661 295291281 113467501 865063597 344472321 173547135 657995987 776448113 338281539 891016305 358546101 851549443 816575949 514919873 852898109 222833765 308425997 726349909 628508765 206163109 620073653 630331039 841797579 306973393 430335939 93792915 863085575 127187975 362108541 893414573 654068059 385031271 837436779 730722551 791959765 273749531 208987747 161476095 360080719 887115349 794171779 409545687 79310953 38902353 11215407 597837091 902572427 487328849 203982865 6299653 622432999 135398557 370108957 797474093 89490033 755474059 396760467 993115857 960184557 113974641 300816115 864275377 402024163 703881653 9092365 133917199 224260513 523484607 115350515 535341757 33714753 952250113 343201793 316713999 726033571 11254519 941229277 438183653 227770479 324108835 205573745 988207525 306793493 314345743 602646515 961854781 565242317 776420683 285096671 87027233 11438233 613595253 558163959 660055891 537004351 140300077 496661067 474893143 43500369 42690077 970778669 554895165 559187495 926300919 657864763 243510167 518499297 705414519 732116567 955601801 555374695 796654687 296018605 101343157 352203879 222285433 994378421 441402699 384820319 473770389 989253671 244305667 760744841 788276113 625435657 961508887 530987249 996437325 646583207 909723983 604607591 503058355 810739605 913542139 589450115 678540469 60006577 401097969 158886051 192035407 801350941 334104973 817589745 674466179 236473671 538998967 583117407 860421979 15802595 528354779 860886179 982000103 667178475 336789491 133470781 668681029 520978341 528356987 469005943 32855701 409889183 405150329 826550625 445394689 740332713 520296315 861236433 615693499 495145955 57943705 173697385 466747393 405245873 57574769 193837459 517990927 793944765 384164135 229515899 67694645 38030589 584251245 398647581 351450307 411170987 970182517 413845815 105331217 811904335 248346367 249555539 233502597 93989043 570173779 637452991 33226375 394542059 828602941 771644053 198772619 21413971 831936787 941146293 818441 815805585 385449397 688710087 994987653 452757391 206403465 425983291 449737097 261851523 837570685 292978251 68792485 197484265 977751047 583615221 282495607 683994501 557201957 569867521 897283743 935830883 814250589 385682177 657556167 112827863 145849021 291240269 347560355 224952959 760464605 874307333 820610027 400285245 887776987 176877841 737384291 167852607 320086107 65379617 904683987 966132471 952056207 765659821 700126225 894402339 333124137 965852663 501791989 260760775 534995561 838881541 165928033 577417777 96657943 798696617 199952959 286674673 291799423 768714107 686310275 259626727 630809721 847402713 110885 607009589 984168801 209113071 578075433 107270473 787429919 636564651 129127319 628802007 922879265 561544901 482861957 933442521 461996125 396680893 254998539 666437015 605386319 656938205 62221131 122221465 825252611 9057333 59421039 964449207 421839105 35014555 656542635 719799307 748613219 739930803 960313143 254041083 116101575 915605217 214973527 519037745 168136019 140449367 207187797 42695843 743494579 545607439 920616321 288194445 406211359 189659081 946164793 641515123 823908439 4136201 158575581 331414049 396729245 516287525 453767385 998878379 162639301 468324913 705505947 61759085 782891295 791536911 410088099 236600589 25548429 354605159 220622703 419424373 705314933 95538347 285177225 218394589 955003333 89997839 91559047 654116541 557582579 534687127 187706881 618673627 408505597 647722507 558024857 557652035 542833771 352702201 638390521 193640009 114825287 515178939 77510869 238501515 599888683 715875441 426529253 555413227 538304053 975548675 694199533 249835927 131473419 373528097 691590327 898084353 720060889 598790725 6199573 627445225 366721113 943873707 649048033 947562063 513199301 139417185 919519229 115152001 234259943 923525427 924111955 659948821 230889227 320381627 931863767 196468453 720005385 168185175 426841473 942788631 334021437 135519539 642915669 48325397 764949647 668254525 858800989 290575763 333076077 778435629 83552683 265818001 651726797 100557189 664250457 738408017 402784813 156526219 510335113 39630685 963597971 226059601 529314149 140891021 476638863 715430317 496064289 453978619 402047285 557539907 996512247 921980173 417113125 923349367 843126567 144762223 926922885 406606461 856132093 274515219 905141761 560519755 50657993 306346551 544126931 615823009 202398185 371224669 854710709 685160713 261497021 659338069 960767729 515958739 816805041 951032371 598087507 846310165 392846901 438298703 438802995 782896561 44082627 384176209 907876207 519074385 730328287 361582885 118301803 400354913 861435155 180718333 613911831 411382557 969516273 446954583 509243113 105595523 482141459 565714167 253321695 22699613 978967835 887692523 265972095 188634937 434279093 500822915 855205337 145964913 12411535 379510367 604045441 7069221 36371305 995547233 852930967 263294525 743521537 39459511 406608065 178295147 102100259 570252757 717256747 856863523 862110881 834698357 451798415 18570665 553102421 571675295 524433193 461452547 291504161 611432091 624555711 5340165 405689327 363621889 186824351 530938691 169077427 203489963 923564193 723276829 404530023 616343487 557191457 838886335 312849931 198886567 310290951 55053847 398938283 313245209 183967169 641286367 532486745 565250321 4757061 623816851 570882095 788790225 226561555 961510273 429805647 842544361 351737645 584708275 255407333 100826667 735281701 311469319 346984225 142239669 646711567 837991963 339963453 86994151 544047243 490992469 54220925 5153651 998829247 313488105 145467435 217221193 958693977 891230413 599711897 473718439 407747981 296087491 459806497 687672081 985942301 914860625 334038567 939486291 863831885 437804489 323766289 931769987 491918059 981077313 303406165 126423545 205011023 948371099 349240429 147648605 456180311 7777153 796995289 918769051 55303527 45421663 171482661 768149223 700218479 755995505 589316579 622079419 212882405 687190967 75229101 589319901 889371847 714572277 803886629 87839067 135927197 199345089 22001143 684491141 769268595 104683631 685354707 449038331 633819871 12912673 301298291 152860321 857853185 440859329 388743581 393641377 47399551 244552955 684952855 976039023 837284487 130294603 927090869 521151691 625695181 939000559 526739537 195414453 548324243 23604975 327676621 209991293 793803421 126151965 44124949 389430709 550087739 909015827 723270937 754796601 261577537 381853483 49518803 763057199 772974861 234923923 614481737 503845889 89023113 413982523 703549313 387120485 438535967 583929047 650584463 408920663 158510023 413745643 463095693 279169563 300760575 341867965 639482013 398479421 618925775 984584287 794825707 528449937 467247043 121636777 347184551 604381493 91417073 806476859 582599181 979799947 70411001 790261373 598274653 593604415 373026817 610919327 565389283 700483657 76429495 17316505 663226609 468611809 973506129 339949867 512924129 963456141 867305613 364521185 628701719 462919961 900683441 989184517 829413625 547185049 962614923 259739317 140728573 254721899 940530035 389055951 95857309 663408435 60176711 460711417 665232219 745270745 300783979 835175079 423829183 8328599 786662863 468536591 442813277 811429605 266723307 990177073 599778255 124217739 831455161 399290583 80932791 495017361 184517827 743449745 233516225 277023311 158500629 779824309 736583581 63578975 920306757 613250149 678697735 221419431 78816883 666086027 251707071 486550097 644901189 421558483 386419347 194459603 945025257 620003001 580050257 313804007 147723541 169075835 813105109 247366037 967027719 216175139 302238721 736070695 500644229 64885887 922320321 85593649 594418143 175462955 712365573 327948175 997817065 631811203 369966537 667058535 755986689 202537137 456641293 210282789 851748881 261438117 998534111 32942459 564588675 35775513 645821261 947817319 25721423 549906315 444905587 911762221 526452213 23683395 401754995 250435417 22689145 186988627 999178873 918803391 750842217 190239635 103561909 699808893 274993115 60758179 543805795 973834997 219892591 591201003 304590021 91658965 679629387 112908955 204582691 806519055 450956061 836050859 197035985 49604321 280137755 671178973 927865897 736490703 819504131 257050295 629408911 752978855 719415067 415591563 237734763 881595257 954678323 72520561 790825007 284848805 59591583 84201801 114751575 827614927 274381887 40878009 643868771 717110241 86104183 871444277 239579359 499006223 202979129 817870323 756602719 421708249 335193335 866128629 334535545 474863361 582933683 547561217 253597651 184013201 170364143 439301033 746039059 601445857 632771263 556962371 913492209 508330123 234754739 928832243 874499361 79744885 412464111 177503645 81739371 552295113 683280149 232888053 311956373 867726845 877487955 297429361 48234613 728010445 360588643 888451665 235005665 650156605 726133377 669549727 791341501 165849497 676737397 246166569 912079861 806110069 117959049 444105867 244829051 653118125 511079833 578879009 515894853 189363047 175395069 234011925 491805531 670406671 14113953 182252631 165521859 979696727 217192431 910210721 457902995 948912189 7447521 640822641 963765473 29554949 183134193 497671185 496984787 248118333 969471785 224120463 218530961 568740533 182754071 109441733 198496333 474262925 904634061 391304019 169769539 216481063 26380271 483332769 168231859 660349489 780514719 627472351 639643115 833939101 857144717 575923719 196341049 515942059 447646959 419804887 649449977 341228507 237044611 846333911 529084303 574319101 801600143 57447257 654698339 276383777 104831971 370440053 440902119 909984679 549719763 430822155 910412183 433001267 697608511 374915779 774218229 186341295 448373389 687243789 413198985 306498897 564691113 346839073 560426985 933869205 669569293 546725631 383167659 657898301 783350195 107285619 151674485 644772697 671391269 428321033 234795247 623815227 810848367 989590809 388187339 215661951 316707369 474071495 981755077 138941963 254987633 149722103 207008415 193450761 155978219 525736797 365580321 424182001 401632711 761705327 29410335 90041979 68202683 402591343 255160693 443526061 763693829 835985505 512178691 797276371 947404907 602625563 347511219 643525505 562875709 520345139 102113655 132196755 954412881 605843463 760225355 740759601 116453123 365725377 775322673 709445825 998469689 960121939 418283825 546678269 17516901 5620339 71927905 343806173 471533177 466015649 313137367 856426407 536741879 512707623 379269305 838388967 843803619 870282003 106468399 577813107 99207371 798105407 241065579 321614437 378318535 730959947 394896553 827896353 634335861 604169119 563922731 29243221 316195321 205790573 856748601 163958005 11868163 814718377 124738345 564708923 948790985 700960535 873430353 696540591 697041673 707684415 511951639 402343449 790667019 32540271 627487971 588196241 945105819 858469057 760118825 156376689 414935311 303058197 159317089 32069215 945851975 723932947 880404495 17200453 479608233 702915371 254177723 117558873 13233697 504374165 959546619 705172247 38687273 873949523 693224293 729636931 411510973 520748331 119913375 934270697 453605475 102629039 469424721 732059485 791602729 927775031 532430125 235434555 865852583 157042403 249555441 973037417 73989883 667206043 913224025 21317907 668140489 181357581 789474869 284390571 477705793 613567671 668651091 195422703 56329497 920720595 685754257 982272483 360037777 698273645 50613967 558593491 691883627 781883989 34063095 526222421 204262137 491090723 56218107 110276675 194861073 413837877 747938777 829568449 268518671 197108663 936243597 736226621 353490137 618894997 224405543 252388969 184058081 355203979 177611191 978682691 171715099 855499287 701781589 146446609 272927237 762168707 748303143 742563163 307786661 881112543 54266197 676552441 55320201 612370689 147568403 702453509 732707785 376107403 630206105 761548259 127963395 569036263 313558315 446115393 970040667 355218241 99791377 513802259 11179649 469586069 946471329 545123733 628043181 435012513 13358131 988154443 578040473 456430063 352506663 183967231 615766671 834998733 213792237 672546761 400267099 152186709 299726577 92890373 471785555 573710695 570465969 724081235 228049239 300181675 620576431 507779237 358984141 69472401 383059061 797057067 607942563 842553427 401975443 236417891 978101839 540204527 797941159 187094033 513113037 767680813 249104721 635221569 991738793 796517535 106999099 44502343 931075051 99049629 442180633 414867135 471845421 66473543 816682147 139997583 845661837 32798853 253843613 776428259 274821807 625780487 744887761 645121839 885325509 662340933 222700303 405805 853350529 879414657 968958261 166448355 9115171 419926465 704525347 820316829 222307187 169766103 77693891 779466737 182392509 946807643 971228937 484550329 795391449 681566891 246915821 951062041 266716963 760217587 254762355 683808639 832499843 970331937 605660325 394547101 30069349 826834925 297939859 265381747 520881859 349005015 681897819 465287489 72817689 565481001 310143517 799756183 762374765 983663347 449084931 748001351 304459343 995842059 561515073 715948397 344546771 405766933 44741135 473363055 351339929 942279029 387608497 488042231 135652293 834426207 432311665 212983291 875058441 867223239 273160865 946046135 392181655 48074867 415271067 396281261 253174321 489717989 166357953 577739693 197073689 275925363 903476861 780594889 769744673 640087345 332163139 840047455 32669855 293221889 443950731 846536465 189423215 821728651 633638361 621107659 329621753 525769281 677213367 300617411 62719275 879795799 761058997 254525813 250478459 28065489 645408625 727863461 901257959 373411959 974164363 376723807 717520885 735237847 539265967 313459705 475474357 587773771 191894923 218668811 633270971 436483571 166862559 379673215 36707367 57283767 630968937 156825723 882014365 678831687 722196211 746583673 7461711 958188829 865038931 580684337 679050479 388814965 717427297 842388139 146124479 216522589 871544319 163265327 683051907 567599521 355189271 316089429 170983561 759470299 913899677 515402999 32968873 756782441 406134155 911052089 811557695 222020983 395868641 539167113 545342259 715645427 436608171 940395419 526382579 942303637 370069497 830699371 856534133 536757215 61759465 747906107 516612663 408616471 725995931 824052123 877056063 826957903 833989691 477013597 129977885 469663325 221516279 48631197 699580645 561981157 403774735 133846465 549564471 177008715 144351425 950821747 96732985 619024835 585629273 627538601 403691927 724908611 517448233 645135775 749896843 600663947 523387019 487605721 477016527 185346341 958872289 363022115 339457709 12192609 235632789 180444305 676414705 542945365 551566363 612202369 93859315 229283043 154561515 616319637 451090319 308485045 263864713 942977721 183080237 730239031 864672383 282627109 299814589 938180517 124241247 21946193 556032433 371043837 548244675 251005443 97086985 59054857 287141453 654390855 703004491 35887447 216235945 201512307 329207175 295523649 331068807 309935393 458158161 562228199 203197601 825920053 185240009 179888177 754056891 460102621 647675285 243834833 498730399 204160139 807222241 879479867 650621471 873194239 25514087 675833267 533542165 871998265 300268385 552764481 80419939 840727945 363511449 593242803 205638133 745291137 487773789 962945443 591717051 894815485 488490623 512565871 188947375 630957345 968421219 781972035 206265045 762296155 507025131 335808781 196323895 986206303 310445959 569681031 786613479 985817897 875838253 529790765 523649023 791188477 281528411 232766285 842410401 807586663 359656729 91683825 808183289 440635 43160051 181162999 584356407 753239445 443769087 19618557 101948821 415075803 727609053 554850921 919808089 489235383 658310579 406258287 180001993 787004961 758372397 228830981 199744569 411421265 401726085 719295725 272093699 404192973 786607991 481773741 315763337 380622945 230801737 427712919 52873269 47450913 527880393 683619009 414549627 205048171 497290319 908123661 787797717 686496993 208145591 174710053 467509187 373419377 723649643 90061941 939332561 156488781 366362709 964465209 13335697 64286963 121576173 751672689 123342749 865197097 499725105 681254625 704079769 369958647 396343209 877354015 451250475 784074677 286848353 881727615 858011657 978290429 534437615 542590499 224948205 425702067 628410227 869311221 49984919 623801605 479157651 368750497 232164307 796290919 209917565 174963875 422485107 62966163 187695845 751526713 788251473 252374161 402390541 936383083 669206351 326221739 675770553 791664653 457546073 442819445 804075065 743954355 564134239 677961419 857879391 592587199 9096029 402100689 577623951 123362905 857197651 567619319 29710251 449519729 276921165 878673389 455240485 710310591 304026717 487959217 970376431 379054277 535605149 581436551 773021833 905545673 820823601 186894585 605640443 849931229 597090623 146365665 765145553 295844057 602947837 811537237 101875745 684972381 258790309 532876477 539739531 674338769 958452343 456141765 916541749 998843749 673411263 75007071 42393805 605948177 761098449 923375817 409997703 835719829 615631107 974067847 672288549 578633085 583848121 712666983 22011627 93831187 947550559 224101497 414930601 76984949 278781797 37793053 137547187 863670657 821418821 750426613 110932969 597787101 343374469 905542127 833740975 642435837 667423915 665592127 996315125 460795927 173292107 243854431 290453809 544570667 804365823 820329749 455571043 813085187 588604779 1229679 415696143 619932463 496297013 728377023 640264003 2900229 135493397 11230369 118933 998770343 79403711 888764409 493367589 701164287 925498619 212127221 425200281 955727801 477704079 967040265 481762079 363912273 572515663 196273649 211318381 273405189 533706005 816314033 307394753 73906143 98037445 415033235 674362337 643981741 512301125 472641071 845286427 741559051 612234379 882179681 901756231 636163413 923865233 443392331 15184323 603119029 940859481 583214169 399126389 796012059 94131691 692492353 170681033 720854081 981466203 778731519 881471415 605979813 789488835 276292567 733687999 220993935 529548615 825721429 159388131 864678929 242152975 305448783 834939829 6421763 897162317 502204125 708692043 169534469 503577915 897008743 151822913 774499967 261342495 353831321 447619007 903943841 934308415 990023525 830734195 321044579 700001263 59365643 720362899 297498759 758287755 19738891 927510237 476339091 50028913 622343219 707399063 147138777 492839439 588789913 152829073 860648305 973958869 530974359 275524127 807492411 766593343 407965649 135503137 988541405 123774413 137141813 510924795 301960651 398603021 192725239 791197087 33352507 774391949 507130771 334521471 453247279 397655017 806995147 488493467 103787629 956991429 432128943 396472187 515763847 158169801 962614929 91245867 381932243 975097511 523293197 191702851 544601973 240209691 258605063 978671327 221165649 753923301 839299759 975413927 230534683 68307 434107253 680341449 354053449 322858163 959474711 944974075 452927771 522221665 223281047 571311995 64703131 576100033 703573829 48117777 618673047 961221819 24120755 41080839 646134699 839384641 878076863 735001655 472303411 482216271 412049291 432056831 610650201 254370021 960504195 779053125 492365325 258136593 572910943 563495029 73170185 924368609 284502807 54786953 251922635 122655601 203851761 574110459 788107933 31280869 424201593 133301205 211980429 10893413 260095621 821534627 71543925 113569315 931404845 229027709 876473589 10606171 8739035 789085439 162110581 79652431 83185461 639508305 410607141 788485447 915190581 538831905 820308735 366291863 68481299 479357605 266466497 44708763 921019479 317099677 726929139 522190001 963970249 304550731 501594087 753456711 908199297 9828993 663718837 161542351 308654041 506173843 278985533 836161217 78104693 822847585 801445671 404730271 169159237 678136911 244477667 407615735 579318135 827230543 783451049 611080535 565437581 950691027 261831035 645938011 195719497 300718301 158265887 373610151 224189367 92871409 118013479 909936355 758527787 540278045 849379817 244344001 707786561 46096121 237908617 669675261 751568607 201534625 81945835 86397273 27611951 290477503 503323843 381498269 530488487 374976637 3506567 564123295 568432643 458341011 737940857 804364597 276965191 553729087 197902495 273754437 349258431 418764615 239982537 157416119 274328575 114452475 420528019 450077821 957135589 947259951 335728473 6197139 192362131 574262851 480484933 366496251 255529079 707864605 186260553 651006909 43365699 826129451 432642331 121769455 987372533 995278945 999552827 357049255 333867219 382786369 962439411 514695435 58465893 207801551 667815761 797057091 64840321 222366617 328284975 975763075 202733381 36178871 470953005 643790595 604557845 906943941 991423923 701663749 343816859 69763053 424962035 430027735 477153227 44771545 598848737 637569479 348492005 895822529 581035841 258494771 171823721 259696227 212904859 518104697 713565991 554842119 746981181 475455497 635106609 388723831 348613953 634245455 867568355 578638351 55440263 865418697 897426403 639524265 433966007 53467129 536390171 124313517 703099457 451093095 297161409 987959047 27020637 681976489 836458321 454975025 305387021 895704149 498243213 11175463 547011863 106695185 653590405 557754223 691823629 360367749 528316043 16359703 463968839 46558565 623779901 639331767 728120293 896213609 286528637 60131949 85224143 993534549 529241463 870400477 938436531 813887985 323207843 106229047 139744527 136797971 809805241 435060017 171529245 992286097 607721407 726312713 934316009 622020689 361841153 461431687 848685123 344436283 397077779 193183223 880954051 510698307 934937555 542687023 121169351 129662817 739039331 202881167 58991483 999717273 87281969 270248189 732393163 289898227 218489841 937264615 169785459 456228229 383882397 663085123 650436081 690304357 824620667 644715917 974749839 713550265 772377 682545873 270912605 370657705 55383367 703438743 281193265 883335017 648296485 193338617 92251053 213090097 351555607 601071253 936683579 992373317 593667527 537775503 55013383 522855407 597279531 707359639 142214669 80987263 949301885 481024483 783311883 502584915 413305157 665958451 967362955 376014539 258408781 581774793 950964955 846103889 948784553 66968695 458162709 896929879 756109749 446576019 562105881 562164827 121133079 736648953 37654927 471748825 917924281 384774161 890769383 90251105 516808913 203481801 644416603 259161731 231230427 298880661 709150953 139380951 7782555 488123767 897721689 630913539 863026461 861230835 453547581 185535921 806565557 378406169 529783277 942918287 990009089 366438269 408142217 817284443 586429155 593337407 652126201 571893719 653737865 748567811 613767405 956840909 922727781 616984057 950696413 200021519 8793397 968764633 401941259 56639861 690645245 714098653 445159037 432195557 30669067 254462159 772918021 647241031 793121007 468179963 83847995 769652879 298781321 119819575 239648381 379172021 302265595 784636645 506433015 229056445 538737075 155682021 276826007 745266609 420274021 943224747 710946581 155183011 65913101 437373739 527835889 663494827 347396845 743971299 853569909 897648367 129571733 74510809 391148977 897734809 719936725 720618909 180618875 312901335 86023373 804297539 731575159 646225641 672691425 727013227 399106057 836697357 260242107 912908345 803800165 458033037 131922257 306759773 104493183 773383103 848335327 947115023 671987997 582208763 400718057 519460873 164957377 245591459 116514107 463722645 926325953 502922785 165954281 804690559 939333169 456166889 205550671 158469663 52059891 736010355 141122323 660334161 577516207 143636035 255874849 399559037 419364823 180171235 918670763 929809041 21055647 280171237 656714287 562053635 388529163 493802209 246133617 805292753 932334307 295627389 921959037 302781825 82356405 676571747 549733799 383651619 689656027 131433539 460261773 273177163 253448565 785872343 256612369 809006105 80493675 147060707 590722401 606219057 982044269 439351601 464873711 529751237 832879093 802557331 872485499 596219783 262598207 479337697 707880197 544650937 663264857 195338753 428138461 630114077 216714255 132447709 449888659 304053767 459657979 666408549 899158279 982154311 480786811 473473427 972447325 510863169 347294651 172670059 156849663 821115863 702318761 21251575 271457185 685605241 735362301 150688841 190114627 442943261 184490553 313889657 172074535 862155329 981108131 591427247 690273239 409328619 670188365 9643791 758588715 317444523 765403917 648158927 681973055 390370453 854247815 167662119 561785971 831786057 540019487 566725211 879187833 576811499 887844617 386908341 121578049 214436653 600530491 960504199 905347849 820278593 971495541 409813803 275790163 696824809 720871745 815565059 387989231 10998889 83342575 465283193 690458353 796042895 289962901 770797569 909772465 27570611 725825045 409844245 859901143 863295921 671098649 866569781 986462287 265157105 760089613 988530157 352237899 250403425 336976941 665554895 854886985 330092151 118388599 30263925 37212943 725488689 379665845 956117889 646747557 259389719 167342965 251271837 136149857 337835829 293057809 926303357 808384481 494109217 692540329 882859481 476294663 326010363 517770789 273648759 197767425 7782503 179352119 48712733 289815875 890522519 193452371 422400413 296699783 126490431 302664125 570224085 404899797 177744283 531356541 764711079 676042357 362580085 491086177 987314169 642002687 230969369 490145283 253164737 128734541 147185759 431908033 443122679 416877701 568989093 788732615 52099489 722359825 987514831 892550147 214900677 824181415 373131597 448418863 507558775 8475971 61829141 524004807 542841809 910704167 517121701 67024665 436266229 13834211 510848261 490910001 435166989 622911561 747308481 921219815 169960269 351361911 144693487 487072223 580018927 197556941 940868399 427594109 672158259 255200765 289629351 228114421 367842661 550766071 923725827 794092349 756633559 377932793 476883837 570350615 199110371 225947271 336494545 342033673 876543723 63557229 878209861 388501861 13901915 62700481 190737575 140543041 310410403 955088091 640936527 542462335 178684733 86475619 91705625 800616649 750484141 219883333 354123119 732754573 537262461 185895349 903293499 986832641 591250239 162620973 326658037 975373611 345495951 295824243 69370779 95026637 563519755 388528789 346445237 229848189 583640671 186145251 256110413 746797711 48363839 393462269 643696895 35973669 87856997 177548487 13614053 919715113 762411921 161302635 917269159 836226119 970636431 182190685 154596465 878360059 385880625 577217629 129334781 495710083 260980817 335766893 906391687 394036711 632047059 739475159 150799061 382801659 469411741 170510643 320684597 289281107 453050277 932276059 46920063 187589201 792275941 211474293 700220433 171928861 381178205 489026539 733250255 510072231 737327897 98712179 120379689 709419687 626446635 398007561 993555991 440224159 466488751 5013745 775982867 756441557 157347779 87731639 642284325 388361563 8664213 266802223 482496989 680567305 844192853 94201207 507982929 140004479 923294525 260293617 890826269 359542053 201337491 942268489 553989737 500349739 518966685 408280183 519263971 479648137 786626223 345762483 586687679 222555137 183661091 363808899 530213311 125199897 518959451 965192115 922218791 295209505 59617731 799626585 659878599 594106421 727059915 940746445 140841971 358150963 339221487 397770937 467768457 390390721 218693551 389610499 614563827 306945363 722177687 939033317 834856987 400018719 736854329 221235673 622141049 895589157 170559537 146388129 964610317 18932015 353728285 65468235 648830809 923180493 902489515 32371501 52833135 164322645 915536523 703676897 305584869 738807531 605804663 645162061 899856343 860603251 12869941 596474779 80337389 847455391 69777547 310848577 500240213 624571881 780297037 521250043 728221635 582264207 251857493 207808971 836199801 426815899 411160967 392806657 635644477 766644955 178997963 824165423 511024729 183256043 751599379 917227825 878575527 871193127 636382553 850704173 172427397 280615097 896741795 45934991 331418839 595282833 133844471 826128649 708541711 442538089 91978601 510040729 24054047 896449983 756527893 417884803 733578119 790848987 896282393 806008659 832816719 178414031 389549475 395641565 743872003 803673203 825235427 770238783 951627451 746788711 944296725 264481755 688164115 591631891 530159993 831830111 523387699 922942631 616265563 797768125 917110217 630128923 543873039 166730035 610266379 998951473 506301675 138140999 91939767 189067375 713077331 496959681 894509075 513593639 715250355 955771319 940707567 125573489 743800187 697521799 994582175 436907821 391497255 429967061 158873089 439845889 657192249 653419659 750007167 150667873 562119481 548394719 346551299 980422787 226258875 677898571 643584007 596273001 351884379 384221847 536479365 457625561 957978551 702367691 627529735 431868773 904958077 147941183 180942233 416931683 992641629 734120845 833767891 437642231 480119059 557928603 604830673 321997573 183252321 28184723 171910715 901765441 548958223 888078571 266755647 607841569 721152753 824364383 977257107 736299493 284044257 144953075 714537589 155869847 815620547 373325043 673184427 583090437 136457087 98014707 632108677 10853579 265154311 933723343 373499095 693345861 803726423 516500397 797332737 912931741 429973105 464227065 951243753 838798275 632604253 696595557 405556987 747396465 81931311 121815535 17508655 247252005 479310339 702642395 710418437 556750633 40277239 18714295 182214785 168994955 905635385 397004371 151057969 667911205 113407993 785297103 296137261 862014615 156894835 337645197 449959953 327763529 72517865 145513019 61550341 648926827 445166755 827152331 804494007 198982647 571057143 90097533 471528541 793691307 210103099 332968657 669314485 692348943 480714197 432896919 518624775 549225077 654451501 742080735 692885789 222013941 26030005 619451401 952296531 101661551 246777833 356966841 667152771 480447883 815681865 552614617 560177683 31375801 119750499 631410079 137090037 47059249 387528901 4868743 925523611 183805941 510493197 886491987 438420487 673901003 504386777 499067923 383848381 661456709 92152023 409762841 112199115 783075513 331005625 687311105 140470217 521591115 961469751 126338993 727536595 126025183 568312339 718574421 349073809 891883561 382235 312438879 764685105 913024415 402481949 702595469 613800041 718876803 277364471 926959843 322526073 348347611 399662727 578294445 300655651 938956663 713897403 483849343 559104697 182814963 142780293 665406519 378063119 262235307 964968157 889354999 862996357 300531145 583702469 39791659 777691649 60808767 305509963 838718603 145981167 266955203 239464317 634706191 523483209 608131797 385401977 762933757 157170315 417401279 931687773 131763169 837623739 830125455 838443607 50210961 533534823 96970527 616111257 713459239 812685479 275152911 413878619 390289927 233034007 11303879 740690657 622265311 332371423 646360697 628821363 129274531 220711855 779398681 450228839 684637069 295267513 476991339 537857811 897632037 291418045 935314679 484285917 129132597 302150913 35742219 822143789 86958799 651250005 502263745 250782837 613508437 190686479 391702521 379420465 10013029 640578315 147562075 595450851 131644143 10286511 935587671 461150485 384656167 71359469 483368741 403089495 928525193 879794233 605953735 742515527 688767705 271149967 886214917 4802179 273652771 676604537 860688747 492870331 954823099 36814853 898029399 688078235 383254589 687995079 473943271 208293089 826234255 477103581 501211651 461634383 689353181 859970033 864211801 233916333 25926297 226371629 156263271 549091793 712576385 596294985 784754023 722264467 828517273 724197507 891867237 337922515 637701165 839779491 48041521 182909311 700399571 60361973 451642979 394546825 125975397 402310735 435106137 853416169 577347335 782227473 776839999 653192611 942564135 711986465 878453505 838016961 322113399 779258093 999492955 151588179 596640245 339740265 983290315 730601591 733998567 90947351 72545179 47886925 267841749 104143867 261575899 677501951 287093143 68330661 43294049 446425535 6620487 129717289 627603407 583371209 766090825 554593317 42789007 424700767 851867981 541714371 126468301 388870091 469905985 455585965 73738117 51964765 898882919 799151131 715264117 281892979 228196929 520639437 129595687 625779821 63494809 65508613 42487785 954278069 664268167 583635861 648522453 37436863 998060647 288914643 934915275 486098435 219351001 601472667 190378611 962008837 150222543 452189781 658821437 517236301 104500601 830605293 497984099 138894449 470656085 334248157 660017635 268487177 309495079 393750817 979125637 378020535 908665851 452697151 127978971 401157669 33456165 375944263 94668605 739553029 959961921 939192013 599790795 535064085 914312247 134070767 466320237 915512595 570816557 51951959 60116179 158360521 334107037 564950319 752223349 33610509 990772543 916252463 535655573 339038135 480660761 155028887 836692281 775246249 400872311 65818665 530608435 968862413 514353135 598578489 833274139 362732565 964693595 11058327 535167567 943214207 977564127 812061349 431496699 148557833 294854121 500264265 960117773 699964605 724126509 803372273 58485309 819482033 18773157 470952339 778121995 96071677 400884889 35945389 516239553 393254851 626146705 965475141 167527023 727467309 30200677 142329067 974930155 726053231 133068335 967489715 163535833 572929985 361508693 171073339 112549021 402378855 900133505 906048173 654218603 887105963 370820777 791267251 5000247 337423069 811972361 772189831 99772871 305602395 55988259 822339555 56521373 217586053 724044487 653281297 665330703 297310149 267244295 291765213 184307505 145659791 705065793 133088671 946891237 536128091 703649559 98379315 941342675 313862829 760629877 62454785 515146093 410361615 85560465 732563447 163450599 826864403 889093863 984997515 754487621 24172115 836475451 822131387 493368143 127084401 213417883 897433357 904942227 947276055 387157847 536426641 882823787 696415481 352802831 335130587 717504759 154986703 91602853 77500425 797213215 118764893 882369607 584589253 634516115 481961837 28302695 605431865 65960653 199187153 203154627 675689503 16675849 197443939 59680097 363604657 252013909 867980805 970501769 406409401 754161789 286029217 167609043 280473987 924640539 371124779 280495897 824782823 194937741 753078171 584623487 966393665 464951807 931569397 964362867 604918393 412284767 513465155 802348457 631196413 331829349 418372247 57926429 358898115 508766355 927058699 69794321 245488201 599675695 55974849 311553557 144169367 80740939 818564579 994856443 831624503 308811709 552180133 779677919 574363205 970011177 185828671 796621607 931407451 467942899 510195191 964230525 402400927 19670607 12466449 417432535 410619075 614393907 855774437 652608625 656520697 446117727 91204555 466553039 273515523 809809757 144291109 660289725 581739557 76993149 299676767 973301583 121965613 115603157 977977833 317997539 781581171 411685191 430693437 368599835 784390099 255902333 661499103 138935779 933976245 319106019 828231001 602626675 911329287 997122741 981421117 644576579 944172351 797575921 180319781 968154649 510435931 875013217 841852083 923986689 264584419 593442195 747891601 49753425 197334241 239729377 167250291 4057763 557548017 167773035 608134931 522430939 167929901 358589465 558526513 152143911 88005947 366323357 130630297 53852665 804179277 141436523 297557789 946226193 120268309 610837959 877611159 167502447 902065109 849024185 881264361 379063139 213046865 91643919 50219517 420341375 926079959 835267171 245663943 996789663 306613823 614440723 243073089 111179239 812897765 83026763 377449067 1362119 905113267 530376441 795594065 34221293 923116307 301974487 68223493 26512731 761958141 750893665 174042017 346923603 829795055 519572197 130592839 214999649 640350447 547568239 928772643 938315609 80504205 387542487 748316259 230613335 999174367 797112513 163233863 64424385 582094721 406002323 511148557 948442689 487836569 25852795 362957825 319046607 198385113 274345333 186518901 489649571 145492597 16281409 910574019 443518531 604977193 753390949 478838605 474147963 382278463 817498931 270132863 98844255 984133253 460542913 478234313 803723341 838943823 849844467 233042341 769082343 467472251 623975021 679484825 655830811 145266289 2769059 991648555 800084763 77236255 131995593 372373999 65110373 372031741 897730789 272207231 784314047 479699461 346812603 226111101 762582065 46329791 238029531 615626133 435650579 894768955 250285215 646634615 374524671 786158863 804562471 761452765 663584985 765447255 523975005 181156237 576222159 932684217 698843885 539274573 800562517 109440615 793133907 479120369 216453925 17110293 613965261 489002835 2523719 784443649 569963363 492763221 100416517 950879473 253172713 289733091 498897651 750290483 476833011 152650221 759026157 376369055 911019747 624818797 588575001 735472275 583392225 444159081 270805217 903767027 559519453 686017255 455245051 664471343 985670287 592730107 921331043 475478845 190919289 932995519 949557597 516746653 449398753 957251413 294894709 902545745 275565785 390807017 129195903 522466283 101583161 805818283 6701975 709171329 57944993 63700695 471463715 971169967 301432441 598222509 906485455 841257885 931079921 84748921 250522765 289834743 765938689 206720653 181780635 354497527 227293547 396213059 624220285 159170649 51976885 165854719 847059457 78998371 931866161 599797287 586118199 402060005 770054133 11972657 61149823 183534643 430762725 510149271 227896699 820907307 127771045 474497241 365019673 111154999 888099241 824461957 751279757 817229377 975042087 802874409 442372945 75048897 13823263 249966177 94996523 799772085 916349531 950847695 567087913 743060901 133952107 88739615 593249181 233982877 74805157 376558081 261080867 212036405 704670509 970547761 365858463 900522633 55218663 659471215 820693311 340043585 469179781 250774407 51489655 819405705 394824065 604915021 129744387 174553371 618520601 481508759 257179879 136853555 837279063 18617417 690957423 667251863 825649161 282165071 506751535 630984343 683675339 342321049 414055939 326201351 760486137 883021859 795872529 612428615 689080253 902598381 811178179 221082683 703582983 48532483 512247247 258945363 635367569 170390137 244584753 533080711 685368537 233267045 775359277 781427281 207638567 950858475 945009743 647816891 303440781 694175031 288112749 719453777 248989667 942367097 618049951 492722987 777421513 973611757 996689229 407054821 647901095 70798291 110796067 82883239 236832429 323525753 40294933 453714975 680830931 644791341 78028637 291288195 771735003 150149195 672728961 932354703 421902155 90050871 623453005 437864079 12283765 69789529 394313431 513433419 275475825 887080995 621736569 318218525 731671327 649389841 845686743 134131939 313138725 987238563 283744479 121510659 926190839 705290597 399151301 405070953 557913547 760489707 662937349 626415503 295922595 898573515 801132129 667646831 718588741 800977321 922286057 43250323 288434755 883372081 711410159 829126151 732996595 305133587 120270095 224745059 227977337 157131531 712256303 213756099 642099641 75185115 39728249 852758479 768761959 307083083 665381475 475877557 99837689 503933743 433050793 14898219 582009007 474614115 920889421 289991535 535550611 367364293 166543519 514124103 92000883 647796803 954185265 780650755 751509995 524890573 223136737 84820855 166035799 475989343 660879313 917145091 334589153 37116411 253602925 313137547 5561721 540359337 399020397 255306625 337303513 743683455 893302473 134004951 621502335 540147347 353724359 228189455 418694581 532684553 935112179 451694381 351751305 84148237 817875491 263396031 254002645 402341329 333679 606936797 874560569 276093581 273377857 617268515 307197981 316579203 172150591 902014137 858587825 943080961 341202531 547504973 839467759 696650837 727313381 95212053 147420309 264579803 307851085 883124943 29582635 426924279 17728611 930553537 718756099 433013777 389872191 489827259 902734389 842185371 239430715 830759697 47050657 602118417 721211645 159982243 410722799 899932405 863989615 562398167 467072143 545853391 146168261 290621081 886752953 687801395 259486335 877648483 762596463 408822973 13267807 47721265 373840247 357782797 348763249 403461257 710240355 229181133 691314441 13685881 840625545 68521647 163818691 164068505 786362381 450168687 129461381 16129797 413934291 867693773 576093561 633357157 72892303 840049303 305189909 799769575 312269751 955044763 633027861 370438209 117426061 77530295 408708221 635419825 149181719 316211145 805437081 355194623 211938597 676195519 877906685 595408247 239486547 682529931 228935047 653786607 808949757 601976357 38102873 709029063 229591885 424354705 95097313 70855653 107454517 252400855 950880721 168425909 472781419 788875531 149412903 554860593 316570223 353842505 523081513 687057363 513776779 788700081 811993439 347149989 831944141 732593773 513039009 34405685 199298831 336313007 377994503 187724183 290253809 411782579 36237819 71127657 379692509 162291131 911009061 510164435 346979071 55883535 451508601 352609923 103063889 8538885 468382263 28173487 956883861 210405619 634866655 291264791 892543059 812702015 596181825 480160765 686599385 12244049 175657583 637355571 838177345 378387357 231442373 933429261 789657707 831566491 201392361 88467563 13264639 659537357 820763077 95948211 79836269 80529857 443376015 910043347 62699245 951041029 659084227 976665663 315086721 464690743 794257701 72825081 647871217 68204279 703938751 109486981 710043339 473452271 975631595 600364787 300992615 137660881 202867263 937945047 304984041 287418201 677395619 7597391 376754999 304392777 721917505 106257923 181378817 337764715 547763345 525412131 114233279 285964943 415135051 106532705 612874929 129316243 100049781 667742717 154390241 774370135 737352283 549879743 862217759 49941701 242964113 764696561 177170947 60329423 676403957 560635759 818397931 633352305 802141609 772096915 355479811 735302061 784166171 452118853 80320311 769495693 971267839 871266289 778422851 957166369 869539151 30007441 968370599 799408519 523395921 717183137 209370279 750985951 438189203 626651943 758989145 626507859 620155877 71236531 494253457 382831639 212137063 51855705 98732531 698955875 24117885 486215095 624324323 181319289 15852753 888444917 495804819 312639911 972349785 849746371 571547901 335352381 360520273 654502995 418986719 880294547 744501563 961715557 700435139 72855567 106172391 553699393 747600119 442814489 251859815 475000499 101319573 298871589 916310807 522370065 959956349 203150763 571900317 393127485 706826071 394281263 543049187 199964823 612893331 849171771 482759711 285664531 972476011 420099679 363046093 597981989 252816093 626287417 16432561 191837899 73204657 603690345 720784599 924763019 779925369 629744281 9799571 599670643 903905421 782116733 854953347 335242269 102662669 32481485 118509961 180680609 557028065 540929613 607223507 196115883 337265337 548160455 225509331 427666021 298998029 364221963 856644423 651289479 992332319 809457655 671310133 804737361 37283829 150947179 722296805 247661957 946190177 351097937 309747949 783770741 438459643 243739037 573829675 396716535 701261857 614031943 814546113 365814887 349201919 1642067 754827293 909020589 654474371 999586763 863855859 741613623 824635749 193420223 526287935 890136059 124680997 345340749 124824131 554745207 318328333 356444309 453259151 150688945 967399725 149799873 187589619 802367031 54809435 915808773 662696337 784326689 267446331 342569113 759736263 31462669 628547377 685557697 163688517 180440353 332991601 493115847 449772543 422912265 204860911 61289981 842774577 679163645 737692785 964721083 302862175 790410173 352870521 954866023 886189653 632420237 161098589 750947179 615855911 486340411 663573041 777308469 765772849 48941853 156042455 564482629 955616025 403778069 942134519 536734489 623491019 516851333 492569347 813263931 164105593 716563293 615878447 920769857 629375905 353662225 827171455 757999043 982898439 243229859 797251003 902374499 939422903 681189017 953113713 547833291 900361989 381709821 897537531 806746543 235487375 224589161 149190265 177885127 849381687 45527547 558449619 850512599 371648811 567944281 748363449 728166313 752994271 32361391 638225317 16257551 153380621 842809015 614107093 526400483 164270523 626587819 336036433 534811143 722430775 444442197 722458859 564665189 746344465 289338625 137469243 440866289 550888233 638206343 361984927 530960803 324846755 234136899 239042627 810685313 734248169 780742941 749170709 694365839 470759857 934449283 366314957 797305061 567100661 543304811 504276205 177488027 739180541 113835603 358769851 948480211 411479633 536677187 33792329 732591799 835318473 994785989 754831981 847460475 486008961 471122419 795643083 485470809 557831129 285861995 877619911 845026193 291534211 309257555 641238421 615828335 184938863 176061527 723189803 730421829 563123163 690441393 751368265 165861483 781631563 566328347 259794297 215589705 507001483 648990175 212073995 942799427 291004847 768849355 508498965 810096079 114314515 169908017 144615545 386517093 474422621 134793205 762210273 721381257 968969593 366991737 586300857 859380421 717186969 78943661 68734781 860831403 799366203 82882055 388234347 849505237 797200165 782548613 324998413 126898661 955397727 748559021 564747185 581975175 355603263 565608079 946251953 593876075 196986723 562526655 679365933 31418955 28481965 654013533 133804557 344274923 573622603 788908047 296804099 2561813 851558065 117979395 254994819 617362075 192467097 833668333 12643281 859073367 55387403 586323983 299225589 736770347 501039183 967476781 427951293 454622211 617723389 193353621 61815491 191140559 231672303 945597983 783235941 452695177 431833419 66784295 358143439 51072309 802998139 122725269 712723439 279329501 104787253 681436377 914701183 362153107 23150965 834678245 354892027 244241777 777901181 166329145 465826481 775319961 515496157 951977691 796643757 201031479 335832167 924823899 85333191 134776187 615710009 367480525 985854371 378346399 756244149 58595281 856145831 567366119 453588103 138431629 396082945 297783965 192837029 805336495 895641005 705026835 872005963 818282347 454313579 384726179 108256253 450851971 23923137 243444145 798767751 481023291 212031745 337088675 268169983 393635425 281994561 704753391 297750973 944493133 418661989 81114639 87412329 355281885 144029201 416730755 579445487 534855541 998664889 227325655 361876099 543837189 40589457 124610205 910746271 211666435 118433439 835022703 454937609 252363375 536201127 596010479 701085647 795327435 771633465 444175049 496641601 839641385 942581423 872215981 790355455 896963869 698577449 29797975 88669933 967630023 673359761 421741959 969207605 165642957 958140819 415190537 45857867 752690781 310142635 783150511 510149615 656754733 787940887 606327379 998482723 589831033 646598367 597209303 451700529 218067723 654846167 187886119 824691377 632687665 161006483 605434419 390459517 43195327 455824757 220878071 110668987 499245843 542447781 364128115 565879765 24226071 82385427 323209395 286990209 9509173 763607159 836100297 352689083 636461669 556541267 220384719 893052359 751061541 69830125 220207335 2287921 841523581 836533847 86703933 272469197 396228601 94219881 212797697 684264889 86797999 684016835 108232815 466761303 328783169 536467917 609306823 434377043 104037071 618283703 884021077 262533797 828376845 11445369 267134059 517700741 495058735 986838229 192364645 716273273 669241075 996653905 256352929 104450125 808250271 360423487 463551117 555158807 926085377 401984949 351405721 796057135 687652465 220668567 33292607 863259199 740956621 288083849 233841157 589248047 201482361 744779263 680078449 486238771 260428391 566179119 468867863 435234507 162955017 648705305 303744145 880804279 683666015 686266759 843928195 274864389 908226033 921912585 802272403 925831691 499956171 605313525 768076151 983473763 984226179 477219695 816990185 635651315 728829755 416984667 900373417 254790373 275712659 321994347 48577157 364381871 608017855 735913753 687124299 862767885 847451763 273818275 96347351 850970113 894308077 808305427 876396811 510921179 950404339 273132855 531369939 886984237 295730901 136377259 476642847 395803859 881794151 27114443 399024875 586803443 660535815 582055617 845263415 911807481 392302495 225497213 418355217 608085655 722797465 203312825 460946823 956548555 677069807 168384499 884904885 667919321 285295899 756845683 432627391 766241101 918782247 364678987 837864651 782107131 934210207 207311699 363395345 860288513 863078809 998061611 870003909 893562049 715802295 710405435 193713711 845159913 541287451 622091955 359356821 348276843 663534707 169519243 38513227 738826629 764092921 773840773 539417005 204534717 828195689 662790183 472577049 188195803 674452235 832012739 311213565 76068855 245995433 128600433 541233865 730798697 919744925 219922705 140832761 7332571 421891525 38373961 276132877 516234549 353660039 538182029 94613907 868580013 433495247 945180435 435436057 430406845 236985109 160923101 849651515 490521133 934217817 148059313 509761437 1364997 62581535 15449377 580314597 317586589 492745845 231218819 712862155 951646351 470606065 346724603 483450629 626960321 188654005 352609901 425628757 914325597 768776547 302491533 853096071 921233369 875368747 903337169 862726511 57698801 983246787 441508729 638006499 758207913 21789801 856498319 516933577 785108557 962151907 328182753 833906951 219539569 727015809 21986571 800327829 867985649 365422103 403449961 623223913 311873011 846594309 479420453 222956421 682069987 278410031 776665905 411818231 88193651 582495751 477501505 423231181 543022497 813499519 779430617 871836451 506427059 44078105 279483457 397596445 247682353 705362903 94277255 189103075 172210673 70751565 646557061 65081255 191095313 270410635 809521115 505978021 834900979 659154485 256488945 972549661 248682565 486590573 256260343 25687389 887943931 541621731 698455015 398890675 255306319 721974221 335901823 856768125 567403975 316883433 786385479 741938713 524898609 437133693 468350865 352494325 122642333 634936921 194513013 836931969 446028909 674169809 254315475 993263161 23490623 222643653 121640531 70985887 381407235 263280027 431093093 341399099 226089453 733474623 512013889 300889507 138669177 611291691 268279529 602085741 140509545 380912729 328433443 388725567 431471821 481166675 344095105 667221185 707938807 902644007 593509465 936606373 77602435 201774439 732699855 488680871 645219671 370067511 626292679 240770953 141008287 343376185 948471029 398699539 924281293 648989341 433318863 272631835 320358047 384244761 755942551 189128823 18819097 494924267 803928403 920024845 932635783 164628955 562281171 224195525 164748157 783359027 654047155 41953169 500029657 582422223 698943823 71566701 57091005 87008265 661469905 227529051 53282197 621092807 541361707 123053411 57220377 84817531 705819411 23286939 634332481 348891671 670330377 969745945 882299475 868901149 426469719 825082883 733252317 41736081 899733003 450903681 372186287 257242625 11817215 11972293 80280041 581815941 381539283 915983371 121173997 238597563 163173873 336286357 684609641 967996871 483165061 894865069 844332113 483582809 326465161 698957219 816124127 136494247 7873471 715659477 665073307 878798447 162471343 684401313 720189519 135411449 897394087 629681525 133107725 841646353 474086081 803791043 148550199 899281677 468921565 52614659 354341995 404056013 949420963 928590777 510968473 469261751 635432323 934579821 716522997 988825529 644881589 674631093 466612731 109623879 442540603 643962663 418339695 7143011 102400733 611123561 862967133 736628881 280454185 899595555 435175449 643313119 223249783 614698505 352523327 513229029 472490731 97520595 505263541 804623553 652796011 997072195 667329703 650531863 950839463 183441703 495291015 722880535 916118551 829391183 88104723 61953911 508371963 757516691 569184591 691129719 32975197 788824793 712487049 632247001 644823565 993751049 241613137 596822767 980337059 570163479 647639687 265845391 65532029 465035259 281136717 697907477 288129735 102753719 375591697 913358697 763152749 575002969 214222981 853872375 201437483 506185969 206890153 553175737 890816897 472432791 131189437 671161387 221478835 601361777 406232655 115234387 678076887 219197607 524204085 94676671 869913537 486816877 400071561 359186567 511627285 706657531 306394289 883696969 897616695 252110741 700888663 843405865 670141529 226531203 483999343 433401559 241634421 116650267 79708985 427683979 441448265 126288053 282928695 468043519 838215775 919378353 542688051 53723005 994783237 976978815 802758981 25673169 254859861 138353803 267652553 808203601 776391727 933056851 40470367 272155101 995863099 71490905 33751801 335235803 931997673 672242215 44531399 313796665 157757043 900806735 316751687 783729005 57109463 704136297 231777853 434163317 318711261 172915739 768672181 187781847 9762071 609483021 669520643 647238817 58655709 730192883 394118085 339986283 27300687 13145989 134520541 565602643 65261653 3860359 653610871 791173629 946308255 564188611 251708427 203946395 892386725 123058953 977102673 300182495 64642985 801978423 849650511 168306953 789177521 165475117 426574417 852557025 241605519 444150229 896590829 422846387 32198875 325046563 158367229 84786007 41900019 656549391 420603813 130096169 833220611 186750109 361585747 244855825 694676729 215254743 97727163 719106429 863041165 701112783 263156183 603704929 2395967 708611741 547969519 657216831 15636825 936632679 245004683 543518237 436331499 777277525 110965379 882295685 105328075 457398427 259362033 615077265 788973213 542147953 727557179 535619295 653946821 296176411 405851659 621584275 907046263 169265123 999450455 244811871 271788967 681254683 365662555 608448885 863356187 298572317 132437145 982982551 670606423 228414283 780284385 738127623 141153451 798459663 673890117 822769817 314991921 838358749 45048099 288892573 318232521 181514285 959668509 646693877 318369821 735236483 512445727 371356423 851221657 185058153 337256031 767651009 138591607 809146225 136168537 211951513 625373115 986567475 998580689 880688781 884206631 755850581 539137493 953379363 627176015 785277057 532752565 35673963 514384779 861687909 907903249 295796473 970584571 606378689 734807243 755518445 55985543 928145491 688889873 486972653 195581151 646039015 794165845 419490597 212903037 154845517 824496981 954525005 386727327 190151779 767489559 168295589 157132621 753804809 145683427 656072177 184766809 297983787 342684497 990059647 901326171 347815863 822966075 260542759 75901873 161536429 761345477 258614085 392982151 717940235 649112413 951172033 667818187 584304605 385213367 706264585 713550645 920710451 961182415 405387027 285328711 751464491 469310439 333525085 94644295 678681573 645235343 350474989 144780871 514013581 639028121 309066323 219689757 89029459 884977185 761491363 166301037 725008753 154826893 913479805 625639323 731931435 476365703 33137671 268704475 410770891 905026821 54324717 174057507 69432739 313096515 712709993 314598707 683441421 431156165 813998645 478318997 932111211 743595607 229164443 255272857 290113063 734767629 201173863 616507733 964393397 114880581 853812465 773330347 377433231 329507233 374533141 557599045 869785653 183715085 732619837 91387279 728415283 88863937 378766675 590463429 392263449 847224117 379615951 220692965 589427077 208429103 494632623 149784505 376764183 99690939 869938809 451437007 971065211 38838575 109600829 403208321 95960417 746567717 645142927 808179439 455293315 980273025 856818319 873848833 785581989 182024305 831182051 762336105 43090321 98471785 258879159 946072731 13530137 936685859 512614341 681134555 498877463 545032613 505407561 153887025 868115821 13209917 917668871 302847339 389445127 900219773 542459219 712650019 652155605 924924993 120401919 352841657 438454481 465587885 365548137 837941331 660317183 759104049 683124857 663792869 536714857 174527355 318801053 840756007 933079841 272061837 479217867 471396757 409601857 822326441 722663811 260560509 938966765 669036379 879740615 994280171 873526347 324257655 522082601 690625463 273346705 971489561 89236157 29160581 803323641 671919527 828891683 74804923 851781059 706478285 707810689 885087367 6158651 692231037 69107589 815627749 228297395 940884725 717076067 751990165 590770565 211257785 133942493 428061 42884627 514237589 640087351 641286863 499208393 332264861 93719103 902498497 58110229 684481839 879168077 67503063 92379767 863991021 646316095 99257269 995786605 188397253 721433209 920542927 561118339 3892201 359770091 961259865 556497227 377240025 919148299 467367001 496058207 501256021 739070679 473219731 508084579 233137515 602320343 521413527 547152381 153300081 428058903 775105215 755592931 730990849 91121453 319967275 174386127 297923327 252527929 308811205 189627777 680140441 486581729 15794233 347868869 824134979 283232339 982036995 498534253 850086585 554514243 49986145 866581331 539799549 456735219 925994075 922463579 264122975 44092711 941431749 263302763 655181937 686652975 564086835 53389433 709010703 175965151 395333127 96662399 5209183 996314517 772510569 459073149 556857035 107275321 153128777 959703679 421059081 215179579 627513439 989780375 834085397 903803789 592033837 5905375 124575283 865899695 882130425 954926203 993749999 453036969 447470037 807428753 747151389 417014279 774702489 620160599 800835545 49333471 784974821 433900551 145533321 401099217 801620257 694789857 30630873 967504387 488182909 950690867 814663867 507619619 283438321 623684171 808569453 269358183 629054527 580483461 541574259 479029131 356799469 231824707 244311195 707284955 90259533 863902961 268265461 47135007 38783861 262731007 422905313 296381105 876068937 999731689 686192385 798523503 340447085 979519279 580539971 344410557 816763989 944501853 776089563 260291723 972846135 343956997 779002947 280020049 899480851 173948609 196928835 587173641 638267571 17579573 367638755 3465277 648203175 970182151 964043899 508658681 796757573 40122607 239289765 117103059 47380913 866816929 158955333 696568811 327034575 291292133 388390539 18103271 897954641 71965057 955513317 813677557 530103985 487810377 561331733 232074699 131277101 20387863 55592221 392487847 82138831 872086479 644068169 366835535 492831847 995918423 682148909 664232721 494286987 57901223 364079525 533214919 94663837 269446579 70123223 102489289 713082309 883943811 150490413 306955523 214395891 755069469 12170589 61255647 170848481 336549525 629154915 544670549 429680397 828881925 953488515 150675429 383177919 901070481 133994569 550040977 528337673 262332001 667831691 40021741 884355267 133868199 252240481 312384521 264954765 450674335 294638643 902096775 84963023 29493385 491407533 844351885 735582905 916447409 122190531 990714057 783524675 917099 325772719 660568945 992428847 882542861 895486967 647296579 629874437 562348795 488139881 761392517 239911953 83699873 703259925 462168071 32874865 894018415 861953627 601127965 190567683 345883361 567485917 332436647 542936687 668019065 437980553 764614665 905331747 585634239 439116947 916639029 552662619 660150087 238915191 728748189 602056727 86337451 756529143 267909955 684719645 689001359 148571683 164723113 234376191 302819227 460203853 979450083 221868307 905536897 917258257 805977473 335580541 192811773 737095253 212216997 804535585 709845711 581792835 670784245 315584179 245005765 741561681 894310815 819262633 288542637 698100539 149314905 457727043 27848291 702232835 573796193 821792907 592107211 400329721 740220543 944731983 434481101 171171505 250232829 745082411 914349403 870321667 233289911 149748603 881255793 37709847 770322949 951223657 5994767 932235097 919961299 226569447 618032451 582188923 608604299 42721961 454311451 374772859 404963879 895597619 280281523 48800157 204281121 873829581 224620335 970459757 928001667 182842501 692339639 519577025 374748121 270323509 656657277 552172209 377467451 672885117 394389181 732654503 312537413 802028997 320759481 870758729 961101345 468679999 915800761 547278737 749508217 23083743 213977361 640729783 612801925 205590633 276446237 132850755 850474243 10512739 807763259 700588029 464844345 624949279 778672601 723066621 293208311 535655605 818090089 345851549 434236561 281721861 999685475 586772867 485108967 612001463 41832521 802981017 130725727 171741243 682506921 485277205 31805925 192575945 24822545 940189297 649268723 979969891 761505309 81838965 349511555 428161231 180797297 506931499 946421279 633713823 443945653 94074599 795830227 151927081 885291675 438245445 799751223 231912337 618822111 138794539 851981673 14691515 252297283 423587779 900337933 789516891 165495185 464748419 670010707 987603431 277408409 485980199 772488689 517032353 605464631 53901235 286505253 764383119 747990607 460812403 610692277 612954241 947847881 719996411 513008881 439674131 723358871 330998825 690551213 646251681 159307957 673328671 142412617 930603093 520321317 818555211 590794155 296283681 677496305 296385631 565865281 119198651 126692393 72687707 413328895 703267747 598824683 279407999 59547751 39935523 890765909 529635417 364430461 978542665 375722133 7794367 84122319 109017839 107740381 805798089 364267381 405255093 743682149 565533665 613068557 658528261 633384815 298011567 402461115 531911179 218837577 708221735 237644335 367129537 327044673 972914057 330445983 207054825 441926325 688900951 741983689 582859531 681459717 858359643 895339509 926219893 600044187 891727789 938597359 108618049 664426473 731759783 770593293 907306831 412043115 821957103 307693871 975919687 205979555 460182383 858451899 640683161 759228185 46271581 244762781 128748157 812080483 319270453 412507215 588004597 511363609 394836411 706335181 999578825 947782107 660218873 456333213 792357255 728520535 527701833 793439437 796088967 449162303 102128193 929884149 997515245 920093771 634313417 140809267 320603551 254169151 565985035 773293611 224457805 409852643 963474559 326186253 713542255 379933709 952435933 259253135 623211333 740875667 981759787 48156913 461785561 957337179 315311797 399768565 48954875 35441485 913188367 396021741 724575555 336866909 101986327 65609133 639258127 283776899 301150447 735263895 588653195 175076803 608999173 869119883 360260515 385468965 569566221 248042493 972437011 422832319 271341569 267254497 625703771 836988841 325811751 828247477 383190719 718304259 144717837 743579519 814146645 978625275 238674053 870984653 406116337 663224003 244369579 262235575 171762743 444765587 452014819 645752027 728292747 678171311 812690907 621708893 875186463 993620321 66681223 399411693 681837549 692825081 852271139 960577729 799934899 318689493 274767153 688424089 890179067 127363413 589540481 291544759 311490835 520635619 809192741 530189549 426944789 363703795 859205241 379535505 232935649 426121469 127899427 757948287 706476831 6114181 789874189 316867359 145847615 522305299 993853805 10839391 742664315 70520893 449675711 405266867 642460881 934023579 999348935 271477789 366892041 549661901 521618065 400378915 777602741 566954371 57123443 886106063 259053869 943878761 997104645 337793723 535462033 608807997 896954927 292103941 482733513 228796609 199603229 438201425 969235077 704645055 528757825 481653967 575558717 241324553 483606873 330013751 45259059 890801783 21842283 598952131 5448557 415969007 784430783 181340733 620721085 727390555 461597419 665735921 567417019 698898601 210876365 781717173 100284869 216073687 693577865 660449259 517476871 770585319 327862407 421889141 493833583 687893987 33818753 936242369 248503221 415974365 691956081 880177353 375832409 431980015 938310041 829748489 492620453 172656699 345030537 278487431 920400553 931996907 470917905 204826835 503033403 654567217 37202515 999879425 694941439 860212811 834706093 851616433 494565465 184952951 502212047 225558535 751833725 279073791 420331181 180466101 132349279 63130169 907098243 252186093 524175301 925659261 706641877 78983535 198189619 560054573 182635887 307391619 743971833 134352051 443055461 565463029 427126833 166756995 679623187 945355805 201722555 107401749 828780831 17794519 688909633 173129709 454332533 892915083 219344943 381289109 318531399 122369575 40487873 831755679 847949075 633451553 978978037 521806501 888176285 205833335 213562003 411800137 811463409 603269551 848078893 727406901 879604323 646743257 984270619 71593757 349507473 954210441 31908221 524016057 182934109 890165727 120183611 57122253 874488053 442306943 806874885 763906083 357361869 445060251 770785621 695897229 916809631 226635237 716698985 151876323 16202865 131947167 538886729 211591693 300990097 482841485 913798599 875865327 233723023 263207421 789197179 34473855 508846411 478695621 499952067 930817461 540675817 736074567 940633803 201518229 472459219 299684965 71854465 964398377 483399615 817421711 717698205 182577539 963072167 303154107 307895201 326237117 139195859 1080423 21366739 25093369 35893453 450727065 89397061 754286689 944907879 866537441 238713293 771664425 992190915 844902739 959319055 871386761 768366399 772338831 637879919 741689541 843543437 309797561 699635745 149791271 298747549 468465027 804070939 289390849 357575341 94892575 563160605 652311981 367060289 725579343 42821553 555357069 807729189 629124439 314940199 775799821 677199981 473353477 817683093 68820891 767964021 656349361 326413021 84456631 786505187 664151607 512214185 418674911 651229859 498763007 312864101 731071903 460415975 197084407 892294733 193877385 76884525 117955477 394197343 361757495 835594043 506990297 838824549 585096267 826155801 658694213 734269933 782003823 673645853 546583019 421312081 503918167 252318437 899318111 425522353 822601405 971639637 249041601 61396981 198929249 338318741 235007415 964526543 280098319 269498399 87113837 36681139 306685849 438996909 513609373 447703525 490841817 881832513 832661121 505952877 642243505 637655593 654908387 219684889 744124939 744994555 602682641 911527299 241597147 518790801 228952029 636264459 354695963 160610321 154154155 676989143 373428427 893505765 620048221 898234843 88544759 40426947 736115811 625258191 734801329 756468135 964095411 834777135 266918163 799402707 146093515 189257289 950818367 839398359 318929587 675462697 558802271 693799045 44805367 59322023 89958823 932733691 815158445 492828519 955880529 432399515 829973621 957732303 204532125 1805585 791024757 969858573 611480535 328284499 811657049 370935839 23171153 222747805 962155355 186919615 506948709 624003443 812530999 760787065 468273781 986799265 896972595 902078109 691117805 112968253 518737949 960430657 385289021 570965151 205701197 384759625 97595615 290120049 120289951 108520281 509581913 860225177 852327293 277028069 327926833 609596753 599784401 313483811 426900475 603582737 927801875 834669075 785832273 646512799 991156033 18222975 986107093 157639433 236956643 117871093 121012529 480256159 886773509 298247887 756278809 56270849 893706557 929017903 458635079 615820563 823478187 301981177 250524539 279098367 56385269 283406559 805383553 700676665 199436871 481084763 877049131 296309121 97017947 543029419 223905365 422639321 510299757 761417175 915921885 179310987 981075779 705773235 965228207 506697263 442943531 250022099 968698047 126796703 741451261 703901337 547222023 370106369 931965463 176864813 567626631 16278463 626842461 265311359 676103245 376039055 913027903 622064711 857824871 899513453 207373493 882023175 385909745 942241437 907457849 852095493 41463821 753633451 961988565 732850517 495138791 101202795 266829845 268293833 351852975 671508475 97751823 896490247 768414111 628285117 26579043 732319861 536029437 11027549 987546935 637830723 917638415 977777363 511385401 308412265 513085481 131619415 48961949 470714793 679516325 130384495 477456933 949972617 524602853 12823783 963347477 768445019 986763093 37796053 409557821 238373685 83451237 228169105 551364849 545164283 988939921 28703173 983318287 873595729 364269657 96373849 426945281 292103851 494365257 184608641 622208689 354197823 986937077 301132733 239507863 386927373 241354995 206805197 361559475 842701791 345832423 374952641 477852295 503133765 639180157 112128233 276847141 939206293 262346341 319522533 575933475 406079987 643768155 871268761 97455261 626894147 277363743 112145967 177329467 698154039 699521149 360040733 775975467 829601865 878811463 656381727 155242787 722802615 827831641 816954423 624868961 691471499 731480209 582282421 379175851 706688405 745116381 198578219 596859215 820908907 367246637 351060597 208072485 967616879 939080317 434120889 563123083 826663625 135669965 269642339 998777957 475377513 818703913 692318757 294842405 612776201 41444259 955178237 514980541 673943079 200714327 951270191 24860335 962052875 514641507 972814151 565538301 38953671 170056693 343503641 269665593 546088499 497278525 437725379 389815929 853449967 122758775 530419623 364207705 248223331 768976611 404483443 107772161 644232383 759345103 762512665 428043039 620243453 328525961 203535319 391446249 414659289 38151277 925590067 939929373 119625697 821824991 69396213 864841729 544402017 552070469 807277621 647519333 456730993 142232087 561998413 335165597 231998197 394785737 528541409 996182921 436650131 444733667 237614559 382085517 416647865 803700203 764029563 381493657 808874917 82918005 826425903 645608485 748695121 950242845 202782659 259665451 359755657 182601601 683452479 229902389 174688989 238302543 94275067 455738703 725653923 213129015 867907985 226251793 634700287 386839285 896818919 626362263 279593941 342846283 902656039 609087113 578493401 831269121 451527879 210944533 289685633 332645867 575206531 728900337 902247181 368083941 728998495 550509659 32972935 878487501 183516583 708975385 184679101 479661201 915343599 530358395 83717963 339138081 462392597 175841621 97877645 725004409 305076795 794645767 353796781 54032539 486191309 70570103 848834205 469801359 929276033 674729233 676612881 530399593 530557267 326659535 255143309 622600773 679986313 395256875 346510681 543111489 767666091 54064943 122306179 185314699 869214607 898681447 771209445 491977557 988593491 37091563 581220639 498205909 856947545 125429847 99893145 931987283 72749135 241171923 422068613 467459605 800136745 875631373 359979479 908307825 278378273 438747451 354669651 471729597 324901053 902501915 749719679 706030175 461809355 491378933 817546413 35151551 282344541 288859541 304215797 303031631 396204751 224463185 157853239 11951755 153130693 997340681 650409755 295266293 595740973 333151521 38860561 335230741 915649083 331779723 317790033 528974975 482463339 496319417 757679069 618557647 760569727 864147117 512289915 308542371 343917959 658364139 649789373 196000425 963515861 650636417 437171193 94805651 84499461 872050951 565374035 724070937 314600701 935456921 541160879 108175101 793839593 504291039 437898689 407552781 102896955 211462153 907713535 89484567 500587953 20327881 522535595 11318265 289918799 183508063 353686475 987181969 1468001 165052817 466283055 916458445 20815483 413643695 249806451 348672927 103833467 486679181 373945331 190376447 203759747 20720779 269887961 351359215 322238719 313182095 126104599 76785789 686520231 212988421 898300003 352375735 28598131 417718247 960844605 128323003 443675817 865002417 819526383 853754535 245303767 500971881 543106183 829145769 818080461 448335773 567961823 968651507 78751147 775730277 217646999 472846013 759182291 2875485 471059993 893725259 216738547 588477359 859630737 331068901 383401983 128229125 32004859 99389665 935531571 122300055 541587989 948344469 228016657 140644131 540112999 915635559 607130217 865849585 380983619 396678079 872329547 653010635 89700801 148053263 998185753 930227469 513336257 630030547 845866353 339862161 130725099 294184845 96270917 291229631 475558831 60206535 316085445 563697539 984102983 592572177 176179309 258388055 461747119 939074825 617822725 821595959 849946805 622598223 14212759 858378921 466188517 96429453 627327095 978009531 919714711 330761845 440176707 722023173 721240303 428620995 379982811 169164707 21633235 62552889 228082545 105745471 823901683 895136929 517596789 594466819 178772167 959173835 588817573 213714343 399807631 33533845 374061829 753388649 572042325 26789341 906043107 174369553 856362473 223230611 133756111 171518699 803003107 132108707 571177897 46316749 813418913 914309899 909766547 238752791 151296591 578783181 427761403 912947119 125971417 281496819 454343571 804939011 16479995 990515341 896373083 871915785 877274421 288915129 866657683 275927357 650376653 101486231 68707273 556720809 842888915 385668433 482357459 791718619 928638497 467082521 589808075 331266791 486155353 170672683 821606167 628916843 443258847 449382857 266012513 69689489 318572005 528197949 680680605 931599107 848848229 958928601 833767179 334301945 331863581 687024885 741240365 802227763 23697303 318050551 873293773 334792691 865438241 38536775 952295171 383739403 936263125 501331289 677957419 948841425 367209363 902079653 216521445 711562529 547019267 902103471 329660707 22827363 322876567 105162753 912579093 693788805 697445507 616692267 640486969 266821627 868881867 577107659 362963795 836456391 347461685 18024833 338332527 302076269 154140243 249383415 457233377 803346685 606261885 672692449 313757767 883865611 917558739 352245495 350349187 662937783 540390205 352350717 16235713 157378725 197587563 578309051 882262649 899865605 359431893 830091015 926719843 55997071 355506877 650129081 553784197 721372797 428340777 148867251 517946155 397157273 595927531 500320991 551221739 22108207 868384411 757024817 473086367 115632661 180385175 967594401 480094571 392801195 676156427 442037043 456324797 722128599 206856677 878046959 930395721 883861511 945244381 231550443 496424201 98650929 740125555 171606335 315562821 429186259 214631409 504380685 677880709 840821491 774722919 936054655 965150625 771654177 403314347 843311561 391765427 778357361 850634593 703899427 830786849 386761347 806921965 252278225 278031765 57731707 925243267 835361309 232508421 153374985 653741849 123056471 472898989 550787685 236992623 995054813 316059919 227657545 72866319 412245775 579102971 907396607 287012167 283184729 454742915 439222099 57456945 69879849 686612741 410232733 505483693 2071551 335151395 357047225 552997989 722185305 637783497 860966415 276395461 788071361 650619949 966047629 971240457 226819021 142942667 871617705 478637615 894234645 674414951 740315745 996372223 774379835 195564047 400507707 255361547 160611817 614519827 450707527 37455531 946304467 710588435 434457625 764278527 912804529 338368497 602479569 143340271 523798343 858259419 664121875 514491691 190103135 238061379 837638161 684654637 190676427 412035047 755320445 46436659 946611557 955734733 762303129 902968133 544474639 240043325 537123623 152584757 858134195 816170959 657614715 14329755 332761413 730197853 250399845 87847381 373088189 350683147 851160905 246561551 588444959 165737031 548481289 35738167 145446517 283905989 378821397 783171589 506577873 106763393 645829729 695322107 477513549 816755645 572763761 164097887 107005451 247675657 11121733 893144643 686016821 692907831 399532911 47744637 90656511 891661155 231368451 309340849 532698019 938058227 599358625 950799683 334499937 179165585 764414317 270319463 747180165 266134067 962043161 979986451 566758495 962699285 687910615 514340103 191419981 790436539 420188777 530739661 706567087 335004145 916498195 729622709 74163185 739183819 810633891 190592469 460881283 180170407 819676785 182260241 87060703 467871783 924068953 514276877 72001417 18413111 833837507 489996091 52507403 985554191 979547805 893262037 114916855 196184871 811678301 358693593 727141095 961747013 542231297 162982161 96243069 493502581 153833489 82911243 232333667 844136717 543498137 401211425 186884429 954018215 990832431 932385907 845990389 168276263 193688819 726881771 268687131 822578875 781329545 575300149 322365067 181205207 969387555 229213899 308415255 650990645 672511859 485404655 528784793 533227227 73167547 327863209 605078003 875298071 231760319 810471623 878415887 108567163 293758157 611372515 761260257 275643619 259109309 766641757 47240547 833844595 927894253 518248795 178781589 137525659 796400193 759868113 805427075 481395723 595052073 642495607 960349247 459592639 87511707 289981643 472351459 267567359 153202709 196624405 489973137 250612309 883424415 15438183 698572917 432608149 144872643 696625047 938684607 673831643 794936989 823038537 713470377 906904973 520362695 391642851 415431031 745728855 683638631 16809875 887335027 31156523 468091695 719213655 14825967 912319559 65791571 635682793 273295685 816945967 746441103 322629333 811239129 103339183 708284205 662564459 496742161 141671131 633615355 453905345 284114787 614577169 426572877 659337403 936557897 829473779 677422849 20875517 291167555 22795375 236659327 277259003 434510301 602060983 140684727 456486123 965002921 557934155 302175515 759776717 516273985 604913643 770393003 211434603 53851719 93623973 998566893 191507539 472789095 31495375 663695601 882531551 733927249 275334915 129280333 956846641 274617535 177930021 432463389 234073133 609377143 456663395 625872905 112328069 255808575 171475761 819806781 18273971 999641323 60729931 970381171 948719349 402243925 683288499 783164647 335302995 563700319 838891705 940876639 490387361 794121973 656331247 910784553 731545971 764178183 286130737 517519389 724662059 807355023 962495909 301934233 230653681 836945043 597068469 595575425 673260981 364104217 790134551 34085701 211927087 253326133 262835911 85049307 241331681 517002241 105445641 82838979 534568467 898596255 185394025 362197503 778431187 202570555 864508091 977495073 810835961 543801093 670743067 331999551 24551977 360128313 814363631 232590581 65538505 302776599 990833891 489855595 693962761 417743851 182477033 502851917 153637345 120838151 241383487 214473941 349235987 129054661 204441195 193708223 763676453 986123401 746103605 2916945 742564457 446182841 425267635 887898971 378808053 100742091 9930051 805340977 957051821 91997497 504209031 276013489 946582325 631652227 484162669 318016581 990960385 814311991 924871977 492344023 629267527 306416611 110488885 435579103 800225031 57570083 535148121 139498589 19218699 403231129 295777949 651805907 566435043 676108529 884906329 642296403 133821669 675227611 62923815 915918451 834691125 279594259 177520107 584055631 697696695 294686809 496578005 354467471 95031071 78744953 43830867 152064097 226222049 620499271 818097703 153328249 230487105 332114073 500955475 165824281 668995655 342165331 56682019 878196741 409017539 368914273 273174571 192326541 129420363 17567155 439251783 313331077 788148801 603560261 405805725 537729101 975826893 239004183 62892951 330674633 61812447 770314807 316860651 794780779 493318449 588793523 498738069 266583589 976317249 237459623 809636313 103790455 488505175 3653173 515767875 390247017 242605189 63004553 599329961 804704647 458479523 559426515 582094627 446604009 320306769 164738127 290256667 270208299 796452855 961853759 238818359 687365237 13939909 790290155 309981553 419666293 85595829 347545255 778959361 888099425 87944323 855828941 157286509 744759287 550700733 961736385 827889027 612236413 713128111 70054379 850222931 886589633 38544753 123821245 258113085 624338205 462288615 717270195 482828259 543545961 278123191 229775949 531909683 814680337 981782863 955057175 676454497 133004799 474069741 462605221 981229545 61152173 610592907 442203789 552525197 781837077 452625141 124915061 234077789 856936129 466889147 873667331 773785771 609643453 403546163 855030511 792090387 85672609 555584129 38502637 891886459 805258377 718726793 610985925 866983437 564700701 313914623 789511741 906863167 24155275 507518553 75982379 30471629 288501385 917997527 612854117 275818939 795663189 433239683 344114895 66744659 771238325 350419499 68879189 189542191 226804473 361719915 906615017 826119205 740746741 411100575 499847041 981688413 804719113 470807025 454861349 697376835 384033305 307853395 577410523 657080201 301836695 954419577 575167161 535331373 517492597 562310887 884567253 278997363 884360501 663322597 131584341 362887911 777885659 698937985 720764767 400307551 333595893 154860693 655754027 284883955 340191643 250068161 176362223 517192461 116161897 66922349 556880877 170434389 472624007 213479371 202964851 606803135 472589731 246729935 317568975 605222795 271890675 150238269 441947997 574843705 62402357 880930203 168558465 144678295 533151153 103278395 906813859 763020731 496435761 58116405 338810933 404207871 287007761 851040873 249797043 575215625 150076713 235665791 954342815 217679299 48011493 801398247 74662273 20729443 848850737 687072473 21441519 763777123 145576833 51353175 955045759 810454411 117746647 121486887 756570583 711206885 766582711 472052443 961058975 540635845 954136879 619693769 704087177 726461383 563809239 433562389 166373969 928267217 162480587 765815973 483737017 441902093 875928755 35858727 494417545 604079857 502355133 195529239 930511765 385061689 134452127 655058357 630190521 672780009 289987993 314082311 773458133 866617421 119509613 35685853 318950099 494042363 285380717 737883091 890521765 380393675 377770349 715675973 659892551 246738661 106645453 64089437 718056123 887644853 941609843 434895373 251781897 375310061 115999435 367084299 884330823 784772749 220512719 177430231 43570315 592764885 821980411 230594491 444361467 223904595 184857171 409819333 723205823 3316957 310287467 783272143 9029897 893659277 356342613 674960763 740806933 332106695 875577775 957801517 538343205 676118073 821610401 242802455 595079041 261311703 497940441 607394355 522066815 538962651 742917263 468950591 204117621 803200205 403893373 333271491 448360137 332743029 144695787 49461265 474853603 827462379 949809577 415448641 750955063 195138953 761047565 575915571 947400253 608333557 229948915 323146639 756453751 497286937 495819713 58749637 573442675 649549611 310827625 220357647 74457793 74789031 592197727 603205225 457614841 400476753 395222175 633476257 539728577 834429749 832031155 821870147 71121857 868933543 534354601 204770471 59785899 217471043 824786453 83821041 895557947 186364143 691999509 627536903 726654515 403569111 527361617 801035161 987751517 473781357 76420857 394141471 997870985 398069359 782284223 100706265 598669717 422638817 60623331 597395153 974259553 707204879 107143725 711104471 57577943 341316493 864136169 728353411 308454633 577910585 746599917 751277875 352198293 384764981 264361881 469278739 32888279 313971439 647422931 724678671 753755071 916824859 455593481 327914979 542971995 685268147 725168943 640220431 95395273 871973117 350846151 117487321 759618345 141908871 258029013 499359057 723259813 134952227 170108905 853191249 803235185 281164013 785843735 469831803 961902277 664328521 782231549 668907571 726458597 266054885 402459333 336585387 582761241 995834293 693141529 109422813 852189111 990850549 510357297 764072071 769344277 293506343 338638283 286525747 43389593 610446619 20011311 354910511 255312811 604676323 880858409 280485525 59570367 710897627 578410257 138506309 341432397 219240105 883474115 456925927 481486809 120141367 510952871 402863085 896420077 534427835 168034217 531068555 738377753 527732913 481143363 186318533 894546939 716253661 689915249 510639201 742483507 697142859 752012985 210067443 113546859 513326929 65904171 620544973 96862039 533529735 883216219 745413397 246554031 480528597 621119079 259626673 939276087 3198311 139716345 243038289 802997689 487641263 106695995 356465517 530113029 27835755 244700901 398637127 13012729 681832865 999362615 680480997 551243381 119004569 390778099 670577689 532761187 232562409 702145899 777447035 702247863 207371119 664328053 5272937 996166505 788573775 481668461 832604175 369350013 899453683 359179579 357433947 716573693 755274767 633700685 88318469 691573241 659783331 937709465 179457933 934352015 307455215 941918365 236956477 910389215 997267843 964017247 653900837 968211 84384305 995424111 721438491 78217311 736674069 430396897 112298435 988155 46300051 829771859 7413633 509122347 917423963 413668591 793688201 731330105 647551835 206655583 52979921 187239031 179461333 316011229 339668761 65897279 892423755 988314403 82069483 495718641 326889609 294233979 438433429 409779709 871567267 109484209 605124145 394711505 13841397 66386715 527459487 295253991 190726437 204933019 178795401 706416323 440337695 12773011 51642715 260949743 926536981 654845171 59877969 343136251 570205829 880419121 262761321 386098565 71502387 75078219 691964267 97559597 900406571 874620615 60422121 801990813 581932995 365794739 565106235 995660425 90220179 141995945 889261185 335648171 396930947 275666369 656331939 522025667 680599231 133432999 780361041 452956315 522191803 395082117 106133253 540260105 720030769 517144341 108803325 307339749 732950823 262834833 602643521 29018129 14535659 670526147 374352035 283970167 426487053 173468919 550737339 295758091 899137389 832876549 822982119 483912647 358568239 129291081 333666643 417866667 603028669 461937067 813797101 737734593 613843917 321495193 904319341 295738399 525221977 962254601 903580757 301646045 21263273 136061049 308764395 214539037 704682311 786244081 531200321 490595339 242081285 590059259 942877997 900521429 608034053 901217971 213317459 606596795 734080677 343579313 130539031 200758267 397985175 243323425 906977453 254920929 357406155 428433071 128812555 147287999 804673407 973909391 125171185 419712239 312442935 487262851 460146153 638204883 532881343 227316429 855942723 610347477 943515947 557877825 883093269 547367273 868170711 286466607 249838403 305494279 115679337 84630651 922325873 432176179 734219213 906259591 682178833 458775671 176840757 112442947 982716253 773541989 194373153 265010469 564127827 647250071 331219793 861685547 542420413 14431407 870506963 624561117 678633001 488383065 74170619 877868869 153619953 915021893 971829351 4569343 790013493 238107437 744915195 43840291 481632735 311337173 534494687 891355485 215367323 847959815 668235149 125673945 584915939 779090069 713164479 226207819 215564281 7038553 694284151 289692917 422114021 54272053 628086789 239509915 869008757 681754645 708222969 415803019 235428419 303388393 457857331 258099613 868073135 20246443 563000535 302564653 815775199 954173023 575241807 835851557 182446025 318735631 465250385 805553135 446625311 853969613 245041113 108947331 681958757 451866291 555061547 649482847 277696481 466612963 827222225 707749513 839640229 794804105 31405731 465127057 748885639 344427477 599368893 278261389 585588011 3873537 836001921 307366169 152672247 16092499 532426651 441983067 92868377 325896977 791258369 450304773 86512271 409850255 646641135 148266313 256271123 397735463 952014057 803506665 883453233 764435771 349716155 931654953 940718137 850707253 760857467 43536345 81550657 131254153 251535745 514581067 479628333 739510705 604063863 558709603 515436193 502763053 53646915 791561091 10757393 215768969 634552351 108434843 980575155 418063191 388323203 295724577 842379143 978667825 980085045 598433813 392564567 136119737 660123715 886995449 262245041 969767835 591199485 165446367 659244271 258630791 308275203 433496925 125019187 475685945 198147897 642559119 336477281 962606449 372847817 65480987 725254187 757152507 331497513 122069043 206507531 357322409 143141139 270784651 589853503 475354709 828351119 220604257 359769295 912167137 414174693 365037435 657921679 908780857 260673453 219905575 872092691 322078029 668419777 351325245 851075005 291728665 949578567 631638809 546713013 585016221 481833899 906505125 981118699 343543781 71353759 39066955 40748567 980338691 476121887 766185731 844520123 324703761 612816755 438239821 835093023 415417139 773384229 108762667 80033361 931246223 806185993 51147311 48236329 810399323 942802493 441957743 175148875 586052817 594077987 977211783 137220381 745679153 765185895 99607453 463183823 715111111 738861313 785458531 246122073 393208293 224132137 308291597 982418045 937466087 195033189 217218905 615470017 938139947 541032321 722790029 821482103 556727327 512841875 887273335 829102773 181788723 944083701 61233519 789614431 418060257 794530123 546702419 148141849 434405039 492347011 75461511 981766999 550778915 629058767 256983805 238620495 690359505 795291823 792076839 589319937 174200659 174561251 71741701 348747319 363292493 378245755 983437599 899762049 999023717 745985479 211697793 80738101 468032337 479076711 641044675 213560951 187456203 662507071 638992385 970902571 497949333 851442041 159631331 889165317 818415735 131975051 101664917 71657849 934525253 767873841 472254929 656553677 816988121 814269549 119409107 756955139 250066455 149085583 27042401 941378545 227066341 742840361 191387083 192877355 511171641 489999385 656982501 150676755 998128141 412700799 522486543 15654609 11490659 572143821 926316333 197902421 360892995 83809203 51910831 247015257 402712513 952608815 597680525 661106779 185213175 557341829 154377281 787625379 526559241 217082177 227981525 374791235 792954653 944107063 997533141 716665107 485477227 919102341 31924569 411191731 803878951 614201997 736957437 505787275 909543321 280066813 998312937 22211787 372802567 575139271 488056267 977491821 863535813 357348393 552220631 819574829 424396591 590711465 270395599 420084121 564158883 641466895 570760953 353997053 383370383 833804403 383536415 485982065 505900899 197608495 740929947 640662233 554160027 133254887 224558411 456020699 406523831 219049609 500175509 399810021 365567557 239724617 288098405 156631093 627367123 432251809 219796787 607570117 964083965 810410841 775180287 773355617 300481383 410442361 935089485 211795609 695816377 393496921 607664171 916515523 221464741 369776275 199763247 349480195 710705895 687034893 321018747 523268413 519209535 335301105 468313521 582749733 168704379 903046581 251417857 223356977 419629161 994397973 744429601 656944289 15785701 567887637 152989775 435224703 924778451 110744321 368551505 445749659 360931867 570347373 109562231 331943307 669859759 193749303 885740181 944156849 500833931 525193857 334998795 16631605 47113647 338333111 872998845 88151049 422490665 173609615 360706077 400173025 102220295 941164295 506303773 512305729 572598629 33369183 127854143 969043057 989711719 10281509 743469703 127148671 650912565 352292141 402787203 767698501 703016193 175241365 976648777 275351139 285223175 133380799 242811515 449126209 484808329 958950489 400251707 469647889 266803407 98394455 14654009 349577671 737840173 605992435 672704683 88938023 15599871 903902131 978976335 152413367 107036323 375758949 187471467 710112713 417776263 965846299 551248079 166373237 742286109 356849457 684159183 99419803 873591515 595099979 403344971 606691299 441603913 716722775 144235689 818236093 897051631 603528841 268791253 869643361 765277 303061085 811332425 721003729 32128047 574797205 790743297 675915219 168716297 668022337 780402817 470682105 495384211 340256179 603471325 39890841 483298943 894358921 660423333 297720791 948826761 864077987 536319741 290948505 994950771 668492851 616327303 494555789 753458181 614033065 720486771 912295471 261375509 689964227 471364471 36440767 335768953 568383621 60700881 268197443 994406423 27500091 526627657 243618699 625656279 206775673 167571243 336184627 851214251 833118749 881368141 565346967 123228815 939340105 126562063 716935393 908273797 428020329 509813589 557436931 543410069 441151029 166765969 130035635 155710677 845078949 730492343 608038513 821745499 96205567 117383747 37978247 521554253 509598929 320414527 53415171 379998931 662234859 533978425 610851519 274423583 945556333 475411011 642479965 535597423 324359097 629444865 535150145 587246591 551739261 568256405 338288029 724201247 451979181 261240495 600759659 281019933 600117637 603027589 386368105 597552727 465801095 30789079 809132831 271774763 332149891 418679527 599811807 359131143 288517259 853282439 604620481 421657437 339734011 774571787 803053733 93368741 872519287 509397331 411279411 396154723 280003567 490895301 189328859 624799007 708969363 722696015 77119959 786406511 974221535 676429413 612068131 878912745 756490395 787959817 279811725 243591475 449454033 967068863 190417313 549565941 275936981 988712855 12740535 385308899 413468229 934080291 97271539 883808693 479474179 742706823 899387195 422250287 423288379 189988965 806694719 865322009 397311075 339709933 520311159 166905929 951842359 291339735 177359651 860741525 762749627 993463133 369578831 666246883 599658301 100912967 685380037 697280283 941618253 142323941 474639907 398339633 714170571 953362189 316612293 892492317 483281113 636995355 376593879 795127779 450236133 785709047 880140357 523108491 65532065 960206093 840838347 713425451 172020237 236237655 789616361 951753945 930321513 978696273 339365861 872242619 968292163 772920577 749695951 53173753 25829233 107265269 834719873 756393927 282831373 135978309 829294749 836612957 750873981 432550287 680930951 80177151 128598635 466353911 325766001 371087095 663903437 867861295 890569813 917845141 8764125 279413097 814360305 966005047 892536355 896129381 546550479 35199549 837628521 423866475 947622973 255332625 857535681 896091719 598431573 85475365 935976589 681231439 874896119 844297719 177613933 203141219 24931787 927571971 200205133 359725545 564819779 961617369 842279779 469161167 513267347 224568841 289568555 142906507 574399423 27882795 402522729 973567259 695690893 827264741 648235305 840411653 435180433 975959775 30674111 681497431 283448093 465905613 306265289 480981161 18989655 653680231 171777065 358821913 21576229 835736689 641077771 225524555 76998199 167359413 880050407 450773617 918352901 973107461 166686069 312880445 246162897 143588665 592017851 7294447 905140641 639339575 798079493 34899023 476679239 423699431 462138857 515004073 58623067 737390397 975590721 475029205 998533947 737545521 705763121 593174319 850940435 849423815 160430375 306526111 460215505 253951241 116534231 796216979 761564973 749840393 284873275 776450561 128712615 846695391 172938395 724790887 444051081 719967409 236773759 662982091 604526307 448834217 46966975 168278715 13822347 773608693 237279861 966453583 216561701 919380693 751494151 767824421 162624533 685044871 167322911 178868579 843198863 31013973 775489715 324060085 436497545 411939221 861771263 659100499 229429187 816941983 666064775 519236349 243428295 572418261 612368405 325536503 105628643 867866017 285171649 79893007 77280561 218432375 97527015 706746523 676172689 698089935 568731945 871736701 355994285 398621485 589347443 367008023 224542961 15207451 269867515 74604631 246522009 418928171 167188287 613824951 212448931 408299765 862934271 612155955 570758103 686523679 314827337 984163411 312865223 838960467 676604785 28822305 177866187 319436609 458821909 131582775 257076739 295198883 922330903 362222515 940875863 448738877 262285733 780928827 135702391 310987993 484587569 196660475 237171677 825594439 822513275 608287661 884933831 708846181 204268419 698433675 529899837 932748819 676159639 384843359 241234193 372422205 871447629 940499573 800574427 875002067 128295807 183860645 569133563 668920271 611914833 156135243 96195479 897191989 975978801 762251855 719723939 992697103 221997011 516222495 125817045 703926895 641862195 900886449 346465967 185435245 230702995 746206851 429312631 536273969 251004291 940744603 619002431 450954975 421799125 170450057 689637853 516167341 695638181 364463201 677237749 530344915 875911513 451472067 683873515 971495317 824820635 961636565 826279923 997369661 933876577 641391683 617305603 686797085 39058151 812848199 993836763 866200975 184499121 635854491 938161157 381575669 746514315 458375817 322895313 178273209 321143689 68985821 563687509 845650767 460102409 879773679 796964981 19744561 283093165 66257053 136189141 502637791 735995747 423165771 948807911 186248165 777034077 41420777 310774245 958744277 308969241 881150445 400193997 374204999 227064411 316617557 56526953 213691875 836523825 161099687 191100487 177760077 399213803 746321139 489251265 228297019 734438185 914833101 698882551 471478373 696419533 102249301 347044819 772015761 65232133 294816305 957680385 114961283 76837957 443321741 96629499 530296339 176081223 540238115 631367683 328973081 481742867 106937135 111845921 715619449 687391985 550852983 317752355 744091673 140743033 418233929 556751011 250673391 926778245 803718525 544013569 820048371 5797435 953326447 134202469 286950699 658621189 610344967 680618687 89012893 369873049 969038259 702383559 489077083 625718769 117051499 745077759 442520195 391154005 982742185 17442733 978939447 143071567 286167669 203698659 460040861 8026035 777066079 721305975 122539243 823482525 915848827 517105677 524674139 88911219 59571049 127535371 736076077 827422689 370660687 264961185 811330989 939776729 492889307 160162503 894187821 440567705 131916353 865013309 729854727 20305061 234513475 460887949 688781213 83134153 622662437 404698119 208283483 382301209 952658357 601359553 474205105 720113907 152075339 963706783 346249753 796154105 83472837 450297413 998063895 560515097 945771143 515830567 288013621 779441541 918559617 954527355 125843461 53871805 452352809 502296385 404046115 375653505 946603647 721453635 957198637 775657439 860797445 960584975 628533967 114381613 429870797 298394367 480491453 544614149 220852075 873690677 863978417 922621771 426906367 600462485 614643563 247916077 425515055 892638417 657872311 557117727 235819049 666838883 31038567 525259229 94409121 28463497 167182165 252964713 965837785 188082765 818783589 546787091 275997077 972051325 638833021 596817773 669980197 414592179 944636307 796360019 910155357 656469071 986869153 199068907 986104731 728840825 240407207 553695391 153176265 263343137 506118065 567452709 448937809 324036095 782664913 64327033 79109675 976728469 136450083 762469855 660118741 967736875 591599301 121573603 965306967 732450767 922809315 46055769 989923901 576075353 236359603 32977501 937638301 644718189 583963241 797485141 107941399 803954289 555132749 769481197 253072593 281781141 622489509 778046743 783148921 833005777 456331205 935939601 420570437 806650343 223697415 303253089 786724339 312987229 112471501 434239439 310211785 62334085 812830851 511335281 581712277 36601461 724346009 418646181 971265967 652332305 537563787 821607949 895674613 537326845 374939097 58274455 277761739 323919277 119119375 741328503 541648161 810841687 38336447 763892775 592582511 443392253 32274309 988993391 829684143 30292323 91009279 382093911 383100779 472266271 663674843 569925687 762573999 991696773 471175369 217825961 707540753 704446649 900131971 971279505 205280433 587523743 503119055 247259423 603962677 93256939 707181939 150592195 752248011 68303121 461644099 756786745 468525865 523870039 967234329 763057033 239865485 577976767 752836313 60928765 126549693 687507231 448243307 204356649 163074569 614391819 530238145 56125673 346504773 598403557 507325141 652132963 21725135 478529493 621374125 420193281 648607889 517914571 111233103 251429499 847521013 478350721 856102095 180396233 58200307 453643125 640770889 223141679 252943627 264513519 642841051 411366463 93649217 910244867 562386611 767014343 320162339 996678787 989241089 614099941 506046407 982350613 618148353 661924865 43107535 83072287 221987827 54004673 686880603 625395921 220215587 548397087 367805983 582234661 143338213 645033555 495053647 366514647 602478735 157597411 956531113 335339637 330785413 885409437 906572147 844719435 665878323 109543825 333479293 137932657 185782281 927281695 477869595 594745035 335185539 141440491 819822637 229465343 727131427 377087199 47178775 879868027 480710769 706079791 151720139 616811389 806386689 147652443 384035515 339315967 926784879 589103907 411534057 882815437 373335897 610420375 234010583 159526775 311269485 336562697 257449625 704374099 232337499 460805653 683533247 746992005 496035551 897188001 736718957 804991985 542779579 647490519 309978949 497114955 727369399 936070957 91617655 749730313 324915367 748188255 82286519 271053675 821467749 991304305 47119175 991167099 888004821 67721903 412774637 482616585 385961183 274600877 248109043 327252651 280924277 977399879 397725493 988964803 552697747 922924707 962117131 894554745 388011323 292180781 250628449 683289023 324878965 407517079 261724321 938931785 445295957 51853279 821933765 459557787 133747703 223141193 632326985 288832765 527231865 313816417 525532977 312824957 456635657 554539261 797299729 624406517 248158423 324573495 576091897 363572229 953526559 595821683 361915277 872897301 277510435 643498847 930642671 997178967 591341611 174943725 994170575 915662015 175639693 537789021 12755555 418251281 12145823 623748143 131080553 911410643 782965191 482129201 60688167 566530647 463500651 263431289 157897581 716591541 902174211 121501025 418841487 332601037 983453189 835239055 968014189 762286663 230805747 620153581 799278189 619087251 47808091 757506225 438279803 365432809 136320715 988021845 486719249 455810891 581280481 848256929 725363753 75093375 239140923 803270815 849411917 826950423 546201223 296301731 556031625 978793577 82986615 16878409 426645877 849288857 14272707 107858295 889410095 907757197 616635181 733040215 745666139 15597043 92940163 667913311 94868521 931237447 373017235 546755147 276988751 549288905 932451129 563786783 608739851 248724095 195951449 215234087 687243813 773303609 315948251 115534841 979949543 279046803 322993843 793672557 985333549 175712745 255374809 188442539 944538705 631266407 380705359 575201311 889735993 427482617 232343587 381542267 446062679 502077019 470126179 962543295 506623901 867421707 939140141 872173611 817610125 117095251 124169631 35968589 332616747 418944321 121621735 64396539 370261509 247378095 298773815 228962383 783652659 976450367 144736199 535870381 971270227 278727765 641340121 908098243 13400969 213014563 671890107 705694341 341629317 879300771 292389051 313720877 214902397 751318163 687788087 677234243 649931055 934999163 87572367 861013391 734340579 939428269 43501357 957716521 618800997 484499265 536827011 679281771 234046475 364039447 419338509 50883579 907595445 65198807 605703501 43118275 484036553 366883569 839624141 147612153 685145139 913614751 667152925 842636569 165566061 908155869 904318427 109620967 221974899 829176953 347895205 68252783 332626379 801303807 428729897 573154309 489508483 723184839 167871769 537307717 293569075 21877749 195511341 763657493 593913849 598256751 854798889 336673441 563036281 63575781 696436181 203282011 112901859 450707407 307990791 70059521 316417005 182761581 663310743 131194519 87117015 831794635 439567973 635095913 306771043 432285107 822666335 322334477 886652387 614848451 934198647 511691867 624338477 902881879 290634661 662964091 472005789 417675163 482975725 890507481 101219353 137132667 550543191 718538793 420639763 840047027 195351033 899660645 53579647 610602179 424660971 980966869 786571227 691873521 439031885 741761281 685149229 808310349 727632975 693910977 625969667 689963185 1205277 319970095 951934581 160467647 752711157 91168687 948016417 866487515 560672537 948265967 596101931 912849463 936121043 64276451 118936131 379176397 332359027 453133767 782839201 209566043 704478039 910254365 294333183 151012971 324785631 890955189 553734055 760963915 53675125 502586529 73788261 977706517 866221965 169351485 619080079 835158441 981111199 764425263 1936901 839771823 243797551 336368225 737561645 347497625 767322309 639145483 273904117 742944411 343612407 854989731 65374931 602687673 878535261 166102771 239190723 373994169 916202905 259871749 546028369 190620463 805005653 242685999 907004549 824788077 729855043 171229961 762043897 429727129 867168033 8892283 229126603 368278425 256672683 709947057 195748767 311139869 109342129 55926557 990278567 337422493 979698179 765178751 326590357 540568923 846254459 170882519 558775209 913853533 129911801 157634163 100674475 218098805 122824557 187432679 20678631 324062267 434051267 159736081 835083317 464136973 166207227 889381909 471769841 484706327 161082387 862053213 496363011 269085511 941684245 161859997 332568025 219654741 599383575 636327381 413075047 313221057 274348849 821150277 793874479 1781205 492596613 551138685 551595831 161584545 892197693 122461007 942098441 375602683 274519949 417785303 866413247 558390407 686343597 115076217 189123063 458755753 611146721 801776357 529279445 611019925 217549939 426864139 778901771 372008513 123362483 636225319 511430091 782854765 516878847 679294657 900377815 754441123 44551351 621911971 637778545 956756785 993097029 166694881 955633515 693198897 728802077 475428823 193530907 120912003 400188343 480600363 17556317 532624337 371085719 273444809 951382425 123851911 957603655 342916835 231672765 70266593 982863961 12628983 615738943 166623709 482318951 292598729 933453341 442781251 574083603 877989733 19428829 703444389 57909767 862586145 367056015 656322907 247604215 984757653 108162247 589290885 944295323 930519721 15158181 877661707 898817463 652752009 297176525 931866013 941823765 321755305 560875633 459589301 888391559 300171459 534996547 398139537 474047719 594880989 802253445 977751609 11586583 166028613 822131195 816392575 34015233 128660363 668445683 147919867 243189913 419724687 551535429 19247629 582012375 508119925 47045965 548011483 984670399 638025639 923353331 417911897 160881243 815859675 774417829 502265405 305001661 990677515 281014361 189500681 695550975 614535039 191200909 311669251 781434691 610228161 639273799 661410109 518290867 181049253 232777239 3221645 902689155 990212679 20536849 416642199 142231787 373476877 51946197 57326527 756209967 655835553 65175433 415728441 427537305 365895929 854031321 572987899 131551867 461675601 276806911 856212423 239767599 727314733 404185269 662726689 788115479 704008537 907500613 657934175 272374687 544163305 799399803 610428821 402786101 182188089 551307695 552737191 800247129 11671791 918910653 703312441 705928073 191286519 903672847 828634301 769895249 939845251 742701967 86917741 58487619 709090323 583941301 26389831 468650489 983547239 48740223 415913237 448438037 450777229 922074483 981454949 937110593 232546523 216826017 689136529 606424113 661493225 677852317 649918907 429581727 77904545 381220743 814830535 505924683 264154155 362592005 303332711 31634945 352235771 331211587 595403283 202788755 461648849 31357947 444589581 598472155 791184557 869076839 258919773 886772923 254649311 347009361 959541457 724667421 952581367 400654343 878966019 635106549 764911061 832612701 927600467 720608317 778665373 615592881 706427113 45873141 10462137 444065003 598204853 166735913 983211231 636599673 963927407 529020907 755679755 200473425 914221721 570791509 334282113 639368945 941467513 236620681 311611339 343137889 462729505 905800625 622993601 133597741 289919591 447222785 921589375 256875115 713071343 263904691 996133479 893836219 622050335 876800263 156492837 346133059 908539431 716194889 586739887 228896943 37560575 674427083 410495809 137023289 619900775 538343399 192785503 206781597 542880233 696033791 199517399 929387809 551832021 623713663 246944953 35456403 601380929 90661847 746977893 251601483 280861457 108177537 998073725 902772773 264451049 49868803 31518189 17448843 52831549 387172067 570378989 577405799 318464323 326564533 412160501 555198001 159348475 484720915 514862539 926489319 819222319 651441311 640154493 30396433 96897901 226438661 394261339 213403323 50886927 978639605 493491205 306869115 744557623 122016041 385378655 238001521 377035977 31713125 412711827 157308227 136662391 126555765 533236247 138783775 242367163 982118951 727520933 827883705 416515539 611736151 394443333 623364179 712230345 260627943 997973055 295166897 795423851 903841219 771026731 800803363 282730835 214615003 381554661 552772219 4621537 546677801 878167693 300815389 781862717 240722867 474615189 938171371 483813719 351533439 686439597 485178199 945559015 653266337 759389649 253175635 342199919 287827507 23351369 15830879 478305335 435853399 13800863 96480899 761187149 50127161 242656935 107055179 40260489 196842249 495596671 508922317 849314191 901700609 204315017 352661161 872001989 301916007 568659571 395558917 366424923 473272961 969870127 38596495 990596425 196220835 352497147 803259517 539732817 516760871 370455131 791146635 383338745 180684913 462354459 482109699 393601683 118993127 263675473 606526899 900002357 545272063 420606039 187661807 112509123 841074483 608925393 363854743 2358497 337075971 759554221 512436751 256681987 755704829 713991197 262305607 205599583 37797551 834708385 60425397 803350263 533211061 432327929 615290969 654848143 990094513 896228917 419486135 584836797 588118351 991165605 81485533 276383701 463857215 288754665 499776353 118404859 659951165 628382949 585673059 219141907 686042377 54037699 707640969 268651473 482477679 574586873 92703489 747720361 902862657 634885443 268447873 314014689 305839707 533347491 41314119 164752763 166203291 523329641 639349017 979925069 152965359 494625831 317571653 577085163 867523911 109556155 19058339 734784183 976972191 261176901 651241105 39664857 646964727 810736439 249874933 536499009 11560027 87024449 792068411 92182441 132956127 985453921 745829979 198874767 379910553 365473243 756335573 564390971 681783725 741754171 891578283 494530497 992883271 747679573 5369455 974554099 116266135 11420743 999042103 599580791 834812889 173991283 886414239 894378163 29774413 325641863 168250063 309522647 815666241 860427893 51705461 407285981 812644099 587580029 657010887 6372225 769344495 669172511 132279427 14610257 314009449 326986025 837041135 853454233 852203991 199794353 521472475 172380017 941159601 754695697 517506715 903891133 420787053 440489709 809567503 987121955 635228813 23823155 363784091 340647187 506732189 609170455 250861361 864022213 177632561 685525779 908865091 516098873 432683999 192744687 682868177 10135353 367252299 264137395 582712419 710387797 898405409 318762167 426013445 538671587 987423761 754187159 472122959 769171463 77012695 846821171 214407005 965231781 378116917 23816123 130964695 228491377 643132403 690836131 333574635 409093089 172273381 582082983 799280463 313319477 762882535 573317579 22298177 214212215 929461719 588342363 45963657 404564599 473595299 228696043 822501489 911595979 862178107 179122521 704755155 400263893 761581723 812399303 220529933 998822845 376438981 220882081 880270597 48108917 766206145 706558621 567146791 454465201 887804069 811457209 993223277 329468661 783983751 445914677 33910353 537273225 52341643 467396767 998277597 521591931 711315165 956036811 830363805 661340581 366854831 347461079 708785065 520720295 148216633 94310437 482765469 494310633 694672829 839346275 218656417 542425245 509973385 87184517 175858531 252374455 696850667 675790021 663609369 855977979 140467263 465156777 748412547 435873519 928164073 689325567 49597923 319602919 658038353 447488985 720611851 856628725 694698217 915347347 143278159 998271231 559883053 968415185 13663887 171569835 43976351 496543105 61938223 682450537 813630151 995223767 342574881 333595505 935688761 637076047 95580375 115786181 683792273 564072365 243190099 799436587 251940463 356045563 722169881 911036469 741118075 693397905 708957495 247115577 462219885 333799179 947360325 88230235 784910587 843378249 695336287 757254017 674309607 226710141 44890671 390524249 301511935 181260311 213362911 23151711 307219217 625614293 87697191 605891283 703990011 784766907 918543173 997906107 855615131 802086421 63988479 67841255 988814303 996970103 642249893 118367219 918748601 635008191 736892427 850742075 791572257 122082831 107081617 312351723 833277977 832369109 705047837 388851183 19246255 155262659 444729629 156982531 71823345 530453975 757173637 510079909 821718781 539358549 819113175 942335519 341371379 137622987 425278231 142933375 569657085 239243017 282110163 857278623 717563213 858014511 10112547 123052321 795489823 896113569 470154659 775763049 950827957 91101703 153122685 532881577 570582103 3830619 671644763 489199579 942631771 316813527 108888693 140895421 444027415 428596989 50825353 539592663 367249649 96668317 838732511 856086651 163103825 716264393 390270531 454226881 464092587 60065501 231886603 676433289 774143095 445307261 725790231 262616955 837767991 754104729 613533645 510104071 133715065 499128417 144269593 329188199 775048651 828063057 13576821 501223063 235181771 243364145 878144221 842440293 277441049 190241547 48165079 746310749 84937311 954832691 742848881 757839831 446997327 628698695 239420739 459588343 213700773 413716521 518247787 5862819 139824419 654437125 978219661 923028619 709933971 148452945 65199577 226374183 31754181 33923529 944658949 149261239 960518039 384390771 74738767 576543303 280338921 574761879 337091455 14981025 532280741 999793099 466085089 71778147 798279869 673039853 897132875 963798505 431610157 321210911 944997917 845620063 524999159 535981775 897050173 279665841 966989349 343218095 707673881 729954971 903382471 1155263 586418599 807421085 601430779 962285887 281060195 619274237 178248417 356734143 749300057 171023563 218477219 79147535 108742417 134118625 23408755 656460367 153789861 879404769 386692751 404690403 646446259 911334703 558854195 750389109 817908063 724571389 140939439 857752315 630188377 62503237 221866067 760930479 392201687 77554629 394158455 197052441 652368025 677350919 754546049 687439107 716476129 833993817 973943257 502373505 459324545 676746965 559443699 158776815 215011023 457942107 151477063 892577779 799253927 550433171 262770777 337323383 531466865 810292207 969009587 728035505 327400219 370216611 123733989 411189277 762326297 721129395 58363277 400625023 338050157 744553703 993907787 300827875 788254363 265669837 836302793 254118813 759182259 115530685 68938427 608324427 101736265 319252187 248964057 337437903 825234813 390418189 877416679 989879125 361016819 317901827 237725101 900239701 73839323 965367605 481088257 553745799 121689069 164461285 224893883 134138865 698495331 969508121 140743613 108655841 580417287 877544611 220087025 664449511 88576805 337782811 114670155 492498659 791716243 64901855 948103363 946822391 783578291 478405147 772056669 336672145 73005669 598180285 240315171 260096357 263276317 307193213 894514213 886275437 406549711 467352539 814108289 400462833 455688185 674985249 967627351 754327417 234700449 389743199 362706897 220690397 849146711 72747627 515919907 563158839 260348463 344730857 999460997 168060653 90909641 611690813 68201787 876242601 760465993 693760923 483626639 232348001 964998241 376012281 537135059 218192465 164112963 978067735 544976991 291986941 469890223 333250943 203745433 541892911 97630701 890173055 369397995 628424703 821246153 570610481 182870211 284278473 738771867 689303415 711662497 390006063 123508031 728574197 767952899 469141277 84055581 138577437 123552371 89400779 951639843 360654121 203874439 545005233 79364295 545105687 599954391 554056853 860108807 288005295 885554437 208926339 279747433 982278019 346769083 283797199 427378685 251381485 589489837 638446615 596809303 317020935 555393171 455524413 36782999 398593471 757589297 362710895 612864609 511164357 394434385 538725663 585071591 95840653 48831685 673442061 983386331 920003675 667664231 991402041 289372287 718568757 422478873 945900529 603800981 43371501 427546053 834070219 606653809 994928155 993008735 485027233 432356067 917484575 799649759 684701847 806796623 353164831 707841353 361710619 667441047 692371215 912824743 914019297 146729771 197957029 22634251 594054629 230451457 957058915 527317903 171388265 936343191 870415759 659245653 266706429 55519987 444693051 155404935 459781747 389757349 409919807 264415833 875254759 669899201 437519673 699650053 817599679 881921255 886328469 6063819 985652133 999247931 721161855 178303991 23814799 779856751 662102003 658014681 928599993 36837813 540677297 69424335 141982375 672139471 740962877 470026297 520321317 770973697 499092205 18310019 874605639 163272473 461622997 727107357 311864683 124123503 75420889 447633793 914832691 152946399 724037533 815289395 917822093 345365713 910736019 446088381 468284843 661937459 999983861 152211889 452387083 357478267 302726849 191744937 174168689 199766439 990415297 703279687 251846635 57072959 539492483 923725111 678925001 366392399 273540963 298921255 163605163 387548269 214945149 363784919 704364147 114217913 906384827 949162501 252109135 925955031 343352269 267012221 320033715 77719801 723378987 198087953 539533401 646004947 947901463 389737115 799600969 90232737 776410777 404105469 60976843 509712685 7280511 222470179 100257399 692863939 274615651 719762683 124050471 853287739 442419621 858195589 69893377 964525043 806634861 638419135 663628399 789851087 449854635 892830133 264043815 529273663 306058519 448243321 327698467 918179897 34339123 382261797 883518379 985247035 44805445 508689627 787067977 902605389 962810975 154693831 914787281 486088699 310629209 723764505 708340319 952057435 389469137 628700939 657085785 798365709 112866611 757759201 104777835 843834167 671426989 744784101 132624519 471248517 124626743 675745897 82887403 265793073 978411153 912022215 520804891 270583031 446545477 368269411 765621475 898370845 340727203 151240611 107338071 606667121 719990721 467870205 699055573 375892043 258718339 53996779 793114111 797211783 747589517 991228653 664326083 324753551 959553875 28013711 550052947 90432845 971218443 668512611 721797423 848677689 703673013 931079939 111917847 649677649 145197595 832556049 701816089 884029981 2198987 360963897 266234763 323692711 167627041 963429419 895129351 635726219 348606521 693085857 81725297 869116387 418232573 628825441 506602743 840848471 509190173 41342257 285528333 739400211 913884179 1061349 210998127 567389137 606489629 292839767 477980447 857047245 105609541 883040873 409359725 564602829 490686809 33433607 110721259 912048671 629503987 83552289 237148277 254986395 468861299 257167025 154075697 460927135 88418305 23568061 708610697 855035151 246671501 361420619 66518835 318053723 129862095 806262895 975686187 116710523 226074441 635954243 274473141 671189993 161762883 537786857 114287709 77000365 722315979 494591117 746004983 93585495 976119995 366493791 295053983 956270077 393898161 87105947 824493755 669449019 197952281 36162945 8184055 442691897 814168353 420986205 495775045 676258725 436350913 439526273 739944421 247028147 609017019 115472455 717348951 759669541 275307413 644402963 551427689 844832063 872421025 379713867 271127343 306579921 157097461 272517991 646503431 533475887 9821301 608579547 428237203 470635575 712868549 743357487 294299841 418220371 659581529 756271593 529926597 334924653 102693479 358117277 296472857 290279933 657860337 109000677 138317445 620602115 711867837 404896355 869295633 422050305 77970267 938682563 234078485 56534281 506278439 806175157 111511339 983017905 335782205 179560949 98998073 313119765 297217415 381276483 282046057 251611613 736573111 932951405 400395569 241463607 341985857 419580225 644208715 408393177 849341547 697453979 721235903 697100287 430358327 497371741 208041431 746660213 621471099 760351603 160101927 464033411 675031499 734889421 802085515 252438787 93983625 671993447 838187049 496260947 231443421 675610433 495226475 344750423 307026103 463051369 189634569 256776065 702032337 777006829 231387643 449732547 750788009 999428073 303539847 561006749 391843975 912420225 833303097 465844759 653595519 586410459 95412965 115100349 925296997 511072815 755771561 461115047 828679641 31839665 10584295 854054001 946036807 173041833 389670731 917855299 431967453 223188317 731839181 223133387 439462805 907210529 190805157 140298303 845924651 313300817 886337881 596184413 664432173 224561739 272186295 758520939 988108263 816721021 46012367 151673401 937251697 918503255 927161345 661807899 156492463 650760277 682983921 803564015 697664839 293035511 426217353 7384863 871669161 658915019 131946493 180916117 727805965 440605279 894414541 347227083 976842099 602234447 335538873 255675 425735333 177349439 589598417 41291503 315010867 363230165 662997351 400359795 559733877 996563913 630405399 390093535 667266697 316027601 81568199 128251471 534864217 739718063 914738593 981576299 8612247 264450351 543717915 885725793 292816313 33611557 597415665 881012967 525642495 204236135 658737959 811680571 766150771 496544987 834877449 299595299 574241253 133331559 119792171 492151535 68024555 475738627 31165033 3798131 751383015 251704741 890500841 405458959 933233921 869104719 417623063 885152425 795789611 827075341 658611621 106463661 581383449 173546995 62493585 848499219 6150737 799528215 871149855 539707227 320421909 35031455 955375067 206737033 78439545 776211635 906800283 713668395 114342743 33238149 438494329 175188569 872401227 707582801 758390233 871964079 50337983 717139543 751694185 290497621 501926115 56606437 205467419 641998841 256153775 367356233 995686703 185739217 718890469 348679649 568968485 429446043 662978059 385031179 324425933 571642015 487745397 85758261 489601847 644505767 245948981 697482191 605759939 99627279 765275441 882868309 326635285 581218737 603144975 995133513 172659735 929800691 67721535 859030323 709626623 418289607 684126969 777795497 239471687 442141855 150875711 481204801 885678519 135234685 859042519 191724705 95122265 129160933 93119315 426332273 405217409 729192421 245505035 100713059 25535691 307450133 466750493 83966771 236332317 435833489 630637685 903558819 348678817 944245761 581710527 927700603 739557837 74785171 480366711 594156945 938384221 259992829 208471005 463820987 417353557 564483711 428818679 399705055 228726785 538595291 520005269 294457061 568366839 74206563 378930003 620142783 218471951 423391979 304469133 526427753 347653233 768707283 932835695 443274213 52518281 109102337 656706533 4922171 730128905 243541473 870067627 923637633 232547569 41108333 380961599 586921933 176842369 359121953 859434219 263210565 158209351 613306371 879984573 217032977 165888281 630956449 936717457 645629795 408129553 506021651 758662403 356273783 445140883 242957045 511943293 6035599 985376589 172407151 475395375 954628597 755902515 584852273 468487443 977056761 624250751 387192429 542259943 134960633 300921273 682202595 9318707 402434131 935038889 888974297 718459721 772181365 556831591 423062815 221469249 690699985 310292813 570058763 729654779 868923359 827988737 333631353 502777887 766174499 20698221 487994319 418063645 123382565 135375047 695463423 383578927 228697467 599174539 183468669 990958929 392983483 692056445 978633797 138667089 166581899 964135337 592884705 194659771 636314771 85536867 16775263 487227625 22974343 367611975 955934803 970175481 390701855 924958011 779298011 63147223 222906909 827040107 425592481 736403505 792992591 156957769 934208719 749775487 709590661 834188691 571732509 348441857 296438679 387793485 910640585 905877187 336469355 350731715 223350939 796115343 206965993 190835851 351127007 939059459 523018245 610331517 849097323 953074043 140151479 215156931 290941343 324478755 768868353 30545603 775784033 801301735 853050097 518409527 641760799 264789379 659649943 309983767 192763853 964699255 587453451 232645803 798808301 137690889 380013427 486470267 249640579 333656905 117163255 660209247 587403295 403028243 506688715 427527537 140976853 521777411 47164711 701365269 75852355 912182659 654538575 440683257 987145619 567536579 79702155 995578385 184412783 537502909 762828593 737014169 188618255 264780847 974123929 184219411 449090611 643637155 475403043 153130575 218954781 813783399 91468095 948096095 697049503 654503317 452316249 301306527 1630735 301512973 925830895 13695413 46082377 865267831 57220227 80166029 490754229 722150725 982032543 612474201 426000959 724182699 824242645 767546007 98238817 199801517 358207677 449393673 1793047 808429331 344475389 940906943 836294119 491787371 397973053 699411213 895936225 487034127 622094641 976945035 474362521 917724701 392098449 391511073 39834413 809904257 433553441 671012347 741508167 307929065 350194603 828529547 349570577 394002893 408480767 193529233 935062595 120063087 563259899 77881869 359678749 985179605 876984191 442514765 826178659 317220561 904409717 370353383 398311523 232579067 982069713 355869363 503620339 575114929 237578891 784963035 273050739 885064223 790339239 207085511 198845129 381253171 380190255 728873259 549499491 808533669 888516149 128519431 255589175 555672565 822648273 239117211 947461059 938053229 123644201 719669623 736241165 925528861 652776037 30320749 181565605 371225309 723225785 197602969 927631263 200745291 137213789 189733727 161901977 688013777 15965845 856245359 347862205 47769761 422960299 592417977 635018165 845391281 159331569 314003833 258075323 982097345 169926337 306331959 897662601 66776923 111431805 618935997 152660329 873522637 51011727 611817503 871850535 237312049 948265579 771386809 15781147 140570217 172821897 718446897 559241505 461163545 640863341 595265139 783700641 588437427 958533025 462073009 770535049 947226993 380432565 142542185 318408527 648097873 992238407 250935135 974026737 206906139 234644471 106538911 953870581 250185059 901992817 655129727 17439083 803881597 145382243 399345815 413047271 700552841 631144333 103230929 460490121 84874611 730513069 372305491 8494837 404816875 846445455 290716055 869161307 467492965 378823171 813462357 750151539 303006245 313126375 430118035 713074807 635300401 732438555 777019551 572422449 113987163 763025803 494967305 525115117 606061115 306192933 556451249 963926659 247238705 556630505 9375163 841188175 645135971 675141077 739706001 468442681 617560517 259840757 744614889 564189871 677558029 789534041 515669437 388617639 114149821 947919647 669695317 659054239 651357467 468865895 4277819 354133663 354093369 133623133 326601539 742500147 735508975 266956081 665858953 532113777 446372827 459992349 817178483 599988985 907851113 591321701 249668011 969927919 959250373 873512019 457852967 842811653 422235627 982255417 295905571 644376173 774069147 474118001 970370083 968900841 391456345 569192541 633109747 355657149 783888507 219037543 633866407 26111159 725519893 225407235 836120733 250444591 623795723 131312553 84461431 108775169 155875585 363842783 373594657 626212245 614247017 399984683 284980433 595478745 729771901 448011807 887845893 305473603 798768187 496122713 662877565 441091537 790130797 561799033 238703943 305617163 55522977 774249515 372787897 801711611 933561139 956334111 199142763 299635773 564756287 387762703 520334407 493414891 942588847 436286399 989039221 484440235 450177587 968592633 625967721 211344047 63333443 267527823 421577443 339654569 853078049 507165531 923217891 524646875 816628181 344111423 478641593 501593353 83939373 297767975 351383541 804531585 277521859 306436867 557018745 862642459 802505207 617351373 16556131 35022389 248618993 113216393 301170467 510608051 579386785 18286401 889739117 617255685 753251519 509065991 435576893 478437153 659930061 994371573 896786391 617343877 682229521 944562223 493985479 269925945 948479901 238368731 152969441 417129415 998188617 477067823 297872449 550571595 42806451 17160803 582137933 351298143 196250695 620119229 736773807 868880425 740167987 679721859 318682717 664088667 99653999 575050249 62532243 48572713 346807739 589898665 995460565 104844623 189512865 287563973 557753585 986216727 88842097 665237959 375254519 331727695 545237825 973458979 473844551 326913611 66566133 125044563 782642307 666121961 57294129 684876759 246543255 895396241 726546793 637942331 601927099 403735345 502210771 380870673 831325287 176181825 384258671 845500659 950315107 288007611 329537799 224830341 639926967 711990823 606475817 818498669 634100667 98070165 199006001 764832097 438537223 313395099 646637115 669774363 386464133 952616533 895190321 811952987 390114909 107338089 951506627 930557933 259659781 236553737 874302315 270353315 675996727 118657769 860931175 224885847 880637947 391002951 969758913 773679853 62835865 705716201 300870727 537107531 602546857 253062685 498215059 664779879 83781895 845877947 613479429 62686523 595021267 991857953 183015621 487827399 746812799 796798515 925861315 556130583 226277819 468530529 691424695 575391549 256247941 198555041 212978211 457051731 634081055 13168243 633204815 316175741 437069081 550871257 240313417 898872289 95022405 681848421 209430507 470287797 455995585 208796717 796065747 697058099 667947503 376121293 527814765 328652187 592742269 950358637 251747047 568826939 205467485 188481977 827473977 961682273 73972685 593759979 151406117 368975209 955092561 871663551 165303345 756089269 738088629 585623931 307656367 200006577 735469583 215641071 176902581 842558925 74289081 131249263 202020903 350262405 722129495 77072601 557078185 716839257 949672151 693211287 370855087 485845973 573042027 145791379 11091311 728034955 386706067 394896197 37765355 610736149 500593167 176237483 621514473 29576215 770583535 830829133 141976569 753040951 112972163 534532919 21777015 38095661 335940717 541635073 928401279 991739309 438240139 870243015 23014395 24919935 882188813 366633265 168946589 786999401 992343655 256708461 852979673 122869055 814674773 253902639 12456693 365577947 153013467 892176057 236654323 163611425 17013571 911113679 115498153 339707895 88014373 932259521 280259243 335157333 396087645 93871971 698560091 677443887 110172685 702263317 908947681 585107597 267293089 924794043 934080557 156445813 826562767 612867013 323337209 271734267 610971795 848491819 954331331 445932601 775648049 613737831 862411475 74101075 268894517 601159811 452107581 775644017 319010931 711300875 524941013 578947525 191485705 671637271 525892923 26429835 930345561 634744643 14183899 723012355 361801745 812157879 359143651 635470457 153042211 575393569 485712973 873747265 280657103 175776695 633097941 673868977 860443029 497490487 763714313 54583597 967635011 178831079 36457525 784503585 59971823 128753301 250792817 596021245 290961907 174019483 761071777 35732285 880355571 513124561 40207211 664826211 422201309 466971811 682072639 673187063 697479141 187465211 97069909 252628877 622861445 353604435 431814061 427234495 630150789 355666341 50222097 656569649 496284399 208564603 963635729 192646539 614729749 867633121 428531461 889215359 428655769 552454511 462329611 886563529 925904473 349851969 915223565 393293865 420905351 552380927 188827837 59397229 709298579 545928919 602850193 810006883 605071417 423664767 880119753 569986791 505010305 950475317 230445679 926071261 338375093 375977663 644742483 523966765 344600169 27050349 719337483 174685385 715448187 543037715 615651065 838761645 905326861 692508945 191006789 995089369 834814347 457791051 171621089 937902939 132076717 801668659 14548865 115617089 228376683 736733115 364678571 336985511 207027211 195914341 672477345 304142769 91272473 34151221 188740727 823678599 364855401 829733817 698610439 442599515 212253977 84286729 715052269 8634729 888435595 838289601 56792723 505623795 995809389 181408777 382800169 983737921 70974387 866862223 54522279 423870887 353553303 651224969 544919503 336626561 426724257 583747765 460610343 74292525 723546009 703486297 119056387 61225497 471931543 684507461 451512949 957580471 188765173 521009101 371748707 582209407 822803031 710716113 55812467 276622835 396944043 751151031 894547989 470707105 814304549 60747883 875668097 861697815 922149441 809985127 540708025 345255665 796641219 603462567 324260995 702328019 79724981 229010353 853957233 349068901 6834031 334006931 674096347 939460185 460522125 352564709 394878687 43191659 281583599 874934723 659882345 680229213 750364359 44807637 29997093 359127031 339242373 377577033 415341711 275612687 864796391 809603285 59764967 606276219 57641713 540037559 574154035 544977185 867422191 693311671 462317125 651995625 136057717 785488417 22698163 629999045 926054753 972441035 969517535 6276017 62480597 895025173 647287027 199069615 337802559 845187301 54222811 710165961 13705553 443917479 494975571 799497487 231916041 737525589 795332825 489882781 173118379 753193321 273491383 278337175 141888709 330711789 275662331 804949285 823446311 760156783 751662721 547624827 113061617 940172803 748564197 54354641 153714567 457750599 664431761 227998569 116698771 537650531 996903861 136335249 703162121 585648645 162832459 662504599 352429097 580160611 942571793 29277657 345556595 103372605 472385679 185267127 442880695 931605717 314323479 745107611 720360711 741466109 424602305 473698807 276246975 511809289 821647469 363605831 602350211 631338201 814608067 903843085 40568643 434615763 880797747 254106065 700581679 165204197 496263927 496516393 184382917 919659139 317828107 669008043 948745159 994768815 278725693 928512253 778770501 856050413 247169817 869251271 929317777 598291789 51674105 705129405 733504585 317999459 975718651 109549463 732436559 248664141 342275595 219570457 784298447 245908659 145499095 285031179 75489855 688618437 762469079 422446403 162123101 994332213 743362637 215147927 348520489 908873027 173062975 893561581 314184177 987988407 838849405 305005101 582622025 201190109 379612835 230783307 35170063 147518347 93336845 642018879 982320485 685440801 868114663 122505741 736675001 31479429 776498975 639141821 181803709 974062885 199664747 198917989 950074225 281839093 777642065 239847197 790675477 846404727 461191189 642972165 25387577 940755887 211134919 766875979 736784557 154024237 142599491 756915489 7630993 594338821 854340389 221715903 51371593 964116437 554788823 478756457 404219007 609374661 658415241 325037161 557656873 255880069 411053109 90419727 237459073 543654983 668913817 153255865 773361679 213684683 336860991 390006983 734724509 257452889 928300149 430366371 631467583 192078013 298067029 412024769 703546193 930648909 804519871 224421529 270878073 142197995 723711325 570332335 202757537 493391607 612786331 572445067 984892927 485674853 254445747 772850115 631897359 535675817 907753383 509544431 65778325 192263105 944494911 132384687 248370845 190435635 999030793 946793139 392871035 394275343 819301983 449934759 286674893 955768297 686388063 538900809 807123829 525491935 657169397 951116123 934447265 938299035 363211727 465595303 196083651 276680007 265470053 283013375 235091865 132251803 709083641 674787899 769037863 587015895 882981009 46351681 651094971 839309245 100731647 646126075 261663717 810252191 251824603 308362583 21259909 437124691 948044421 820202579 412223677 606310453 449186851 564044017 275960827 797038381 243533481 522365755 715876595 792656809 158216141 364355651 226665119 929225631 893447183 16381731 296578375 875198349 366916537 870829051 961643891 481190777 833609179 794053371 940531451 762066929 186303309 840444239 196020729 169165583 333380013 626354743 510596051 108893547 984504933 645278193 567046707 467415857 329908135 928753351 317616143 883292939 877541737 966344207 339542179 605074737 901720683 360930593 483230835 922873955 673162039 289434207 859544649 849407205 814198555 673077811 929674815 191987077 682380081 512234001 953868459 416459929 2852187 323976049 938635061 635041539 270925629 843512535 738907079 377514789 161925961 848660173 3621785 344004591 659527609 980955365 833651747 807485397 485354891 950455481 217056299 276214745 769389959 866285803 189860029 341128833 847218497 620549157 120503853 4250839 393896973 305504795 537360665 501054327 931769867 324387461 137862499 678523769 697577767 693878823 671604025 824821129 664687633 346827723 303915533 510488785 606552381 729115971 531117471 820893707 989561839 364574823 127184623 797476977 90251053 218030109 711078219 229789901 262232265 199251279 687931721 903372395 203604059 235822061 216945091 214561315 171773507 267621873 768957661 744928593 27722919 734239839 604805383 928940765 567424635 402149441 655402479 77446709 285230197 810783145 649253783 874288207 655464983 164287665 817636673 635727017 48431271 799902843 717360247 409316939 714601015 325812785 901327889 604235967 105251999 4059655 556615465 467893025 449190525 381165109 792204837 523965705 978483261 672696831 653084591 123037091 637112587 556106927 29323199 585569433 690462691 289774231 838769803 180539685 983739525 162730001 123122077 892943107 380551799 646601855 267910335 668926839 560421385 470532939 673911047 331750997 139911509 825123049 442458573 52812013 525931325 181597651 32434105 706817315 578523749 364064649 906017207 205077081 408628287 688086423 192942585 348715135 845501957 624299663 663052029 941704971 374525365 532363019 92464263 94297595 705540377 598540461 470573221 997163733 660491455 936422687 248060071 770623913 189462275 58376981 59099693 498998283 399829761 923713865 930743833 162340379 534772131 633591163 75148185 749703039 55612057 634576247 215259937 200329829 975997787 531218447 777960811 349192833 162342443 63679003 57616511 695477781 182067985 534125955 828696229 913936613 872740059 250062891 842348405 775008575 20479011 307503369 215610569 488799483 431443017 963513623 336625095 903273589 16116853 587295317 665503705 939558293 621068439 473964751 58310069 202478795 799411303 365800343 832341589 850277385 286129767 833085383 222971905 482440143 729157341 283588993 895628099 58979363 475366107 368342767 427233263 159497109 199462713 581849413 274640417 993583161 418749845 656550845 341024575 660454575 348852059 663757463 398387445 887667997 190727353 294593567 434811957 500721201 778628007 587966375 175378493 707185183 583595749 70858889 197784465 338166185 969280765 754582823 872865533 350044435 173887295 800845293 282599061 644991787 5946561 574029387 28207287 487529545 412413799 460602811 259501317 170488651 393322709 104125635 385905005 748050069 571986815 441278953 448558881 573987095 391170459 111924929 298838433 901744967 791756841 638884581 273942445 72683045 532083699 663130871 483585107 113095731 839715975 196524961 752358377 763287683 96442689 72557207 213751049 574502313 540084285 624023443 504453527 991325381 979047269 945779029 463381953 946830461 105410409 82407593 661175035 428102143 164665539 649782625 924364033 748701697 921740977 80604505 348253909 769478079 657945149 269361519 669318599 441459715 818819381 384752783 53279849 413967387 811663155 29452973 25048471 821902043 20842647 839183299 368205175 598895009 619125641 10853585 933621875 66557783 185776377 426331875 992827969 97836391 915043743 663165453 144106205 557232329 588051197 967089253 870607755 207579387 737922651 241010447 885600727 912940293 221066183 444362039 119080085 254364275 155903259 243122957 643329251 127214683 660778229 800042699 744602403 730242143 77916609 49648567 518497793 424119199 314934445 899488535 640129395 49536975 10077361 298889535 510142391 924572707 184186255 986150537 35619405 775929433 801595597 556086871 238835971 421412791 346378429 903474197 508667629 899731467 346509173 353663539 400503145 342757037 127756761 756175661 702992153 643193723 4105359 210632835 944429291 104798169 150412037 291378625 176030483 431005113 200526967 5832057 684590603 879014029 931731685 709641287 682590107 714358357 744586261 28613065 659316683 684830873 847548567 667839405 151706099 942303589 813462215 229267619 151495085 541921871 186674113 809133415 51037663 610123129 417927791 762622905 873772979 543202949 467892867 952887141 277577631 597645729 213291889 123801405 397360221 41862279 96031615 884412957 194578933 320531315 496715951 70585315 980850353 723994667 384462295 370405501 115265573 932432639 746721163 640954075 564001837 531218883 672613165 548696057 684526063 304147669 825718757 354793943 459286229 194573343 461994915 902986369 256074135 590415371 450001953 870422281 807942957 201588371 714705373 965519499 400487389 810982449 90745119 845924645 742876211 842113263 236144891 182166789 978484227 556430681 979202117 964410715 193466219 931512709 137400989 507129699 194485709 225728021 985534319 639441757 417110229 36143403 157978345 655266711 164775291 612882805 652470533 337945951 973532407 464624429 355052159 529804305 402716111 395507471 749189093 976085521 9770193 793810787 666660995 339476933 703773709 417635571 401566065 50893989 683342819 556621849 425638035 235629605 436026871 897833395 863806351 802241229 970210867 180321319 271444693 875410723 959035851 147313249 741991581 953465531 958643263 480938713 480703975 839230257 380720719 750107791 932857213 810610979 193162507 973796871 696829167 274584895 847561925 105799759 285390229 756115253 358591513 594860029 295029133 770627777 994753773 732732467 448279233 454368421 711366507 774067091 881254371 76943785 563953929 632686413 661649257 352209313 955542915 514378775 819165843 823313001 157458909 171836207 499083883 904670431 970658659 417166683 688267457 26343409 940092585 796161515 728969003 500491151 874285195 879181235 976462347 817802677 614012719 17163283 776967049 961801573 235959553 892244975 79230615 999422887 834448307 113475769 277992425 398451855 612903747 657083235 809809157 312838713 922493173 389503855 28665645 859348419 539310677 636132831 528185975 915490395 30918201 30510663 60051127 269585457 43199419 646605239 54662287 889661825 973728063 168988627 489880679 639942029 477407091 917594557 631913839 915210141 173673033 513626405 903657119 231763975 835660289 731118913 360389049 813189409 879778331 39987663 176011845 957963345 103184487 871609877 151054993 599518975 305808373 194517475 372018869 573261725 52379173 940030093 956853653 698659495 138738587 332501491 478045655 601434527 336939841 224087931 51494123 714200589 591623501 886432017 527766025 985425029 374871097 422439471 444780851 426524067 631226829 429848271 914741295 58808581 608311827 231557755 863215503 547001433 22107231 361175873 154696107 237017169 639303757 287204531 444437409 776260005 153864387 554627317 935672925 99643927 451073771 657204137 587177867 614635893 934573885 240170751 889321639 762144909 416693359 913162413 760968689 705557053 412305547 710025969 586221423 418252899 449290715 299292051 577998835 601053421 126879733 105895133 173428243 450626253 601027249 781965995 969986865 915144443 924284215 931000151 799181431 268908921 601468659 665628359 35797969 176416853 554706073 126632301 286377211 653200541 741978403 644626237 607179891 827911023 787137751 8360115 719149187 245718761 132822081 772271065 795661881 245437241 241358135 740694845 568082545 948451729 847713747 843666161 829386439 997381929 190541689 222356377 658663589 756341829 250078167 253969239 173371963 409932077 246086113 426702555 250527619 94984503 327296721 909616219 209374011 916313017 733469487 53514391 716226539 597310745 806566339 423231953 141005541 896891327 258887333 900338395 881871169 471166237 795173423 149553161 241317087 687920815 250141703 269971003 637099367 233124087 131002903 172584919 526548297 322065535 147501973 439334347 496785599 987557591 671464957 475603595 791071431 994801565 727635987 448201497 311877673 688547185 663245027 427441145 124276855 441480957 450226369 354412089 641832201 413368307 705833545 201390193 796755965 462830095 280244577 189935551 903806783 835273747 746476597 600052935 382048637 773740745 938762295 937379513 466405167 251267585 828611877 608125005 665858967 269758873 661709315 613682877 970601403 869329007 926877213 72546001 215382379 446474611 511610377 495817177 606685763 803823249 60186271 40579243 308616351 121683399 840229385 243848867 900456619 424543767 956593837 156139689 279716181 576699019 91222085 635611689 178229075 394531123 934775497 792550429 420810283 954450477 805835137 880111617 315449633 266283673 577455605 286782683 598765125 349006753 488057597 720807993 657964403 218539383 541033907 32925491 2699591 347608151 694831739 388933479 816246315 721903491 785945603 830416889 333494609 99759173 384655935 807254171 459975597 381101807 408787819 898167935 537435907 50501081 695254281 364754789 915356891 469410921 238654185 839346325 695959939 775520775 515032605 58189275 746257685 426258727 642932737 525634189 405611633 617684545 696646459 248142475 424050241 575349465 43473079 716833083 960697841 386684025 758881447 832455819 760422075 109248433 822659977 349180913 405510305 183597343 224306977 760724843 563875691 941217891 572892027 128921215 337448359 709343527 448292331 151339323 333113263 622107679 657676301 520257847 496551073 512597507 588177095 584960657 714374505 994858135 859743045 262017261 975805365 791678883 819469305 392703101 102293757 335375357 109379491 130011891 44325251 424127613 453001283 894627471 515735373 365602053 345897511 82439449 261113133 634158975 875796709 483367133 818762171 595857629 511810133 170024883 496696919 431216157 675230625 108705271 43931175 500649789 866610225 431004049 127812383 7767111 179885241 783074543 140593909 86923345 693617721 815594501 625111081 761021043 80956657 185680725 606796549 777701071 823897457 963812069 639931545 698570127 561660299 182278975 553753533 92992487 492680027 174388861 17984015 864981775 880251461 800471357 867234553 496791371 303339001 414691749 316654765 664012005 338101607 163005025 758766881 874313005 240372683 726420393 74798357 686165889 993650093 643554365 759970067 909763137 629960663 344990303 200490601 109969879 942556253 805944035 553228337 541890487 788585885 323671577 864541261 4920665 52965175 301454563 265114721 349212993 97736989 764554151 178760927 649478649 887959167 138787667 266846209 354242835 406624475 99536477 305865413 876469289 645981429 168708035 315166707 693672925 487987673 321749515 993814303 689854681 934418909 785397317 742650269 818931921 741499801 385905413 151340943 27195261 874856695 134342507 578672347 71734689 301001757 932279837 642126903 363655175 143606917 827556423 714969109 120404097 407096295 992307361 541702073 366084841 759149899 86825579 615669289 216070177 689189881 17445481 560305975 236682003 860001417 281220585 61056635 203751859 7280597 151032771 84548693 928187897 130650113 34398035 575041259 23256297 959746427 52545409 146104625 710802317 644324855 907980219 425387487 908511735 238352751 626369271 165630577 641550401 485186347 912558259 487825459 661067149 489278645 856037877 911458101 503299845 132948705 67036749 575121743 661979869 341974219 987248847 451961631 600943951 923436249 31032603 913524497 530519451 991037877 613434967 381484113 559482637 518641493 22008367 133025755 407220213 233397749 726446045 186974575 373824177 31527193 563384603 806331539 14970017 751800973 317131059 347106711 566716721 666835813 425054705 73813653 983374545 527932159 63832237 920990319 758859259 192299005 287483717 580717001 999262771 272568139 139797277 62827031 905616131 875564833 657745957 966721165 470066941 357188087 79436243 890009903 381755067 257587603 240845349 226097093 277469151 896099329 290337953 954773213 636825107 589366935 699951447 732340947 444502539 701844717 370005467 301025987 324547201 101286893 603616845 994778007 866596149 580957375 41409107 430552831 283807731 503450071 983240217 454214261 620876685 330077685 210991961 458814517 923927261 798891801 57481295 605936205 110008261 902510995 918924481 116269449 148660783 230185205 694860541 447374467 225271055 481816859 438209243 351791259 161606495 526913321 604178103 443566329 519349023 88978061 409924217 389035917 840024667 318470139 255138447 809787919 501926437 201729135 2732783 407186177 964629399 181278253 66924057 480109737 384737491 216026049 883645455 889547801 857674757 246375167 964044643 419653673 332816477 923612675 539819561 83096695 124838165 793928755 902946049 466423407 899644017 735011641 85182481 970415167 482601659 582002701 844393991 848879583 921082693 238336487 62425879 684973071 623592809 298743117 760053763 93926745 641850251 667133707 736907535 674087181 612305425 770828085 400803593 929399873 637210225 498875433 950154825 585167065 891429413 816020361 790540717 374536313 582026157 280081219 910426009 705012629 644268949 853794953 496068349 107901539 509961583 382944985 688887887 55539171 832712405 276360953 355412109 903638239 470717545 441757681 147441215 503252197 691497175 294610457 357190257 940010833 396445135 260480011 653674425 879168575 49447179 751131051 18636087 840941465 726724433 57247527 990527889 322251791 435282791 285553139 922996213 977886235 920809249 955892169 263253271 641399035 865350745 806535601 306523193 172734393 646650353 100631285 692730911 287563299 385352917 799378983 344623129 843347923 931164917 72037417 140793595 845176617 411390027 820697369 757129251 341321805 500569053 170234217 847792249 220492335 863720625 294822089 197255021 554946441 684732123 353123639 781835249 55536599 792988789 153513461 632357765 270880871 440618657 414552723 516764977 49816389 713479307 997362149 543466625 341828683 299393635 881701123 811470475 404089879 713704549 534702165 459693295 414398229 299613137 700203655 719346899 391232115 917196275 109859211 42218469 751945001 807479581 605041567 500453211 835222777 675879849 49442887 951323889 61108073 877756155 270168399 248995315 36685515 265961593 382434765 782041641 95185205 442820761 902582555 281502445 516126091 696241109 43607517 89419293 702937203 877476269 45087489 402294045 66685787 297774511 321771705 525637597 60351359 690051689 778346885 145831893 490219231 247771255 608509221 906360063 690153281 686102907 13822377 23063781 274416949 430303009 455036515 937751955 692047639 559919129 97439983 257668767 281395715 574586655 821674545 724934185 392773347 749073395 737385303 211565527 724439913 928814689 210357461 801810903 843905803 883262781 643341671 18195935 931458057 947777373 552606481 35894317 542721643 926011557 181370397 177616007 231202565 732843265 497861155 803390269 267463787 163626337 167174399 671957539 619597823 140608705 698321875 87654295 444849385 170989857 694004235 615965571 414457113 282832527 496312413 141540945 516566601 757064729 685906885 606709241 406541047 565050075 146560647 809072891 832645483 27493623 709474607 572388699 70375097 307944601 103273873 712435623 733917621 12496625 576363979 139730421 929515007 590626619 852094783 914694373 575971587 113169337 21119899 475311261 494371055 457190067 877066705 797821387 917514685 916460413 284286241 348281509 178816555 149796721 154441227 439479785 228420289 580181235 875412829 820831197 76560081 236397675 389191981 743122257 737498993 360301899 932511701 791450777 29031557 90247951 712130809 558423701 616491955 148910647 977467527 875658153 857961835 591448399 399052723 605527239 141412837 601466859 511068663 793778273 543331873 9889185 11005979 286129017 224443625 782864149 119396137 926767249 854644173 395434227 145675635 871294141 791280677 996524781 579538843 931805837 186417167 60806841 252853119 549520163 485038453 508783391 997348689 807519527 376989961 785164005 382518401 815201217 380715329 860782049 279846091 668438957 785195357 508290025 62435639 310458407 344435303 298841569 783420687 164190711 758939695 328940725 302980327 269989991 310166603 805721687 980045213 670477395 997080349 304008893 824020819 555026707 594398925 727490799 103151733 970965907 192049229 83200499 874248379 152785725 955997267 774891487 989302301 967558923 926168671 293757641 785980385 696354935 764848057 479162839 903459219 75790987 421765237 813935151 913341447 177874643 904824423 419038729 656490587 552025191 16837169 497477531 835286769 771812069 856377403 571255847 820791927 243849073 945292725 483903227 764296929 475665339 341146007 847880805 897054313 806024953 2716067 726483649 949354135 687087849 677068641 58311027 200484659 373837009 931325727 904624611 23066965 809846913 625641717 301131907 773525079 188782925 668790727 451953615 297924829 956929813 859607099 682558793 810377685 987345215 777824705 475181689 365238643 110796727 200603025 408286197 425091123 374179319 13554093 96747603 552870361 945011705 410384859 964365625 910938223 406007623 892100781 66841167 205092685 537007597 857756283 53995079 101146127 256505219 376156259 525501405 908289943 187729959 179918161 247200979 631907601 391549309 565439217 602492657 572315891 720746421 194634945 685470475 854189561 286911621 604753659 575098877 667374631 888055851 387133867 96026535 355637193 348849261 199571873 731580915 607931507 545095579 784045427 473754067 814287363 668996491 618883715 688788547 429877147 132690071 552125435 240140101 466314921 14227115 5502919 283320545 440564191 372460595 909008803 87843885 626340411 21890851 71516685 667232831 56693251 191020029 891956047 375023421 474656703 551864005 564903031 851555663 689186117 625478665 600730721 663462311 127250611 466191329 566926505 62808961 176571245 114913003 151157433 302549279 970655517 796797259 472754369 147976905 84637367 621448625 137493179 720318933 674287995 786289235 800144229 244625817 865822697 31685615 758470471 930192507 682786001 221485773 276730293 631588579 994250821 744098745 890876353 700030533 584700577 285256969 987120977 202308633 773757835 568852381 768982027 727330017 660502253 29098971 154388575 482292011 608758781 173500079 453920391 170238085 489860151 215336595 129995137 952096909 751972445 920836227 568795157 142819 116974463 196322053 166033877 198757681 543023599 802336551 158793753 247466025 144438859 250798977 94600959 312934023 584333429 756122417 209327219 254830861 864549017 358461659 207467811 607578245 303020077 8032175 824299911 157383359 713830127 209805411 968410849 294795161 944543199 868803127 780414007 369504755 539989579 388883437 159706969 431320247 964446407 304485591 303843299 184638423 807048753 495052745 282820657 625036111 16336555 671452709 675489391 412073505 43740323 144337099 94963595 686072663 945121227 557438767 305410109 699843329 516670499 253738565 298960901 297933117 986305259 876835723 905496109 69751595 926513075 42306055 582303427 805712885 743399243 199957319 885478819 796403151 462447827 957710947 382909289 792813297 411475631 557540601 382312575 963796127 791064457 676476973 689827863 318158881 367570775 432422831 931409701 871589325 875991123 743340215 887633261 194871801 791251461 311867647 906235511 445433867 701549111 561945551 994029713 151048043 399542269 990946551 496745941 721941645 396903091 738296269 252988709 505224169 742624511 754653741 255533349 314944259 659277259 329494911 295598407 319458149 36936525 271733169 451593411 161149343 628568065 642466361 852570011 42552399 387900843 848891155 36407703 225902357 982732375 562104267 868181317 252980123 500113753 834071657 839181567 908776085 748831823 833611399 159270371 145452731 199851547 751190083 412979933 878033 457168875 23290689 236737947 347290017 63011889 566912945 915391895 197283579 366954923 584332107 307880205 744331453 896698461 746307145 805555721 261042887 847975061 146854517 20307291 638328067 169271779 217773595 586830747 637312101 628614183 510312721 935106601 275291621 61759107 164947897 884118059 468915079 721449061 143516149 249253781 587385173 438529153 302041139 190207005 608989279 392982993 584241773 595612741 943810499 31072413 185427231 251700307 523358625 760656749 208050255 819229015 98488355 881859097 264913549 679291949 834942589 842866875 893504493 811316849 550679015 688565433 524325647 462151565 770382501 411028925 665123863 194553779 632517889 455378621 877009847 996528345 89826381 312761077 32842273 898555839 695732705 709070057 199910421 533737199 153466915 697453413 395501019 290492343 185734525 172814973 678644799 838933299 404863837 993167501 829831065 604477759 166030659 653766459 48634565 283750277 790501805 860386929 202725931 327436405 747103015 957259623 930147513 958463561 918384961 889872277 148530917 170598399 471629721 850888641 532897197 884460127 731541711 509375223 964866967 320473853 306363789 701187467 117312947 40794413 956269959 691734043 173572245 20579601 413050999 228623497 630255965 728465041 30819101 1407747 81690287 859316317 544870979 605269243 489567165 465010925 274782655 952797745 360573241 401841539 981348713 781403557 305236581 334625573 3123235 873626277 376931333 370855845 504432343 587756487 368398695 272049307 272099705 620985317 21524321 319659111 63575043 132998437 603790677 711019823 979795317 867518961 322222117 317479911 316729561 759651837 226056001 382826823 587288133 125483849 772673951 339851979 167536081 979497239 696650941 294186943 52031647 334067953 278050209 551065139 18307035 81031087 872273883 740698623 514335667 806460011 609230975 580292033 786786919 229836683 729454381 970591205 445119797 698925499 937643787 8007575 627098473 65962221 575184837 997064147 220607317 335863647 833530515 631256665 926861139 417322643 389792053 956672175 415153861 711345753 787001071 201080613 531705621 814419397 60950415 794700759 277785783 259399215 345794157 76790177 963215395 425745471 660615525 520994093 691978973 102071009 838023135 816108013 109076079 955988551 318922697 243546389 774305131 88156911 522893465 214271145 185840235 681420957 492765263 62412401 173129489 394637151 505558637 608033531 622681865 740698757 137020677 262331555 594425091 17343919 868885931 540681349 602396089 506182079 469810815 113805195 879923951 106670563 661148455 67055461 824552559 366470287 908703695 439610765 57640203 158173309 581041201 753755199 901345693 443652533 5161095 360159113 668897287 721652351 398290587 207301175 173446709 411161203 603438779 400554211 622300951 618011499 219377337 978097901 767002535 134560909 992766201 583994749 377108457 365223235 485124445 406977155 448353767 467204675 376653909 108342199 871241907 646579337 734004183 628813723 105416551 689881175 317576289 460691061 106975269 609919549 459345403 435561815 507816729 700088333 814390065 814150425 75003251 469505509 130446361 772475737 410055277 400005925 887107411 25614211 458366029 631273343 747950853 445644741 726883161 920610275 678859227 416842775 379960037 385878415 515986959 808931129 807238731 640134407 819237981 60435381 360610797 536996119 193345803 77731547 854374965 661780949 734030567 14225859 350761111 423608217 987073609 583283275 667385485 334977035 426497549 679160861 280797847 126741783 581066397 95528875 93419329 249744369 996456675 670853419 804163613 342253075 371962711 484846493 128334021 561197123 477977847 963780555 72391643 253094287 943526475 236623683 490831883 916383815 226146911 630802273 66467077 968246539 956369353 615651905 107922053 681168317 426792873 2711501 869285707 921658509 108866725 124212405 867322915 518207721 809542123 465587571 685023967 632680595 168558639 581936965 251854681 222479499 666002099 406113589 361980019 118018081 302099515 360198417 278601497 528003559 824058901 396451443 381706043 927314105 940156697 69875643 595001557 349894845 282427045 612626705 975475431 510601821 743084445 514533221 188134013 480016207 56669041 375285105 872287145 836396943 221335321 780957361 380915845 190978657 342737935 966791795 504607797 747511633 407378781 931936963 648381407 559239475 231161999 422152059 304708537 665187621 181641403 322437945 225118717 577855369 932618113 744548969 9062891 753126667 161732615 226992697 664895695 865390497 350348795 369506209 963400955 163530121 812584593 950970467 676726987 837917251 627544459 752361989 761440157 988332445 965168173 486928089 611071711 848998059 428592711 40218359 627402497 567515851 309260589 45011773 971090557 665917089 346094783 182056535 20294361 87317 882770017 59454897 861022107 403210849 286292483 270363783 569685335 725625597 299062043 102921945 905387687 681019569 193441705 459275373 166524719 183773061 995115311 493274579 677077653 777019089 717503935 938564455 749885839 704003119 474273007 14584901 746199 95714437 148653275 669459799 300752943 133481725 972797227 730129487 733626719 616288269 37963277 87476899 212839227 983564911 9724215 520959123 779171997 942808107 372516583 227494439 275814761 520523147 633066723 569137203 205878661 3413539 635698041 435673931 105996775 168493007 153248385 672651473 828685193 459466165 968065625 391225837 722584685 594245441 42837733 835799695 636909723 985411877 176187031 307384433 65328423 228086367 733400417 644590609 790105899 333071155 794911173 152437177 297906379 212850733 926510533 771193975 885139501 271466273 711579123 584738085 777791113 924633645 7259749 767518563 375532307 233673395 99913143 31948951 94913043 409158239 715674641 135762677 533415375 681355305 634606113 87793269 4786075 329315145 117860893 501616597 913115347 406201925 607820483 279289245 149460437 930804715 827076697 763482399 700339983 57683019 79174575 137088883 191359985 594303429 961883417 860158071 430345207 121127421 154993527 87956439 387698593 871837405 51010861 941211137 327031677 21497753 558528811 595193645 204657433 77466033 845064681 39517787 879795217 124633063 444093025 264691285 887551241 663821637 366806301 947965099 272293545 754532387 791895849 316724917 940415139 771468571 498432285 678190225 610453171 485957651 662776853 726321707 741352857 28798773 113109177 788150831 652131875 481115639 421013559 321736985 698081823 449118229 742792005 750305319 49376105 666292371 800009505 760028259 855466725 427326141 929937041 638509981 231704443 539525927 637630181 326364523 323325725 94144685 293764337 241796143 942243783 762804085 250620437 837035025 200079481 909446123 407115575 395628547 99007553 709812161 790377923 383687355 48990509 550790389 487449267 588831673 265515353 26313931 264205697 854970949 863772649 847939793 918803767 835617395 990852613 721878999 114738529 67744791 565605855 546203901 190941463 487948755 780950451 962393253 305351669 192740879 879381699 401996669 886890787 949672443 433276503 213196663 116670543 204062863 817459907 94323411 8275119 480148877 895969891 665712913 344680449 721087613 816706197 941496833 295871373 678798253 470976711 55682227 174844703 290948919 128880491 339191431 209939469 536143353 822592759 641406497 924411959 678652575 113368819 394866795 337993985 252552343 699573477 408478107 760389725 583016217 457993059 951478317 598085565 936207911 197981443 254689251 811310371 402186119 583478123 585548493 671751187 430409163 955299395 950995005 699276955 833224523 460042813 855632335 755415635 530774309 123180053 359854185 487061335 533630021 747905933 552294197 258984785 465874521 530449005 87111339 278511723 563357913 276278667 18296195 877288541 113987589 609233853 128495553 828369253 710097383 405633257 488411063 903586121 120837455 642566391 535732467 732375641 388371667 782588121 418143571 151075945 40307669 822328715 477100029 945059801 120939903 511204111 974242909 224205967 708183997 132568429 40124199 492373241 506961995 407925691 48094037 667520267 623226279 724261135 821632813 78009671 736619547 755414927 100974395 804015025 639015605 253925219 855595861 66388695 585892945 46728637 536126869 766989521 817430155 468864473 391089503 952793147 148245197 776049657 804206689 632530751 860436807 944185959 250516367 383835271 211573747 404320883 689668643 432002635 821659535 683933563 793965733 366999881 206681251 475539933 667977693 962841545 329404547 764208135 628673507 528118933 491021379 887658859 601690897 301784073 767068099 917396353 466041613 649360127 478416559 429063373 646867393 612765663 964419445 530965463 967815779 834440597 368042063 753096245 26831471 101865115 925250619 481478013 625381033 3615213 499767297 348352597 468543005 51958289 473259827 89263973 171760415 689461781 383146281 417776737 848908363 700852369 890305537 632830721 268664711 339468961 19909543 764597257 77369599 451823343 733872841 545066049 673293861 159713957 406879711 41870719 509045943 895554171 213049899 834332057 652411833 278732719 185963699 251550069 324830839 668991241 453573959 828404219 747906439 397186517 454136707 795084575 678836673 288804585 589278659 447127257 87908175 383091109 326693427 633279021 770655895 607692015 6251457 688127523 151509331 200258101 695173413 918909137 939304315 203282029 287168479 67161165 690453079 112970003 966042937 122338749 556912495 491593521 957057345 428964937 451797403 973992533 360470995 104901157 317163509 947997075 590892939 285041545 920781025 128529545 579893971 356109753 505159949 601900641 354150621 843312637 766172781 204629189 961915549 397569195 145329981 40672493 856409047 594735643 262445825 234393753 707065363 49894831 339907971 621533451 820280735 461447889 358120411 754315797 978799767 927024627 482128229 981624589 605430743 867541395 261463745 121759695 166633993 861845293 508162273 790241731 976369821 136821329 382834677 419989207 957432011 717544335 577589883 929309823 528047253 937502591 300891703 188409533 81740227 800216519 357246773 238544661 790577379 504797199 353605321 749677463 618538063 739327243 740555919 870133207 845340965 260692851 337524077 207316469 963287633 414312203 977115279 832233365 757682049 930114973 333213287 627293415 637354543 99427323 839791541 31584675 322102423 610628349 115327609 246110211 366031045 919747721 59277057 914288081 582180745 847556231 918739171 642757465 508955515 764203499 214942713 685083249 276793851 668567469 409397607 510451577 142391855 56187857 352696475 968310871 951676427 311696993 340008007 960013689 800960325 3968111 598432107 913751253 239835231 220910867 995811399 1087721 168007583 197852787 696465771 818747323 607000597 196287673 990821033 601598939 649017501 172094739 360718365 46519645 878148307 381030593 975590189 507894497 716223009 297152513 535509379 514277003 500849849 907342621 369410069 469452043 397773969 307865963 382655517 455714969 540022377 897555011 330139683 750224367 703568587 713200647 257433329 149020503 811727621 585838369 32224923 825339805 776843315 58717445 823961983 27353369 631184433 937550123 623816509 647258791 245179561 440177687 53695431 779993263 337735691 997078099 745173581 783795743 503669905 132760945 952068685 908437869 448159545 377034505 246497419 300499863 628073163 643927489 163503635 99494179 637567707 358006851 384860475 217711905 898972861 56527933 427772571 398167589 449958547 754410351 454348317 379526479 779373637 456459927 121741287 844002627 667606147 349511297 774829939 524575027 8300997 332562685 638331513 902255057 422460237 233797097 401063425 407022175 659751457 146202149 915052371 211069343 748005395 742195869 88038663 414253285 238736571 83879743 188765687 612939521 980116089 199029771 472885831 268972887 809260403 502741503 690599013 41067209 566074525 1048103 819457029 22957767 501709999 480335509 24509731 653135943 472306981 27503969 350412545 444267207 382097227 152338353 206398255 429939021 27702065 162804911 164880511 393429865 247890095 756418187 85298189 715196463 130618979 76469631 421846079 876795199 964982969 757080271 42201023 250523069 724315357 801899973 271832195 489173339 410100171 565622451 531924167 463293771 223292739 830208499 900704271 380704591 639207627 219234023 183174183 85912747 640758963 970513145 617926691 944039213 381140247 345345693 33913697 611173421 722428115 74653261 175359619 687268231 278538385 736100233 861555829 938488483 27353027 483623389 707541871 248213871 74366365 454660571 964823529 965723489 907834403 376608283 637978537 701321847 994387741 979682885 435476155 681834041 801544475 350769661 926428789 158840499 401240691 449138681 945890417 89560955 118759495 460869873 140292499 653610161 152482687 639355561 731846921 808969721 166727115 755010795 809794885 325348741 44646565 182777481 274090247 295198983 159966795 980201053 408124495 241544897 127615685 807931977 957873517 114151543 358739685 513343545 102561779 719963767 413840195 821032733 775989181 349847193 153051967 44625903 757922287 735161147 891457025 268566197 946206199 207932993 949420921 358466933 573871753 647799835 889492831 427544385 731011745 713637567 104484917 672373559 417797251 840402091 76001345 480101241 190759611 699445223 169037973 460996141 477038365 132217597 469051913 452930185 86708165 724704777 52684347 449020359 190270489 370946469 32756375 180062247 732565443 770510329 802960203 330705909 30980539 277430193 280427599 940990595 905232185 999243015 532564579 591000363 33186499 194645685 997015057 963257935 729077541 996095237 181634217 581296731 306979443 199530693 488735043 971731647 639651083 391214665 995154365 38332149 408700559 208774767 576244161 874267009 824070381 317364639 191908289 303499501 929936215 251442889 720661491 523200203 324791627 443658847 490461015 227099317 671825295 211191649 572865207 482889039 6945067 270999639 260266401 781945663 820963447 587871819 889152369 71818811 726573069 7662041 950455363 592548349 29106129 958740507 985308673 360332101 396496369 762217913 862642523 846601951 445066209 406242271 719140555 502728349 304334683 851246919 476217743 484705369 641409895 42348333 711349425 572297975 653554511 890976855 518989311 274509661 635864487 912714259 154538771 263324545 532677963 707408697 858203213 334367581 823512159 589627175 856969173 402860017 317200723 756044481 741330075 180688969 426736087 777941367 420735321 730398839 487657961 823676479 768042891 477409429 451949773 545822873 440750719 842716103 958764557 869049223 72800833 430459699 634082947 639718555 103033003 583013649 599331653 227094763 421811291 472060821 63857339 356253715 233481661 748776453 882468241 777481019 218755583 775466925 337326009 517488655 519965721 773171931 622579057 292785097 129612237 988021739 712714301 813130277 162346657 639471679 310340587 577307241 164307687 723687235 179426187 373154405 200811191 834846055 792356989 548572525 332931823 860711207 12506979 333640543 270319675 232460291 447290155 5090725 778049543 337109895 453554697 978751529 929466767 262893125 985992311 852482147 809720531 225059545 344966715 827895379 131340185 53460705 348009827 630955899 984879729 155388427 812344641 358568429 73277879 988433671 690319217 746935615 976139911 329941647 688151255 193071501 859316683 102031977 252200609 427974271 387082549 874561115 132068163 244665923 125754427 933154617 678144377 672436365 328037661 952798173 132110151 974060959 763595747 897003051 729426679 253491007 320722273 969396747 588442145 878772663 144911915 850757231 719752353 253400801 955873699 57718865 165285785 440673563 127940849 767757751 372742773 808412233 950224391 896077991 220871659 475642077 957509273 988245045 827769591 80376521 983354155 287809917 878194653 14764173 626051589 516130461 596651817 919386161 522886197 296100291 563716785 136451649 97117845 845449759 753439885 903407317 798105797 748337901 28573221 659009161 470377515 374484589 875917605 933181317 858631931 67593451 507800191 875905655 159161133 989380539 225015667 114802581 780929919 88450099 319926913 49773981 329490553 804719287 62832247 269152469 96100717 24780723 941151595 21939725 948263283 321762455 386346423 869886361 627026537 915847903 255345919 878210647 726229499 142104333 91111729 144155825 20779671 527639977 18358657 422730129 872624245 931968071 497340267 289280881 979016341 440746627 615676849 146679627 213440961 259025147 155023203 773113769 496714121 272448605 356772563 803908503 292497221 687561305 913837725 409748909 210503443 811639467 548225189 336091911 984415967 558049299 25981211 261786189 346470229 735855967 125542255 529391789 447430385 544027229 864179039 72852701 746844913 520328937 534997997 184736283 407653471 441044967 954067561 45368621 860457227 183879743 857533285 729325411 290296459 414906851 509083583 997225361 463807809 728071375 417694105 869483799 219252565 47368709 427384159 794238681 953334201 348605581 48634057 547218505 555411235 324289659 480660943 745594969 202555155 905360875 411926455 498103947 264830161 551570939 96338957 638345699 394218609 618596313 585387941 822595055 895233479 374895541 207303069 663300551 884051317 596445643 74525273 96461575 655046115 545163613 545839745 181448407 562236993 387172275 471619599 629502181 568715655 377215779 813224251 838090343 819011447 620464131 331488653 311752987 355824025 264454073 542719693 755668041 40543291 903588779 665685011 334887355 865611127 693496401 846945977 655723213 937308203 800115745 12797283 274985303 703786243 906341021 608651521 144964293 595324781 683112275 943455681 230534915 174935713 803920081 182514725 668188037 953136801 880804789 361398255 59877965 499215155 781138845 751618857 887927519 728702697 429918775 673094443 565254473 242514971 815257653 552607121 458753827 839852519 982456909 683289405 566467721 967876409 268053575 102885723 160072995 669960127 827415019 595013729 451002143 407436017 55707145 630407435 49834035 60697359 391201149 792790877 164703903 177738787 892997675 758599587 135684645 563737853 394277883 857764209 877917975 238818355 999054305 375483557 626130761 247779111 350492885 23158369 43270427 88334595 20149465 328947731 868021363 377080755 714385403 150371437 567144893 975169267 635646281 220658285 260098291 287126337 245091297 889552985 616109713 538622695 716178401 636832953 723500701 193246451 235922295 470542179 825884581 839864385 443284949 778414197 687226305 446180973 93001779 284214099 784453005 6959329 888326867 934844839 766286129 984243149 871630851 563303013 466531165 468624171 763644177 908938445 958000195 731397561 922029403 688865119 447935651 668422655 225494337 538448619 924035267 147056465 169123629 453425027 166108019 159775939 521297041 863259011 761867017 340381749 792596713 509256849 941396065 435478355 662337207 177189015 61875169 764752011 204013701 767361227 86839931 188310039 905062883 891687593 80120483 306209525 455126127 241936627 508639061 34438637 876567239 456600249 584128795 676456081 830098841 180870733 242539779 685411897 733627031 978568269 76625313 624024835 515106681 288937627 92985363 497653979 70031619 886613347 280256771 432231023 533633533 15894045 120992667 877374519 455993405 615079041 941421203 252256117 851548059 641732501 507335465 959620399 561833207 102897317 644859941 860658487 967354687 189411397 133845715 860748067 508372069 276574035 268990473 100805463 703137889 623172593 964434215 338249719 286531127 619433613 310580499 387524599 543849711 878273243 965418811 332829709 164307103 796922581 750918291 679610809 957459295 437552065 454842013 222764613 842821199 782175021 979164765 338465215 570985631 963267561 894864227 498652163 579445883 488678165 214309571 333153197 671620129 813570837 239847451 334869287 778147027 543498899 803723925 133067683 308100571 121643909 77499355 909211669 554606985 12626469 461217061 461049409 479618619 830574587 80620081 135405487 14612817 899911889 735037511 743455917 602182197 781452731 274056499 579510615 858365787 945848853 317908045 201072777 984623419 276647045 569366897 737049325 629556569 407858677 986079239 592090099 305341245 248885915 373061627 307550419 747294077 138328819 612909767 692981135 129606321 536779969 860740711 590353903 8508539 55145489 717895265 346160769 801954437 541664311 145996997 891961759 593475457 881665745 124772135 426071655 580002861 355796161 605906341 787720133 270231621 19786037 990435305 911076199 969063833 805491871 332538397 680127175 853392633 677424573 418207225 969597985 315809087 695945875 267895741 178639235 768024139 951042927 27239723 49058743 22625293 371166689 378566805 717930843 239606641 841693641 801814481 64961485 705136503 35089993 401274171 973321267 430712859 374112975 67779259 459282049 231179629 262203919 598532799 988290669 336236669 293187843 12389181 702213241 838417509 3928563 639695027 599912171 189833543 984009577 939465511 349324499 613550925 388304695 724598569 618319117 159034795 860885373 993703117 65686325 53620633 961247135 209699505 345332405 797623131 270958919 428547327 131638719 82202427 830485867 573383265 539255369 145085577 874976583 806796049 396423443 850771107 668974431 263871433 65935015 889629673 897300607 661126355 492607571 664010437 982887099 929541883 475651891 110314155 109176943 188522649 533053219 159274771 264996161 117163657 477815245 151936129 935584539 344197939 188601249 315200895 24585525 636789125 312904409 825526175 331177223 42778101 909069427 294033531 735920471 532775809 185201975 505818293 659340081 204830895 575597241 631172855 829871849 133477005 97773133 620508405 159268637 584766389 690725909 323728999 457403311 4594495 612087801 293349905 873229005 569008599 418346665 955201725 747254249 320372391 427172509 434942525 855479491 833150569 45972759 478598251 423332443 5719127 893099293 691675177 155609089 961401659 473505409 989152353 987755077 598840929 635645659 291143943 584018439 652817057 819117707 339153939 907447659 615614807 3243449 149316745 21658843 512177003 265833299 673529715 231748619 280044107 66833943 281129187 768910075 275951341 848135551 198189299 716178157 722248399 177744599 680249541 419790699 595971833 247255599 468885379 273232717 851231477 221959007 763387745 442368943 713615839 698865925 17833111 979708145 21067599 453802381 156796521 165813701 697894513 747077667 887598625 267367963 657347825 738890179 678980113 677653553 996339715 210565165 313392275 613474697 535623529 791113959 518767881 392822771 230279783 894109249 78087391 219771523 768997067 980989527 814005379 658594961 503155691 6104581 483739253 354045125 947086761 621954037 263719987 368753163 28712807 755957657 205377353 942273173 960560405 959111205 770442313 695025377 511638569 540262815 274582477 700760755 828358817 622055369 41477495 676812825 678303237 204971321 158248177 251313251 482681439 738623555 386816239 916170545 587231563 26186249 971466795 878864229 687964387 72840563 51307109 517969965 85949133 111044145 103064937 188711421 410972475 100370365 406846985 827363727 416735 970120789 264377119 648141035 221388539 761128961 662971533 342292569 948240979 603620243 818553917 961420145 664683573 850223011 33326883 337740813 946134649 61005201 660428345 713941331 165748603 409942661 772032383 445687469 321637669 300821103 902251777 315839697 89098721 878228231 483482577 147800763 39319975 260045007 321661193 693267629 992247541 270748173 773148363 122324279 28917713 145606099 629244225 777497643 919220939 180008697 512145311 290385319 272798201 779968285 819700511 444008715 581901303 674050987 144992769 504411657 619257067 289157841 67655313 723655569 923345287 315871879 340445217 41449185 922924031 843033485 833502219 948352125 505838863 281033325 160522417 659946801 772592385 764533367 77509759 519225107 231657635 51555523 867750629 993287291 844927559 639368495 125475677 749137169 677853393 324908901 405036141 159671489 608311459 673607127 300885659 907376319 626224813 505971387 845039995 888654981 618711397 791688977 530871975 682189529 67667915 70602147 145086657 441959625 719639649 495130111 171358325 852783269 959565369 915639169 323368307 985234189 42179049 844378693 955650933 290251237 117302413 490440757 983650111 112090967 701400779 709023233 422090653 451542231 510954453 111326755 155382365 602757669 587368031 595824601 817529691 500640833 629108135 91008045 374299513 297653371 191353459 707480301 711743395 630251877 389618193 810212787 108455369 61011931 280667481 184515807 214986725 469002243 674465193 378661017 681607419 892254791 489254885 675855313 332054039 593316957 112234365 976094017 952542535 969555009 288530791 532129381 768756391 524990263 458640675 298815115 233458009 242215627 656361395 738033087 522516105 281459665 570759849 620313563 860169831 477695847 448804635 827815805 292820269 472951791 508808869 498551057 508635681 293429781 721451631 283704773 692883081 416660945 847077413 860528273 832358073 376982875 141789441 217602871 258393355 114160697 97517247 868499773 653735139 42626103 991247013 587240181 37990311 455880811 251037825 374120567 882009549 444477485 352175531 638665889 465221071 346094119 221636097 966527007 816898861 614491967 356775655 290903133 611708787 746131375 579235407 187777175 918404917 96453103 790187435 889729741 177496841 533589447 131303163 126510789 621969043 164729151 679145415 299280655 312974207 674807215 518851099 607415303 516042877 886102193 870091663 618266313 975333961 773717291 451390527 753542719 469392035 283680327 486696915 666710043 780527959 711957115 480098935 600880083 385477431 969118849 662321637 893637031 862988063 545776225 465227353 183717793 206846189 779320421 929660313 288796815 502768783 89849377 222152181 467719947 199702773 673260913 618613057 72719477 613278491 362920827 130312157 399497717 303922433 472425387 775593901 981932925 221393587 571536051 530746145 140715201 590191429 468179345 215642161 148163141 774575053 450947721 595281751 907747921 11450991 905038887 754829981 551912947 512223063 18504255 818802831 767221253 270058421 656275183 778376517 886560295 627785925 387425689 400317275 966879167 492536519 66790891 842499321 29392131 243375113 876495063 205985997 219976677 495935449 396308379 40284939 593851177 645004691 596265149 144780917 986587989 598351259 757354245 193598289 571742651 725242455 561950857 374547561 579201907 299007295 145886119 197809175 28608091 856869319 297050115 97724729 731068959 693964407 182773639 464214581 15357741 399518677 923285863 93011447 983116221 602516343 927758115 969816823 371582159 914737907 326997885 574765621 581233965 621573357 792930175 325403189 131392615 702933009 17988481 945177093 80081877 567934479 276551709 900382269 914987925 227269795 755093305 851130361 259627923 254265999 849422079 13407713 932980859 85307035 710249701 467876131 139614921 880592027 45465255 806016117 217228731 244065387 585221961 598820117 990390875 32654569 115851287 532924361 487942777 985412355 953199525 554300897 295592875 22965417 927427279 448146993 876705875 776672727 246340027 347100185 824204955 57663887 130021077 615300733 768793455 442280153 418339279 174469839 585134475 524460489 852514983 980388353 351965293 199067259 702212769 656366997 429651805 901968909 722943819 979964047 293903983 169005997 793631605 443843197 392936311 760788365 304695871 598731383 211133719 12448741 762505739 513285145 579237303 319249399 568101767 273343627 598628999 98087695 329019557 668300155 443009663 413162369 619382693 547419679 266786145 129492387 96559623 416975413 39098549 243952859 40782747 949509891 244528329 106960529 414592369 233810009 787934135 332482359 993328873 939123595 900868701 65537353 863721127 819378297 514705255 774465609 508696469 466093193 284640835 901403583 473695721 847266215 725450793 834031167 706420767 508329805 343455515 927020645 335918585 652558199 472335583 850481615 818186631 674441641 267739655 657027627 706343451 511435255 896341227 668643883 791588177 622234611 413933737 226044551 233197071 447291835 24696877 612518657 883885953 815507191 960199973 581525351 271441433 406976981 378048777 365024391 770768533 921817099 386853913 135463743 675458809 121619415 122236511 215510893 777703825 926878465 441691307 885189887 539583985 721587669 459142035 215396071 957719029 731321385 964370041 349298205 965892805 162735197 608878215 994585763 563293127 569344087 526843305 369696903 20533173 967998595 637591451 6213847 597573511 469170907 498099931 356201649 629984131 411325401 182420915 116281397 545496629 334266247 343477555 248298381 393522035 666425971 117006385 258417643 258698071 186142895 300386895 572552843 895997253 136816863 152734965 189071279 229121259 374011173 39755347 823514015 303856957 963867697 526685283 594811825 628363125 185077305 806966755 928117051 242131995 714185725 751258459 951038627 360954361 732503487 747658271 900577873 350596897 553699409 355646787 88190905 736332789 877537799 764884135 248602195 795218963 284927425 207814135 939184289 739585387 584007653 644907937 827299121 130980145 687885665 453818335 864358801 992336097 412595881 402243503 694008159 145013567 26849983 152780761 9588027 640813911 391650343 115675631 917202895 474153341 269219313 786813257 405371085 803323981 783575727 598221317 702535153 559562157 169681797 523250191 766013437 281461193 355347221 234789397 672578491 545402899 279660687 626641551 600314619 723197513 144101035 237995711 770901403 649305455 578213539 993371051 867367035 856591569 937900863 333542693 58182789 575092997 994005967 506728643 865973675 242574053 93859113 791757545 217800681 798368405 231348393 433573307 219500097 54090883 795332919 723307053 974103997 533421153 433251903 451961589 231053933 342108205 545105083 581558675 526459503 876417837 169806887 180177233 640937187 556970729 79735689 111769149 823231731 116218425 824448111 355995187 415328465 992600119 566146545 444847567 140651707 518874439 628413869 93761915 681069549 521348121 556423367 362866281 45916599 624465563 354472689 499792781 869865577 453571855 376539997 829419691 678019163 935964407 850047947 588824395 481472243 8124957 799254403 470878139 486788505 341635481 433751633 667894295 443402433 295698119 869687691 179077435 366653667 719153735 548465425 744421329 741133699 816358667 785937481 561893193 420240427 728549187 867049761 71168731 168044907 658883949 198006031 396290185 880021985 848935245 187466769 752215579 425322797 836166383 209995693 844858399 601228537 279626151 629721585 949521647 531831801 591809809 853242997 12005291 926609125 539979285 720030551 976962361 824865665 365254105 407496765 907565389 261822869 194873559 150893395 985337695 809485815 831444423 690637393 671693227 254205823 234648239 496615799 216707647 342758927 544839131 187573895 744424933 472075153 73008353 114739667 157644091 865316601 61689243 378049841 603578271 640885055 717059885 812062973 10830391 700482663 417534725 475657503 705823991 96823931 993064407 348700165 246102933 388761227 460472989 729570725 827695251 803191733 383665053 766619261 362579511 768333849 68476773 345878163 110868369 971860961 583106503 96885877 382847357 620152385 337887967 104361531 939728279 786677873 855532563 626982531 826129225 471671477 253732621 122602867 624165061 939720535 230044867 582621111 338499585 107559849 196569201 787263879 335302077 404967683 955905689 480030627 749044867 255792075 163166219 79899727 180273057 645324907 556192473 296949849 933473331 107151953 695095649 806781463 128672277 72027901 160596805 649016939 411611377 87996653 523854961 93882295 909302583 27333803 38697499 384007913 634812705 345480653 815488447 95455355 383213485 94808043 332849697 41825641 416201123 580221863 25982541 751039035 354998423 432895403 520917145 82322427 588614109 757024171 635483039 548891971 763933591 803528031 681880899 428273969 278128557 777517451 5817777 708041323 633719503 830016249 488852577 186423837 402931061 953316731 424164619 839375105 843448545 748220651 764880055 756153425 567804953 326172203 766605997 539787991 790386415 455312933 273551237 461956575 454865659 135878861 868160025 38639681 811020445 889576987 894333069 648489817 477663741 57639699 513622863 628582415 901280265 815805119 164413459 407701969 482612607 323406129 901716181 400157077 51963865 775944323 255292119 516539097 895196771 45503447 758084009 821182115 295481645 929032791 406289949 849357443 189195791 440087095 12897615 395911565 521217959 868270001 622900645 770536289 362928225 804981765 274964937 485831973 122133353 337205375 722406321 452437637 829545915 446694255 338677657 504748219 900808471 974714675 876343557 383732609 169698051 156153643 547752385 107861025 428333007 767965891 531284193 240425065 553198999 910688363 881197507 563385259 186599223 590077597 943108361 830809035 669658457 338528989 201272223 977626155 241186671 639364277 983837629 473472187 637832365 929745079 567496667 84481777 681119513 491621757 623137215 614561483 135382133 762226345 468319605 824422863 589520727 972211687 948763219 655869965 486221331 638900197 48346611 147295001 14653387 308113763 306694969 576140563 716404583 210214431 74281299 41948577 802127511 67428837 29338803 574455537 419755221 771630983 60032537 532552887 195478111 567309279 810124165 458812725 302428989 531668687 247176519 901909551 625164865 217748547 593555185 656818675 432431619 112192809 446023263 106679897 544646627 298437249 430141109 70268861 713123593 654724169 974858593 869012487 804996453 429671565 660925207 242604965 978518703 753620063 170617555 260980367 649994089 659113177 425430233 370080063 39966169 315401757 739222965 352091069 900251409 924592215 409748795 588046489 802923497 256907447 904225671 605312999 229676543 330259063 201272831 807662151 16082111 184258523 412335693 589755871 90781783 130420013 329822057 180366173 440702655 264267711 800346763 98787573 727497911 443695851 727429177 251875177 49736393 645059349 875714879 979442429 204139589 158022819 949525937 385269375 940035651 235615499 492593645 850692679 694252193 68097991 119447445 853569843 23371529 325773143 630701207 481617831 450277869 1374791 835332133 297093267 326643075 178735145 992965053 680258157 988219595 160105111 306495525 518731829 907280527 654617139 647488101 768646253 571716189 735907241 376921813 208241191 71746961 630442153 133752335 875443703 318473799 580264685 429340663 235357949 39059049 136174395 989220539 206917087 365405351 241732185 333114831 613012427 793769339 14380571 757937901 592719735 673620515 674785883 965113629 210649631 907393961 694735867 272838569 525154445 288318939 30510055 557176101 434827279 457103955 979215887 163667053 156388217 631180145 642488429 393313703 832162857 961369437 548808711 888688445 6577929 811670791 363093987 216935653 999617411 265905961 291558421 995950747 264355983 718095167 941243575 408728995 416949163 874669719 86571755 91255177 943003615 363202877 576259549 450357537 337516215 99256587 870188477 905823111 246203721 717271711 654341319 344747297 298034485 585252965 739802171 601278107 319335329 467679115 759575909 773232103 2292795 117688585 87225495 273777987 500967481 932742305 77106219 653414451 719440729 388894169 536049541 751500933 795260129 393758467 338863627 170589001 526722719 698966071 986778677 450613727 722993643 400862803 175186551 588620009 571650723 739796483 196151897 968722773 576558635 247345843 750358881 673886039 242946675 263814559 564446243 746769769 745572595 783857863 314306361 760136017 484612005 105071601 635501125 914313501 759588883 917235629 85967091 408910879 915622473 121494103 521979379 531131379 389904349 350993163 769187329 997462397 276690671 783598259 847969501 708507627 570172197 881198337 830110293 472008625 92890797 44416363 90945335 476341131 695621437 510428721 913111647 70349693 489678611 110487389 341203375 572153809 653887477 386779069 165749011 694350881 815767091 57537003 355656059 530626627 227708321 566391623 350222819 950211935 113170077 668989177 208875083 995447007 867539729 274744051 73398977 5221753 122787687 521738473 714386003 722473001 218808727 403069279 86431261 670019891 723365921 283009181 52900931 661528355 857814793 512876465 616370411 785774031 931157725 160502645 216782155 28687183 462753715 589641609 421012125 829638411 800434733 818234195 49973539 627170991 380342381 604391177 723766565 178878767 787581217 496290973 731039223 959589829 125168771 337605843 150955251 466435319 811889487 157631537 531535485 671060881 47981515 268632585 795715837 571088809 442696903 848149875 20405733 419719577 208898199 952780877 613849777 539083013 294651931 370635331 896974305 224875995 748449719 604401603 268530179 389546831 626046557 285894405 574140069 618289885 660772479 346586889 892539747 152671047 19807007 937976473 289417953 615678365 442622145 362884933 50649541 522361905 23350387 238908005 861178823 429002143 76304075 522247191 539865245 661233611 761929963 124123207 125396233 198741221 699689845 659798945 878110679 431744605 315734937 549913761 788722395 334431729 867631627 253170821 575753707 92484771 65863183 460479575 967112173 853790659 124594789 593165799 375995847 43366371 62416989 624791243 790515569 770330593 313815761 823623013 793163489 415942623 449008921 75821023 488700697 679319113 293015073 907427109 460634405 858159831 783032661 107467251 872660761 319963009 720670121 31753671 242986763 15418765 913846431 494213609 624191009 921658503 236964153 928953453 293790595 355850053 831320843 916312359 978827619 811814111 447880997 885250233 756669949 745812415 164087083 702286219 71903889 973470347 488267327 676546253 899416685 206961469 425924625 202739063 461500383 778938381 217380823 131207499 140973893 152980611 659849039 528218065 606638589 771801703 184259007 928786263 695143285 614762193 626540791 136485367 33527837 645711643 302298699 575025295 728013425 517147113 597628315 769434571 311115763 843442219 589413965 670344473 821015083 92657167 817000525 854108593 157448623 632061463 812157717 676727189 478170389 862329861 30550175 451262091 246433795 614279653 480367221 827764517 374813217 574601483 605790373 725033915 961195553 701775635 450358465 414775147 276141759 115019491 243379949 85224737 157147581 555750821 425336011 427622027 820662499 822382543 84999307 758486817 434919687 570839069 158264803 154932515 416222975 723294867 332853521 276796571 329162929 627542397 979032029 267088473 175570437 639252591 252408977 412333299 104753645 427223879 753995017 23731659 793220453 92564775 269063583 205915659 192692335 899049853 481527353 501290399 319811347 327977723 595839817 569030211 192015463 281679519 982359745 220712565 474518913 371167407 700885795 603683967 105139847 50995635 950705267 154376561 604112289 252948867 129314111 613997089 136647169 672012343 213942687 954883121 895550179 206239033 698602545 352669961 869122185 401718833 50756889 503965913 393551677 632533523 918961927 142377883 412936271 793507871 634543153 745078797 551783197 214667477 614480725 652687031 344827909 321867525 554403003 808406765 183645045 671710913 74919727 666682819 246417631 238026853 31659783 680181531 535273915 137415575 220435235 405247131 182590093 531726401 197836265 334670521 616104925 951174041 2775623 284557735 749587777 656675099 44222641 804003945 719604815 528172937 370348585 365334981 181254061 460347379 654236467 301802829 118889475 887004331 926962397 57872473 942849285 302632527 346778559 782732551 107833451 985910465 662316279 37640003 438384375 242943533 376699689 492898235 789713271 347747851 954220421 497779943 956808121 123641875 309326017 903131657 546532763 720454987 436641309 580230183 444716029 416447743 980618331 935387923 140068297 412241347 756696269 195260515 391286513 749719669 430697033 235463803 696231283 951527735 778541611 686779775 980369995 446141559 715746139 797609059 769045129 225475049 705620293 858010589 991606845 818406279 114683107 577638253 879551871 14717079 953360817 563955293 286163317 784755367 676546229 892407483 528888135 850600071 605656957 827566691 116364073 383257943 393902881 692730865 719332691 807383931 542755135 602581455 165338377 353460637 476138235 140599599 270537619 824857523 698726917 690349829 888583495 734305785 637562773 807974679 189267069 599838705 841664869 585394919 11460757 581559659 411494591 460711115 900149503 240447353 638516079 511425239 310085671 527702391 579635403 687645165 703684747 372345355 228634803 768447157 388922285 491140639 367270541 355240095 547058967 984573417 997791303 637637859 759750491 607858661 797348695 318116739 321253137 810857943 720366011 47740487 44306911 178636747 283536633 836718525 419648365 681284885 277860127 11996735 103400559 691664211 439915461 64385261 952906653 304039783 321872649 842857645 933416123 203657855 795073167 709522739 417171347 147094285 320407689 255379959 189358325 32283087 394285225 11508021 829188543 37081289 925746479 452676347 301343185 42101321 576510435 770604563 555660053 201941983 120823569 661403419 954735231 957434219 521267345 615716209 450288903 831616015 658100415 828591163 923162801 986143033 644785027 86335341 129938311 901433757 180711243 829067965 705274009 793061943 453431307 641098925 771394309 393972041 559724613 981613955 732956395 763832163 181547519 7514191 174211189 434723413 379379139 798504941 11060951 486760001 799015851 656006137 577272649 468302469 867564629 54366175 859950095 138261201 952260581 174010827 783164787 567536153 950348045 971230649 581746375 62802329 747596287 523687527 658003301 652348373 487694205 130265695 292222383 651468185 161432009 833331439 523772431 44297977 602038709 908300595 826925049 598832721 573517207 596368135 695474405 911985479 723047499 854336021 991475543 306624967 757271097 888847565 49273817 330197763 971546703 119068009 221293563 133928057 430504195 589897959 130007387 50977005 828656979 541163537 582387865 181949803 336935365 606272629 540525665 951729735 291000169 520859501 966877793 656003615 234722515 510764313 867290713 562835669 443836707 649147745 434552071 739772055 541602559 485205749 903308599 34338009 621100947 898292813 908379321 215524181 8071575 768908971 397832555 282123537 571348043 96499989 796575277 689156443 797835891 171875165 589922795 452717251 12825437 900606235 261098643 223111209 198459873 529153199 965479973 420873649 893015899 725740097 135632799 939032517 573762739 256425663 858290701 25459737 747028311 212824807 411220863 846342317 33949245 488548915 27952659 436700867 94494435 260128239 547259113 525761509 689323599 677239339 314573101 222591723 898982929 975377087 940518159 171343601 281133373 373467721 295238345 361349719 211934067 138883893 571900831 164790735 769194969 826918575 304244955 117877065 938648091 920168883 294386383 80622339 548992371 20860417 573384149 411048065 933570971 343359775 692378959 394144141 624490973 642229085 345675943 224560961 933382149 304990935 742701137 517878515 24982379 882430057 664617669 256480587 88911339 831404733 912751497 287422773 253130991 662052677 952665633 695497955 601376353 149180213 721560357 110205651 787965369 899967635 399463725 269056715 722287349 834914081 596856795 108454611 859714971 624857973 949950683 234114113 985611195 524037603 284077277 881684147 34503913 485152141 542309019 478899979 30957381 993990491 211400665 471302263 628744821 621453565 675984993 986450795 104174245 423784429 507818757 112594081 248110479 419158633 753647263 960486433 7545709 775170169 430265617 232812083 437787657 345829615 651578439 6700655 496486321 804867171 89621809 962182831 648512569 728075829 394408137 513913881 774069759 905241485 315082515 847993879 413476075 506279515 802296345 97589599 317748075 214838871 721436909 492236525 886371189 299149827 151983273 582787843 989970313 319325093 375894383 684589105 983358889 779052111 259071339 343867977 430836327 432933081 32250829 683515241 801107415 258054881 977766351 912180467 916816025 65181651 137998263 700702867 747375315 864693725 993099211 669059903 451348273 351288567 218532703 298321459 167759853 643435489 870140365 71066611 761868227 791071013 478300023 382885195 483315961 398808083 287144135 599590481 85681757 852803523 622824241 393918813 971242567 858776595 406508591 821512215 976918933 631268525 490173505 835857003 75573931 330031619 30315507 786174349 800077433 951966795 172571863 495302391 172202869 320003717 917689991 387603823 915204253 713058683 564936615 652628483 247032441 309433019 483139805 186598659 441034261 437549473 32563167 561649935 332017159 393792585 558976103 351746571 585534319 742936733 532401461 77318177 499903731 593204559 893217557 355580613 920339393 378483923 570734553 751591863 244893325 271637101 609587035 181693945 741285017 573138725 100619901 930288853 504753321 444283593 560437803 873600227 588136461 78263539 399003221 842694909 53071769 352421891 31539959 754609481 297689771 618957857 552647953 369491505 320661547 813169725 54925743 286497131 191252873 584005905 252014819 810390259 579478967 550828059 262054599 281664013 457907253 184437411 410767999 280684101 594140171 43103931 883660593 970147439 451162821 775704123 868612883 557659049 719238521 335401921 804978783 569552981 92073927 350176185 22092373 301663007 187271381 158180177 299901505 247707647 166957137 478333825 783526519 297693485 562016113 1868299 92789581 752726575 567822833 300967541 437337127 423267537 14798109 521381649 940872305 714236457 24427197 253915127 76590747 148454799 22801963 468236805 570081057 182670765 672880965 59246055 673144195 258423147 72089967 997221641 339244877 569511677 236554393 238405799 160839953 944265955 112798267 890836673 366964073 948807389 619469391 957503261 488732153 24763129 431939167 738606155 811526759 709346445 105246839 545844903 836658027 105307443 929977389 746143053 953831353 883932113 861146017 270364455 92966169 16307089 288514169 421061607 580873041 468024041 722118371 568822531 390826805 561467029 718773397 471084219 87435679 2439319 561535437 696213785 897213555 719427903 778223697 306928875 787521943 648914463 759220847 217988811 820925955 614475539 427398655 330793497 233989803 944616769 604015967 980404733 761439639 265119765 947154549 933242473 92505805 899810881 152672173 535119121 844308833 974900931 768460031 63338617 169987693 863652319 465414379 926739177 370792981 610795041 432154995 461406575 939676801 83874141 245013803 252481765 570262755 574747569 35397155 653016299 705983607 155142271 368210173 800578281 767317373 22581621 851313119 761135375 341718081 644596613 14508919 735686997 970570261 450359789 471660027 170185341 276019285 32113971 550157353 150698765 886861663 400390175 998458951 264994903 461275041 380339401 490797349 863800691 452558987 335540617 234802455 799029823 796388761 983839241 248707325 324041831 904315725 5023281 195403579 526732377 170088495 959829815 677481667 191397965 375508435 836581525 205537799 494681923 485567443 696322835 703969801 323892231 576781011 832234937 484353355 531244067 392435579 723364575 914479839 720394485 897265533 350646047 881692507 753846937 842012309 61439071 640604123 989161211 347216259 224913097 900620551 578788551 163237653 675440595 571339789 290342521 58916121 251515193 644328355 877982543 769020779 793586687 540177671 230551123 520982255 48746865 142305025 649353045 104361613 45389347 23664859 72035819 79160887 30807281 141901167 988467319 192210921 503768065 820245019 338664739 188149411 658912703 891243973 752217819 4916083 75590109 243686361 587075675 993075815 15970905 495280977 236611873 13854619 530042487 238411175 253480053 127975475 296452549 454379493 786150507 455752023 511479571 136464791 351390423 643407673 854845313 139864533 211875931 496567317 214240625 306431547 240520031 83457325 377212305 151910387 312145171 415001545 5478355 966580901 615687791 178047549 267582583 108960653 848664885 593986277 351143677 458978409 400620269 854134047 952275253 57225851 440901605 273150553 246814767 148390805 349570615 843687173 491596621 97985803 98940609 759007131 125212973 249632445 577353775 229281693 960301759 153660431 291186671 516524697 492771383 945127155 830643001 572201757 376825873 93449435 803925519 504964037 283936271 446145993 96279095 843025973 438356033 45226305 898573379 228959253 972559353 335394129 599558795 411861015 813397203 797812625 252405805 195208951 383871925 967036957 23573 347076727 428235723 701087 393450481 743540319 612162439 953314625 499415865 957362053 470602663 576959931 306904109 756465855 292272687 552648267 683149015 121541107 30195563 234131127 243795975 744790793 822841071 320826191 111569491 888025331 46371993 621760487 439384349 827566765 770445195 926837471 854146447 192779321 839399217 356896797 225137557 554953633 680783427 642022415 24156395 966979573 837095865 579789993 69716495 256203857 321726937 210413165 797446475 422104281 607556399 297276767 972021679 805329845 198768017 677522445 776673809 542624793 123456281 310763663 556363795 759577917 254991659 236855683 92451613 59066723 157395317 262919437 504054111 64880857 120640747 554800093 652332243 14540525 820255431 118155305 413276727 591400189 777438097 348392111 90851347 408041321 17626131 247366583 518105531 422381211 759251039 215336973 620680771 962578437 25717463 906582535 213386125 192921379 607531289 938587269 655676223 545736311 571412757 631585773 642150863 6872713 351527935 797735211 629687663 439232239 134274899 527942329 230797091 523714367 285489621 710973843 242007473 705787423 953336465 671217727 874376875 751230007 212643291 742007243 348467049 155388219 746399311 710411983 899124233 593391843 532719571 313833577 23054455 382537715 521007251 676030269 438290785 53625651 98790913 223940219 701777727 675710073 917745627 114173657 929312595 731555227 121663781 115258773 372950691 630696831 834158379 804489079 28841729 132573965 327763587 362739147 199843331 155465785 39296519 246276967 475570701 364189947 890112987 721366443 111732547 656932439 268640877 794019709 394440857 529920853 421807983 662341195 964428485 900207115 239165665 877913867 132858695 873854607 431975427 953241915 878614889 197275655 659433059 395526625 65622329 168832411 525465815 510431883 960301715 467778431 35111033 387459665 22539795 656017899 808642477 710752977 188234275 871022115 535486243 888559407 802554869 964657009 264001737 884018971 958218365 377157669 300837089 435982283 584831873 251926173 14252269 174589183 2040963 97163321 665883319 178106361 240408537 566895715 739919191 53343371 69053847 164694413 209746985 279843851 575490207 856600629 748097997 701126741 287282585 576360921 660000565 599008465 40564213 451850755 160744593 800871789 686757099 799795529 923286623 505612189 617958525 543626817 457328227 310702947 196577907 320388241 731715241 848871491 802499419 824569827 971013765 568449101 470997391 668279013 319466901 140504341 864585775 72056405 694055099 474951867 936483361 101271541 306032419 882895587 48237849 753440143 598338373 180671933 611751055 514147829 641596377 355971329 110882495 545668607 109405413 429146857 99106743 309318547 54330549 366231359 630950465 572882075 13973215 86356559 481620219 378947589 160078653 39458799 225474883 679682767 447430387 844743809 240396863 87128827 522867055 28001255 593934307 320747667 374231909 695985295 291342821 239572649 145522639 383199347 577307335 459438167 363090677 974829583 751536335 172864957 832826207 760867177 624574221 252249867 272082661 325500177 481073245 336019309 11573153 437934875 780317275 413437475 369291513 809070631 617271923 973429099 90582167 503533657 428999889 676568975 994277233 189998691 345937777 373205989 137923 379933815 239188241 459464645 809651983 615975765 637292091 401127313 428962085 62842181 949110333 524427187 738473239 749479699 278630963 346813855 477764419 281658647 225046521 390054605 102453579 239474733 355560249 425619905 191116059 362075325 336374883 706883333 372484585 866144693 365016497 810802731 254655793 10931595 359008289 161233613 903994295 295305021 830509181 715959181 446788233 671915857 29211219 261097237 146612727 916972247 956507389 469461273 781184161 338164323 542204571 206575953 116218985 503779093 375638805 559847041 825038717 709932433 974342427 62255987 529890127 721747721 184497957 321711609 740957085 34393135 163227253 980547051 900770157 516194373 841488913 960345647 974952967 647405069 861002187 312544687 751132675 201307867 964956475 728920667 761502779 919181183 546844865 92109357 534653139 234349405 171401349 521414697 770943033 360365911 414765943 471524185 513344033 459250909 892968015 767731151 136781959 526299365 622899853 649538981 669098669 31993581 477568891 365058557 396082723 544915963 597901609 977729025 781705147 202759071 415317359 570551269 831773841 640059117 491800299 137027553 204981515 654039429 818127369 208201529 151071699 274701963 317337589 11532087 994962143 599287729 557384619 278901805 699309675 791086633 408137963 698665077 418680827 774574517 249275195 859262833 558562139 377480089 122616043 785007243 971698079 962534819 255567895 827415607 956654117 420553515 771479963 226580719 45271951 650851853 815544865 460143667 274104009 32681393 847755035 39990159 409947147 251203589 352823229 824300437 321438157 315736191 937201677 849201375 272271829 473118495 210104269 949081871 126759471 113636199 791741331 318045647 811094577 138848617 602533811 793023955 126280053 743807161 728094543 787727315 390342367 594402167 516927823 721160597 309236637 515816777 70115683 417895647 586166305 938691675 455113477 726482563 945676587 273396327 173067891 226761055 114426043 381708199 101465525 665452885 731718433 317991909 978518941 719031883 157375983 633103215 399810243 57857335 259172609 379624471 624813191 623330577 572651899 242760769 970033681 511286751 816546509 288250831 518292817 370089383 593649573 906909489 961476607 759833981 266711813 174973021 471563933 106619003 194095407 89147345 693794161 693976771 583480495 356731797 846675853 954778239 498717017 979853877 626453961 892761315 562521929 391281607 191666627 279937321 856017893 316670187 597485287 496537489 125485273 207811015 977306979 728764519 13190935 770370823 734960431 8801021 660807645 831019237 868454667 782553261 260810159 834361885 112600961 772002777 948727129 321714933 325221857 339247341 632033519 716921403 137786691 217136473 944573647 418609223 721333637 800634007 267791515 367223285 246816337 171035947 571781185 888208303 632586265 824149409 994067187 21019743 91867923 55733127 654275119 48514685 686216767 223565945 409523899 599755527 938225767 600332569 375899551 394763909 329744155 489893393 236826931 995275779 443820977 390272277 18187793 56591383 31134795 164240863 911626781 140972513 302894289 938042159 707227525 570414087 34219509 715965905 254166461 631820725 487411243 85259671 873960065 948593573 951905975 166008411 366537427 64747283 330929825 168002305 441313795 990795461 418404791 520575599 436627619 149219337 767322003 618841755 390595471 757621687 622083733 437070207 489894125 836585261 844645093 711626779 217784615 144667471 583979379 17834875 269374451 908620685 565004025 647004081 135774029 463254239 794823413 656710361 22807161 567459519 552765103 795654161 414471939 663842357 564005945 916558983 199882687 994733777 475432811 59772011 688046025 668369321 568578277 301611511 456781191 508229721 890030861 626798705 129468325 180633097 990981399 246226207 731082773 123865191 540303865 858489429 595251989 885408423 672463221 894707821 852423721 872361099 362026769 789930697 914686239 238133591 317694239 338450645 929750791 609658587 716507575 968303873 764223297 784206955 288474551 40470985 390963311 326130149 813096907 131697325 540557695 601720499 908450143 734355257 526467237 706223295 279743407 924718591 387741275 295062913 660612283 236890011 553486951 87653625 933137481 55692715 905115351 34690729 424019689 937392093 219590397 394929315 571564279 529727713 267512949 506791549 393614223 822809971 488241699 28154451 115619227 350032211 507796277 943312845 359252173 291782221 935673887 24934169 705661083 695680307 364993949 88280557 367761221 199395553 947177907 845105285 973589205 472015669 542195373 304019629 902412313 907711005 499994143 681799341 312065963 867625097 306798565 795479647 909127915 939569013 73144613 508207137 78247681 959029473 494176585 167791575 711312351 910087897 453316359 291108851 965210425 343822959 98106715 543179879 973919635 921526463 290796169 17366965 484159285 132618727 806037789 612375007 633002285 385135637 703011565 693662071 949388373 795151481 989490193 617341587 462612557 299901519 694437873 981268431 100112509 664575959 727584313 251490131 755458837 460749663 194769885 40465357 804477453 130668597 164883991 430236531 677722151 288886709 54202221 927932163 43671017 554929731 12097707 82532547 177774245 895779909 32700391 953202563 43371891 774188851 559763323 308572055 164784689 995122817 523134219 860110303 739831947 758591159 130950789 652917951 761292527 19990619 697467677 833672999 538207125 466000641 431175759 677698959 64855933 215301701 672158941 688513777 779204979 848211653 762146263 860506583 156392193 855455535 396140431 896531789 664867205 186034995 311388833 431557099 750456091 576998029 620960499 759780045 375693231 924670975 567305391 367019163 340786157 998696529 416685899 262744707 802972753 942950743 487983747 232287035 662733339 257362669 143917401 216197121 483040847 270315505 333309213 737148827 899535043 81034577 245400163 97456473 210312459 11270909 360208387 300203535 824950665 199575281 257913893 345964829 635637351 234763823 21212469 542252393 78138001 275345343 298769125 77397087 658569923 878667189 73504563 833061625 841614459 78340653 14516579 205940401 142677249 422032965 511547649 386795153 379392105 246347051 149255907 451346981 583312007 420137231 997155873 65076869 598027261 669402669 878230309 787817293 59565363 514622919 984529045 29093 132161369 277722405 385369195 372549947 878668135 509069981 240875743 183659845 547023647 487859333 703234425 403799425 764312585 358519875 319346689 174758711 999804019 44968255 973808527 743195185 634412151 280332267 817458557 748212171 30880499 857608899 540570225 157090783 177384595 131374407 206688085 276034515 736245445 155013893 887114335 668259225 343891137 927534219 49579017 156431011 893586057 549970551 464686619 930479347 127035875 334419559 640088223 408027149 311625057 547587593 534655721 486807039 450246491 620858895 255653013 330377313 798134511 276790065 744169097 561277775 371385097 388208433 391992815 852230257 930637655 258424285 567927613 830868981 823874385 812340227 302032687 842929553 605757751 430907521 568421833 4675973 74499859 608887605 376005975 394040211 183690677 892353037 927251821 915863565 620354995 169061371 266444265 732544199 925362289 947457527 196860909 42301473 85953299 992260099 827270375 639254017 341689739 185852973 217598345 486807251 676744083 694969219 366662353 949083281 9677225 417669411 150679301 57519543 118481431 336207659 259339949 158691915 741463533 883599305 260420513 372996827 229855745 351954479 616587769 726295423 961074677 862220181 791858975 679528147 788477233 479426623 722440379 605549825 55732709 320638581 997823937 905461427 743879179 495633805 414936945 866774561 269038177 905592541 502437965 134454281 152670575 312689355 694854943 157420209 553951369 551412159 34029055 598211817 146464963 604302123 706453831 594721031 644365823 471405707 678278301 99481575 98607077 591870049 236183531 622518767 947319013 804820279 874730087 428924433 908685111 342344349 402333069 637854913 811994589 927303729 660851745 169350395 2891165 597923985 209131309 921793867 634730505 471958637 226214155 752198841 720595065 552828273 233698385 980447711 88065291 251796827 814913255 516477913 830500779 303932141 865599223 132813137 302700295 231875825 303562745 6294897 90771863 358611255 686197669 73927921 639336093 450940829 598769921 739209487 784164127 411425537 691098457 731438227 267000047 775393363 17856833 1229001 443276195 211591039 223935383 198847623 615089567 516726915 961194109 355044653 312229639 207436897 285092449 504081313 58578639 857978915 820876535 995212113 876143021 410208729 737352249 593834289 771594017 605719969 126821741 44815555 969447541 83498651 75421729 239533835 537300407 95287281 380251943 980658073 178949315 434666453 382870939 56828801 910580789 917651587 122510817 99523169 186664567 778964797 212374183 238994787 855850683 231472461 961548257 393657393 910276085 281854211 658539467 922206211 826576875 574877885 849727975 967939225 587031583 81371 648425989 106465589 858068711 101078471 221698871 792900009 898702935 635179765 738885849 912984907 580747601 344622557 169380753 545586167 470559357 426505219 900547657 128922901 848092491 490604271 539428663 72642705 197811955 777685303 594415831 435546597 865378679 98749811 780949741 809742093 269077663 837148997 964691333 774177167 522445561 862704215 373186035 587535227 616592607 996629851 295893973 458996325 523149681 586640143 774178317 541386347 228907413 704278321 691684809 451909431 185570047 478380939 793314171 798904051 106658087 304991987 689302497 342264151 852422729 867268161 628612353 110872227 898242675 664337751 782962467 138984091 367535729 473430047 465621469 341138317 32499419 160907147 162192653 49140047 155926293 13094041 710615511 577723969 640050243 70177095 539925923 69107785 623653977 890560415 370237739 565231573 297663757 705333431 620694889 377327835 310437601 993801639 490607263 318453209 727633435 7279249 310582109 398230741 497033675 827559839 475325811 296681055 175875789 649613317 607361283 980359819 49290429 112373499 828748139 140218359 533767 832116421 765126235 661921485 465097175 402556333 90613959 635138487 868541225 278461699 433496555 505071855 178515899 488107045 418913867 363932975 877687831 284199795 391572147 121118401 896282507 111597399 221323575 353495665 862709555 923867973 349005363 493938327 13164779 405629621 324330317 29228047 423565917 253163051 665446513 516902721 461023225 326024753 998694609 432999707 432396793 43704921 445317611 81155091 880168283 940163645 495528067 323160359 393751785 225867903 209334181 115563229 894577201 791064521 410392485 366859845 35883661 774614991 289967905 503909363 819054109 84801609 675544059 880728327 29767369 218599419 772330593 783981093 92741441 355829167 480539591 88277117 634328061 214007607 581152231 415548103 579397183 40439405 297368007 794163773 924954893 693020211 495818933 520999849 630480441 542741363 556470593 497908823 912378203 781331489 715582539 38921503 27358931 94197813 812937719 488356701 598314697 353104051 191961263 872385019 741208109 957267109 795953193 245205089 986821047 206029341 795421791 286431115 859773671 317952309 421431961 305943285 162614023 507612431 553913951 672226727 553289767 381302485 613514889 382440237 145886239 414898363 769675315 282186909 181690765 240964857 223974333 354416535 736602845 224410325 849074649 927016255 980891965 202526099 322984567 917665095 287818659 765609867 221645269 201569505 199544277 888607509 860213111 145478607 165395799 388624275 787187497 493821269 558741113 40786545 983512063 911979841 902600535 612913695 73933653 701808363 873294541 316719895 452582353 848003631 330430853 403247325 610270303 775142005 977306353 957840123 520130353 928857003 638112325 146573827 190442181 61954887 661870983 691927695 436479201 538450247 151433337 163249729 231757709 445325619 870415281 643852483 314143263 713235733 173572483 5192905 791717429 830405769 614789393 56502029 35885233 150124969 597059907 885144399 68671169 364492827 50234825 620529499 183772889 905991697 105557021 478442499 400291251 854334269 639298173 380982817 559513943 745607649 23558897 364051863 885079053 843359169 436651083 489414735 932810605 456721195 990316835 109142845 788273489 527110647 957930713 540577115 153495263 630858371 370592917 351329449 374659969 826559155 175817287 174489907 817435629 980284663 583681959 933188107 887331615 335052101 183016247 478667339 467977049 983168027 457894205 128616469 18778411 256920961 629070027 43361173 553923687 117175809 589202105 653790715 416148779 335076791 125991589 224804481 653734105 414531901 619324923 90977131 451692829 36431545 905614057 350235395 531608301 60933853 398666087 952240283 713753477 310388701 689201717 749110669 527878505 88918133 741507039 997664315 238968677 250730735 992315311 838892817 877732239 363528729 963930819 566050175 862186559 575656007 399997687 961615105 930997535 145860695 189389815 410962967 847236629 767362737 627332655 188094285 420802139 316080195 815122907 6187573 608874345 263162757 907706361 180110441 975882245 693010289 452174163 75027083 436333885 40853647 562637177 353649991 192171361 618362351 161597377 743092301 883850513 565203495 542000717 249411415 894736433 54682707 770452741 759068971 99213035 169267483 629735067 887602831 594155187 955379627 732566915 749481303 935927625 380897981 156841729 998704477 315809199 905152397 183333405 754344323 37475119 586616545 863778469 530999989 703221345 957357063 336499251 221493475 629551135 757455319 22532391 324960775 816695439 93884335 643256745 352770855 805081627 961561203 369389737 443003721 864024185 382238611 903762657 870515329 506095525 744008709 854838223 871749865 220721891 303409481 885196475 950454691 986009023 436377697 730254263 317625819 199130381 48863 614153883 998695361 321630187 493028825 132341255 982528913 597254843 914645227 181022817 903541387 469764649 215045949 883266781 222392315 773577261 527156859 499523697 797100595 252723967 723093471 432130783 251107213 743533093 111912229 29892525 325649261 151807339 961035667 1625901 26032953 548593127 106635001 935114615 999420775 865804529 949880491 410804073 276408945 425887539 461743751 470466991 703904727 443949973 513735671 31389109 650529575 117567051 346763493 297822903 525456623 895612373 96592585 653710005 65625547 267292147 30877601 872127861 90796381 84911797 307365621 343655303 399695185 744912747 143089361 599300423 670837335 847461813 333885133 565743057 28518187 95702647 200086277 930692111 944686989 23300315 614999841 615966643 400785737 709601111 280676687 866877491 47288115 27419303 640001347 322299855 233258017 192136397 153995071 155175057 201468919 122274841 283840263 446385991 116266657 724753949 203750635 472562827 818193167 579521205 669625535 314915261 202202173 643701511 151091427 425610757 559823915 425032831 452607803 423090005 986687719 924003279 439003193 186300257 696408447 775826933 41682895 689312429 107787535 270654773 316966525 240752513 769204665 872314395 593251403 792845035 873815977 442431099 638534597 296032197 236482575 677500531 868342019 54545327 600863783 496615269 927299745 423682577 282401843 678020351 47269575 174933275 264512123 229875251 387922979 630114501 127474259 519045183 582459627 838338513 987929877 703666601 855224285 93411525 818329381 983004473 756807487 375643379 443921643 478665991 675218911 16201587 841317337 989885291 462369815 39464995 400548203 330193935 369855679 937380527 433113121 210393819 439152195 508182917 844612743 145148677 520070541 386060509 563192881 250615303 321673495 947246521 783092405 512974505 315221979 53690079 487221943 794248691 59319395 859792863 806995171 624357437 246585275 433810453 707645163 290687521 951486587 62808989 256512133 134590853 152850879 105044067 263732857 437144723 969322031 168487187 262626701 271090369 658125049 170137641 521772437 744143307 317622995 630734565 994920045 470211765 577916155 161150027 773086963 768208075 401882679 296293937 644680725 389922977 583465431 261906475 349476805 931416853 165561007 615953563 639989241 375263303 431969311 681116075 595831225 358890665 600350987 378749511 283235339 875452907 35327205 435915563 743554821 317005835 262852767 431387605 832283325 278562895 383275451 956769677 985391705 470399551 28030269 605527143 17798399 978932913 679132339 788554295 992700647 903653571 143595317 349179295 933596231 457259223 746191455 486328583 235665505 701135771 67865945 533134239 350655619 187302147 228681681 178567263 930516219 75536713 813044477 653635337 351605285 829448691 23495835 16863525 151101285 799066319 544233459 962115841 495992867 6559983 165882063 240408759 860835025 430416815 486098059 399428389 594254315 975608755 728816895 867813623 840963315 741107177 295783831 244785563 811060593 779210373 681206847 184231497 841606139 648606723 994235499 506234115 173834535 157950501 154945565 613882255 295158939 398317307 718357209 676332671 377409535 194815447 538065581 968193579 768417285 738639957 432422193 623783857 353149289 251026267 98659457 580442621 75492333 996898837 170934341 839763133 93710681 233872629 895459499 623163241 691823233 325243577 492545897 472819777 723300929 618154853 733627069 663410511 918023801 276474693 220875887 410256227 978011411 429648877 187451595 481549587 109395201 50328379 903375783 204737475 478069055 569138769 529850723 576549527 349313999 365844635 371373029 245980033 783631033 735407825 441165209 661847099 919716627 614367723 349720185 355860803 615076339 476714031 258275583 442206435 886286719 529862699 789092149 108266539 750951903 536637359 277683113 820407793 448390725 136889051 701189743 34299351 311126509 967472401 485141541 977648453 330079001 691032575 254595827 576629355 643961873 185204377 783866759 403835715 182421547 702986779 282093081 829205643 933881533 979736839 762173283 265839309 649885741 539926573 322065837 814299479 915429091 718911901 409626055 832084291 478965331 117481401 478938629 980615793 81867765 992312863 13402951 122704521 294303819 834287809 659625971 168865275 36323811 404244173 671606519 480774911 397658699 189775301 217350345 138247831 922171169 737241195 27896421 807826825 701568261 256829899 405809237 222402919 417277601 191254073 474737575 614068617 345523623 914818131 101063919 661056015 235887059 267546105 303642443 921565407 968278503 907049309 78764387 257607853 373434541 928373743 380552807 337030127 676392437 829817709 455600905 5299175 377419677 768956635 742161033 65595803 934811781 509278087 83390895 422575837 107706263 579745793 741643207 79441731 801648837 15239465 545630119 517797681 978574859 912868641 85377199 482003659 479553643 687140951 559092677 813266693 252925679 240754301 575012439 877951125 625152423 137407891 261602649 249301755 761434801 457623257 725633101 331931521 833925933 936177117 544049719 402235447 181120069 953880949 988790439 719351539 511805485 861249211 912022193 892525143 231943965 938784277 17844211 343881931 169496665 529961005 553649047 816643457 514957097 339062007 591333703 203727725 78621667 543870131 868828219 140430421 687134429 307358435 110637105 807225275 571650941 805051217 683303537 422042101 988094251 178013461 851348167 378426135 238913627 512172939 302113417 81814019 28634501 728079187 742685593 206498657 422149165 731026271 245047127 846258337 78672861 513570783 319007159 380284155 21131557 38635345 91891757 620902513 238742691 415475065 469775543 275337419 989264375 945826915 679358683 357698199 461145803 402623331 223220393 199243823 448550355 930014743 531489205 91254963 559118279 59917153 404826141 971720969 487059051 491388525 103190923 323126501 610838409 848075187 224246313 622364095 912197105 716926443 368891311 648417235 427553409 900348699 425678429 763159343 442895129 719881103 956371445 64609951 556806051 204882141 804903113 976517819 392857363 286402271 468882095 420590823 595829857 920039609 532201987 550896199 860683153 70183385 691261613 408733903 599405229 377912563 689355547 282570805 715578565 321418497 224979779 446204155 731159287 454576203 597628323 785322855 325363043 831195481 288414785 560905353 393069107 733118467 935764395 969011517 877773979 268644451 666942459 438788383 662113235 596276191 858249673 680801179 746468383 37482529 13437249 468846813 264394697 77153823 508753677 816306401 333270563 179788565 54384997 499661925 713134213 351614341 360165641 638885875 293319509 306567743 612996669 172175577 450105085 553922389 669458383 298912307 335781611 869931813 712836629 78797277 752826527 879496529 531247089 497344897 217221271 927286213 659529669 61865871 532046687 461067703 28271745 740685889 158220935 725287587 894630041 273711765 467633581 839270221 433875215 791759701 435373937 208237251 787338857 602675727 788161661 707119957 88573361 719445021 682627717 42194851 556518787 362364831 483974979 666827663 547825399 782671485 936398711 32108359 104502457 252005223 252102123 262662205 818033139 638640341 956661877 26350127 547203423 579450377 121584877 217755171 470147639 580547593 852060213 782802273 749583173 253022887 139823415 265441921 981143509 375222139 241214439 386888285 344584383 945051877 557243967 413890329 950259551 310791949 658240319 564563235 11888797 429827811 225291249 871229999 685221863 369115423 640749163 56769081 962802227 193861953 899348677 881236611 73119487 169592979 794724385 902710941 415775571 338711333 6171051 265981273 230612153 771701967 447692177 18731987 717528653 30024751 454377491 957936753 340433319 340833713 140978799 62973405 871959539 153868931 91003889 283387917 967023323 178741149 110842091 162040637 562072473 993262271 253120437 936737521 225653737 328383859 422347703 176901877 340628751 717292039 487831125 923061341 186832095 94460055 395408901 147154055 101867177 45625855 384966463 630549525 789694033 785815785 634921863 62437875 358480697 999523015 181821031 119506521 379473745 565229775 657241201 544672191 249950735 864697089 709445695 395431403 649930097 668998949 223970163 252477161 884753661 521507279 153951673 87250447 965650627 176522067 580167617 126813431 969117785 136162515 1028165 180195461 650178521 145202487 37909257 829165031 605017839 233735727 892665815 604875665 405029831 316742965 275798401 907383869 757492757 110520967 29747937 900882929 203299355 274656301 832753113 603881211 476519837 822551289 732546645 178944749 416756969 170461059 36235589 922438563 788383703 441462571 231202723 444732993 74803395 321740057 192362355 863722039 10922903 412606269 855909567 966960693 258909885 815481167 494783129 747384119 515509805 577941457 975503387 372935557 909261413 137229577 239294823 975279017 228516203 891416073 727299753 898667383 785130959 776052649 430177041 648981259 53013927 507210119 809438169 174549963 959371149 316901647 240811335 854400867 109698477 315514479 451228065 505171653 546023603 329222559 214149691 753424687 426663635 383285089 38502511 93565221 324080847 46118971 677108383 730430835 127996139 367733629 771033397 448974381 750305783 388715075 985979813 813171633 5115461 773609065 148350825 403459489 152798393 17597851 773201665 39762411 202027957 53091909 268143353 710608833 460522025 11526307 432987363 36811427 189219467 593199539 258477145 210949969 7069147 55893567 713307645 623795417 954949787 528034263 270863995 136299921 7363549 731204561 10929027 728029715 452218421 357507663 326177489 385429571 718909125 197133113 590361381 593156175 346769453 311998273 756585291 341857195 979322273 675639515 353897237 628762643 48052693 328858955 250722909 955216521 106233349 722850201 906014213 180530781 623179515 672734611 340442361 9840161 12737029 640191699 799645481 971678897 950942711 408507321 340075153 672017971 535640111 97946221 605161009 595399953 954822039 782579679 821100821 298585345 773334425 304181961 85454159 763872255 360648493 315498665 994487545 874037071 250674129 625995463 354197813 889713277 256265869 447735605 968766255 857513565 559180013 957391819 119908119 242936331 583611911 23641897 105123625 9937901 629136765 439479221 952781477 347884207 145883247 522024099 501541591 925410883 979757713 953833195 135560721 434707687 865740567 237904969 631635119 377988127 935276991 942254665 776311823 752157113 600945615 109668155 548380575 132280517 680349973 107920695 977761743 440187043 642363625 573360411 378012953 439581173 410207529 210025875 683653379 905947561 506234169 904789517 204522259 495634931 885236491 861864385 871662557 876230477 621099537 329113775 704263675 134040959 919627 895151265 878139153 862610577 980448065 268719653 355726533 399107547 845839103 320149911 90401741 845699319 77038363 552941587 993154787 180533449 790273975 916847235 22580681 992191617 853437045 264157337 226214471 426503821 197712771 874482635 676339505 500333487 730438811 37437017 583355233 752513001 532895225 683728973 502843065 71167367 9484643 561819765 602111781 869647901 424678185 762983787 764873621 755269511 46735135 381806735 517009669 973231339 88212901 66483465 561236343 970935219 74573471 403356363 483361523 279688341 787709053 513311625 625666701 700835981 942552887 533820871 855249247 20890079 679769927 260843469 849069965 862823703 808794807 176433833 718776637 580732939 551642643 899156789 889477031 453429459 448153457 695125777 306454527 241988311 314125171 846910373 521185933 48965059 432674875 275392801 826077079 560454795 381409399 959293821 646931057 48343145 159190113 408998267 693053047 381669859 421025973 967736225 378753543 918586311 887954363 236312897 740839823 420458533 501265469 669824883 722087039 582768989 258928277 131079701 681629267 116964625 797779873 364717267 90101131 911339823 752648647 515262491 158724277 366205675 143161331 334304293 6847327 673125313 980851357 561673715 590803237 993227379 944840389 487057483 448295595 367705617 961019119 460854461 554088089 952963309 71775273 697232549 91553441 678064547 855976713 2405919 143972479 567067161 442257073 868996375 429598963 293929593 167900099 122793529 13036747 504450617 477010799 663077377 406009813 711261973 286965355 463634863 705637357 38952465 238871541 797127239 965085687 285518967 988114131 842538911 705824987 926883041 611421269 901345099 36278923 985718309 285643087 635318701 389399811 83269227 83031841 848702703 699918659 734937119 497290927 18959357 109189209 623715059 347994475 613974931 331541075 588992229 612981319 120239919 252417869 390100281 456874693 541048857 108172907 67426171 132669927 268900965 652011221 239946881 741061441 622062567 256902845 479367523 535618531 180872513 846026847 320991883 609949553 557267675 407298299 31720097 611821837 252378597 257643487 901244825 677509223 532328281 568521561 346229169 967653045 595851507 894105543 271654511 326606773 625131585 963697287 607932827 361932973 546766735 240275719 897548365 641697133 614904055 102567353 607908319 373932361 352784729 889192211 402597111 5735457 937889627 550394013 680775807 689848667 466137201 771363293 271556269 591414499 929922003 513474409 462643195 940771379 621498237 47779799 338255921 851192133 267429691 189209293 251622745 596121507 353837469 765136371 357280967 275730267 254562043 223671291 211688983 479279103 729317491 546999201 309371951 342327731 588338929 24896167 133605945 96609817 202817059 457151189 836630187 85649249 359554945 527014145 971181121 762694977 311340875 857146881 267762943 433491447 602190219 945574843 923999537 305923403 906200849 301267991 996103277 935707527 408844403 441531911 369949835 942247047 581909 204970119 835446451 295729829 439214619 781999001 796509777 997055431 401444215 689213253 13121559 346636895 763818723 834253473 392603397 989966945 363281117 564837571 38137691 58948169 533459887 212719569 873351079 272674849 837612137 319418867 296980927 34423927 532887521 347799131 388431805 604753245 42348985 213946437 61118213 61003127 195979609 852190195 879396165 505622247 372905201 808436143 493324145 634160733 439149691 641230537 690222275 894457871 731125941 995284127 961198019 270214333 738435113 702220175 739213625 428104873 676860453 269188615 464907581 623540901 905849283 724000633 335279657 541071109 801490147 693271901 501702563 930384041 696642861 884547127 452816277 881197559 806376721 856414351 782244661 992520669 465947847 373078523 284892159 920911567 458545489 919218193 938415287 107750351 987486581 330942327 715464807 901949793 148278469 65051861 652710761 246954643 980306585 43314655 359150163 477718525 168830737 518632013 95476493 178150589 356807187 200652513 156070339 503937399 714615891 356441193 777740775 374767963 702754887 820578997 749425463 474990369 179168049 635963805 617296055 787977219 321353239 76392455 49941427 592337609 558730443 339523803 640337599 644421315 621073635 748522509 705708729 244359367 47472323 565428629 442019779 917137457 224852623 381205111 118672971 561636329 23412027 606457275 319645701 222194523 23566205 878775159 281850091 119611265 979776725 736837569 243139651 631825879 265357 38164927 196369307 302893411 156248757 607722137 596368325 677227955 587154211 193972867 434639837 642920927 854744697 786997685 788033607 432831877 687306527 383200115 752812977 277830089 311668807 447991045 775931407 669908061 795264231 603146945 642071965 545873011 654257855 408156415 288750045 721801163 820956503 133625633 232640671 625547693 399530243 431928977 289997045 43868133 176725463 723464129 396979771 809004489 868038837 837923117 337096983 872069945 434536005 985834583 208401011 235414427 684391927 862493385 406826117 865999069 93842181 199508757 835127753 877846133 633962347 524250067 44983811 22450785 704810231 420568745 844925247 4451879 687474229 957054271 472605907 142448085 970299775 573044809 51543127 272035075 969892853 591558783 315938483 487641551 546057343 766095269 125478163 976536541 662514379 649012613 938039785 104813407 510562391 667993841 155414003 911972871 210640733 100211905 340840247 187172373 555717611 301494491 776073725 520257873 243601613 592829735 487760859 687833607 967114395 47424665 743867055 586032143 443054265 93841961 221815197 563208133 417951819 635929563 26886159 176470801 574403397 488721337 964045497 849645665 560099677 274432725 872065179 314290601 129041685 97475655 283752437 468687211 689442995 336784437 447865175 865429933 700987719 689977545 664836243 424313081 246065581 554442545 400008133 37820777 224160129 580371629 592310865 660920219 963892271 847072121 553043941 452618165 567428067 736183269 294121333 135371875 816311961 103959361 843803709 549182429 79207183 112787687 668140737 274562787 348580815 839731001 69873101 465399735 564565545 483613857 968174453 131721517 884839731 69800595 767210005 620703125 890718927 391058055 240664403 567423441 195758245 881041665 174305051 398563911 348041509 650811531 223964319 127737829 239043209 802636983 182342493 405325601 258944975 435955485 358978073 508840185 893925313 179343971 942912991 756377077 664391149 679039283 846083 599313183 967648173 712377659 427387427 311515921 13319457 667513915 824610593 248015081 985358385 299086577 243739691 951998285 914063245 809083433 500905653 930031977 40533933 100938163 878398073 115474421 605801427 537862509 578601085 157682737 409805573 714030135 297660943 646042337 971660053 194184957 924057023 600872275 516408731 990817709 67919981 793904735 882290423 126111303 513749565 624831329 92500305 865390537 771869593 782487361 854569881 56713535 967313463 590715757 384012935 295048379 62827537 674187995 799725467 609697365 148682863 19980553 574880801 594843443 926826203 469895421 459025443 725202047 490147367 839346759 749764991 454158441 234813813 635965435 162408145 845751083 297177891 270681529 137595525 767919625 689445347 955867303 52938697 719910989 426391973 820605553 247095189 260864585 957466791 543647825 755363753 510123095 79542893 954349057 716704655 692252121 354269379 643867851 407133077 30640697 770966205 952085115 918751703 212917739 983434679 333205609 727122737 472073577 201628759 336978547 710182477 278222899 738785673 70730749 264248989 897090005 11086207 689853687 762760535 674976479 492993209 393501399 184533115 453362159 902498039 68887963 833150929 714825383 658207303 770414793 525261805 296082093 4976125 793233009 2992931 108241591 542178743 945340455 163522709 624401277 578902105 568147467 772685099 325105347 361753355 838468035 531777173 31990867 675079751 734107515 730813005 948211967 17517255 998599405 409090193 157323169 435141773 628642389 776870761 788312603 260391913 99207545 759189415 157995097 552811627 202748583 12785123 341444427 933079539 971435447 88929149 840514539 472860581 258794757 106698653 133340223 897493227 755461241 153375283 165339211 420106875 293877377 441227511 518033703 830092113 625126163 800774251 142708715 937725873 763881135 136900309 235679931 26825765 65266519 689343815 918625213 152323717 635599773 683169945 806188583 75670253 24978837 191567977 542515507 988200127 478112223 47247907 67589409 389067687 322149025 564383733 985197117 444936859 849653897 743643095 940865497 434938071 291087819 527799435 431025487 898640607 569477417 283299991 752149249 19551615 709602535 529701195 779846491 107347149 132624339 700702147 195254733 695026465 919019589 131073499 482047441 277506597 228003611 829656895 120485355 56580031 339531961 589320283 570028197 525792553 981336591 40302955 283904913 676049883 661036947 153478509 329960009 137456795 603191875 28841771 59592561 96036983 735869095 437333557 728438191 33263551 29293003 403547617 63361209 239734035 772393541 737941585 137312329 879012951 876596533 574204269 17761055 49583029 374383937 551976423 500538887 412368547 13113239 578831411 449771219 123088603 636173035 730503061 756587357 21559653 383068287 12298517 309641865 41790345 242540311 378752129 389110077 573325791 384836611 310750067 235545967 538647361 244604439 62889035 487015193 214024661 576691377 632642353 26019131 480898053 837611707 487942421 462925537 510748551 492295071 101385905 156127261 622966871 842014293 461944707 720248073 451699129 787187803 151023315 946304201 789806393 698222777 392140467 231240835 593450411 994395387 391175419 149271149 177124397 159682103 958020683 627302081 585139489 499203085 411409673 695998143 849411379 999349667 363157609 596937141 368027227 435293863 689091939 520649713 398304977 975364175 816623539 684920783 666433051 821312089 976037093 292840625 941272069 764211723 791460681 579796995 233292197 445470003 853100791 130250293 474359379 804328233 214792397 915718595 994247353 221483979 210443127 382905901 803645887 346604669 417215587 692069631 104830361 127031599 241601737 522131659 37433031 91913049 366965929 114476587 907102985 558595829 782109133 992265411 767753327 101984141 868878019 843159611 526165065 580187437 963929575 567621445 810528823 701517675 936070229 719815323 728559389 101470823 625161977 848980483 65888293 849635271 214983039 266268483 741155781 244287929 661066595 283841327 924233913 75834355 814882019 952543393 814337283 615543475 181877769 862697853 180243187 72238015 171169699 725000619 591709211 84447079 486954571 90358301 45203033 964996479 303191905 29298637 189770957 584667237 745369101 652156097 763719913 956845571 295416385 40520959 418898269 307421891 850214833 435208603 437253415 505270429 462972641 589876143 321097867 932940817 829915161 231182175 231792149 753268003 129846887 661217491 847871897 75828833 504085669 218786109 81600821 896913889 130020467 934388697 850992203 19369539 957024569 691384551 895876745 984681389 123764519 158263987 407116001 124293837 659215413 605179025 49043601 382250969 77375269 322245591 430009887 193684879 684274301 417250537 765981779 103409717 137493391 780525107 200561989 986200219 642617715 23360805 466108239 81110805 318469127 660086075 475775509 274298499 811534583 463633655 551075717 31183689 42884273 689215201 903326931 128395353 152228717 454288013 137183097 318753317 917892141 339784087 246226495 500048815 230110135 336103069 990970413 864936313 290592155 763506253 465626011 119498391 885907765 667731031 333359907 490233241 709915809 691703927 413696171 841260961 198426571 657410413 178055261 294469463 435438431 888832007 211731887 226811363 543994329 437374995 80607837 236494849 193783417 753720685 6042987 33758445 933146179 233455353 766103077 407702895 661683469 722750367 312356127 891062993 1100395 424243025 926191927 318698479 746823359 392156683 189394063 294887969 262839859 984630989 331958675 407513683 381750195 354454693 242012153 826813423 417292795 225522081 312878015 232418799 774208137 435096543 937692197 293065677 100544679 738835069 966849209 164850835 865334883 501208233 701416527 429720013 610127255 477324947 98757125 571289235 90057955 655049335 700512829 526076547 18392239 719916951 292062629 616812225 105537067 221500731 187996209 842602749 7221329 779417529 899989531 19051629 690444509 243344743 820879081 722698959 397637981 818575275 372510313 925681513 400827421 711998955 438486957 225054731 656596279 642518175 37435409 124190729 559794571 902792765 563607609 788649795 926020543 553553479 483686163 737224479 759182151 691396683 337993939 33440137 371341147 211485911 429722101 570068475 398876151 13861513 58458683 280548975 876617447 890601215 489424821 199945327 423870139 868058599 656490933 767772167 308972491 637166579 864252377 145766095 986044213 510734809 384386817 475418853 776207333 271490913 111869535 820267501 221406601 547459667 30974051 860645911 624864153 668219263 781370315 309366041 12964949 517225921 113341083 507810609 513465799 228427517 520016159 821364773 824176831 521363227 44414187 379851845 474781651 257714957 487682525 76253031 727443559 983019471 783045399 724651493 247620511 937915235 433540101 978178475 732797805 953076691 18556255 633810213 536816011 392377391 385105949 428790343 65793657 683879829 273770629 56504723 857593979 593576995 513835301 743964429 575064743 321162247 160826829 414716739 153907665 694700147 185866909 387189325 901721499 558712479 702783223 284737737 809540973 655702733 701840521 423997659 400908151 236946251 32211527 449133363 246703539 617369447 903105389 216140295 72538335 247911039 437918845 747569685 67442565 590488819 359471687 992394661 929410291 76998957 503920861 255206787 895556675 416588447 957859995 274561029 225063253 316245189 208842021 861223435 319666129 736940065 989952619 204365307 78029863 351720253 832830365 936733889 693746319 387207593 126160951 1993943 252959755 140439299 978579713 170685753 1197409 620399081 383937797 820125293 452923939 492118793 924448407 415219073 489317289 455527957 956216917 45551885 632441363 312235205 673506849 472881711 708391751 586895837 182740007 749086091 545719289 939418149 48170461 667181137 689382559 941407091 726223615 818211639 603357307 189751709 880588433 481156989 632330387 693628809 484398049 699820517 628046009 920091167 305894783 198143937 341671555 823881043 117525579 372387303 367376981 281890077 6296679 256126387 435022931 930892929 181398593 285126155 362445681 819307655 704792971 388434529 417916005 454486853 414223941 106766249 248158895 89560275 952317359 269983073 990571929 815505489 169519447 151032975 594647859 727316207 256701971 437528769 838330195 155815129 657371389 229854479 222331547 900457549 159540347 482433303 971985779 990853773 846897463 327163389 848045325 953902819 923917605 693585777 641576543 502209951 509732997 25420459 385345321 455863071 464425689 330615141 155335923 708272835 267310061 949611753 599397393 337082357 229745875 14808835 851523735 965941545 89846509 846647561 736921959 923820759 28954843 905373915 982640425 821513859 671047049 738758623 721375053 27222965 202074413 929073155 437388557 581163779 811347523 307187389 294252133 96813317 713293967 28583945 558555939 825223517 610631197 908082035 693045715 97654709 918086209 541844227 860091087 730210495 900258457 346414163 739923767 617767225 426526215 622268289 673825267 106140383 963961271 553405489 995275443 210720641 888813089 79682195 482684655 453258223 85010429 798329439 421699303 869510403 426564945 269213135 889506471 956891805 443424361 182694573 398825723 180489389 680842459 799084869 137083515 36983327 677343873 337236847 646902411 891671539 274548863 226286471 823926863 384291877 922253379 139368309 763967419 608985797 727677057 947007397 35107973 925628131 495091763 904740881 913450287 219229081 596825505 828083509 614897663 610062601 905266003 33604375 623097349 920764765 249593121 704655943 683071517 614587849 406037797 462301401 22417379 564732805 506203845 425854829 26970307 554963157 777334187 736308775 947385065 130227715 722889933 37465529 35244113 916733535 652517735 280577109 604825529 946719559 760617979 265406653 913822635 206023963 518047577 835446579 561742199 367907909 576367507 295143049 258867763 793039929 288150791 429569813 557966273 31465071 520807767 457079731 428115401 816909163 313724527 471268043 819137211 589078455 129558917 677492555 167076561 325753061 665025045 396379561 255687945 965582479 128595685 839511267 510276141 951869271 32393981 612456831 9711051 651113959 246583987 65579149 202229565 774732787 425002661 3527329 792969891 317939507 883433653 663989979 509479909 901542507 148133649 667222495 490517939 485809253 341449515 102514399 341445253 257465075 727022787 207504013 810416541 183160815 65491673 700502059 115808769 915232827 682022075 951405693 849553283 984239809 919988991 647730897 540147643 862062453 700477055 934552061 693814025 976233039 270678367 917872995 666854805 412159571 766290957 77211621 89892943 462847115 132473405 413362931 906245103 272467721 638039019 69046147 82121205 306116583 291689561 12854035 232806829 727773255 529715479 769040553 700501793 190104403 423908087 351043029 984179759 39653695 391352597 248022955 174764403 561899075 551110103 172529099 112131929 736263587 62346727 283272027 194257679 542258345 302216507 243130887 679767949 751878055 173549583 287665415 84031635 589655287 600301031 519972891 557982635 639708155 775022735 701362823 95465763 283266591 309902107 852087833 804743447 582812113 569764073 868177961 586630243 97262481 308919963 770015891 342452657 336589021 917436703 850112191 130366067 750083905 997879975 955834523 90373087 767612751 623625649 476702109 591969781 74256289 351310337 227485125 363538557 800294361 627789219 251896469 952371723 706889633 521889773 973505567 643567859 899185069 577078905 613761015 97861207 459399351 466102315 556598333 611481887 712513663 566126129 965405847 616283899 167928529 569803519 181601073 819964773 528427647 862150991 224605637 426649755 47461475 758385449 715626637 972959909 417803871 585729237 593155923 459469909 835065949 1892843 374691941 760662595 527078225 552887877 893295509 563150287 43502133 365914889 28824903 239775777 761611017 287678881 812499805 631363881 263835097 615008451 105709639 425143455 477382071 588995945 222867963 986911493 217340861 71485915 493807863 991548577 215973389 987383459 192144707 557838469 648985809 294006677 721490283 986587529 187111741 990222029 90595717 924731725 130658443 835250609 958959153 235798839 890805499 291020781 550244757 18635131 964962009 281063027 904362589 218679311 698714487 524876929 424970435 580222389 794341935 224650395 93969283 1249011 334545251 472572813 33051875 95162649 919574911 965138283 834258865 837754179 510289395 874678931 999717957 180399949 512052281 256047271 382274939 465586403 785864919 385807765 498034109 154708081 9545811 699489935 183469557 551126067 308767809 596290837 51687579 607335719 156161083 239412199 823161517 591111703 607973091 822791699 263838899 49691283 323854565 658206191 791285689 839597041 50490865 98934293 631700565 994802771 586495425 699961961 910951335 722991009 746726681 868627225 892351061 752234125 48817347 891616665 154096525 823961995 228628627 229790629 941953539 403161055 479476319 80807487 408558841 353730705 122174731 152301751 356558643 754543983 66883457 380323743 203385343 801543187 61629879 33021907 6240821 849454813 461858721 430047097 742456115 551656949 933333061 704434939 212512733 269488203 269211823 429166607 520479139 59526809 535888621 506793649 306881405 698933341 615701275 251823141 258633445 425188575 86185051 999809527 935936741 888458801 977916889 697591547 807832329 561412139 120282053 978009165 902082663 351531885 396391513 33299539 482922143 833785949 62821083 119295417 691070679 623337519 961589905 771263089 77587645 943401435 317736911 358441145 22502789 886086429 529911023 920539671 409780465 580022657 8082259 165847123 928527429 583494999 725295719 292640899 986091857 479418551 564192923 775440901 968380777 713496703 399709291 113368955 175731821 821219675 215166295 945737683 194225601 98380473 708394219 876818753 988117333 56582097 214641083 368468031 903193759 516698787 557422685 561006229 726002079 842585337 426822773 508863563 112009687 744505699 88574895 230841529 234236249 41866807 872659131 562626425 591692731 706054807 681025621 213998959 85729561 137283437 458957373 144080331 324287771 140368485 839278655 479162107 769030639 647612667 31192877 140131777 742242635 647820141 615537635 374731807 865733485 801930693 407854655 61003361 824151579 77274833 74883631 547971099 701764003 717017387 6507683 472461609 891625949 613235763 414058647 319815857 965802279 814781201 480183307 297530397 252777319 323471799 289539851 19001379 710140169 511932889 788383403 968302015 237587973 91519995 848211969 269323061 382998235 892675173 125209393 383119123 851643789 17238053 613169767 693279529 273039021 906469397 48799443 786730901 754761297 35605973 772185009 192847807 851367701 949264077 923584833 873186125 588788513 496527149 735172049 700017977 369244963 246378733 798741167 167225531 72437585 249732815 904963383 438756441 142576233 551103321 806344653 2011873 269844145 507222493 907668695 769470563 744246009 752825203 583085005 896251711 140949397 309642233 774686755 879338775 339892581 426375963 425481825 617719769 883365069 9738567 770985741 110293689 771680447 430142133 954828731 200882995 699413933 145273447 851001863 285663753 862237847 502940963 404614287 693141067 250270725 278993529 152348673 937489483 616506627 70872005 416335885 706348197 969265705 316969763 222489199 229149503 742106771 785117311 593261033 190169155 638569705 158285957 178217283 298992423 286281305 715352497 106879569 441907623 382009241 83725635 102348527 297190599 105796071 272286783 735143419 261652947 102191115 116375163 16047203 532987743 962185551 594550667 54841879 54375495 231499917 523796435 763440915 31669937 182890275 596615543 357890649 102365961 643153399 62225257 338868977 898231041 162694261 549769315 459748591 612591255 829875095 397021667 656540783 620481295 569268951 250352435 826723983 601806837 579671871 480584801 217098365 902264351 657310811 878011207 968875115 316150951 239974723 792276101 618056335 204720625 862715795 496094851 514103857 687364779 168406643 309279857 395752087 588738247 267522961 859423561 329601047 832126085 928740899 65279687 739428103 617962853 630376935 441502841 96853709 838979893 141313573 452779179 986493649 831154443 269855401 803791223 108638597 595407425 269479625 638975933 145239397 661992317 247139429 941585955 572469747 197765033 905813729 773250589 576448695 20767995 914214447 368157411 143735365 428512237 515521473 288313969 743303481 481993799 575691161 732953747 383944497 350816787 269350715 247571929 203205083 787136165 920368821 343166107 967972841 55726489 807215007 85403639 837386259 950289365 510237717 276021977 71505947 292659331 652535233 687073519 272901583 52574745 877601997 651167153 516959229 135542611 258865905 400045919 996328835 930853429 411340395 310312451 843076159 505194251 939382017 257471597 937799199 60783467 969301251 803117875 530570773 854807341 412871749 228011449 897272089 848496505 962094375 865887523 215503661 88640955 929375119 173794149 625698399 9976997 793525227 235509811 368016829 745929527 455353391 598795283 628363877 622433201 967529693 999577927 648592503 495476385 397737465 855609573 958661661 397737437 770955793 838857153 313483401 404097407 178570557 528027517 162625783 752650475 84297241 705047425 571717545 564524495 5800655 18013693 993525991 722987807 792546313 103762667 78192647 766556693 67935743 20472073 541348959 170800441 813801327 560939233 247468117 587073363 992184993 60238785 393102929 948239483 278584927 89769155 633909189 241571083 481374981 429661639 721293359 116125865 346402157 910121589 894085131 942852927 467933183 474373949 857141737 38437379 381050791 2750551 899425111 562124401 833669855 941310661 586670579 461360973 148420259 589696845 3777629 291346851 519918457 946709889 5511999 141349319 307824239 392005817 382452299 275410005 919573533 303136021 769535293 796430131 170014623 737391739 602270935 977126541 274581407 572585887 770308579 304945621 986360135 448536311 340981297 870583497 162342223 130346949 53176223 304671853 665433333 52307727 123337485 924592653 718726913 993170087 358905701 853511231 753699007 343903779 80803993 372358619 477383429 161419751 353719461 362834697 107117363 425864215 95904395 818690613 442723887 135022503 681631573 385101075 714315623 525666637 976472851 428261277 461459921 339588233 104862179 353589019 386815209 516918949 764592869 639466261 82287547 742936497 11742019 63738979 472344015 298656131 62940975 365183007 892386367 692750525 239781607 943613613 304595625 635405255 691891111 666715323 557022257 471611859 596282559 862922813 445161607 460121559 132142207 422030703 158392033 590213011 649715007 616374739 415935743 617997455 266645605 355754297 723123747 788331295 718633305 609104051 519098399 780874583 423465615 278275485 67266121 708008985 685931647 665342109 431280253 80695821 941663405 876442781 52150819 16603299 338915491 411877845 124711721 381170965 74705137 76159675 774076163 761269599 447787061 583840537 629887923 915962191 68221455 241916665 19191997 634012529 639210025 262923697 189893681 269265951 390723895 485743833 908799907 973170297 470007793 667954009 102421811 265840487 62909979 196976221 853977221 993334425 314807165 115934807 626136009 761769351 147978989 817044485 154267831 394395251 359977283 762655597 66304393 96704355 186095201 923368663 945032201 281906985 89604657 141673945 998139011 310695515 163328423 238627409 231001805 455721053 724560315 864614755 966401863 983642197 393631857 789148793 451896791 902141489 711189457 816493127 652149995 491948973 42065649 344552397 794531449 234313033 632963305 242681163 212532479 437104459 114744283 316848977 217910915 912546499 817592817 167016881 539252629 965100685 813309535 101384327 890587721 809422917 312780893 488586551 251836735 765787991 369504815 954718577 579177115 94748143 690431007 183039523 958665485 100181513 577153919 620785807 590009037 944060003 783105959 99498807 2586261 813520263 573246717 358108391 999873199 541416133 166267883 439574963 594076647 709559091 753511391 159420407 283066005 968417459 163142745 911228249 560827797 52511469 648323031 4494277 776698191 103394897 981233891 720539757 563378353 534197529 846172947 842008783 582527025 863629891 48312831 691497391 827923661 911232153 416985161 395199001 954394891 679202217 781223067 57684067 765337595 32945357 268954281 595394341 448076337 132433445 237389867 449182791 658311885 996491673 209991141 145423861 120611443 562915801 49839777 699389859 363534421 573380445 977506353 374071563 338576165 336224103 781424239 415227187 933300773 941244671 133260349 406681449 388625943 958901747 190316677 239883325 670552143 609359323 797449019 577059471 433812893 961989403 452986455 261942915 944737125 218550233 436666077 430947971 79540873 629358853 643912151 774718021 572588153 160356695 796164951 795752387 556600363 326189135 794510199 898820165 328132893 348400953 193186649 195731285 887926869 277551135 282783271 716765127 447707491 521881311 358179861 393377463 833516891 893213205 851176285 20107915 713605597 762180653 266088767 668289517 700509197 785458261 301505287 502370515 26431901 374085509 179448069 905597305 985822143 996552061 619701655 939338595 442671157 438693319 996534813 646622813 409910339 600192177 740143107 331582331 531189175 250105943 732015545 773513753 419259881 952218005 531482553 814112477 69478581 980912917 2365831 416121523 394723715 837139017 737052845 592449997 742684225 227866727 424655293 54472363 722882149 366121839 524762449 666069261 96603117 629997865 54921483 810381569 359169121 882567721 23020183 42233819 113159629 438642883 842777763 360714041 879393735 400421401 338286575 777294335 918284399 342212371 995971129 922870103 416076137 688863073 807716685 995035061 985559783 46470781 846107133 991847897 91500701 566450341 914625827 466708931 448690375 485550561 677216929 781328835 130546991 16680195 533578849 602324841 212059681 127784611 275315031 463340693 481572725 638412321 105089661 321222763 120307081 414260389 125802451 468170325 335391809 181352991 791808869 279360777 356078093 902282823 225084485 126935427 397384419 990339487 915812749 452270087 115112257 806788205 90357087 430795551 923544367 672146883 120861159 712895651 523851577 251759737 97849941 378118831 900581749 383077935 971964899 465305253 279536771 649652299 721429717 325270065 89550473 864812801 53528949 824092233 34677299 261792839 813902101 88423465 50134459 347844831 97655567 652626517 866931675 456829263 6372295 685932441 375080157 313173735 525872035 143673355 930711951 908564675 999226393 69757443 920522309 920045759 889254051 700715 45514205 143219847 152718273 635180905 696207551 958393991 732689407 705099255 3977691 553407227 925666031 544535629 605588899 75104993 968112683 350638897 18686231 13123331 492802133 243222961 137675967 456888561 954081305 975178781 450803621 889230337 362541351 865984277 683869285 559208533 545154873 393910397 984021529 634762197 252520725 90684031 181172585 93290291 399177089 344884369 11222913 83299043 361350225 230071405 660547355 719957545 134296415 579311899 667586931 100413453 800046477 264271331 107290447 453206109 652176327 938124125 178122237 735883955 340014589 276984933 963390549 341533551 499403817 77220635 508025269 528078009 935539025 158169073 963518209 201675649 730628219 351268503 439104937 342897281 918213563 658897673 403707555 790959927 477713195 853934735 572627823 833390315 902168045 303561395 723992847 22446511 270568749 837514313 792076565 593364827 578932507 900433007 210246295 509650575 370298355 783447431 898110257 752103857 573701877 422989885 375905803 690065397 399211373 795917449 279368401 443256403 583667629 111825571 849040061 873645191 174973455 400765457 179538827 811004445 662893559 642380959 520371841 123804005 308479691 162292067 997778799 314600567 27157763 510289335 496296361 978439729 409458451 727925311 364202765 160772927 663228547 918869993 226551045 417745167 609484505 15638247 794527611 756408537 208499881 987238329 748588519 458454685 584708749 439054879 584599113 556995109 226673191 914969129 750046755 436613121 548749091 737510183 474929031 14861959 545481265 701509817 413343755 434717913 59750413 221649859 507083211 474606561 579058295 297289071 58339951 541407051 143958845 576707123 830120997 356645523 439531821 288524491 266035873 547512311 86287139 739343161 738221093 756449153 555583233 205331917 547986551 903105023 250749107 694952985 297904609 576928779 306079017 718522363 873849405 334496517 936213855 21972627 726909929 539867671 452796757 913754451 705656521 592107309 110063897 218645739 675610959 812501505 519371705 806887001 279369069 683514645 466286673 714451425 686274467 25054897 620315397 771031055 717801977 774620131 657496059 745369271 905732859 901958533 425065065 973405175 211133121 567614263 927493001 537803569 277679079 410857569 638822301 146930707 429981845 50542387 339424493 720020367 330211193 518693797 33178317 7678693 631442121 374510713 940092567 270352021 887262019 184824885 547215023 112535405 663993645 603593771 766447997 410303363 380587863 998561651 68374643 893233 300662805 803570155 676320013 620497435 894781509 418037055 529854923 308941871 46455377 334515677 20346683 529794209 899494179 946372605 917521643 122833131 666736949 544020641 235871863 305100245 152032129 174942351 447406723 383698535 826418321 236429143 207518133 632090873 780514161 682899541 266311621 716234279 117635257 554171301 479101543 628350929 117935493 390141235 172805731 199835175 651533949 933134763 529135743 621963421 383988431 218195849 495469713 186943215 580455217 285427725 56362095 588943393 990193377 996984381 636135165 3730303 94017701 389392361 804764455 805619613 834014157 844616363 280641247 192451417 101399341 539566821 908881947 76783829 632195109 684023995 367881699 519214205 797754779 434329375 313866557 880762887 646406907 526397643 257378367 31163249 634704701 393437501 893485823 326517243 631167457 425698239 901194915 747099955 550821355 739126879 202231379 372375021 216419561 362070263 996134465 676839751 51686899 703581223 872823465 613345187 818066597 846964311 480254667 841931183 62613543 661173943 293660661 183373151 435578407 506905665 764310645 998713069 777838555 976877233 980657831 794708447 929524993 574285205 890089967 924354051 716718817 230075705 267745717 637067883 521989445 554159543 788104299 678878323 752470921 558660079 196005517 789636799 771942279 522993799 430712221 879977021 663518885 277289715 363404579 3271969 39126741 138890347 799728053 986981863 470777225 679505643 87198697 173323859 186855619 744994879 133204325 134256751 424242695 314738935 517800913 683141523 801491299 176894315 866635743 786656603 728378479 608256187 179348555 402970279 99350855 178467789 169563863 165599913 904040851 681807957 361873227 17485777 356491137 380091849 944184957 635475165 267183815 945124457 98853187 546591185 77304741 264656447 616855939 21604601 131643357 299372571 320395557 411795945 974490561 936712851 762408219 254342783 350029605 396188939 93035105 450285021 153537129 517874343 783009017 794676079 722588019 829017947 338452203 305013741 376874159 524636379 604390221 877400143 757277719 696655277 234319669 412366555 148869159 314184723 236733641 281538591 377556197 435390243 563051569 226060779 455535327 503003569 429566111 857774175 339165741 137251167 313205071 780454621 98072427 598382485 800111747 651561235 136530625 710252165 860798597 675681269 887385823 757022755 948877989 396972735 971153399 562087219 964418625 321771507 967966921 715909693 793954231 608391265 363436443 857121935 972257141 858936859 118991165 536928067 153657069 724172157 314180101 823808057 518015895 106331691 995691215 17580313 218715639 910214677 579995137 923137107 689503381 642267755 571052173 333082143 618269447 860428457 540739815 763549055 69841123 289871767 512279051 682629433 675683023 236593727 10211459 559623903 682068851 977016053 741456733 939277257 154058881 996700247 334410029 501452823 162987959 309366343 652755729 204879791 362301905 519373041 241308083 856117573 317186463 53096907 711059517 643446095 399733999 344090769 22666087 322168591 299995039 626346569 585566831 403982219 291382415 661451835 869440541 417777813 686109353 430738685 90115517 131466179 531081695 463221613 636699685 302415737 605649455 789413805 465845941 681557467 894741141 922707499 217908819 185404893 614807585 998774425 430355565 511110709 787507939 986610423 592915959 838690915 579609331 265714309 78846067 5494705 765482871 910693073 441176805 166225967 932839319 897177265 693876445 273264051 829230983 941571903 430976879 281028319 942745471 970310369 627200569 783312923 48052931 887785537 173480549 159804569 307496603 433615189 698392477 908104015 157799261 645104727 435970841 456978429 989042017 475372239 917012119 616434731 540562951 594855047 372562783 484747821 780567743 280037011 491534141 513662999 23473653 949255247 593401225 639051979 523860007 389358689 421423647 736540401 538628823 462449587 924904039 219406841 153559439 830209147 138687053 733643549 588741343 918298421 681710923 895026267 599095653 820058533 78654813 487640443 733144769 567809495 68265993 691646735 909842077 902322975 882194783 598472559 403075501 347264795 445103347 669596091 980544681 813926573 470089443 343497947 252371797 14661377 598944985 977915519 169023867 794823311 673700095 649182751 964769771 722209807 345328909 729924093 454337923 46748551 332688195 509489695 825477667 947024707 859835747 456450391 679929781 126260953 85113281 740361787 39348013 690091555 264225837 293095983 87628675 770236485 449677577 770255961 12063419 130753709 147792443 222165159 546323167 308889615 566492721 894845141 688122111 523286885 72311521 526512995 55091257 959625975 338618569 510836375 770049197 136840525 622163951 984703363 591979141 446548543 169918179 358121213 445314805 950885351 743200697 860525735 522100021 178483627 435593999 956481003 822311817 251234613 447619343 247275765 429612603 595691387 2340963 468258753 762126493 975583673 588721989 793622285 411281417 736132723 54449263 193957731 643092193 665848947 595153963 701428755 214347151 670084561 693959493 55158835 447498631 619291881 692709909 530595237 87166529 465534813 69335415 568190481 58147393 393069849 462182355 871233001 263719441 461267283 21938199 109696353 832313665 631126409 746905785 203104637 496075631 360861307 885150391 197269253 179362107 470491447 371970199 782721415 376400209 449411601 685219177 360887389 405396319 37636519 760172481 172379047 459086629 495632859 323738813 147214157 759059809 105174235 473049863 542859263 849631965 951102489 382294985 758420533 982269807 699719509 775702973 864872753 466662639 963580303 580194845 888679419 824546367 813779989 588152243 63380577 261660745 630264189 669523403 646842875 850056961 639466657 659487549 131490605 971038817 945192357 300131685 360422429 556384105 538382071 92571435 547426235 500642597 421672523 630646781 370892479 190839205 608681373 375242961 116555433 641548039 259151919 233172261 946823877 479149675 298646929 242689 976443165 645909757 308668565 451608303 778580879 895476461 25413207 201945355 323743415 560909941 714097469 792624111 842789121 578360537 251195377 533269697 52248475 801363299 876559977 345293107 525972861 550092901 180515553 78974071 159510631 599591993 408327389 740020815 98067939 724747329 895119913 375858687 259859007 116862951 927206361 624700245 222827415 58282911 111354699 929123241 963048647 354207201 929596193 934628567 795195001 398608947 111935561 762402375 153515039 342640153 178703605 317071847 384723183 264264235 184846755 936267565 956935401 955459841 129826839 407889431 753205717 882419773 384825439 541306413 386542663 512343435 679802315 169587065 849118355 709182363 483564027 887374231 481232347 793840935 507341265 366024353 216467719 560361971 622123643 501106749 361187271 560134601 605548141 895639709 421248917 823415675 957170785 725591411 839752879 231476195 856720991 291627265 757400349 753625315 518943919 183048971 353276337 142970471 191010025 454716895 306310403 88463711 627325671 843745109 558431859 461032645 65793487 97823177 734394153 633393309 660738315 67425061 617478933 799737585 551811921 364991443 956485103 235583187 418095515 237324747 716258873 603836765 989216305 44892555 527326777 247481009 991157661 873345305 438599425 66413307 318814643 386040069 274337129 182923627 353497743 4112741 722338577 54467387 738547095 838114517 184560991 980497585 76956279 5434747 759778439 955193363 474501153 763070473 569352319 391475381 712291795 286861491 587630601 900104689 643983889 636581429 838501291 68295721 16834471 252544729 800679093 72083911 694987945 36206445 501182531 389432895 126545269 483399235 228851249 923766027 444571565 168267839 591997483 263647915 592303935 141632451 499965085 655255979 965691741 517610431 106885059 192951197 479906183 276710059 566540955 167678491 365211773 831035265 814455791 557984201 575335757 656710857 298464591 396469581 538166861 525047187 614445585 108325469 709248023 624806005 862276183 567156915 404950671 649844875 771104265 60732687 465700323 701219451 507391961 490009661 507398535 672798583 328596539 749013007 234302263 579611187 422793331 94291551 852845557 644147181 554399113 910269967 138943249 406595435 546937675 235382795 583185693 968459259 857589587 193069635 862522613 303984757 112454145 424383155 912680639 398816823 686348157 290372699 896052453 283145253 658449591 157974087 855006493 238568879 125715049 346390665 622310243 541716427 843295249 292056891 325952763 374340089 520406263 94439809 595479921 816976187 709028141 281549953 354196377 568882467 722875531 139616881 79621263 594184903 839393201 986284427 786144441 412396995 493269765 619549967 315509443 80059711 609180091 772877897 872593055 514906855 375544011 744063373 573897355 655710709 96072177 550147889 598651405 369322533 836354745 989093529 877820653 26476221 221251955 404679985 514341953 594310027 556831287 336002921 776472423 801064423 977952739 215915451 501660929 255962543 767510819 670279085 232249341 321548871 914060645 870945989 623785615 522483105 969666017 2251159 892029745 551940399 642179735 158006973 114749355 635838193 815819089 95015899 164911109 55103599 144547999 560841879 40348055 908957109 513759447 655736745 475996155 850326619 122023195 217936325 327271959 437201533 838395477 73522867 245335317 892102083 29771313 97612345 278499179 776187481 790045227 919416619 620488659 884100089 507143809 768161891 94200917 166230239 778639165 801481157 643833147 134514385 32396077 492734263 399239705 280996383 609548523 81315761 746272971 309593245 1139159 31519783 492680823 193338027 854038811 258885793 935704199 477874221 265272483 13849893 335461299 95701907 656778281 411139783 286931699 958496981 254736431 971606177 505368717 29671533 111509757 165402327 29623565 76201573 158136737 945461649 794348103 515211593 346455797 471458817 516526681 156867889 172225689 687831395 635463333 406124729 117940725 746525687 72054999 94274569 852737337 564737545 507861479 640244175 651884637 814565099 387313421 700190783 328289827 696323065 395249359 226286107 183964945 341554577 693990395 392650153 214383225 812133409 123881633 159635379 18202995 496157977 207212833 763245203 679093215 614846965 530814751 599063335 345126755 118841655 232477317 539127765 516802675 62646631 234199175 517296009 230976325 409756185 461127845 294308539 533953755 896257767 138358687 122167403 396917243 999860853 451479173 662513437 673783349 116431211 803929513 367955423 802064101 598843771 812792743 451379017 152123943 554127457 755906661 711691895 364505575 170793181 717766157 973602321 881138897 110175165 95740949 78556485 835371361 684091599 716534329 47630537 531752663 698556911 797970813 710552539 170057273 383826433 864158509 414659393 433317207 238661101 338055645 627240523 254993355 154720677 752536681 56963021 657911799 943660837 312067319 168220455 189115391 452209005 175175667 354283325 162455765 529994635 836849935 148730753 341526323 311886733 992008265 594851557 108847767 832218511 105643237 805481195 421546571 261406901 776501871 242949783 17165405 108316199 470801853 848417655 777501863 344328727 34638313 687269027 419896777 266677953 747405655 769310135 586813995 488634215 652439221 855320027 907571965 68751185 752316917 120526013 735527225 439877843 555310935 707714451 203289245 376429129 971311707 568430107 73936561 450747665 255196879 557731739 600946119 280385689 237875145 395609571 226390007 18418003 265798819 524874311 757495841 736105911 158930947 823086247 899240683 81392455 278762707 888307817 920629705 536907665 968899401 24659321 63853043 157362467 393865183 530510161 612331877 887602329 176266845 776399853 384118251 422476695 78837965 233311953 696064021 268622789 278431875 78083089 381636667 812869589 895794459 404205375 725396861 249268867 216648059 716342905 915005121 121380241 330895053 175860583 817282491 722640071 400611719 484148279 103966689 121220859 831730789 870691999 180106099 689448707 847097707 430777053 879507579 685626053 620496101 100013241 581887433 438971945 224802409 254901887 529005555 985218593 428018127 704756229 475692637 425167273 204841023 154010027 367187499 227779267 464892197 101104983 452353361 372011383 161931571 694827893 257838979 995043035 163768169 294557695 24452935 918673925 782904839 386397551 496962783 327547163 87014299 288262607 669522785 627259973 136517627 820849581 702763425 507599543 71099713 118664477 525386049 818613673 416182481 673118397 26447785 471472477 9371225 1173173 724419851 22414881 281730765 417917875 843487579 325434691 620301671 37037037 684543837 375744545 301032623 248731683 250496921 632153883 490180973 963781783 997256541 569218203 348300729 860965915 534633923 933395475 132329453 574942979 396922027 476918527 361723311 169702447 859875773 274078689 389193961 448645125 94737769 593770817 597075153 802645875 514283495 21195445 279681251 316407021 909298745 881235411 588383203 83400565 550415141 480019777 248776413 590334863 512101949 238888359 35761189 352933963 971971289 460057273 689479255 405070909 948957465 285693487 527753049 664049795 572442339 752316621 209613143 810150853 328561387 629022555 489130947 639137073 374520743 668928943 376733787 486326143 321750617 64218015 121133091 154580457 238565383 295346193 336602727 695044921 264516739 60498925 623195069 276870841 277344611 757476135 631400189 697491781 944590603 332730295 153748561 857730103 395835295 354942625 256952863 332880503 707668499 819055853 193055265 868613489 847952157 161964209 803134031 149592095 150223933 490536963 457125873 502851581 670366909 946503177 946907791 101902865 890020013 953410027 766256897 604263403 518640611 120293853 291567201 245058717 693667585 676807191 138977555 117877707 391914609 998894045 945505733 441976983 248910687 411901049 826476139 227035315 61831879 516409403 974777153 119143761 652227175 242090369 882772425 603149361 138150855 732161451 30279635 794725531 617128251 427385379 743809649 986530395 137494231 753655131 499839743 777790151 259148157 118620625 413394467 455449023 299675093 726427905 476994247 944537769 688667471 886508155 269116707 236780915 755502373 391619279 575283631 244383123 555533653 632028309 695962159 115569927 643426727 984472435 177216179 504377685 355744429 255748371 479760527 387232395 948872895 118324771 194918235 220077121 401023741 152473441 149755391 318472853 218640975 829213839 188051879 569254189 620943461 262532983 341018309 280554549 906683575 23740651 821386777 608398693 541088135 837372867 294042019 1588477 861068507 472178149 596211121 218904255 365556613 960518457 582085081 450059517 379007515 527089331 704175603 774583181 762482177 716118347 898292521 711013067 527243869 647065349 399035107 970343071 939202333 54284779 112431061 70296439 788915709 236698383 304966399 587496265 224933245 842287497 366349473 743057043 421062627 845010303 819467083 380887899 14814785 856468763 657236687 179243055 657783661 675768715 68677961 799512359 322419977 590788111 136591901 555265249 715960447 642943717 141443835 227134851 190484475 821871703 181453011 202571193 766554489 396829115 321701089 798025147 200924599 980318825 71682477 40557641 423464767 587570883 918090241 658790823 419490657 96070963 909866481 918566051 643594547 53723437 403469273 451430291 533405335 53397545 835421535 352252249 414144309 199563947 847952495 16711255 750893439 642780477 313532987 358117755 193433001 693227377 521182273 433419583 993418423 839389409 611659077 3161247 177527665 262773807 937556051 754447907 241218405 513482757 35116993 812741845 376708589 813516311 500989991 294059343 343924009 485681693 808538989 283598511 893551361 425038555 529059775 364777883 191764005 53773595 80973457 477298495 228057869 592822959 215365533 734682197 18646267 312633711 276519913 604534295 850099959 565141569 365075651 272937295 995954895 348030991 778290875 783412041 45714971 860845257 360067761 578348765 14880575 525954153 197179081 270240615 97296993 199880691 741517677 718885839 918553713 224220785 301475923 818056579 831687207 449452021 560492405 463880057 738360069 123451545 670799899 303851311 113488465 285848959 142945743 270638509 592485403 460875217 558671717 864882813 589092927 975489475 422685177 854282425 762792281 538427277 412808689 676186623 911059925 662960755 67480055 226861429 911812321 494843327 675518465 871930055 843849077 40274883 922781259 177921327 761024849 767890137 28490841 812550759 892385791 625454691 676760567 606583737 721536975 326963659 649253433 187035379 571279063 18733957 741106811 639926119 767322617 186199051 328153445 516969721 263454685 528756957 52805597 232143627 848441333 623348103 269202971 5031309 19583351 554786459 722586269 109991413 224421987 857703091 896980259 3570753 102998147 507520369 940027323 717699575 534989413 281822847 769547707 920310567 95773283 227272337 194446011 842202981 792499613 948775007 121423781 22702289 905829627 850822575 324342689 411508497 604667437 513316935 627975459 158927955 347206829 400594169 709710059 782867019 419611833 613503139 234068217 758558011 300556889 244167975 529692573 452526311 92228191 322481259 364729447 22397853 770697059 579412325 496123705 258122037 935701701 726068493 317598513 627496459 183914413 162179945 69077951 51373575 693625867 38612095 810243991 674504087 132869527 872741219 155250613 301655731 239814355 288274223 420631133 999733205 28581893 897013253 892499993 646389509 41480767 697159695 800429251 959936211 320287833 487880833 910878833 641840467 798759411 904918677 404579979 221868837 727239795 697054859 71855291 3527791 69945357 862643887 273028087 123621343 238753975 808854099 641533307 946909097 987253555 589996241 79240651 482872975 233184263 683288203 831520693 232629973 635903107 133097965 560538441 115665737 783666115 697837159 992867047 370698307 925404579 985066355 949792817 941203617 730266575 861770133 274977555 263047367 988560051 693042521 553638085 601172389 110391947 459423309 370562239 438123441 501463637 46142989 895795145 432047595 145912027 527806779 719573227 590591701 204920749 967090817 651996795 941282177 754541089 198711187 128827159 689137283 344160857 164191275 518837923 190086395 483024445 646625033 914454345 83693967 226272383 79837433 935404159 457325933 822056851 532815309 233237503 394298187 364148413 903536991 757825745 541710949 598636805 19858067 417944637 576398725 389348409 265748047 182536923 344387577 918627827 92977801 321368967 584730773 726507667 932874555 34337889 590435511 519686209 725887333 519795163 764938569 654016493 332366355 519220133 439837109 213421649 504857431 820445627 369365747 560182507 325915981 896702309 161321601 502359299 731963155 69469229 199668071 623894187 372121047 86046439 750966577 485272507 66916297 779454129 153844981 646234835 902769955 401129965 223981651 803293275 361078571 181924681 129223281 187286401 296366375 601836727 566997757 347141955 684938091 900216949 993949997 501363547 373353553 535420935 978632895 994277205 829080379 737964345 454216441 52592001 738527125 841017633 61183401 464547319 588997071 441361689 825356839 740619157 329263717 766582725 822645841 41261319 599494871 772008979 237569931 65825723 959346353 684140597 27700167 136919785 684372613 901258923 707410039 526857873 248027375 452038453 71759259 638192765 187292045 18427363 766702267 519899965 572592141 303476229 604291555 948245287 863009055 6247741 268935337 929727837 449127295 825214569 349669167 369662153 489028845 828544185 316071189 567834391 829663029 520722593 545793167 589953475 803077929 566970077 851396945 828423947 935877027 855530863 604516761 910230777 382948999 158839463 755917101 396641883 929509821 317864471 381866589 468315595 834526775 126611357 306335485 516104873 314713841 690033241 330696043 510835743 255602155 576112573 893614993 567169049 691636529 37778553 231056857 538668113 57746901 511275915 124386877 659171657 499686643 260764471 958942519 207326537 380203689 622160905 831170769 711810911 679546149 819330005 384579479 35611749 523977111 940297913 71851423 825303035 271428923 406262295 524394891 256714633 667730513 704017309 467166077 979076927 894248231 464017981 923357731 674057493 529359115 21498679 979861943 798744013 732793177 804545803 189275893 45508077 241756787 693515399 732549667 127366855 398453957 492810689 806190609 809863539 884250559 62007571 501494547 353771985 600894685 143255073 173088265 886758279 875306145 175930585 679541591 236055817 394579347 457672815 571180527 583813261 771294535 354758237 15453251 424313621 533509465 269448555 123464533 688444775 205367399 635132579 168465833 751239957 776056095 57317975 886992973 969719157 462492977 975480617 504609751 62589609 899891801 217702647 616133993 870310555 173065049 374291955 885276581 874293241 569278713 396187021 218170299 128567609 634074381 320921473 879715935 213900705 743839601 89214167 700541141 503623221 374398723 493602521 676489693 601759429 827234481 125979163 830445257 689115883 98935915 736682875 184580717 862225673 282444845 895683355 795739689 535818563 629374201 723174759 316349153 449717899 58818519 105210391 600697351 929251739 657524443 918540579 239156365 67626481 159025697 675077585 309238261 792740567 386388167 293982125 530259265 819559515 697640955 847046539 935825413 479765079 807721453 644389001 956219217 57790827 577657049 625865993 734776521 862681087 289890305 923062713 761637775 154564931 763969197 16620685 395608915 553193521 413147955 588190143 919103307 821166727 284922857 159958231 726462773 287698381 220197429 877175709 552111191 973227093 989165439 236382505 465774721 18667063 556185657 762260693 700193031 383683667 165144799 212460869 910926281 779565903 886800113 331469671 449110573 62152351 973591037 840277871 676201503 11751803 415695505 356999641 217535769 766935007 644906827 663295593 375457557 369973145 526819785 174494505 316463517 761726259 382764985 378277233 176966335 297789195 56192461 503302365 979831309 538330687 460308157 736886349 723332011 797477301 252474443 739449075 197725499 774459681 562953797 318006079 480547053 174484985 799400825 975386095 15828087 577531517 410719429 727954183 815046679 897109687 526908423 973621971 906094485 317920631 892516653 276453095 500073275 712790355 462076713 347758881 404660453 369463727 89302771 710518947 929122541 457816495 247741581 431639259 508727609 977553735 247170565 138481787 238226491 800367659 194286697 358060161 865394149 607005921 337587415 762802993 36960953 672488875 250318189 965102361 324633275 503057823 892486745 117259785 48461433 413656465 542804685 389294625 467270155 608930083 376435713 639634117 157377551 525257661 716386873 112515997 586769065 947574673 371577277 590912419 956941961 810366611 704899555 32295441 786895845 725702535 154595841 450381673 335022459 891881717 113946749 598684283 249826195 780025387 238228927 648235865 888535801 721262659 759856441 713353823 757106179 336367901 198562919 294760753 768655249 166448225 393225163 277974463 212173321 617417855 485741039 436510009 201795673 85448623 328348259 958873883 884444405 507931379 841820357 670073389 144202975 122698513 841589171 246413689 730450587 725093787 453321693 152980819 590166327 160096233 109774063 443783257 66696523 905935899 880425127 895682669 476524021 11217431 178287559 908372923 31415257 631715985 293507863 477816761 789608999 185373183 49643117 130098211 538923925 990610851 599472033 5187071 146917219 660164739 821858707 1737877 406885971 605586033 991571761 938170491 374404535 584721155 591908461 878945935 728073829 780890269 350656831 102395123 347795385 112243555 495010475 893454357 141949595 195375177 955876283 666400167 268644983 571828741 852681855 420863401 250263623 448748055 233483541 806835547 824645511 647275465 187709597 462659149 229116221 74539 135228481 730544975 115707639 40431635 730393139 80076673 15475149 646208803 699359407 339924295 794957149 87602885 345389303 814881099 278137035 656114213 542376021 591725443 993754055 938248255 273855769 327374377 459859849 483693777 707676065 39667909 242765259 931414883 513007949 279554337 586922455 242608713 264099719 962966609 528819065 381122455 661064387 207465905 862590983 836114991 750200697 829335015 924094305 658321081 517537069 677555165 989019885 663649957 893750119 702442441 575083161 435070765 272330429 626297895 275356635 492224079 397678023 435238587 402990769 513035731 106300455 428846993 776600737 167316043 714602375 99992573 901632441 131180559 725737625 567969693 28156305 457865279 228123675 251200339 590586951 392019907 349151691 916323915 904701311 124025419 332768627 990190333 94814059 236665679 956608489 365652001 889914813 710493457 322517509 451331517 527761077 483619223 962569641 482428959 613522971 111550899 701190335 995348183 251946043 640837627 538926649 732160453 49421037 997017043 695084309 496436747 425569421 699623009 577461585 97174295 81939715 397071763 96644343 365765533 354915005 258000165 342105885 492944535 548351919 474008471 830581979 12251213 912236123 513518383 489043539 888245063 988345543 938893567 523092911 888774493 398976893 719990749 329060899 559861417 890109079 350837611 336046311 932646033 419185331 880614163 432305215 561187519 102709237 401366785 179513973 640287273 192407823 691437361 388363993 715282443 38713907 263706209 579038921 268076777 49903651 758904603 518441125 301204877 57454369 474340015 335999703 570694673 933333503 652849715 18142419 160291019 121959699 975305097 311696913 673469795 10311481 98654809 995558165 386942915 587612889 131384085 743765609 691370275 278777569 144632305 897331103 660205307 715654599 244325873 360500817 996302865 473412233 832866269 391507745 825490801 991093165 685194563 909569721 769813359 14919235 511183229 473472205 665425577 455194847 898316459 299182357 532507393 630648993 996575925 802806869 176065189 776811055 441877067 540404055 695574791 155954357 884756453 239925229 91633127 491563755 470155461 223151089 90846277 610818065 178772979 802441797 711233391 474457835 948440893 258410963 790225915 3367623 369923643 583407247 971110595 729028221 946254161 942465137 466514411 90033513 512327333 915339901 342578657 962094195 826237735 604801469 52332633 955269897 467799439 205226563 304795983 641800737 605397855 627021353 303224325 927142201 813303261 32060561 222018059 453699415 40602393 19650213 185566259 779602955 889773295 443696793 28942745 600026217 515834877 561765541 356363939 22884881 363189417 381116431 561579003 517040681 290371623 14825499 790241177 781127261 293442925 15363361 859813811 414995943 57614907 123925881 231117779 968286337 509663771 951120517 88426435 298368373 794090333 155327921 409053847 152991887 963962903 11123565 359310253 784788775 333371179 307445299 751856551 105698585 264875329 875603847 346910579 161270735 861696459 54782195 256893251 141634355 213274111 85213449 76042133 748793533 148210141 73547363 130964525 444463211 279407407 34450083 894949657 157553091 698087043 497786739 425264041 262469845 399386675 978303367 323073917 879977781 154317663 396118937 33508215 11202307 841758447 593899881 48834245 47843813 911359123 215790787 717090779 644697607 295654853 679677049 869318515 209765155 547484355 353497445 604910997 603724661 258291605 395283305 425075849 880964801 326823181 482192495 430703079 424771419 713103811 319759723 852753289 370901781 304386839 635438935 94095509 334160973 516362289 110603315 735090805 440590571 104313089 139806219 252669919 14690141 105210175 799907825 492454861 798643609 885309805 95603455 595400327 935452703 195008977 17538391 478469783 676687601 707252093 335196965 537881041 17037473 775197001 136597399 155361361 883585347 178137813 801799661 33138557 829069175 463889799 462968421 194594049 259777379 862240659 139400523 500532687 219699123 666880239 811346929 462862117 141521057 713742941 837047729 530390919 324854505 888703587 562080493 25915329 481492689 897070161 523922961 442547175 603443495 224447299 1619597 805454423 965282883 897583893 493847517 518759091 733971203 287467379 629949057 941123817 88163275 932803785 61332229 822719531 680113547 734245715 253751547 945429497 223667385 189113871 244603901 767173907 232796243 757267399 596874925 13557383 238649057 576562187 614127543 870654123 336325999 781580337 853090507 864944665 692386451 247072859 79031203 409860789 868335469 761791601 185974021 76313773 199032483 891730213 756351415 313801077 333494115 244985579 323385741 328210633 311368289 695989001 405594209 150669739 605038815 5496449 765113621 982136683 468307873 753151271 662834837 662571163 255767543 363329683 272687825 65640983 463877301 466574629 739031491 489776133 727916345 212786949 269622385 562704591 421546091 32638757 864090593 281600043 674454971 659730489 616771623 266652693 5430811 996565445 975128925 214998993 680282891 583251727 934027941 799816427 225626003 382482985 5083947 682566199 319821631 877163755 556121887 664839379 869556005 936164341 86699197 698582303 820624613 9080751 968038725 927950797 669218213 221951303 132239363 943933645 619463443 425320379 762623305 467503199 944875621 115843269 464051057 52428291 896392023 862209521 923710943 319693703 409940789 426688399 514007033 533004799 452813255 185606071 132680757 321114313 691714663 234770247 149107469 264763015 763514611 340563179 283483137 47355431 262647503 103267345 649777311 810806749 995951083 66623985 343341941 13211683 327747519 903210635 577208095 323908801 103365189 85428137 377532223 543779775 624364807 52465115 520131969 221585525 236913681 378231 227909269 711913085 643474169 848757663 295139127 360527549 486987231 560119101 750068007 57184863 341388905 656689661 727731761 248599513 17248965 877867355 330242857 789110757 105326249 923641237 702354149 909876363 157135955 474364597 786546505 361851925 174311305 609774473 391147585 697795095 409670297 286024363 68020925 292742765 381619549 413558653 110972345 751104573 173883437 964313379 431321397 457777905 824821493 721998735 254153021 173797185 212777503 823421049 772729061 873207845 165174179 741768803 587071811 308879843 181634049 487409045 533752443 883252487 707168571 601851677 891397817 329111397 935520741 124815317 817074989 939752731 505259535 973026653 675355923 240065931 330245211 243576605 533023917 217892961 724604143 496488261 401028163 399031957 282921081 51384781 913831209 736182623 692278575 952902519 18706617 250104645 164709839 77531849 368617815 417100053 131259551 830834453 980680043 168098527 285176943 601853811 540029031 702009091 317377427 406960579 884324295 399960869 37720299 11605931 533326859 627419951 785856219 940647839 290792895 742903381 7242325 483725269 10161271 301566487 304784843 745499471 968593865 11547957 327762495 319944915 258531417 844139711 413409843 279169523 673295571 646755591 94061241 326190597 537930985 884268713 92850791 16171819 129625681 867896715 873692761 378180431 295145427 919359447 427824439 853882655 365482549 28332291 481070639 9286417 246495051 391886539 463340535 945117803 445837041 720118323 914471373 240369713 235117061 524651655 910985337 257366579 199598965 386231899 623684933 779334667 175404337 377137803 852052747 606220315 920798005 884253501 211002153 917866119 926916739 636266717 696600197 361536577 109596195 393338653 223786635 274884611 697318443 173922299 796973621 144848203 260708017 24411323 238962429 624693091 95942363 83379433 47717869 52195929 852110799 629966171 800910993 645337095 51921349 530737963 668035585 922738445 533470963 609352893 972029913 10509779 574418587 969582271 927388483 438953865 302643211 576831267 564266473 736726313 639424913 962462761 253888771 728178801 585851785 271292241 642358351 382942953 459940695 587685995 716270867 395016931 648397923 203144839 676320031 309044343 679545119 436663045 640202183 166320773 283753991 512429705 76387051 991938483 730756765 376473085 403764207 231570805 149060201 420417943 729852613 482516739 663204865 395315665 635566305 602298969 81550331 309451891 236320831 72395589 209684989 558778247 3154025 582418513 607452591 395957857 935915883 386252251 956701635 738380445 360270557 927404289 174413045 197782305 593902813 326634665 298431239 410568983 451094799 45395079 371976641 5339381 822970787 883975185 329031159 206938487 358581327 669306247 827828869 895834785 574290257 350154995 686627659 812100287 12517487 711338789 450849329 933332839 159421433 722402995 994777647 865873521 847668675 201601793 530234939 104393477 923839533 363433267 891523673 317715599 988229917 329334589 834537617 543256513 907975425 996827859 164956663 263629723 258950093 879197307 387342247 389853789 287461379 356442231 453948865 250412181 510613415 461942749 261725295 257980441 371148103 431333249 299319011 456178435 224606971 483363077 504386137 781310135 359184737 751330769 315628819 16453859 557659293 925999127 801488217 3702907 488210271 123832267 602385025 458902201 41525213 91826609 569662433 940785189 666532053 598328401 240511967 230852999 378688655 891663097 323980515 110264055 97334231 265759939 410734177 894425295 552057091 451696015 941848017 87707829 743096051 146093317 669084597 373198483 488225293 400829845 862107803 933456799 764923197 986699127 786986513 575717717 18951933 560163757 53973429 429017209 695693897 730151677 194230311 839500311 738927015 538652409 521823249 11315331 150223397 155584761 543759653 308359257 134810203 794467613 868938015 318527359 653253991 572726091 414963393 716299809 65986029 997314615 659099349 925212593 250781469 176412247 323336491 124620781 276640173 771163885 449832353 245504985 346945245 330571007 147484439 708549825 736954223 674978399 509469815 2572091 862259381 327095459 677392819 498358815 695218563 965540399 364544711 143329687 281590587 785280807 162614965 5781001 777381053 13431935 455685255 467078959 192705405 566509805 954163789 963726593 833836655 728954865 255501861 313472199 251330833 321119445 87747375 840758281 577401961 1248681 659686037 328963999 730346501 83516995 444754571 570980515 551724285 435089221 549205321 283590521 215489263 197284121 838186515 931309263 7651583 197057771 622250033 381124249 2501853 194557879 85956089 917821715 949302207 378729787 795194305 86899135 895613285 53019905 24986863 978281069 355501841 179091287 84631275 848838191 693459093 742218327 263073321 649056865 850727751 509115105 638335265 430466985 287387395 802240925 804815703 1479923 107149617 913301499 531273813 172430961 709823935 972792629 139483307 779178657 758726689 205370697 447651575 431519045 972051033 867331071 382724825 82439789 214391787 735774697 632601595 286878573 502403815 845529951 765280529 766450653 125055713 531560321 740273363 302031525 769054201 4646711 547770117 560447217 86745555 688768561 877930865 798140723 165620895 760626151 994062567 495502891 325221909 949914779 774421573 584142297 785065071 409834067 483725675 397048459 96256887 317403105 381316675 783849431 441721 188328923 987234241 856550805 306796619 120800165 989964509 172061423 738825295 750486117 390600091 258035021 806766951 819975177 604261893 566392163 321253889 736638541 77759275 720630833 923910679 528752561 616770603 345189367 322618917 82724475 321882405 677783877 168995889 411541949 623499843 179640813 112223947 930327629 750225593 128507403 384297479 511576013 455458751 786567427 204465285 285942695 320983449 95606405 360869481 417167367 156507793 893315457 784771685 340303593 722161145 512845619 2928811 858547979 656000809 95254563 650834939 38924535 377517191 881948443 247749789 72856061 509020797 4090927 942419293 421814067 229028985 915909563 916330131 624555643 462626299 982074213 763863323 171293053 248611201 567449369 73943389 742488235 602088855 786766857 789377095 792836665 153163213 896738227 17897551 375647019 880376769 818932955 997424755 143256649 109982227 352300685 81750329 44637473 342012269 617551647 808951729 134833421 604656003 800848681 649036911 446542893 752941069 512658069 526938259 447556713 777692623 496651145 639837889 644548721 837849491 479806335 198044715 290204861 175354155 429855791 843042179 251749519 92103281 152397471 253872139 287330031 693394503 784328733 514638983 974962091 22942615 583424827 587774533 132202587 259729493 184198357 607981083 208491875 626201209 749567759 944152939 619376873 619721993 105068631 185544983 165067741 354211593 372699233 904028303 863512311 962731153 974557991 36818121 883191737 958161337 44474865 439690051 841232745 16943523 20216393 714075907 526167063 554840443 359498499 218550681 976716191 794875759 209607483 428544025 408990879 59148735 734558551 330404387 465831805 312644009 229142017 729498331 284979565 395217529 770947887 155165683 942024549 891942017 566276893 880353437 946949925 316328473 336917839 317308059 357395511 852667049 756681617 749036849 244206827 916520853 468638455 987049517 368867159 672440659 653467359 195803879 279712349 878316123 993992171 82515259 448444071 681822257 571859719 247882385 261713825 992930911 645298795 813680855 893866631 54602103 653565583 375489411 887797591 753571859 884635449 872279701 582979547 46791125 838498933 600389007 356593825 907460201 871324569 863008387 340475907 101214335 579544637 504685317 728443681 317950161 879606603 634277685 54686947 414599459 857081835 540871353 192421113 165756223 698499217 180932541 738790621 130587639 797651965 542658043 806490317 555342885 445727279 341247917 782913745 103596459 167295351 580294301 569451965 571793013 575646565 991637273 257287203 922393971 738429915 690589939 267942249 744516511 302162935 3557007 66175669 416711933 982089001 978363855 423555575 973927831 846906405 166838051 418626279 389983871 652165095 987768961 497693703 972433615 132213427 739466855 372343197 458986153 493741845 569081565 500581051 183004729 159583457 490634863 204518969 764555951 491530803 859419955 896588727 972376901 364788849 947405769 281225883 237994047 201144645 249617495 203591449 678665705 386660261 914551689 840548135 255729039 241460431 802071961 634641799 499883667 877952835 80686915 182426815 167131473 486904783 446700237 371956255 828484149 393049735 54397701 171453635 728661171 581422025 769633347 724743303 289905221 153865015 737238371 301564183 311300971 728160447 644691151 832283359 726249137 315624339 460407153 287344155 814156713 181705521 997376449 40273867 344794093 181946975 105633981 988231859 609093151 657217573 900213485 744404073 473781995 748124379 47509853 725310017 461686785 726226203 168666275 11167325 514842397 573326025 256705503 838795941 614434559 692187667 327736759 154601931 338326131 548647533 739422551 89781315 192632651 570228113 196806009 270795091 845052257 957084807 677863769 367478781 542218135 54043289 284630973 590928405 576402137 940643929 711824371 704428851 93803287 498417833 198645459 85853111 948997197 335616935 576798651 899130825 640593275 737070021 436447119 278840411 354394541 489902259 172940223 228793889 15870197 614541935 388817731 557201055 515917165 279471675 626720149 488758043 119410231 689977255 469565887 370036647 181960831 502808967 708294987 963559963 102010997 760423155 661395285 825749783 966296149 697465427 229693815 856641795 720760671 758789203 444838617 468565263 613890783 440065765 925416233 976835635 693188903 730802759 59922843 947759663 650738835 470383101 771400689 377327759 295252609 779255251 200511343 400677277 336133215 962913503 934193125 618705783 184939677 983615611 171978407 488989433 835816885 438787915 649175955 143572175 25168685 234870333 155132435 795332711 237975179 405767043 163335185 729026297 178216035 926687645 507627269 820156549 235876175 945009739 512630511 586726101 368935667 210257821 77164881 402870905 560751861 318535395 395439165 899975111 299441675 832771519 58826569 280103905 399329007 338139407 442357393 21095857 702804321 1778691 988234685 908009699 400597807 697800463 18538747 766246131 833142055 17342703 71681025 675401759 342308389 152818599 287881485 623349873 959225867 933661569 91561445 474632887 287728837 196064789 104272599 6562187 574555459 926144319 52988859 296955471 205864065 103417889 218192111 378078247 483970689 733180967 595678295 543897861 572007243 651081735 891442277 544549537 859697139 936847037 870021899 937410941 60753811 199114381 123882187 7044065 485016143 446993923 898971559 243627227 193561677 113899251 451139633 520296261 585207493 99345787 398257791 771128511 7261931 886478077 401814317 444596913 242796807 259074855 752088163 471898443 88858975 243062507 582182095 879749 423728967 237696393 658236071 777925409 241856539 22509441 891766953 7217061 594661945 811882913 45384987 412048227 732671503 82163711 620882637 392288115 720542989 955425013 183691795 427050933 415510703 773644327 622861261 518399951 374740341 494166915 176231007 600483381 837915629 862775357 711323833 940123933 4838821 919899087 595627859 687135113 603374649 608545025 316965671 101445183 883640397 116636381 106741439 67942609 295052425 126227893 206874407 62131349 745063583 809062443 450728695 33922479 695653963 611861021 277640011 460280835 302745165 683812285 771168459 342088773 385963889 958487163 66142885 799982313 892748171 749352467 484619663 697500981 878306929 616390541 76459207 903507501 832480521 137653299 969753875 172851617 206027321 36169369 657333699 799149355 847270905 675953053 196983211 463224621 503583807 256071521 598650411 238542283 593534477 696030801 268450345 981408247 864472177 219822117 778198801 201942123 175071097 361436885 977013213 44756133 3421505 212525479 580598279 62181871 578649325 629046311 199210137 100316759 103817637 169576233 416129311 749294007 281257371 768658379 503561393 20728495 511129355 237474927 208952043 776309671 502932277 706750915 797880053 738174927 727718759 692720059 59480189 12620321 654909423 54847633 793188537 351677019 227331371 966798797 785935719 107939333 962048633 722843447 947007439 803834737 632900423 510772199 662556605 125762231 905868293 994583863 877508231 663673015 261341487 971741131 838861325 295924761 925225031 60672145 339788211 727514699 248472277 102264765 981964139 335816331 808499055 806585291 879276199 978435283 458691243 757526143 509740393 501483249 165233711 221623267 682204981 938385263 399462307 366939983 662136857 277870251 874494393 311125599 100724141 173991875 804744493 354964981 870042637 344002973 635097025 995672893 956147937 122144237 887142717 117385389 740430935 464513577 812146295 777464577 905641511 748101777 643633221 246320701 513076875 561784111 52371085 508198061 130184523 864467155 183275831 322792421 33063607 699675667 795181877 654801347 440745123 105244243 713401731 993856873 513835887 188279479 566604323 925788741 282899713 321832243 64972573 224455433 255166917 931059067 680981383 863699635 633164725 985461781 715061367 213456775 794231117 373913411 497920531 876525587 280213651 430976027 66110083 58438183 440790037 321248113 2559737 437102563 451457515 184799975 79918257 710431403 976295601 710999013 109337069 486194729 499857041 846237341 675667703 621092689 285036085 401925379 814414111 435621731 903131093 761038299 213443 173405919 512121903 626700205 414056257 462480533 986843529 811421639 700846599 846673047 981967027 935156547 733012871 222340929 923555843 520205313 58176313 213276729 522926677 237802921 324128673 153946473 885408783 833981611 587453767 630603783 37095459 236484415 326806977 269203855 272871173 494853735 638147749 588458179 139908531 942680809 442099865 835975859 85926067 652569175 631809605 966805425 19735827 107800585 221527389 73757275 23907691 935090719 395032985 761024147 167380695 128620159 748699579 502957701 374234113 486259165 484319377 516218279 521026067 190737071 750824427 231438775 196683205 225441335 339243425 297476533 238659157 132733307 318591641 927834351 827305611 954958413 123690427 803045369 109398963 307649603 375532795 311821233 556660899 961290689 609192017 504005177 954337467 847913707 85809343 665960447 132205793 655400629 689534291 712651445 350667907 346988501 399119389 974754907 429151893 686049739 362495797 856047665 410001049 127124961 765906369 556519879 20962195 979298343 989584617 621081069 770448147 464635507 758155489 899504067 73369645 66297703 82709985 578874797 217934975 176519533 647036717 499991637 186407731 198990769 634216461 693678001 916456435 77900079 488911063 183090171 438392311 64172965 623591907 455754939 800428799 661300381 479272595 573154747 697774157 175188069 904058961 843324431 304668595 889283863 897184655 221666579 514040967 306731923 353459913 78479725 526000805 979394177 591702401 197209095 595998069 907083089 684750145 943372567 626261731 356991293 671490203 732725529 618336361 444405827 453172775 848238545 674015235 195765803 568159115 316835659 557272887 302644615 867550319 674857179 257517589 902634671 776919943 449243679 895145009 673286851 102083467 177495033 386824105 719065259 160653887 720625559 836080167 987097623 617378157 300026219 440575957 411155071 657240549 462016051 561271403 552023589 536202885 758886899 697686569 262339855 461953837 831953657 548839635 666335247 180782535 733276885 905729207 264854971 844638535 929655143 363739563 446838135 746066085 122493393 505810959 23308905 545173989 393836417 606702025 551731327 747231505 92193067 229956935 479501685 406494011 500930505 392756351 3917771 976631163 864236451 50528239 183967687 31663095 351861569 237232541 488389755 360169177 970229371 450220057 494510269 54100815 760098155 112663927 541263919 347123351 207838583 719439959 399557691 619434739 689579593 776535773 133981965 355607213 751079639 13742009 699970209 314360599 779572829 41147683 263058359 539019 125209951 393623509 930453203 396174443 26562729 976730649 173646155 259311649 561577039 140943035 658153523 763563553 618149549 217404947 119875949 986243043 54077801 563454205 849892513 291773931 817337965 332582369 563148353 13930179 423821553 545562541 557523073 339206141 198940781 123286231 807201893 690301745 153493415 866654813 448408757 322353925 418428843 395039941 830431487 297713187 362513613 122105119 968881821 537038905 296781739 639894527 539337647 59161351 953849383 936569477 887949341 456182091 471848047 353977173 741063831 533800913 409016309 230596001 296540055 659925097 639891065 585811995 635011673 933883121 27142395 156271107 128010219 933667401 755671241 125471265 737652249 680805725 554598521 297586113 315603067 242377755 701896421 933708219 186015605 811960451 683857459 348979051 902626605 852173203 280884429 521503163 779306131 382222935 319883367 894849555 653435999 654675167 403258113 407969135 566433299 973989705 183628765 57635661 222437621 9974453 731444869 935007919 425383703 948351055 619390929 282835751 624483919 113738311 818494171 311127497 738697537 587455703 147253257 86505525 854417489 208191299 394987527 599990671 932437171 89030357 167858375 58250633 96985437 855511007 718375557 825942869 386063887 344427707 367114441 987772085 123597907 462940875 427707229 684554477 700881529 694911353 910168919 914453963 454493847 109991737 730183695 225708711 865125775 238163589 855997485 916485469 932578315 130719965 665000605 130712405 578206583 443082189 946981777 937139325 91860751 150402533 153956231 384239691 593644241 559962563 833034819 129246909 913233031 119087881 120347603 845981531 590240447 318320477 622550919 328617519 729754579 895850357 503123711 681592021 95738083 307298825 364133661 314298727 326776023 107870941 828644623 90639755 529843551 570964923 217936713 226840435 728821237 735743349 515590789 617404113 788787415 493754597 463191243 554538471 266853901 975284205 197020771 902566009 733532779 309888121 935948517 532150485 946107011 479558521 825592875 214085331 950467515 728290791 69837659 670584017 586895673 487984583 322291679 997915827 764975853 890940195 261283949 211722473 37340305 587729165 968304641 667232617 811335329 754794655 59825373 247977137 145553769 260193277 871898001 937451209 656966649 862165837 635612655 271842875 813969705 716790725 93776405 819033891 340040345 994617503 559200099 274634267 374486959 212971035 335872395 858547529 879514271 673128069 553045885 721613663 677284703 887309103 752949367 39805585 856727217 547707763 583341309 660380571 131983131 909685683 871179227 174792391 967954413 391472731 652988709 603395811 323313219 776273115 568080697 645968451 815405561 733679789 327822777 311616965 382380219 768559189 894009491 831687121 486072053 663842397 275554553 768530775 9295075 779887191 328960619 713219785 73736069 868194269 734703017 991316263 989608351 108879763 569072577 644419319 347985607 733470751 589233929 292547913 776383057 653957431 273025563 44079283 537879135 43566741 153839835 798655057 995754713 587138297 572275063 400495307 647648369 233583407 25357155 643800397 678898589 401371401 889792091 376988305 530981277 245341793 443553633 774750163 747402105 909146651 403946437 466910169 846224131 515947293 123017753 542801393 335042003 379207517 40854329 866387187 378830409 507121365 960219467 372052029 251805837 105573509 576198841 112737971 595734929 584395129 252648761 686455237 546184201 395628483 176948423 638301801 56911737 625529725 379197607 558436895 543525159 758100427 224304229 395624425 82376485 725291987 786211029 128075609 160172363 559099339 910982421 518730117 919952441 508505069 689116039 589136393 681920599 770919801 409323735 952606733 724695253 955097533 580200699 78743869 899013803 952583431 776386097 120723155 843567513 932746675 690891769 783029387 997452587 495655203 623596065 423238571 82909099 408891587 922457021 39092739 501638455 853080323 825919531 969585895 651477163 309640799 141308941 50236981 149602483 537541719 143246417 83440983 90838205 960311415 562480427 215624759 633094657 576958801 579720469 179930189 248286335 476152191 418524119 330688921 212436481 906878117 196702585 454559133 470978839 911994475 109147475 456363115 637618711 138217347 968340735 480258969 274944547 64278695 342847843 757766979 483538981 202439581 151950249 157170961 993719241 585695275 693930567 299318577 196717707 431885605 502742519 226581335 906059433 79240549 291031745 510874053 450130989 977481423 6414063 269784127 503607781 697597257 478744597 565276949 762723435 335794635 289189903 727407643 299432737 753733961 354365443 669352881 676502827 581794763 675306845 248959419 196815995 695676247 548028111 688601259 887434443 571934977 685416279 507448435 680981143 646183395 379326265 732467603 761266221 673859105 836901633 140076563 222449817 387489763 981976195 182289023 377443509 463857243 823662557 829704431 895985185 955693253 95102577 846923263 156555845 637187937 182507499 435117527 271720785 740363899 97100099 924509989 619938621 914940263 181156785 399043615 141355723 952343419 882661307 459439491 32062081 801451291 73274415 521465751 949232561 580016307 176462621 188296489 529094003 203486643 668538597 902404243 942182823 624184215 36503851 468992173 546646003 23045857 383906777 878376931 544318155 71361561 359976995 219454239 782551653 984510163 177915785 371633883 378592195 438687913 843935435 621764113 602851755 334664255 532934905 727660363 748060591 648874045 390495845 862249877 898764069 893217365 328291243 693252999 837407281 690563139 713818801 460341309 946974391 910360775 896952737 76193375 100327275 560076463 281616881 471758619 702605507 133135305 144839517 449799463 802885631 355128305 933934313 611134401 744761897 853118987 965196769 345551791 591245071 775120127 62437081 830037569 22059595 835877567 925628589 587172427 117146687 145983303 477824387 594681645 502672655 546187671 366484423 924930507 93343149 933732029 932416811 895479191 225417427 254575303 605012397 137284483 642424831 603135443 537535121 371304721 600685179 654312703 654569317 919190341 878846549 864349049 534481657 633430957 317926247 870889841 382796397 562743137 58263633 639370019 819644451 403620861 897052539 416013777 920666825 989251753 98066965 953486531 605982801 995782419 328528665 225998413 901288187 208054897 828564549 28822219 447570503 925612673 929546017 577957275 438894597 841631371 427647999 556724267 950977861 769347161 786622199 401826541 294356839 825100615 724454633 599052889 452084495 239273773 50063485 354026481 252124455 536178039 969117987 618777923 389342693 947477009 900749331 709859549 990121925 351863919 865934669 747039581 461401737 747494547 957782173 147879521 111674433 743325185 199805581 275822999 414055487 22572743 262712187 59088815 760803359 175496317 559467653 773501285 272587463 555018559 111098513 776898171 813554017 433578165 505800531 127296699 470711397 111238413 747148865 188987125 237527179 842680317 696524187 952978437 956403671 505265603 163661675 230315471 92519579 311660583 109827201 89812027 640585317 450799477 408626547 647008827 276402451 111498627 384359845 194175691 105918411 614394033 625644091 441228269 698787833 845576421 298865449 279400875 859446865 837259 857732133 405710101 431941069 777201053 770747823 276391753 561853107 453723799 728974863 241200741 297669007 528724349 346170457 918186135 27429431 549529315 759434593 297047313 266334917 696997595 569486537 620747019 577629341 185821187 180398073 638164167 457579885 118992515 74702627 417000595 73754665 331171593 520883771 847061437 668785163 722191309 310432261 894807971 609658779 730588041 54878473 106076325 650770849 641475205 926049429 3966765 98405429 746591633 308463555 204900525 824794545 383120643 462025331 267726497 203544507 298814903 359924301 331669899 647056957 251565587 425498049 748407283 881732205 784537865 184991495 715712879 306978247 591133453 321755937 996206999 862601999 67789083 689930453 719550731 264938321 780329917 508438453 560631929 112156897 66604545 668676377 293179283 309368923 788746363 998156577 560334353 128545189 890503753 29906869 714123447 488611051 236661267 150413699 237241933 447340447 799228169 319718665 413053097 381054335 994206173 786819969 751528353 787322767 315978703 778769399 192641563 771536155 299351463 508687419 813161215 436815033 176262833 39117283 218763329 141515585 860070339 272180051 199779801 761687773 841126973 74771631 702198475 936982515 90416901 486188267 87839775 511639613 484657033 556912829 581537771 467297203 154984637 904658853 60883015 622097821 406217763 210069741 811794003 222951299 23933631 259213477 366567743 436267069 328084513 18601635 525111607 320489701 551702877 75505545 838676601 526151647 539213841 942150081 752783943 726129625 29517159 468518007 82500587 61530823 799823113 835414183 839052213 107908837 8247855 967374863 21367299 928224695 846133911 402983993 128328757 750991623 40218505 758352755 626882485 87951853 117375697 380241879 850574071 612797379 555968453 496782917 466010227 626024751 39710279 889095013 120869805 612155677 204878263 183745703 419719213 536867263 350944265 848362821 956828809 14906771 257384113 368827197 375913817 319149661 761175469 208951383 647213117 670614057 844252291 767787301 526412005 368684619 483216707 694105087 359987197 206828639 414269825 403653125 855369797 872453963 866266971 505456159 632939385 886483515 762819195 930171389 58348393 611900321 498503947 899684119 287410917 696137277 254052547 638660015 481548997 452043279 319353827 483894219 904458479 227814245 972621869 191382589 49276749 500663765 887542771 293658523 323000013 103268153 737793291 99230537 527799407 885834933 282070481 672660077 338082863 827890615 215994925 696924917 447375389 312012529 502574221 91073695 503266121 808028515 453603559 744452581 917024973 537895245 443772345 282600211 348698315 433994559 207962889 695384377 174814573 188439819 295041893 148824365 585720807 278322381 25411815 535381137 708624241 997277675 21603367 416698063 757732431 398565391 55338321 798606867 840846025 24121903 802818831 867833433 551419957 521281413 264614297 934714977 171791851 349040281 26486191 810858159 866040397 621934133 691964309 94168729 341628869 825758317 733062169 590178611 169244103 284125599 297468305 49657951 12791243 781295979 138472159 154341829 98358869 334278595 142968933 212568535 535348207 965353431 14073107 207981769 984129067 825421093 866172765 728614303 131887267 953423985 602754631 788546337 752910329 361497287 340871761 972564189 673640663 549646973 291710603 503467565 660844273 722616363 423160207 488201009 661130239 291135931 141207669 488891857 732640965 680771411 140365801 954117821 967677453 89776749 623324949 515777647 714332073 293390017 415026355 643253283 2117491 451881303 673354749 113445095 851039309 676953463 38945213 299672711 31946017 810009529 330934591 13755549 72824803 55938807 612730203 341575047 495306891 957228885 189668205 85491569 349784605 453660481 443896413 392710985 760400803 2407023 978382233 131405255 384599343 714824409 44860439 649814125 779896539 18801095 117624149 392144001 540508617 250121411 862042715 952663061 261956387 504166049 695753907 829684479 595575581 580762749 296508793 810429923 404079087 894822589 198939205 675983653 458667741 554765323 573825603 338835449 19592497 871967837 683242269 535147349 552850237 172184047 922816525 682691321 36722011 43444805 569114319 155512431 702668013 728067371 172549287 281502727 325709151 944461749 879040361 898382807 951727903 456830785 586978917 237811905 718189229 250776177 818477951 956199791 935287175 84325425 217411097 580121933 461738297 845335737 847081507 845906839 862120021 874986113 878756627 664481867 933747061 618953039 366115559 460134707 296202299 928374575 463021349 879785181 417340497 792737143 607651293 377936291 782560875 923525057 786029733 837061285 606494531 71887089 165111703 799037643 580130457 563726389 408804447 305102791 330644537 511073791 849639209 267626765 555002101 393828623 80954793 915701985 162037159 262435685 108417569 682552137 538195505 416201553 439065173 151587097 346680445 108389989 76624531 313385189 493562239 667064445 279062195 494137869 851685937 714063549 300851473 421998013 432413843 668945555 362151319 643224035 222730929 574198451 930631855 925574713 295727005 654292505 396001361 371696955 979230321 346738953 587633403 569927479 160510287 366650895 206769331 642104119 395290721 64699647 473821705 869517337 997560539 486300661 823209747 954673019 566105591 246359127 98444909 621350083 407907317 64301007 972066877 127767589 6952225 699652437 34702645 53327767 272413901 224304673 675517319 247542235 958761555 928102073 152927733 925833079 81370645 484728297 122374339 233606589 557579903 334651845 924912833 207822787 221635841 602675883 797282369 587131243 425732885 342513213 66877991 858328159 744840001 866537065 86927573 103308555 319591435 475394657 789813051 259323307 799229191 834709923 334204367 119385919 516154319 968816373 352130449 400593035 180260613 368154975 171624707 308256549 470031189 537902905 237940023 536405089 529677423 74734365 442672835 78456417 338687501 996522223 586942147 464058127 809543923 876588253 697809885 431771415 81028587 719278171 484747075 633390837 740099783 277656867 708861865 38579175 380734307 765979709 568599627 557897973 801688221 74500851 747135989 411368433 110584673 486786519 347858415 238220405 891531685 985450443 305220371 688639195 998902621 710653677 289281213 95768401 862933903 972249519 343449559 348229319 873929543 687399361 265648587 25353201 389269651 897931041 402340753 260192851 699805071 992161041 51312295 473227571 568360797 186636065 48835093 844492451 927047977 242526245 551618407 993291387 242295075 380397365 652086197 625788763 842063749 102563513 327347867 631954347 997818773 555073373 167512895 617076891 198805145 25137427 862241107 88293667 307203813 759813657 687749643 521066755 958703827 264860147 460461861 535495 265775557 188831853 564853735 231033785 217678631 793283229 103336991 502906103 364026217 134500829 36246821 271461471 30435591 584715985 366473431 597575831 3910017 59644519 344644249 758731027 822073955 494022865 298984541 339011337 328561729 30848143 619199893 646583929 559194545 788269921 109318721 152526125 574941783 32655703 786517993 387733941 920057311 236898243 26376857 14984807 223950585 67951681 992654823 943822437 831804001 429768117 136996853 729609369 694110167 98865485 449273957 414911663 952055591 2342781 516740965 171162147 638573347 385807617 106399407 917323571 487351975 920610781 879841919 226634217 968134545 961414235 890199195 200051987 501151695 612933139 712417619 97367885 964626513 234188001 212867707 724959219 300916755 111339495 22657651 613128239 902076181 317019281 647569695 785337841 846468451 712835989 574449903 586102003 683371025 401624559 576168411 116914099 400548917 348588003 83713117 985231481 438604275 207715837 735839359 663239255 495792503 493352979 591942349 782356005 986965489 927353917 100503389 973646211 227271837 307019235 543196881 745523673 907036603 453714609 659191627 962882391 239707545 771686809 53535611 895378421 363857285 333147099 25944981 30353525 538474203 812619767 307420251 50079069 400230399 788674747 126686227 50294271 996060503 153217597 601641351 300834163 775592027 678595287 736761105 711579545 50654335 711578669 595949455 604625943 41490507 665140781 910967143 451608417 26544709 178224139 537092997 480812461 896947713 915121473 766641249 940204541 986976539 21859479 114510587 274453783 335890481 840722711 455880151 659576461 931214833 993544979 867836419 796545461 492232715 702822701 456077845 686912179 677257275 369590595 625133871 940109163 514926915 889624455 93718515 950266001 475511275 903779689 725971857 688909979 269761031 979167397 44995263 343947977 420376435 229680707 371267771 347595813 43914509 68012429 189472843 695325309 107850691 271811351 382105279 661312877 194303877 777515455 99972331 30736209 134008911 417226663 503355439 502962259 623508771 309589819 379202415 771799907 218109705 639644723 396080157 339659067 799250453 157231751 687011115 932545881 387285603 998069117 237287963 265363719 391895313 414104737 491926001 174054995 776376141 24370887 544887867 246300439 905530697 47097613 655078927 750884339 774558011 536618965 993469711 298617167 123675755 645700045 827194461 735300187 262126111 806587113 515706281 350693905 418575021 716709731 459988521 466575919 289140331 914699971 301011867 596032061 389298879 422655697 707004741 314555021 24882961 315475109 641040631 900761399 565174739 852652953 545268229 86800667 466296193 96559697 377913935 73285857 259833757 588691389 640705339 835907065 744620463 84662283 353452725 216853403 976408651 183445437 276658743 433332679 198715917 695092885 501361595 401062985 552297619 698221213 336102091 847437741 803890571 633022765 504297845 561557067 580133799 216613857 70498123 374243655 903909791 756605851 181780081 999129477 390129461 515630471 74396297 868288697 180573239 540221979 53825475 254405721 91270515 898455059 586452949 345965221 48655303 271478131 544332541 299059111 757347601 56948871 848744707 241220143 949315391 714576099 922297905 161919189 241474371 292536933 257855587 762020599 947032597 38932527 900675059 719516607 512808887 439380399 539164871 894701343 348430391 346757527 815695697 211387085 292940451 251063013 480222085 969424713 197811737 754246111 922271711 877940957 423140025 447424269 989642345 152576663 729984685 144068165 229629361 131477841 707685159 818778533 911430601 613285547 414391139 842059409 796096341 755794445 691921827 405170867 591013495 968770473 568876079 881782527 379285471 988169075 616467037 574275253 80267203 607551535 932201347 600379477 881240291 490426981 18265095 511778991 389123457 424350051 407200849 88328149 176262255 323543107 23194579 248583203 604063233 764006629 829397513 531223359 841437975 541383921 254955381 810965779 375172631 785545431 200513185 529016533 473989615 251697359 662242589 947649025 646297363 41587163 829501063 445009753 171819141 122703553 160935807 326317037 591786697 335734035 34427055 102896655 687525615 688089641 38359497 994651229 424718729 465996835 628259977 455117497 376660923 567341289 367394225 594038095 874404391 802408233 446193163 292899735 2862589 535111009 211099495 914922313 346286581 26369227 701079971 981526379 943281481 801815155 755750303 521544009 765465281 878682153 258210885 359956855 251945389 265315717 969715591 579428051 793378019 241341157 841423713 194157439 167890879 779204211 620218581 1454057 844531497 708908321 141270253 621864901 244293773 361462693 125604281 274833165 659792613 379473791 97202519 301727495 97270701 954852857 824055527 324405057 750966763 807132963 193185171 723509899 605906733 681771219 350979469 97817605 805259915 939019179 83535635 545412627 718300579 940699157 316141409 515438431 682801561 632375101 599982535 753491935 144948255 903146527 612328085 658931149 620369511 216200825 807981091 64252081 672491569 846470613 713012183 668038229 160014533 276169857 457087769 315068877 66377711 883594391 870809693 518989429 748350725 808365303 785655835 105622771 578992103 479816777 54981079 884181041 111244283 93133309 441982747 156953189 799840047 135744333 494042231 914456587 480095993 248711735 947350665 528332007 674730839 986275459 203469041 732681477 515365839 91316419 886094169 482154937 717789807 629627215 455476341 988536481 246669007 183902535 113807101 552602783 30780685 855531923 630921397 239121633 177590477 599980003 219686245 208667609 457837121 48224175 995645923 859008581 410255131 92430137 175623431 899968041 44570523 406675591 827481779 546831827 10103177 404935787 525535441 33491667 985233713 928178557 215075925 49829129 126370411 801049371 530798647 488581527 213082515 332463729 577833083 772930539 797036689 599374701 584339241 193667257 989684179 485249991 220331863 514568443 665419087 484726271 974495773 394920697 117394305 673142879 841507229 378409275 994552949 687128055 159336449 324992921 990045875 108023709 399671421 848531501 81782357 119977205 237545545 733657181 448972793 224078691 336781225 278022099 253607877 597586201 744660711 642601349 785053797 950327313 469096275 854367919 895151633 980294923 857552459 707515861 338929033 988216971 429443119 563986883 859093775 912648167 630346091 677838989 204344695 216003635 232802669 170186383 659000593 882676561 972001205 456571759 610294975 413053673 591351489 786258711 652431079 489822061 381626139 253536959 440489591 634007313 206535769 214656479 29694949 670283481 786866195 702734141 967497775 24023949 125938923 201566181 278828509 691471547 366762891 382236715 544520185 579430333 785398695 57809581 643525917 143353523 950920439 259058509 174245991 711970693 483359295 924582457 869440125 464229603 317104713 796922083 113837195 979923783 180287207 201237771 417828171 77740013 140367859 61873073 128211447 605939171 722074703 719484963 466406745 904054005 55291109 267013367 329156285 619776701 94598569 948890887 73099515 239461273 500973203 27331193 590610799 62218165 11440807 695424439 255821057 259610111 99030767 648409205 846423839 102861615 657071997 341708979 15052991 418474183 822934635 899321267 126244703 444802573 207191259 959057151 959316997 894274835 257944567 363839343 438797889 828159919 804454899 460807197 65531175 450307717 637756681 406295919 335334999 736792057 823758969 733807633 857076983 11292991 110232463 134009845 274215091 983005005 930225819 313459033 542540485 563669987 512158203 96683967 890004711 500894347 414246671 874260727 639500387 444234133 312386371 234575381 746316037 249419031 724058887 520910961 641389605 126867955 657745109 920400563 718838177 808557267 988383281 467695559 736646877 36407075 234056357 852922847 630307273 186504735 987783875 455202681 372817883 721087941 366279973 106338905 954794769 994548191 281333613 312766093 601095921 475790075 21035335 16321893 426418059 685669235 130480993 440266369 82751091 62956135 628698235 468047555 908573129 553118911 576000595 542913881 404965683 420319789 772163765 523132599 568788701 296835109 510529139 162797463 589299329 880933099 774653543 140069377 696875099 122952837 398507123 206142525 361973809 806323143 751475841 810256355 724662865 611533125 56648581 833742541 463316115 783818847 490205305 252298273 629772627 726051393 478496605 354400585 523909753 102632665 319263293 582635259 814406259 628448737 938092587 873220659 672789815 503082453 362153537 201578291 64954693 529919747 249100961 722675339 170784927 990978677 113513847 246089229 807816663 227064585 772030451 364137431 421123329 186667101 914107727 935748425 407041725 917567959 243838415 142402581 176188721 434381739 163275197 637021995 426618123 595755983 557379691 80446921 931030143 674629893 702248755 382687859 306545231 300195283 554710649 274690549 27461823 776819595 491627683 80009317 393937565 933675843 141929767 112387611 615476289 89592029 145608063 191293119 953567881 348269059 803390507 23282237 318506457 893131553 19358647 38729673 290479393 46840435 520468917 187757789 395196119 767874809 579958719 77848127 189084153 252371831 777719415 263431933 970067215 25522051 280945289 258696039 990821157 495515249 299200933 110809629 179970257 483119715 262594949 596679939 663997747 944526659 397175535 825391683 850882801 148769725 528604841 835955025 641017145 95843405 810408583 724576749 707710655 355620401 975174243 841032471 244807877 41653873 606986527 126436895 746719759 349522655 390456231 478988183 957238765 208108309 582313963 564453979 601534771 408739181 359652837 754120337 853904191 984489493 341241499 398277283 431678203 320333821 4114707 252489287 21421009 361163225 501362017 209941881 500223673 152698157 425030047 697887613 492318513 372315967 840312559 180942303 713465409 41626657 148489341 170555763 121322357 178114475 407141497 414472535 341279203 248733821 53533471 7986157 111957803 632621823 852619183 41501153 295630963 251801185 498538357 915030315 519982441 561618331 473119939 647738883 132568387 997543533 727940083 503960047 692620223 323752547 918329449 981909691 752349731 483084231 906228107 136909179 480826429 410627767 465345487 477244813 195016037 497142801 798833071 741277589 48875385 486292603 256880813 801795195 277989853 738789737 179251281 293853305 979569793 835099665 931567919 808038919 929148637 575574643 626544609 217682157 280681195 827158105 238119433 316061491 231666741 873128531 562361683 686926897 643769031 322142391 986028655 141187457 441663543 568111783 106028057 3828745 592351909 319422221 613914641 922083571 884723127 663642517 48205861 739090613 130013595 331721147 623642403 797997577 717825031 301351869 670526439 227585271 899867961 156383141 58006611 709649353 124988663 896486977 58146387 725981203 875494289 364448301 963359959 733064113 26912475 526803141 941505243 801863113 492875059 171691827 133704287 400733639 534796931 952768359 5570929 232939101 330276661 715353883 447289119 359143049 925596993 270027469 630197893 485467791 654081831 673974469 449312197 912121595 710205163 322139157 960183563 387022241 331980059 830170517 490528647 994874527 690540493 99591397 630161013 511065943 68773793 217832301 3060759 837706103 10323645 211282781 79064757 196981745 662562767 44212397 156937635 348784131 60249357 611948063 149321787 692902961 183926069 668831801 853458145 623811913 497520781 682878541 26009085 73502043 526354405 935819123 274805505 232905927 898794385 562867083 235230569 280618801 244727921 430817851 822490037 954642051 301712617 651109879 790093425 90401265 900783083 224187125 261782833 818265339 734619113 91278391 368693643 275626083 316857317 336344195 791475749 419798323 590731361 313374571 919425957 309491651 210264689 6380613 752463811 621665453 453185189 603489077 218640435 903651799 104897057 81140767 600743869 411774315 284114823 353834423 480725287 99810015 797471749 611032691 272992327 63221231 956322389 62588819 28191987 959019423 892068275 313547809 561814543 317923643 113890535 847739883 961988231 291199319 203145019 409512077 574601805 114048207 582538635 178349667 301431127 531927497 200790319 244236695 263102637 528084657 524296979 800788761 618339157 578682681 851294881 769211811 912637285 142023007 684716243 200259251 691458291 473139303 985510691 910546835 620238629 511622111 672002203 200352849 721804067 228493463 832506569 410520263 469891871 16404399 170963647 104579477 865561941 398324617 586763297 837592355 376566021 497117395 876633105 156993185 747797373 844752767 213139519 326255369 649222923 237569485 809976289 522231321 947363339 739223869 90616501 454638937 68527585 240438687 149475841 692523291 531810805 456229379 622499733 375915895 203733177 246395337 160552133 599425357 783320233 937687445 534940529 784382789 415889223 588617297 531337983 747015887 912698395 290720307 475598171 83544867 106689467 445093815 748335103 531603009 365327037 622034591 92923621 781171189 432387783 160104699 909609367 541909195 90628481 257252893 414517281 566015259 797726621 679102369 760033819 489628681 908617175 161621613 352566691 979163769 800310257 112171435 488716381 940898335 775368627 921326035 446503033 508808817 630068721 421390237 203014061 279544753 315958151 548405007 725295159 300154851 940158037 192856181 93488093 480588253 822053957 501284195 76844783 313506357 490952777 965578677 696845635 71877705 347475805 519908499 928223029 394269507 650104707 180430179 867718827 333541653 23051971 363755743 10713111 306059637 116600883 115381247 600680811 716889315 76117225 759138569 677225257 175584681 783088907 190083209 857744213 615376085 123088577 617664597 833484413 703345985 49825085 618635911 925342905 762377357 388630971 834222211 274680487 323903009 392159357 794491383 981288555 304919599 545141195 326035927 53391541 320280747 688957691 277526365 28350395 528976985 201214307 956796177 933453883 540909505 912567657 882064315 677355645 94099505 255240053 177000819 175650125 89088707 34879227 630438547 978284801 116082519 154844019 669025473 60053113 511622037 427036001 492642279 104071707 422748653 449503053 926238011 360069331 95313047 925261517 920141881 973228827 493270677 548931447 759438757 162557935 170644653 670411761 648182411 229692373 645340273 531059939 612627263 169503195 946627897 607170047 698995805 687095961 308449061 51134723 576823243 197965613 373341213 713456811 569185717 867451451 802630863 219508679 539851149 621263091 799630265 396741157 353479441 468722187 87017493 151076771 326439237 144169667 324053743 754799905 828522869 77254621 657786391 27701641 729947703 576755371 319109413 451272909 567358053 802712067 843130487 939753195 678166563 939402561 855457849 208184543 922364895 107711307 158785367 41008057 151849291 961637267 104799885 553962889 940394085 62351117 695120729 268320359 372920947 759552823 907279621 682746745 935168253 666198295 247532961 830697447 841862875 525155387 869855491 20984805 546582311 215397819 363341261 766155691 116901445 192628533 627727977 207373949 492222691 471951821 497166851 930121635 941967093 426102579 48881047 644425587 512362167 945809567 836974819 811931717 286088109 177461707 339001713 75721081 250344865 364024321 366672271 290136703 906323371 86471949 247712599 65198019 627745063 213728837 500258729 702963139 139729077 64266633 450873645 217605633 61211975 483512383 703679315 987912199 196575501 68786773 18552149 772635749 369408645 270567233 653622577 958324153 819089779 86076671 648414895 991340451 972327395 19687195 753990241 173177293 59772201 397096861 690746015 321943275 923567329 177739807 4960905 599080373 282094577 482604735 261005063 669026287 448033669 681470241 198130633 189526371 796316177 786820983 88851527 242831073 980548175 215550835 325622467 261030215 178111557 157261141 353824579 238228085 930189887 363148005 519899289 259761237 878214611 588853871 301209437 903558107 331198171 747528139 975880429 490305535 708956795 854391125 875878005 82856133 561306145 973498101 893347811 79945271 234656383 412323095 847411439 912516453 833969301 116852149 889818137 395138925 54002339 189006155 817067 249440367 699584313 312423903 339381429 746410645 68554281 76533249 518459405 81108243 294414223 522427333 261877079 161153825 268122321 59042251 298349047 77102851 92959641 966395447 187781665 310954243 997956829 764329915 344334281 343267955 904266713 223872649 857275829 17986733 302313231 250000227 189710439 907692563 509411151 515621003 6795061 60089103 939658411 648368851 54387507 141998869 814091137 274799761 737006147 514761629 262168947 708310689 834823693 863681323 720761453 179128171 313599235 878626377 752732581 890523613 14955353 175357063 924741271 747691117 61067283 775691651 714601991 192088089 964869113 695409629 626958081 37923175 207589529 863982657 405230555 328444263 447675213 531121757 572266797 706449581 926874677 491436017 702737121 128442457 318258489 123347387 72845085 411636495 973449993 640091269 616379739 371335681 780349471 958867493 653674835 989884385 851204023 593223283 114562573 235919345 188955359 413272657 294696657 250425589 443126115 550786729 432900151 780831803 116717789 79368047 382804249 92681883 162554795 234588829 950785947 538504561 616473593 513980723 889296939 149794213 864527541 888781373 785515133 608987813 211453079 224933323 817905293 317705063 756525857 310035451 643948957 420142441 396536217 890078189 743632189 101032881 874695185 527772365 737333311 534749647 864790111 935667401 713469887 898010327 544702759 785115169 862430755 394405993 192917709 464178195 317185045 604604331 106227845 104409579 504204171 844160073 798276933 942941691 998274753 946101629 866416845 770066077 727924539 830327553 856798375 158664499 902916805 982204447 716529443 140339495 351064691 220882083 475590743 644870381 909412771 322574821 210176805 917715197 418035959 837472705 668320311 122615515 863037787 395556255 476775161 406473233 763715847 322402159 41725607 606833969 363209331 970135715 153156415 289551061 278758245 806801211 355739787 939474591 161914857 179596477 868051225 577143867 817164629 212627257 344049987 820352601 293126979 66704963 815562793 796108723 137412759 77632507 140097203 61262349 546280063 270134279 86139539 504301873 780232045 852534419 928905533 422948337 774087713 568230745 285676277 624394535 982635675 723452563 440879043 743292597 468793131 843473931 431289973 934355591 818197859 335747599 784438181 961574797 288514847 694455921 72264881 789156033 992447875 452125589 372213957 33711655 411520509 106861917 367403471 341593545 125756225 763951161 939353481 698819769 18377291 176181791 870571119 30042641 63163743 216656269 80817359 35119603 53422345 374087819 759220147 919828619 969988381 386987941 211944441 565103881 12255159 152912625 11885375 436721831 137737789 488114959 158893291 150837675 44738649 356412453 566797617 35299419 405892867 171560671 171769351 898467851 557389683 507522423 424636463 456924693 109027375 81570473 853595695 100688603 136990211 765763259 684855641 247858887 120965891 34758267 918089923 494718285 353564557 73348161 560479311 613484007 355912515 871906025 746407 217009429 82559507 374265565 945062711 268875619 37930287 216624391 722033467 762723939 305936917 978819039 37995187 401218991 545807755 314277987 123888739 925029867 164384409 39591195 659965921 542536637 945860503 59353875 614170241 771854555 651156767 490598113 353817701 907875583 808470805 413028261 608298359 705678569 459080615 439702021 620311139 154965349 461315145 200916783 567692709 343430725 212268213 469715415 214967931 401905507 354297843 766724927 500722157 71923617 201381709 188614187 203203535 514358763 795819863 499784683 236794805 684503089 79402733 704027473 702393857 884422255 778464819 361142721 281645787 97718181 507206553 560903197 885993267 576198367 236309711 115000279 897776065 254549551 347488211 469829089 328091655 777939887 504044009 637203899 376530251 992731779 401127067 153138285 169600415 852418001 280053443 109128579 480166107 257967567 576574327 206900243 495290271 981203639 944992543 970334141 130446419 735268297 553163879 192334247 845538343 77111889 841388353 355407231 796323347 45897379 14825451 826745465 819966423 778505493 28387305 718239831 544541439 14304523 868627721 472457821 656962517 259422705 265692763 336554587 663109239 854279223 661270847 508182437 66656195 714951255 643514455 787666971 584356959 889827287 357373073 761445665 389896127 507448893 363954721 232713895 731868953 64389661 430223233 743171107 314373229 939360785 570709623 525209493 306682245 599610301 687040785 529527425 878238449 236319431 803223713 444913397 899487495 314231271 17761987 741337223 318607593 138318289 530210395 656781655 915521409 817054797 692125847 64594699 821901947 381383969 148882411 787251153 380788563 968482593 409492243 246529887 461395015 622068519 918629395 863914483 281107809 443208983 263648053 556399955 395751791 267055831 13642257 564175821 696759053 14173021 167809155 986571577 898354071 931385763 853459373 275810805 755921463 864027051 429631227 363480551 914271453 412367741 297312547 267052411 538898755 928066093 651773729 883617449 95848935 991291093 699103545 220410353 2398993 154885017 275690487 677053781 554265555 872563361 932546353 455310183 376789765 508487967 250940671 849505341 10449479 861944909 918126281 61157491 870262017 125137521 979874875 963947569 374297443 22983121 473975367 614839333 233126757 629424577 224847405 23265925 573813193 283772317 865308781 168911375 205435669 752248259 756020693 81536777 625723547 134170273 160182907 576658499 842228595 598438311 648071353 771367441 665334141 308157009 335953459 435163987 455175775 878964511 851108055 69286509 941895821 217552543 519579609 376236113 72414269 26787935 607235253 349153649 721951345 985702907 798796333 999615693 358429167 835772951 8811345 141096173 519825481 510475611 703414387 877052637 788212437 363620217 64276527 200612149 128834487 236467757 690804841 291875089 840693459 753653303 384180561 508780825 551803613 633727077 246083671 4760699 670923851 514223749 687241529 680989165 101736541 141753459 748171513 487586477 816015389 982869779 245978343 970412419 171902297 948571469 226863509 243017145 650736045 329337107 457923041 402671657 432802165 344327777 989127661 212404273 920228571 483470903 555276325 253245111 254768335 325602723 968631873 782089511 98358795 698276531 982800441 539623547 149808141 82323331 731178323 652244525 502030367 629463863 431473947 923555655 214327375 352341751 275706471 339199829 996100727 349199093 15876687 329960815 825851703 879326061 714173757 970748209 140370679 865080225 850951639 44155331 289367783 453445849 81792535 161325267 92286977 693376873 730007093 749201303 3779075 11858861 412683193 653666255 82804341 176631043 399190635 766355133 499071913 101624537 694636387 768138803 949877687 253976993 43469307 913110405 111042943 411008979 17026263 870895251 2285481 244734705 658680039 86043841 1074085 77972617 391424089 879181313 710305451 78600489 704062895 469577669 739346621 217582957 286044843 193575951 228708769 191863033 445969753 203369059 362950633 712430453 621698317 180940495 685772779 482029971 687534435 89752811 896548555 149570063 781984065 591290067 773110125 452576939 862605265 687680049 686002565 999817519 489955721 227834159 521276041 446136433 656381733 288988037 798972091 987425607 682765481 811433329 669958689 85437335 521807969 457306809 741349771 307016009 896976865 834174381 406247829 888715087 147836167 236460577 327451547 950877861 275855605 552068213 933126343 320846669 134670105 113246351 839588107 533611855 339537957 547047133 337055773 540040641 367856919 637291859 448024701 387599801 84640821 84468339 736557685 180014941 219993607 147937345 850450707 491221 828360291 713488715 390306609 497669973 540810087 108041129 172493935 121433621 243469431 839973879 660859445 878501719 270934333 285896287 449563317 128419177 156804781 157372811 974353379 399776665 484869639 848516019 762382467 961498949 610641355 635445653 223955229 310807755 768130249 82393977 22559999 482710171 467673363 829295657 722831683 718162465 98054405 188134913 525748169 913030363 38448709 605720539 188985913 420196683 650522301 756422175 546246403 530790905 145767331 20095417 536343135 443504251 21785203 945000227 977009487 666941031 119067119 852106073 813725337 501948515 140015399 173246689 67758543 537433367 715978861 960447689 45896777 168675895 512438879 760177577 247078951 151741307 818137823 618007199 328596305 338152871 343869977 77200975 83328629 495580035 402776965 862352873 495095825 350410469 97545435 637562915 530796383 525976995 747768609 462890043 408303467 346737827 444679075 437027577 379479045 631130829 473180917 450366377 63932613 734590485 807870965 537283361 69980169 909435507 141681861 860949185 616882173 562925803 472256467 63435631 269129101 687787141 928704211 576756889 371207541 790285143 177842623 301566261 546805043 560009591 133793245 669457087 452249105 926260747 488379067 344344131 366683167 331841083 611659049 399060809 118182707 808746555 41243207 600652523 183629295 443415619 550030457 339378887 510012093 296746391 32515177 952855041 989115081 705798017 895765517 16015433 699626255 582124625 422734751 646582485 367627597 152165989 504376999 240928613 47949581 128143645 115437807 549044539 548275869 449632227 183111051 351689769 380332567 361176361 695856599 775157637 610084443 907984749 700612217 716327723 980935185 911668267 430409307 199650435 664713897 652730099 638613939 603435387 886137181 480059477 438300925 971744135 734019627 430758633 55371773 607243433 155140315 704988757 38710463 276607589 125987839 425334851 505778839 649361099 337474543 609933665 311952675 172748655 857754059 254033005 465857861 225006193 862887547 302969641 813937195 294637941 806613423 286199647 730133575 714466987 723960031 610356193 302794839 676629451 930394701 602419079 292634207 351415567 367071231 973070391 459707053 802910785 629560519 321259993 521034449 447306157 656124733 309858657 799683755 418296105 927692479 371758023 393587037 770578199 936827001 380247823 225881173 428414807 213111385 694222147 803824199 851265629 621135895 72337781 510219823 486486557 984545843 305432765 774091343 794295573 730974967 602296641 860783927 365390155 887643507 327423787 218368695 846646095 885333629 504747945 11518191 7101749 125850553 347864571 59828547 660146589 945327243 938453087 898836317 779714219 345671975 842994463 619319859 603895055 737185153 81037201 377308929 891703553 843266143 691588365 594847307 968309051 783668291 182350837 935027933 228730375 454833795 95166131 313438923 960768049 633126963 854396091 232954481 827215377 602066229 960223621 200482165 553897091 388326193 957950869 575578051 331667951 473935513 232594293 715180173 950531395 249658273 718748343 624349009 674644213 201168717 81124083 822850259 858429955 770922597 245862095 666770975 687290099 271036535 172847349 812875657 460169429 68658909 587723029 125828015 726940733 979433399 375263465 117478515 456293451 59790061 828381493 226206723 517774243 653260079 105224899 53180369 723360631 699901687 610374501 222352285 927889529 816125313 204245235 184956519 369893867 344415195 791132243 983963519 422478479 150881745 848061039 893287797 45886905 307760893 739437367 889412905 228184633 564567485 700755621 115952319 867291507 762121277 756288957 987688609 539491401 290959723 551031177 342377603 137740843 212294143 662041627 156762213 592236559 769239931 936523659 730668425 796354931 691608869 717497089 806788473 571457885 150511375 414624673 573635853 785232733 645734671 894055841 72948577 714023559 219220937 154761529 863087829 872950395 191397793 651217837 920164379 543126109 900562379 164686407 173032227 646189535 237140285 947329369 612387883 924169267 317769655 578691901 598651573 628818203 621680323 838571861 440599697 97458139 436935345 423619851 896735955 296900673 954951575 641599699 908810963 642496421 396704855 897703719 785240889 625371619 304093083 41936263 797634289 943452259 379725007 574211455 799828525 839334675 672265519 226851233 126974315 774422377 419671225 383821959 769963633 294044003 904507703 854207443 304848711 758175881 417709879 132377391 535363 803166439 463278355 871497551 901755395 293092371 504910315 342017771 365294185 735809069 941105831 651883465 353897891 135068889 965448953 845389743 937145893 759056457 875269717 522948975 958131369 374252081 832668415 96554471 505846583 642905805 678060799 528541945 824692247 884916199 718747427 264111755 379182305 189351371 845277701 129752979 293755247 789511249 253379331 423527689 251456231 563575767 284858185 376882931 642972851 973912641 80841413 921095511 111125897 449975807 873725745 360874825 773498981 285274887 388401417 49123811 780381065 58808791 98037915 488112967 813118341 11454583 592392947 25752479 634614315 982833011 740311785 21301279 544790937 968781025 586059809 11401217 302444847 159037281 402872319 439361413 716188319 688685849 490400951 995582711 706227929 252395189 588315711 921370025 541333275 45920367 65618777 72376053 397704169 755902723 963401867 241128253 138382863 674266807 446004519 290581741 698464163 632429145 380337731 357181813 274031357 553761345 878633409 250053199 248831429 182504267 315004235 618233855 20880359 42681825 297409359 214135567 126263959 44025069 3865603 584345873 558434639 329490663 759632493 271219617 35686613 318654157 816133455 636927837 109148215 859396391 902341695 372931825 853895621 319589631 23658129 747927057 384784415 190079729 540770919 546985079 357397801 696595479 267660203 560128739 407984909 625152281 17876745 317604897 160641343 192500003 191524093 650308611 970719615 962402031 768587973 85386339 632510671 978083769 638182761 592680997 171158649 813847623 326020797 982751791 414889237 506253287 298293333 559702647 52992893 579471217 433380499 397943543 540822487 225835587 540708255 150865583 601261197 333707073 119666281 610531499 876037461 776904155 800371625 452886781 213339691 830959881 182092513 624690625 580090451 163388997 220582743 504646677 331542873 233018007 23721245 211187495 229558801 366987663 485988875 879485223 702441881 537802819 80998593 472401487 803891795 630358607 51306919 506993125 995776747 773248219 435089389 968433455 363469145 31693205 399286411 442119809 827726805 31267761 5621571 810243637 260392933 126756593 180975003 105650605 945867605 741591705 390701539 771696725 151216443 665570937 758021175 748713117 383119087 807838693 529229685 349225729 623433499 982623931 181017667 205674241 424491685 972465765 70931989 392851497 908365255 915020493 77894689 516018443 785107707 45362539 603374183 869380675 600721923 155447871 900682417 823893359 333472493 300005067 482794383 808772669 690544911 857519393 908434263 449038685 817837571 737325271 476684077 751901065 483131567 633039369 958405109 338601607 9196093 9068127 690269537 850817565 577967907 427016711 559478507 723914015 642199581 228886197 998648529 26758759 299389741 226737323 334014237 831459801 423818403 775718319 491647645 8278877 303780881 108261899 337673709 619374565 160535379 190285209 673263209 834968683 463455119 696812727 169685307 560775413 146127409 757291337 723217491 509325705 173259243 345934785 601855851 618219835 852673979 889579537 38299393 200241447 727801829 139544761 615726429 594159467 241042165 351806401 595117457 965093941 519104703 913299381 508312693 676326069 160389985 117535917 562466217 620207655 517038141 167776581 778434709 993788619 55296257 106076581 48535913 383768301 413209759 414762107 89200157 458224097 386257493 26238461 82978163 680833277 740037801 10593001 557902833 208359077 961608291 745404805 85708521 75300677 834071961 657224865 547859315 704053837 871916201 216699025 137055087 809743161 350294839 178056243 895533187 474674827 741115693 130820593 823553315 934270667 828578241 319612085 154522501 950828429 489425005 154148601 371660459 719223405 895510521 384951735 560801627 603134985 517242733 167071097 328533799 781201167 968532769 205531467 503525221 775290159 710626735 52602309 173421113 464474661 816291069 339078147 671315847 89179315 446210869 827059885 176934403 513169825 257696717 136658673 900589603 783953091 832944769 324214149 322908967 475967475 154068053 121172391 627368473 874093077 194317461 260832797 670721735 816331793 466477013 690816055 257456845 290430937 110677745 518106313 358384775 198010729 366093327 132905267 434222111 312153027 103454107 159591515 917748869 240634351 456734535 418981805 671261811 370288129 923109137 780573729 946715495 836102165 881394237 164069175 4722859 608150857 667050585 231367667 780202573 139828939 986342965 456525795 59014695 337715915 599843057 812913695 920689881 363691397 494092527 873306179 132830923 810183739 32021213 74555255 639542573 122530869 477991597 544085865 485862649 907368393 289330847 119547215 757673965 122218317 665852979 339475687 118218129 85689895 124448057 864504697 372233783 929272255 702792385 303203535 111279607 53408903 880162859 36063301 769853873 868583675 887741467 785553845 375981069 339743387 86927739 173752965 127794811 236693237 18952833 240936615 546738227 971581591 377741737 355191693 617088823 597538847 260624053 534966073 693521229 285650731 315554229 666454831 381254919 407483753 430087675 939941245 722505403 62431115 191240995 674220987 466312077 330377801 903004691 209741317 521980513 612196709 477714935 401018371 194629355 291867821 71716161 36895715 924911265 761125103 854506159 739598171 316535749 628221193 201364549 607316139 380910685 909941465 835174479 411869077 416278329 763955789 909387873 404469355 863386357 826490967 401169497 693730049 661879533 902545903 204614489 917689271 850394187 932513559 454580941 9997427 346594049 41166301 1799533 915537825 798280389 756291407 931460657 678704443 16817175 438606987 160535391 740968381 266333505 873913263 419715 3783981 33047377 812944105 464820851 461270553 228131617 755992427 699438153 409728665 520011857 430000237 810367081 669087561 183061065 42302003 309061249 399373905 469628731 502360837 65014149 33832545 987531035 656026169 731804847 600793515 884862637 71679781 972115591 657104623 147127929 864351279 236732375 821609587 988469709 74564031 500774577 451935495 333465539 39645511 788162423 316990721 871843899 815097411 513232839 968594237 602402013 207749941 191827345 240317985 545046553 351135911 721254921 708686495 293750823 155705385 861887659 225132331 212109833 184365913 238100539 301723329 742356103 850151125 540465605 721780203 712845613 950515533 966936989 287111095 185587033 453875821 474689631 689683129 713003817 82918387 93471217 918450703 74562181 476623521 359513727 143893091 815982619 452032831 737408379 814438111 892747881 973184419 428322979 649503291 99606697 788959141 631614203 33623989 356616679 398063141 430742991 995877909 816473075 688574993 96946613 712059559 302967397 462682459 602504583 793033281 666050459 386296315 982100329 928266307 957723585 633654005 653866441 904221587 294267331 452659027 881082457 541328799 85744221 519008549 940275479 496213339 109087501 538940041 454318409 103376457 324473629 144204959 819090551 249540973 669442717 878007441 691437945 619181143 252529507 200004241 426577257 752446491 696320529 253091035 264791211 647199319 264271121 155037361 281265135 520492085 615338383 370984797 856582947 388957535 521624711 491308335 57216137 693226765 415379895 947630725 330276771 212206847 431134889 721715903 189367355 842068087 168565163 420970823 697911145 87276871 190077655 985668241 350574217 794412229 687070477 680707861 230858299 464633549 308923125 559710807 279821169 137626311 35632639 202490335 516275291 89558175 598167909 405304899 59167095 567721935 358952229 856008731 930295433 619178067 516549383 508892937 700606365 555331505 568450461 389791927 514865671 371722233 911096127 209227223 983406435 205999807 613590797 901891367 269587097 200999969 452378095 378915429 116905167 618169801 516456341 947653979 65921151 828637665 604729207 559106783 385349217 269611041 28586967 713739209 240658555 791341257 60004539 108503035 926753561 902601115 766954741 9533791 199881169 61221611 56428829 226734823 427211389 246152329 789622929 149631889 550892097 517187799 669879421 748832091 269836939 854747579 782867151 178160719 48856591 87800227 581738815 764172675 646159815 153419909 913344077 122304015 883428859 640809183 858651203 588212245 606682931 407593143 567413297 864734143 454063943 123096221 294745325 195493953 584298065 665878181 559105563 24944339 738762679 129910637 941148959 282502585 280792867 579063583 27605037 823918397 418773899 296539237 345893177 197516463 398928939 710401913 515360521 906925933 645505413 703352085 616888351 655624663 146826857 634896259 164157393 960651351 560767721 636148111 360401715 627043937 383638883 228793233 75286567 69855085 564354425 286507621 752674389 317790207 188640023 257378419 479455791 68878497 974016371 456028329 98368489 775444197 461508617 773561213 390790791 823616613 221040029 138362349 422155985 740817859 820420413 517222015 683145301 960128937 39540537 277026883 283221101 584659915 817567281 469308365 741184825 575372257 357440519 241519163 526806689 603406511 655258857 938672695 435906901 351410943 483699785 429049579 480138191 26847395 17641445 917958929 944600907 637126005 369593539 434120163 254754007 892983895 838978091 894425131 809071679 396359219 795728053 894312757 175957277 837437693 60703035 847408089 719342031 535299245 579451873 333473139 102959233 586035783 283785493 788261099 313879073 875934933 846621835 713527727 979229031 302133865 20928063 496143029 340728789 969582877 38491507 830761339 235564209 569503763 923326903 305046281 55751181 399379061 222762461 922580713 816901055 534135927 904664833 613517367 60747883 123705425 537810313 789298317 957597301 674245961 158012447 417436433 140649233 795288227 391227577 974705013 427117365 234167 901293459 609075435 336042145 817748445 499892273 883950389 202146527 14956407 413359711 402702743 252522559 947110129 843171633 909169119 655489751 531104955 616673285 953891685 945231753 988277071 934919037 482310661 595058943 118560305 259159685 557788967 685035173 622941931 234589013 157325497 766961591 517210127 855362661 889390129 200774707 781596215 153455483 447656845 540370403 890524933 330474147 846159957 315075925 203764771 270162739 445875859 964647139 173695557 95865541 846796771 822438317 218306597 506293309 655286367 797670555 322682755 565971145 609883565 268893023 584075819 109927643 636983295 478583149 442247919 555939635 244249351 524132617 594503337 895731665 268841735 627956283 351394107 876303109 128800195 992179153 920629391 569346145 135918473 276659301 114706329 710810049 266025521 870365013 248179027 866911817 869480471 217525197 394844605 782135145 458284325 458110395 937414883 797009359 593516485 335535833 177541591 412256893 268587503 12101027 135809971 681471413 238706721 166550631 646917785 755475971 987213409 435547697 343316661 149791035 767876927 847051225 545909045 776395641 228997329 55884547 565926233 119221283 288395699 374426389 710314335 732854499 768059915 263081021 748420499 339531441 652873867 652342903 832674631 977842885 947916135 474157699 346975189 410646949 769234779 586990823 558105503 465241117 610605233 848042229 554422033 35371073 681556023 728598979 507014555 70771823 678813249 332960053 834859191 932696649 195647405 439586031 270824683 436942269 462045411 330141541 70421693 956998141 838393041 431430859 514003905 93279879 110731759 933503527 891310481 732007969 604247863 18629181 347252431 887587283 19261745 383150749 858006055 946852341 989242605 684435617 856875849 162494753 513041665 175610473 562958319 978001723 487840393 33498079 836816095 422051441 158052907 453582767 475559647 959608887 695035161 939091541 282305987 341385799 410606087 279025935 569692005 711957417 4027955 996209381 96009895 267329447 824728163 610304427 134301301 792272085 345608165 315402997 141375167 487276047 185600913 285607205 715911551 498842491 144232133 766502499 528223163 33879427 753699941 924980127 478165625 210904541 339191777 122663313 20045261 170658437 121494575 8878523 172213713 814076607 937201359 579820899 76243879 756028439 707689667 518913691 705675387 959021921 867354525 850528059 356406397 645889977 834961011 712361443 365416425 64927621 870239969 952305915 517413887 694158193 64577551 827059123 215448587 312903023 32148905 27712259 248314975 762647997 707635945 272308909 651652949 930751967 37288843 930107959 984438865 660324259 447510229 852016627 167680697 465576473 462037655 124631543 85122307 510161057 797422629 332549927 810812329 934713821 674670941 814682663 216898091 461143227 489531817 431227499 490933783 320030063 882205939 193237801 784997371 682071155 469117619 131757665 677762675 462116237 142277863 790087645 365895969 305542859 111790359 757489197 916367281 582301567 188792143 279313319 460099795 80679749 224062759 742818671 69488963 968034561 233943739 759916649 614653633 653367265 909154227 281445447 74323737 262017625 808004155 860633219 521653535 645654821 791200781 316363099 108097961 965961289 212008805 237215449 239001243 972492817 245574153 935799243 351121377 852402705 316907593 710435021 691338859 93233701 754569209 454985531 908140341 239242611 610911097 107159615 502773311 352889701 579134125 484191177 945894293 529109681 587446277 398130067 52444747 654618195 622067065 532261915 383527287 719934607 607424899 508991401 617065277 372982257 938277421 799810895 440254921 766072911 288538115 499745253 228497995 247424961 744321821 620925195 422664191 748881327 17096727 239130665 440114981 409876933 331247897 780280687 225454091 944844023 294355153 479632597 679093247 479093375 590476149 417051421 839390813 769467107 378859969 333797069 864118665 726433519 945730049 551123255 903643115 557270201 732976893 751339379 968318709 331620507 557400335 566421857 109467171 146168377 843054357 780816551 301522933 513810817 205501813 214772665 146493175 80730023 206688027 829736653 562573501 963564071 813124737 930543333 320932061 818694595 944190625 213881543 587653115 573162891 967986693 540832261 149215427 940242897 242583993 292644853 967631589 600425265 4548181 398562491 704799261 424716689 219647221 753183803 492649773 338774299 100350529 880063273 57445085 810511173 991023463 621597179 854602497 20767691 682691869 869034481 404077941 632098735 516941985 630556181 272814871 924185153 417655993 587228725 185345749 235919379 606981301 143435757 220514463 14111747 305680745 827912601 277147249 530539059 368094261 800080739 297333069 5411599 845918717 573740603 153588795 331381839 213647923 883296987 151829841 985335787 355510729 594710721 339595429 401771305 27573825 393457975 675589467 112769941 239444127 454051915 247581343 548624901 387135601 14973399 101051043 442249105 318741199 104634491 456433567 38455459 722832725 782141087 731440853 955079137 994037547 543804787 387932563 933382981 734150655 164187121 57594407 651997959 301617927 681585111 286809325 930022063 746518529 428766381 887261513 443802629 41234995 950041797 209702051 332662817 991659885 118558263 290232173 393651293 481120515 194376163 606862883 582353759 139971797 203756145 943587911 741418001 561854025 896125265 334783329 147148455 186384203 802324923 403792901 754864545 398310229 614775729 885970127 119272641 198554723 135379193 587781471 247185427 918771707 787131941 701855071 496728811 229808171 966282123 719158145 670122725 658573963 599910479 283304577 989864167 330804535 196842837 895137311 917442587 400638935 78451281 140681769 492212471 350971033 140697785 515275629 446709303 672113459 124907215 231649481 999783391 576737251 945058457 720360987 444970555 120319089 128343783 902440785 614653663 417015593 457977941 396523869 107569577 876645857 669578815 587021111 143773627 290181881 429296591 763929315 823213187 900232279 599405815 177089129 27908787 427156071 354469741 479916765 960246601 283885347 558663601 175747931 964362891 773375237 289629197 912658435 276036353 799929879 518282127 343823615 556487299 609093351 123050769 870340481 80002345 960478089 140532275 302363333 985032797 450739355 846512735 23185165 955292615 78565957 31015361 150103201 861206107 426401589 526499923 323519191 314597721 977323425 353895127 210512133 83530561 37096009 388308949 684956561 363664099 761673071 489156251 384530659 618788433 598427621 158338627 187087983 358138855 876370431 263406253 230523309 994231115 919351453 490348417 3129631 604675687 574432293 38353199 835372883 195389041 593095557 136826351 300085719 348356837 938425649 498774723 622686793 489969287 143641131 646060147 968989513 118752353 55006455 31233677 847143809 260262605 896890021 317117545 862031011 804439137 710239177 256957995 826673259 68074245 833203073 602507705 954831771 734840035 758094965 2129859 18220797 159355251 786983381 365368001 226392161 456183405 10789459 756507635 885126053 304710871 170422063 812708451 595405737 419303933 656627505 211799009 349793111 707507315 71573923 728816645 458432161 354338071 399041889 614735661 964872067 657071115 966258117 71714693 157460223 180371389 43744695 308658681 295722527 647188449 675805347 542244677 492973299 651106929 995263875 786725097 421080985 932097715 918600659 369244713 106055985 240823861 316243097 241567515 111867621 440252871 978102117 508737939 99600617 256913033 660147019 907403829 853602165 561558239 603850217 586187621 942960075 324056947 431263847 412637781 858048313 604835387 208106613 462529535 27794447 690983795 756794693 527200289 497141925 724758685 989256343 126247493 818453089 628380041 729826227 455507641 527755435 131857737 638095973 584683927 276176375 49204025 94547459 879417279 1633469 532791807 760174191 963320281 345041025 477505157 346239241 765251925 292667597 222504705 553702853 654574445 456980529 520741359 862726679 798497311 965550411 658510099 733911037 33188147 97214395 837369977 775250173 280725819 822811435 960705397 170871589 162072207 549211215 477194149 62890511 853331535 964854239 287117803 12825555 161450851 51551647 427458933 552628253 939331963 372603225 809153205 948279063 433552911 310734301 940567657 710737017 203319137 468678153 917765783 700710531 294485367 881926589 62447495 552990455 624341795 274271459 170760399 350334503 814785277 446943855 886220365 629023209 284743779 379299673 207367459 120081561 538128001 656339877 615457983 345597471 126303045 282751837 697448917 502187753 463246439 950856593 695329633 206301421 401544295 391334239 410769829 274300073 619001743 527434471 460797745 104127011 733806831 330625107 694501845 497511913 782466397 387801303 536956339 388707859 426925693 889977259 395303977 576155455 462977459 958427923 363577575 839877523 1021747 326797657 805833441 986920891 747209969 79163343 795074899 210314735 450653619 693455309 265515713 364252399 476803579 388945337 391432695 301303039 212990239 60600829 213035785 878666477 464522291 357253639 513455187 341752079 855638297 572872535 425470331 446623303 76411769 515484267 527421037 855315703 949364165 123406797 2639451 993370639 980562993 694244627 404379843 998411267 878922177 344780757 213311593 382706133 899428157 485461173 826555993 426021899 263324211 532861021 279472359 415834031 752332285 322221185 797772977 629458779 924656827 73769689 558191513 535588397 351726165 444329513 359107533 544768203 672740731 445695803 892324033 746652769 442626215 998783969 440362031 56273321 268979991 316323829 165152541 382910429 212986323 704943705 501367513 98769863 361240237 585561591 716801011 395586739 515451197 25420995 119884619 908087161 319824353 152886965 89382149 881570677 832720069 731274451 319932811 28368271 726333655 54674977 116321427 156800821 566858447 778433207 414713879 19544925 46580783 394986157 856495455 680137605 643497533 44743461 996703219 466448565 786749707 944837449 223635627 509183095 794000495 341647181 652368035 876307429 613992717 829722475 486458939 461266077 638553417 574358755 945482277 553226181 633093207 39160577 409523793 82818825 145029933 236829207 541196541 201554851 357623691 25285757 162421677 115870029 816783611 419637147 738209325 94221137 681706957 965123285 871505809 462802301 716024855 531271841 19988277 498918691 303444155 768908663 539852735 978896935 19373667 595160283 646241307 526599659 51073659 199101527 981587067 431577183 415678527 96070781 136594781 119265017 236861357 744032231 293182599 229483447 563873935 42074679 887949825 422304799 520263027 478278937 200233249 226802241 728159923 497109309 594592133 992570801 229390191 18005341 375404047 19200655 791438479 399179581 543469549 586102913 368910277 47728807 473995667 14812597 159829125 112048237 528140731 723632607 952226579 701480297 149413485 885184833 382622583 398922621 714482161 986541983 763975807 673728149 926105567 164473159 82722501 657977761 802053137 111859729 526676903 518996379 626076077 105252953 333821521 75972231 640712733 422881799 142515377 312373871 270840343 745665419 349258369 93579877 516846231 915282647 476039229 707027843 795189727 542224491 521511475 891146219 805039231 444926541 754379631 305197001 785080905 864317709 498644681 193513037 171906907 773185727 876577765 977750193 918567703 753815043 951232553 623966009 629550889 770482431 80419779 366884399 415831687 706562145 350667951 27877093 163184237 444370525 628375469 19729589 327860063 680876469 982113091 113051651 184320553 330869933 969193155 204201781 663077601 266679315 790156611 791200705 110713823 191105599 930954407 378529057 529519819 931171855 993352851 747066837 528415121 660067303 261435771 154558569 543138661 656402103 354916243 610049647 288697793 456380661 168335329 483486081 537884523 52449697 541403433 370225729 828285809 528069437 741932283 595241307 418977827 286026971 556959409 608541311 792913441 984558863 279388267 228250985 165589327 538745593 436688403 660302553 601927639 908840255 988331093 96903579 124014381 206893839 721896877 260116865 844703505 491405087 898248025 108449381 868158597 577711275 687947361 439371561 960689875 72863357 179467929 589083833 205062291 197905891 741492629 381058821 204434591 189703089 721823671 833890313 939342621 300974917 391995175 248292549 877088887 603333513 666841813 199451717 68022371 41418727 439896441 589248155 523241693 570787671 393075861 286665185 195593513 935547735 419153263 135337273 167974099 50327791 441447449 679066575 827496111 342562731 809625707 764405203 251695579 788255905 694853893 627192705 567194809 187663731 759322191 747374617 844471797 221181761 528566137 40972007 999788423 130531263 167974267 189590589 274635687 347033121 466483223 831745655 650622427 748824101 130143955 31787763 938047983 606627089 448744449 531743519 299972345 430555827 970162615 781906283 729899089 248774755 25844953 960595025 918400161 83714559 304283147 46554455 934357713 70994667 530178241 97432067 111511317 820042521 527501361 79421161 538502637 178400763 759535195 506048163 147496217 327926161 583968009 809200341 791130791 174722915 72501963 186711333 403380717 635357565 822838263 887381065 525423237 457264501 688833969 803729147 629969237 582378861 931385565 90347259 814777735 195097861 156775213 250616343 916057489 578328177 935432219 891876637 661896751 879911269 126313445 739773673 804887395 573970975 253599893 792654685 230723965 737121893 992325369 185020005 837185551 220426375 588098989 202692337 928791797 897480793 777686029 706273277 548092757 393780793 962147139 687434121 672716443 572296721 241525055 763512739 562876793 243192907 533092795 903127897 621725933 989860065 12619573 607374791 994705211 861279821 327415285 792121617 665344751 460412057 514424077 509563741 652564957 232906833 547765589 689907171 386948643 790645643 632006765 437216215 662745891 546994921 318933949 663993729 817664651 806371469 46524277 150794535 169868621 868594469 330988941 858358813 680003751 237288171 153127623 908517823 723535647 21929115 850233769 70519403 817765757 309949053 869995909 963888783 442065369 528716635 390530931 578992539 283532939 65755535 652405587 807890699 196286269 911274487 430400715 273456479 785966551 21554937 495523919 180082469 228788623 103175553 278299669 100243947 817943007 579537415 228485407 672047949 633254799 609049995 837248051 453362671 966435751 142659729 906839267 400907383 821829759 505410599 816541829 450484893 123194545 701141731 124796733 229897239 651650083 206209511 718715119 549906343 872069887 669406677 302988879 734626841 179361467 296422877 566466515 996025153 11268371 622406837 302144699 650029301 808484619 800038811 427117073 755085851 606890991 181910357 993622435 274662297 742994515 60990259 701789453 62088039 751173395 13578249 115228331 286852987 940114005 623258423 792433831 756998871 144269445 905771425 596688371 75779209 50909013 696091833 438364483 676124831 993922243 374172017 79447579 869024565 461769749 579403595 214041027 720873327 372601555 702370121 851313737 276093557 82371539 633166591 279688071 433468025 558703155 758482813 264057373 705393591 947123285 366826599 903600755 370461551 935906023 247910111 398693817 403175663 49400797 385659541 383437545 569676421 913316721 666979519 22994881 624578703 516862249 754679067 891373001 723230315 693370067 612445935 460463443 266516871 905643391 468818955 529636471 310987347 801119375 361785283 583137301 845581643 432870049 743990263 954728661 128996849 670077605 828828685 254881831 257913805 288573135 631492593 46285635 463712117 944296347 813224733 831652907 514866559 495743179 386306955 264894117 672799633 710152815 409393349 651274563 453348691 156574169 776849625 347433563 521859959 73510565 537760601 177690385 840614585 627360185 957746793 749802057 267179739 781992001 416272811 419458487 574141861 816283823 809136975 580581073 930239469 564450753 332457739 345926617 491528841 434882939 233817373 975990997 643517279 852118057 653297485 500515989 672159831 199489887 381481957 203199925 511188067 409793275 602237633 483686801 559676031 211487 515538491 123888467 172245677 572916791 347369529 2094317 111474421 436896763 752611117 149715477 314013805 146989155 251035401 807933259 435052587 285644213 607824975 742114521 26563157 980425343 80964867 422036941 924264211 672408209 919416755 230452993 75169175 796639755 530623607 300366357 436107037 816556623 481657325 768125555 131607527 864059147 448205881 191612487 144717887 885605171 138962955 808273291 848078197 768748033 499414937 976770817 236620519 645535229 564925857 204361521 474316531 326260209 769255019 312395625 167366663 344068079 403639491 596592835 827604885 235163737 719454975 588313375 169935125 765248717 657697791 642517541 198751499 496802619 906093097 115688005 419943423 41567959 927941227 365429687 815379847 99539229 167504185 256824189 273188153 648243921 849184661 556023391 762620347 314039039 62190595 713676267 944417205 149941243 306984849 461197177 612533467 942424161 526789847 780376365 56489189 647319063 164573939 963953901 417984149 911271753 850495113 513765225 961704121 344479593 287398089 774130969 481428257 752777781 287919721 713717565 957525413 393279665 537148073 788182751 566030635 180643883 570370123 47721423 133320347 521704755 658639009 725559205 203060201 894591657 741185153 369747647 170409229 223215791 740463943 272205129 742780681 764060595 255418843 506378799 58346731 814899559 321283497 665767469 696103107 323685835 216979371 754278595 353999017 326525983 511139677 381526837 50720707 357548529 648848837 997982105 34943801 678436887 917708913 302519235 362051391 377027499 833766009 412802647 101314061 929613075 416568699 862032825 120713959 195260665 310347419 487104283 200896277 510873425 486453641 539283831 727783661 590177371 499300733 10823307 149842631 469812121 682157617 420276705 629529603 828843733 809629423 166753223 255382545 387243303 648496003 933167191 220390237 188799979 507656003 625773681 90496613 398812097 412790799 183048381 690200747 370874267 122560333 912967339 329577401 449733545 91707115 453745525 603947041 641440361 379573855 622218009 840672891 412488607 733416871 194509663 814301293 697132375 85951049 623955161 941936031 537988837 4201043 260854751 690496709 212964327 418238813 567902097 975699607 684144447 193432453 200407767 936846041 645288473 528258159 157230433 939630421 605565677 131571277 442507431 395414235 938116211 946445009 166365931 791250505 330116273 423700027 283075123 779900799 538542067 516195411 525205329 235105895 210322383 243416933 584633053 242598389 208888351 204069193 827602997 436264737 260853767 374037595 175496837 690119151 595094261 824121475 287751611 648407145 888249245 515978287 759563663 167083937 871148281 33266515 303132801 59132591 794934609 582184049 7061211 988482489 347672365 8619407 741940141 286427367 29375589 202670391 964278221 16638829 974592275 75467139 585556703 230482051 368990877 286571281 636761671 87778413 313227949 148169221 341887033 64965493 881488953 77895441 748083369 642117869 862012541 784096359 46370909 849548847 796676091 989675209 372005337 964388765 555731843 274490489 979042925 620088737 672979239 63311947 234051379 412653999 229452613 369086095 821961739 9585471 597317503 224911911 88978591 994663125 19787201 153190777 862603099 722041595 933672257 808139123 435335801 593753411 2019195 12715147 846148861 406218565 522908467 763300287 601813929 383948711 304210295 883851669 752653841 377946387 906787479 794818845 436449165 19798839 165519155 31953131 89621565 133873619 514524461 712669727 415238153 646543781 189241011 676814687 894981025 957694841 885625143 534280151 909820287 367896351 181782135 849078847 470911201 85400181 87275385 940380631 871865039 383959131 142441349 366475619 990165787 685044157 873348403 29251633 908266333 66018441 78047069 487573785 819726323 258634431 462243367 507319671 845650185 219544413 389316607 733740595 893230477 868368239 789680793 919236283 310306359 664797957 291216369 520451589 591039113 479917117 72729929 321390479 240055753 852440631 921335345 639418463 318683657 412260383 115177851 277373445 112361247 410339365 570900547 122984853 526093231 820653699 479725807 966548655 160144925 631886461 188289065 976700025 594564509 349314397 717888487 163391135 997755685 423511413 507788389 552528987 100314229 430829855 128107815 222537063 342515479 604563901 161329657 359258381 772586843 32345785 174479343 242410777 514610519 569537671 686641255 220249315 730121709 330678689 51665923 985223751 156734407 765623175 545526191 488618159 237749841 897912773 553384867 748889605 597701831 522228459 88573527 277310913 807045927 352419223 232962961 80722913 464471355 943653225 566182237 807029227 813515665 472948749 955755281 34047471 265044099 151509043 47779911 806260097 16177969 683957397 737293283 70053057 653356163 616958711 485569299 673840981 886211115 845127971 34824267 770855273 731980701 352973803 715745861 348774071 939304221 332462121 282090247 946690939 214873267 217052095 360795871 810192761 247041837 302265497 226110815 424945925 635495717 22642087 710241379 964174321 756479995 740137955 67051279 6306459 378250453 178445137 242531539 200927467 648706471 686384123 901463133 807328079 399760425 11572979 61451951 613495741 924650711 418938195 670935563 616656565 277572095 439504191 305455357 279884345 374322349 242527965 639214937 564297435 850481081 719212899 255527227 551549615 134581447 875167243 159639561 372667989 89295677 260576533 581352815 581452787 770110281 334111437 975866975 166128695 490238695 423117445 222791703 936975701 114404567 179459991 421851419 59175439 576463263 17725029 302124599 282628265 597233297 704229211 112974719 702535665 374217923 807565287 521551185 593118783 362549785 130923913 212526927 630072433 475548727 670459583 492968807 954906859 761710481 100932629 477700811 453184669 493284955 691600669 583165691 850088957 294013339 938003313 757456567 885425673 945324565 950779829 140210957 445915977 190084441 361988751 815219795 146246345 772517569 683595189 725815075 600023839 112390253 105767137 294963041 633545067 169013831 676681939 407111995 517754451 664947963 829579863 748823077 55616261 862394629 724939583 171940827 300979765 778220451 545219941 137400671 533828901 375187421 138564525 593380865 880178329 635392903 676727549 460036179 722558433 319492149 921767755 506006321 250026449 15872585 405781137 900868801 631547335 491301867 688426447 484327789 586731691 309130763 555506705 265464555 335261165 985653601 844932969 224186167 417231487 910272879 363883505 202625429 443858913 243095931 442365645 42694545 416545051 886116247 312752419 544735231 64553401 659376027 487679785 65149435 207185617 444530215 625702169 611067883 660324867 98748323 767653939 71022203 978817141 875897663 999556037 264793501 109635029 837015539 442408989 629829519 390315353 305944449 59403159 560844757 790546109 538389871 269964693 285985853 115738957 818917903 468898691 146631127 556249809 322854775 955409361 738873347 694501539 637698187 718822651 307527011 550165665 708871663 168399489 481996517 594822191 726666007 158269423 85819581 54564157 179587897 248533463 53201765 216672067 936652885 315909331 691642021 743526459 762738741 548481671 20291717 48455599 908590953 196198553 558024797 564672939 119526471 920148417 862164935 821300165 195076595 196951219 173350311 211294237 383627601 431977271 974014253 57909849 927931411 707064083 416019655 206234279 896334771 646169371 831422775 441455293 20657263 606566441 531880063 707127513 775598161 98596897 690395883 832608961 703299113 279794409 104069647 328487107 983842957 955230073 118490567 726497977 73988319 323460293 348098361 670255867 548441159 693067989 728405967 779553141 928972469 832788911 242377279 633183377 620265955 464842343 856836997 141859911 914255439 878645271 700485605 917180183 245901889 149127395 982421483 633631491 103110859 315247859 977825645 569117343 816800453 405587833 803677315 395617787 391704527 891130289 828366485 805040057 33214289 385946587 915014479 126498303 504128379 642926659 898825637 369504123 740665413 621712445 234040017 77918307 278366833 276521247 994368345 19754869 295673479 59823949 131529227 123835639 470364115 600728883 319334647 308853689 164062067 203190337 445281917 5010959 863781189 265454067 392463935 752366297 873212145 253208779 345187371 496111739 294048997 660387153 986273653 365234663 389118813 203088153 610656153 697804175 574727513 883986365 951855449 260920437 171638687 804934113 845776325 280869147 707242945 723693613 158241071 151473301 916055829 853307475 378008627 547840883 73689535 192607247 121052855 631644375 568216483 556342305 496558309 814730087 87509877 303237463 90436659 321032273 826568619 690194815 315845725 940053579 364140421 757896821 60287589 823233683 70831629 597470493 884062107 165969393 953064209 234040415 573320339 241937327 215055405 347586605 33465893 899019945 84109245 632757379 61505145 603684919 844248043 128755297 412186107 522628933 471116201 907939541 732875869 317989693 270560683 37676013 201451421 784501529 105169269 520741829 479121663 736213075 500670543 743675265 410253327 314478581 66781767 748419657 827019171 226438539 328234807 120192591 323664595 711440429 635143615 487581135 529508361 62851959 344760903 896996875 769637867 161863827 241010689 681523275 845695091 511603499 681201633 799945955 929361369 767067255 98675627 544921647 337017765 12758069 314559205 265163149 799200671 765382571 251083233 585113195 93830367 669478057 132633271 633046331 670452415 629767299 845103687 565240949 702007269 938020121 277885753 599922587 519805755 442579409 553908477 481690171 656302839 782678679 78036683 820713699 63939987 712685285 897535653 155451951 364563671 479169717 272032849 833839043 473232077 287907217 523731041 478479687 523417801 718326661 257570091 600437613 521566823 576533545 771474387 415468785 990225037 213452187 160963901 652815765 962015333 758547839 9192733 90448163 450432101 349956613 587216617 527154283 467844937 257003235 452134627 921808457 162123029 332798551 745634577 456418465 138435605 413182503 335633987 672101211 381181917 627668131 872108309 373306217 698869323 977983391 237340899 196014023 372282497 338210171 448476887 965969015 437069293 274566173 18095331 894799235 76075841 83256819 968370877 921931771 875938685 540148977 900023013 522868477 982302945 370967449 508244901 894725799 157747707 50703343 629110283 876362535 201762977 334569601 756054257 895381935 843870443 669341031 855759863 58497911 575187011 570176319 203390599 198670017 210436177 154559021 147002061 900051931 538688009 274885857 520181955 206095379 330269355 577798033 800901931 349404871 8965305 988811003 553549965 874759255 430510333 471791975 826860599 238080813 806976911 542046113 355894083 918759611 145903305 348724735 545536401 883193981 128166481 134179681 327069897 127666421 65878033 433842733 695741275 20644523 682862911 290541903 458402687 759939381 74556759 447233857 25695287 537733675 376803101 419361535 701376587 365396525 454909851 42663183 510291785 429752297 710603051 744147583 398413449 206185745 278167139 664410087 543544879 634756445 745615659 954994277 210421793 751408529 818624941 881464477 582621967 271201397 678195041 104502207 901883761 528790495 18412031 996178049 182567559 550232485 992971917 738300963 165988699 885988525 646838359 349479271 797467069 889429471 226698225 473442207 805928773 929515311 45447737 358094751 34097745 118088853 478958929 186367177 743889677 237285653 767410087 851378173 671437925 581013431 552102639 818860207 279829781 52069521 611622691 980648915 826570397 443084219 165914505 37769447 386480705 867292757 543037871 181812465 434507799 289907085 364015719 820521855 169201651 892199317 41763021 373249961 448702073 945095333 79395653 43432717 478965261 88246273 680974461 13116111 755921889 142988019 714851433 58007711 648326383 357672907 730488133 301348787 3152117 614614247 415829139 299449803 531809149 587278247 117836323 277760553 120203989 627968885 435650311 283470495 563254039 455298757 166416027 676923523 184919331 517732879 741822853 762894257 966907809 299142359 127472303 215902609 128109057 678246053 812065359 439670289 256377213 934682127 419549921 802872485 280060435 622917549 867272745 948315471 301059979 653801247 39631411 816890773 267803767 614007829 240893013 768850305 838288175 112798011 900813863 237311149 38676691 237009231 45464721 925956919 761475147 300065811 661045951 326004931 252141895 206300497 810446115 846759809 343024447 34798043 39136891 752341289 620464245 555143817 663739597 764878837 758979823 458929473 786669153 673949615 981935999 141212141 855983309 360716963 199280317 55755131 196309487 668702887 850824199 175385833 848425707 894852125 856171657 718928441 412440873 743159015 781862961 726631285 708691299 90329459 716323511 725503407 336707731 594309563 753506459 542625793 474743547 520279611 787668007 411220621 260253483 196229881 937891435 404938109 27733747 300517509 705121341 307423747 661529717 906555635 10861377 854622045 520006415 138782947 708954843 280496585 14370929 98989689 117127999 812007313 396030351 432710759 745395809 392454667 844793253 671645407 640372999 524279439 409953079 318799521 799478197 912816511 535648529 301512181 70222267 402909509 711223111 504821159 316402739 50294613 778942005 292631055 502396669 920303399 681262977 101602313 298656707 737677119 333725975 59097597 248442097 780579879 830447657 486690009 702294723 62004593 402455605 650824979 131394103 649027767 453970943 272114601 330302997 989736603 52285075 309658913 551439343 92867015 765919813 59836555 885963037 477681647 900262835 321483387 957644735 618074315 191176383 524745745 588994493 385825567 374961559 615313905 444940231 364519861 148502959 810947917 83670615 44299359 232656065 862873815 163640491 608047349 992379347 650777553 353573323 497043039 403826739 429532927 528813449 204304257 362594929 35616175 858098557 261468753 167438189 313406647 82825221 258171079 326516043 95876473 455099213 889478119 854412917 797408983 8645187 46917307 274708129 530838081 33089951 414582101 253718985 117638317 259243747 440345039 566206773 330399129 460464981 992268107 780548207 569503243 677056775 674515187 657470025 438840723 888208335 636017403 795487717 52468549 272468561 763957147 766771105 622962369 968895217 827673111 792148015 432652075 532181731 239012793 857503615 280627253 582247197 36229331 67208655 734077713 701016927 513065919 187977891 724097409 647228211 481424863 899219399 914741961 52615913 993025183 843291727 72212663 839365783 872825965 432789399 830359203 364427039 73191369 263645253 892029033 75231531 232359985 885324101 441429361 193880103 775877937 522796745 25231273 821999439 294226267 410098511 467240071 361274529 457850185 845783197 843601931 952774119 708525213 313816251 629276087 675592111 524933889 770139903 654172061 386013267 436739881 935329543 381785937 164689651 228296143 57141687 110596851 695266935 351866547 983436343 593791017 603299473 884538785 728597761 433608991 26086581 686162283 250214607 766625167 77523239 70687979 360174499 266966963 387596783 223052291 897062859 891551573 534664667 806257309 306264285 717454019 759249285 130111405 236468915 520381903 282846285 637807661 96715891 957353693 993773913 690638877 809362311 535709135 610950813 930053513 66759845 679409941 340685265 765701507 729810633 32772773 493332337 287440165 936436277 478073597 550271435 141921425 10436985 806480421 60557291 537658353 921503335 990014121 108276393 7650425 722290461 813778591 866010537 435116899 283516669 723093159 34181713 160798447 524101555 496535783 937799887 543304041 10048565 125904907 57872161 814918691 982613439 66657869 910367233 504921719 163073749 163955305 97222139 153687751 364764227 512420005 519938655 399195519 727546399 364113871 598514243 223223311 739501761 677781567 934727563 632353265 463467987 722250961 444782555 23353259 938338619 545106415 279338407 106751427 713438259 114583171 496210213 817008589 944843315 716143365 430871381 886922083 233584641 583538803 459523329 592043815 852460715 371618133 657594807 354702787 518732417 727362743 821249233 10981099 940656675 123745583 686630513 587579481 981046645 413642205 871929979 300964557 458896545 846194023 314139041 252241683 919962395 320470777 972600413 167785725 433469091 234997069 61871597 534658151 966035515 895983007 51457881 291171375 226132781 978663605 502520437 256543041 184100881 99622365 383153365 535170961 914687425 923278319 31531227 597979417 969725027 431171145 368734383 636930265 157820001 306477007 165539649 147578335 731883889 741685233 44731721 19295289 397419919 70049703 974264393 491183107 423735807 430003819 247640967 826170463 112814157 390095175 468358423 958955641 589409613 876239303 755238091 610942081 59683357 892210433 667893065 88655025 86855967 606039701 237238519 628385871 279524607 543557545 975144709 733118625 358651829 324113899 982489195 653550075 914499961 29179535 807978731 863637687 383156177 170994007 612666379 610657847 159870601 162090887 720186909 413328359 567069879 953786095 961789239 233582647 934137779 667209443 845992509 955416995 664297511 584379201 386986963 594909611 32369403 938982259 670020973 969182171 626862179 91673955 59492929 910494407 934005983 568026761 642739279 548373765 147409455 760987877 216880481 347191353 180904547 71482873 635935239 162371599 570093259 754260951 90670743 798882103 920618759 571884565 952986165 781933165 763872251 722929359 428486085 863521649 611663569 808218029 976390393 43408399 297060863 510668509 864837963 416248601 824412737 131822101 1617657 530949483 733996441 904440723 245967885 454480611 262495831 413768989 281624919 524881263 720153613 680441089 141040493 852288511 154900119 349098775 647861169 15587727 485885723 226076605 149265227 286892063 552822021 944191191 660155947 375031227 526390023 419089111 384637963 51124085 103940127 696398255 492183401 323817065 156479121 611327457 549934221 547050165 967345897 371301743 792332425 769338503 831548155 888797931 563780149 20060431 492131045 209955435 816516401 592569737 686822921 258791563 849583333 847139893 586553365 177127795 229057921 475435873 61874171 241228753 584899839 175742555 437467897 933161947 369863707 792987775 342866325 710488655 696783203 123659825 324414103 5788531 439490083 98602455 822010391 507741719 300243315 678858473 183795311 296750223 28174647 202335963 147161411 676614587 737149717 223130165 380105345 57910783 109934971 323335037 245686621 759090763 581671079 519392327 480694609 121894167 799155091 358610991 18384677 71640925 496511243 666141139 189955553 861814695 521330335 304990689 323593181 877841665 671260581 156257289 805604275 189337603 206040641 796094983 848876361 118392265 643657303 926967965 851607241 586626299 875424923 530837139 399467945 493933255 484236675 727609277 925254053 851429859 317567055 801438199 22766529 301604749 453686793 247364639 807391049 101823627 999032959 572977443 164896977 680579629 477377869 848679155 93237047 329806151 17435855 729527691 172492445 314147129 910021935 841169389 752534383 418690793 981034335 841252129 785290595 190242243 545065491 49575739 911720565 705274561 546950351 271482455 213221867 424581981 338759387 752705939 829694797 420289185 886725701 136399389 551686513 259023385 337090791 245936679 590948213 208270557 523368289 641285607 675919803 419173513 40538139 471760037 361989873 471654981 467294791 376500135 863447819 945991615 14170329 924865347 966271555 802615853 156109717 696467407 351459871 999612237 395379713 125262001 88372333 97355367 959934063 489093969 458740799 767668551 775919863 474294817 997676785 227738435 128475769 755379613 131837735 822350907 701710237 488458567 39043023 571522451 861638611 182231719 113600285 564948797 867825747 982378577 702015885 481814699 202117919 478950113 898206945 909304287 346762237 226340853 595647273 183256157 705390463 54155579 411567543 181575219 277209083 434605413 143491623 440673017 372188309 250196779 773835615 930356427 963330097 308274767 707903115 438605649 49261187 717483167 749944861 441675451 162484481 237223145 997903059 802252987 975436781 626372107 247916209 977736081 56485197 115054563 35041283 51511555 436536817 372598367 526314589 365756769 648711797 844925553 408002973 811874943 234509877 350893841 816164581 543937213 386799195 612830273 517824417 245240833 751993561 448885775 84094089 499867831 945489765 957982089 319224981 658978521 688919167 906449357 193673227 479900899 753886321 735852281 561716089 424566491 365963337 402598203 754889391 36114767 855243489 676012997 916728269 497665111 372510169 448016847 711041589 474304143 559667355 714698141 340330389 202741793 143980371 489176951 511379681 406969783 358594557 313710771 184848213 143847305 523000151 697938087 865431923 978640469 573120489 417146297 512973835 445506147 529878789 701242961 340961069 807739517 664552899 357863393 628116795 856594687 843084291 620160997 265248211 949530307 342735725 173252319 509571815 475840561 278100081 262824793 191644583 935516213 595988297 952881891 840541583 860238665 695525617 356907291 689338727 375823977 62091319 911670945 630714937 766072347 941002407 89538079 496233561 656288621 679157657 862379847 680545893 468305655 968543025 363613141 28214845 288184277 632666453 130881163 206846483 832018609 149984949 184590387 955980631 146732725 429931977 30321821 653905863 222707353 186368977 207322535 319943271 437744539 308430807 532357679 689710725 25431683 704066475 717552421 158946481 355264669 423294181 580297845 979789259 327122623 351946211 102961181 70856693 308741193 390052561 479607583 953923485 245298209 58163867 944325765 676871285 399053237 250125309 194095711 827752573 644281851 878675063 554492619 808630517 364817519 999201615 735314153 691709803 199401499 346452117 58148835 137453237 308295309 455206435 65204715 395382765 668993753 611025563 531759421 430897529 32454813 712676961 997232411 396465155 446157571 25695399 497072847 808278399 816142773 396534887 273793707 378055725 124439531 931538271 10403591 874481551 250699621 747834137 243648841 241538927 261212517 363958243 729883353 658726629 957172157 382680535 198787627 259489101 143994307 884923861 673908663 603382599 21353299 254334085 663697665 265543621 513271765 769558873 395175827 292379895 702467895 460858245 947728893 673486683 646400237 751653133 573442781 785269941 340450553 722675127 890772435 453773585 417143007 393543701 356055689 643604419 832276655 175403647 655567795 199625321 485373949 556067349 511757321 135745509 273030889 985664959 286861135 135187299 786178839 434711341 141131085 659465051 622342327 67694039 160088793 144893061 425564033 166809599 454176459 625309927 717723055 934760875 995506949 188133581 898948875 87821229 702157681 64262605 621968865 722231453 859040515 572137409 830916103 68441561 562100915 978503117 67237853 983880333 560311941 809913183 956577097 542390439 747770497 937684779 605502137 187169247 169847229 775744555 577052195 777482933 968292177 778437799 685554181 135725939 244551007 883851047 220586085 676776745 717805585 129082755 442933715 201673901 314741915 412419541 12045923 738954659 870046773 777823619 941125301 395440495 847038755 582716983 278352109 693157957 341508527 630317287 154736059 426478107 426182953 150261967 684719447 459054001 686850799 506509425 551196795 486402961 577070433 868255901 539487089 154687241 454268139 550634341 988248325 410204467 457935099 708720423 195764111 955652591 435270417 739953541 566848491 144437991 368025515 196589675 711326337 606468231 334435667 936167695 864538687 910468363 388433311 454231789 986326939 444926321 654941223 319677129 500091283 364353153 847243149 689812913 473091757 709285325 874077307 461181941 949245945 52292781 795644581 742226997 493442059 549778241 148640707 903584851 474639875 813937009 77185177 247112829 111085189 383520237 595524593 647267877 75027651 525865775 390349725 173672713 313455983 28816501 428340599 446433327 537703371 610350279 90563681 226637023 600829081 159961591 592587077 820485553 133457197 458578333 784468503 860427135 873003095 92515351 566164175 439335533 172659067 965378961 358549617 897828585 232021371 326905593 71952903 919159463 913599943 20006151 541391779 255318435 49497427 45886269 22808927 45106463 384584099 390138081 763384925 349142699 139942839 247111173 203441607 799500057 786170657 366421631 992814033 179944325 755667189 38976755 617539253 827838549 388585171 211841477 511338931 561232947 357352415 491783721 152228887 198719765 627387339 505382165 782015025 665466167 716739529 587083337 441267807 482872349 928576411 668097871 602169857 398573459 657468549 569892471 221978755 319842989 407649877 838148055 958508629 125804233 681985635 243981395 976947697 567162505 569406091 534431375 708360923 833178841 143384117 868280829 198023325 623543281 595673935 238688215 730738121 919586377 83213135 289241115 902380281 696105895 78936627 689066643 201683407 710720535 338119043 66606029 381459445 97956591 155147083 81650211 12385311 916123593 265311521 965337269 294378759 739877769 844612901 127472749 699226221 997012829 246515451 901651703 484292125 30220729 881384661 445054413 273012969 391661399 522595941 69620529 310490027 620022845 309806573 122392363 193931333 524718777 992735025 959365769 665074849 533150813 560704127 586777573 653525939 113427205 408605103 119296159 186481269 442079189 984256287 924895197 909453031 74582589 290131635 672553363 384307477 144612589 733134043 7600505 839445521 514182881 270800781 506387981 959656693 910895201 723443015 744709527 976982499 434462711 758211601 168200489 742881031 422153079 553226869 127933337 223990673 857165053 920141455 337176203 585379515 279036911 912911609 613240677 45153481 752489465 161996761 821247061 178113029 738983949 509390817 851478361 179673025 858532201 534595397 773227307 845701463 722493585 563563713 622271063 923146539 968677457 886915743 525085229 753408931 628118205 865636781 281290691 705289781 302324787 426929727 517290237 602995803 514933845 338123059 819401599 249377941 652129041 278507761 613392829 36597615 963870617 577654377 373103597 814428795 222273389 427616269 768533263 322040659 560857421 249338077 234802669 419332761 763936839 14571871 74450965 461313785 304659633 426959523 14311649 920670243 407857445 251630399 442264179 56722897 428698503 782888015 306509487 349188297 806714373 354529915 987768391 303280593 432911379 499828975 204137397 780180669 500425581 380599909 311233079 100194663 210480405 28551193 788614869 293373617 901600347 570627281 682218339 427962247 363901905 988509659 564826997 343637977 22464083 577259023 342128493 354834849 714139655 695581899 227063155 641988069 670106967 946048755 190910071 885438379 584840185 721404919 841675569 137548039 475395049 887251661 750573347 714589203 558067307 940179189 987631509 175845361 333003019 315497841 573416085 909646797 611020957 58599379 512923131 739548631 250905661 943276849 960865899 563892299 893906001 982886183 280540747 430031465 555563397 770776285 444005067 745885053 771331019 86445055 740955363 958186969 583693665 524612551 810003029 363396055 618135501 770052081 409766567 434985691 767163095 462610371 260901931 449401419 463581077 677579021 564505847 543863453 473512293 699504931 260208111 770496075 311680745 936831459 448008631 158692053 872637199 861825719 129190339 886158793 956752907 547854217 506240329 973912501 170163287 626625489 327740489 104861493 198878139 411444111 666042509 70322155 442772543 683840581 325227685 832455555 364473147 400747525 726853863 183165613 240050249 623069797 432843895 971835941 995370573 410999681 87355961 521592747 807284855 756650241 794207713 886504203 675234613 369941779 773531875 261972249 533092169 376804715 181996931 898217131 606303925 141311051 107466697 406230437 968590277 362335607 820590213 399651827 932405261 965826367 832747597 405214341 660132713 992378231 632441987 927962711 679426303 976525439 799571023 567861097 948632121 219564091 290501025 269885385 211900365 621432605 790431283 265070213 875940535 212441879 70707331 898537145 220609339 61333673 303836889 725240455 954727397 978778587 347270215 783866907 12977291 834791225 114037669 348676773 446829893 73282779 882305171 128539489 406822269 306518877 963279993 546936977 358057177 134207719 407857031 652103805 760004691 877585959 71667639 915944569 235852579 734393683 295161285 136672735 529930703 174084905 242023487 493402387 992858405 541067759 735981169 511752317 191035189 671200883 96675187 612859791 396570719 913771279 724940073 988014533 223539269 215462555 341588281 626850719 208007381 204980611 152320529 84723113 540677955 649941681 565881839 577825655 396218123 344496799 791905741 216374943 26403567 682480711 912341623 761271239 438136831 184826931 30817149 640739221 802581645 431912303 803378741 398857153 804541749 621024403 13219523 612302335 99343837 170163899 825727243 307877143 148443311 556045455 488401857 286527439 201420577 493366589 981542235 189214717 120696047 743164795 895287577 504597879 142273309 788436615 578248709 571267361 728056565 20949799 323344877 150783975 803856145 275563179 181359725 498828219 222986823 682775015 778985441 212989587 431238847 450894395 242852979 741911415 647407333 67884683 500387605 375423341 666488427 183628873 16106107 755112587 778340175 775911015 399482409 107019495 962185429 151099495 573599079 628021159 115278473 894004045 525556291 31489521 85744449 224020647 71780503 194898429 376162325 418209677 225168643 304282625 216414575 513486235 838483439 904763711 337266679 502974457 814860941 710920965 943327137 411366485 219417553 79607713 299224749 615508965 802517887 788097391 752243355 64556135 71010589 634318291 486935353 624778019 814983421 164369461 22284189 578570723 307867447 651590919 760743201 278239747 281967787 507077829 635265131 967589723 345506817 977912561 575202405 393111895 117850793 425078547 813289285 65102819 403976155 28146625 967389061 643428467 485794201 507285393 20873965 938040585 379562921 433887273 316491655 125410601 746301085 807984433 165013671 713921761 746746571 94012251 768998889 224100297 860178775 757959523 632279603 1147389 256623399 88758539 449027759 656494885 511074793 534343707 369595859 22856559 248012569 111266151 995636315 103551633 678822135 769355723 288357451 452554443 761365897 507012903 33819119 970662879 426194335 962574181 701986525 934585375 425683413 547971959 688988909 621455711 308844935 989753433 810595143 458067455 581817311 691139597 258111319 892102117 248121551 533762715 428768207 313415037 45294605 385000217 451033007 166490817 310018585 901180573 538444599 540630573 543363389 220003149 706809077 115920325 586684551 944684881 319939263 76960285 614119633 651517403 129350319 794967879 416414653 721351207 854107177 711927265 142773935 519830647 728303323 358636563 539922905 805295379 844418489 629546123 830972725 566419793 448881149 718871937 10608513 260461703 385901615 983144879 751019845 153871131 170088727 727899485 799160787 500516725 896514765 506418523 750879811 282348809 228601259 224900607 359797365 502042447 469336919 763847717 829020689 557980873 205423035 170376755 781454727 882412037 921694221 30117147 846962961 42493587 356615625 830805329 395686827 12955659 9608115 590924753 439157283 305600275 580103895 360917285 217206277 811704915 701079945 860094555 554334889 680890749 649662053 643420679 675395123 916542541 699974993 206574919 872143497 971412357 996714617 632846019 267718235 580010479 682867023 912461227 210412577 306202459 650013585 63688369 467022619 772357031 230611011 659080981 918589011 252020147 660439729 740283295 420615577 947317353 5608815 603779995 611033733 97908155 759032667 315555295 606173557 760851879 456558231 983704523 634622613 677155113 215759249 90975813 270697681 219849041 707792893 513538747 40432869 336301613 506068949 317615649 495218769 886117851 834199647 879256057 535298651 483626363 707020073 866266439 939187987 101957175 537671941 173615003 346048595 375844931 573112079 530495497 905761981 229278167 473400235 701451311 659878069 906844215 846420359 354265911 42777453 826740907 640860311 953718987 141627871 611319177 98506007 930073635 223333321 575774503 277058185 544446205 825658549 929432811 416450237 947230369 125983473 986270269 839147717 244659931 940331671 797397393 754493949 141988611 394632327 848048991 536656651 238130421 343613801 17501483 542566617 883597849 196198575 366037631 403239325 487544411 746987917 551695851 991471059 22907189 486942215 653920781 910811967 931917987 289583587 698731653 888203757 626229803 961288629 735435517 321196851 91619805 82914767 798520361 699878569 666413901 281831255 102525633 60429111 307211417 74241331 222751369 967402505 390239083 77377299 2200907 568162193 627078125 738013295 292424151 216012941 151784919 89035657 702811403 810922243 36474729 492409959 806902983 174567227 372413029 585447899 158079733 21875915 126776093 56084605 744697993 317335441 217290087 493975467 861334139 857450673 446738847 72042641 852831951 299730325 687018925 323218205 702049679 842532593 72980991 836837127 744361419 581546949 61105803 49179343 291778721 255416913 734340047 807035583 937375793 391280933 686530001 194095079 76808869 902471187 212509473 789194013 743365937 332361015 351179219 36147717 683891981 822756341 571223173 463316483 738122877 723023869 42073441 726838603 555709387 514508861 457919761 717895123 129760329 793273847 635076047 840274523 16018257 437180845 315466837 31305581 368395075 679674411 154572013 20213847 238472847 902473093 607171683 923636275 302690467 445967895 470386445 317665 804347641 296428423 751066061 245183499 158507029 985917377 17970949 215110173 179788929 203586039 117975973 589912915 340942797 245124519 272676387 386434731 535374231 133718933 789013373 924057325 31456383 716209357 673480761 437589931 789376815 247073189 869668197 665698877 893593435 200551093 893034907 6691011 168859837 275711461 775614451 671269157 306464277 846090081 624499481 523351059 127820845 6567581 4760119 908673543 786479835 405651795 877902855 799302207 970738167 75658377 845918659 635724227 851150947 773143949 330944053 836192357 469969161 224627951 443466409 582177725 287069661 389261711 714032631 712573993 818439385 497585041 622823803 459642837 174942973 172488031 631122461 461190575 963826003 241622191 237787467 786048111 729664497 9877371 835831803 535592855 853343471 559272203 649759147 763787373 54884719 650191593 105322339 414088963 60813981 550508007 641631405 773805359 855889575 389178151 922461861 412503445 408596429 262788871 290784995 413834905 954176333 511838265 76491923 860872047 431394419 521952941 267876705 14299917 735789457 218000033 872080513 775799603 813737729 144593817 535989173 563458923 408169509 175376737 894300223 142318597 623706215 36108045 782492147 879973143 634405947 752674297 17286689 918012805 441551897 985700555 117644461 242685939 197064581 497269359 472450297 550543827 280216073 548055831 957082869 647184479 100110903 615322947 758624791 40891797 357233321 537300659 928439901 392998207 587606785 295474549 493210959 467315691 679171307 223830749 443150071 162668531 238542615 400772745 960823537 588915831 304404031 250682205 523640149 372396129 334370343 126502529 352707535 982874973 552653465 945167471 52745355 229998309 994401895 160966625 263637821 397174587 865303659 538113241 289844263 852979815 555996807 564816295 405542157 24497975 238472359 683420635 395075133 771519557 804746171 423620949 506125711 279350001 61148349 111561017 172240735 155351649 703646129 250925297 207482775 458743435 800136865 512903475 578957473 603962657 486088863 269136635 877508725 628896935 861552325 562815117 128714129 35790179 154355509 331245171 620302843 513647719 129965595 129315973 546965059 705102473 722305703 483839711 710783 3296621 903922195 476700899 819748171 661973113 403967141 501844029 112634573 205968347 431227043 383280611 479320503 276977553 972240737 266430737 152545851 510275669 590106169 381656651 107758875 459687603 977467277 471068253 443617435 810514427 701495239 456660317 872541579 240792387 330945115 166882723 932978237 228312175 403291843 19505881 198038933 209229091 621332351 122458341 63204853 853395411 797230363 822013185 737278541 893255349 733175081 263998629 348542227 436370633 354774339 232322199 293896519 841068761 396168203 613288933 144425323 652051059 587827757 726986975 411536529 251909361 982755161 816426021 927856463 810408565 76101451 303169435 373648065 53955811 476484803 80895339 503133069 37186285 860835981 263018251 621744869 229273357 2808955 64078389 133455229 968719489 195970151 907021809 365201043 469607505 712184115 270448519 516714733 998413905 930678731 216280975 278828505 539040277 990182943 771135715 289320495 221507071 782490667 891248041 309935947 71113783 21587695 374626893 108029463 878803885 660782967 462537857 795386365 601029913 492138965 582039617 568509429 643956733 70201891 784117973 190525823 258032033 790549381 597679047 477020573 397624339 517048609 909257707 44480993 467759403 428528941 423341151 50265953 149568397 428423651 862274949 818232249 905374623 923238531 933508617 396229647 798635153 900931673 454078435 820572181 179684187 122716599 14129483 428049663 748406719 567045881 807650759 946072715 498090307 55663997 33913635 333197311 198712889 772065969 807747189 72491305 979375799 293044485 873667863 913929057 857714081 854112499 581683629 117877381 430344603 43054593 700913445 531768825 343438873 204935605 49333681 348111279 549442641 288031395 289641937 325349145 561219651 716848485 599417669 656738871 180574649 412035487 44988957 924536977 466264387 843096311 165537705 162038323 138275639 23030819 530556297 110953653 436668601 8989149 323988129 227557939 450922157 671457767 751016475 923385941 2093767 725513737 495763053 312551751 333848187 755692311 866874963 823354563 743887375 992122347 555990479 710700805 991759237 431368297 70367025 140939219 943164851 673925751 107409419 35087229 72141613 586633995 606113851 54262743 741764949 735574815 245663969 6828865 142320467 3706037 68317039 58511263 523564823 439173589 368266389 201371489 322512987 470543763 745995601 368574591 494775709 609666825 212079591 463138675 553858853 653245019 988727011 779493447 712974853 270864303 210778649 469043079 212896533 335443517 72359335 755934027 744802805 307202873 609313519 825846831 671084557 196821739 524218271 883237467 458153357 545488281 103245481 441309821 487272047 228776087 925459787 173754057 331868015 105948481 657238027 568825857 958061339 811379701 613683121 758137451 967744191 65252641 658313813 242622673 601799027 82374709 750022225 649002893 371638043 633116845 633029961 397784445 535585117 797421321 206432555 195228423 519765159 560862167 824001323 94461207 410527543 26674341 915321027 670281765 92416519 559655695 869987003 265278769 809166819 515125689 89735707 429619391 165690971 28934987 858743611 450502621 383446213 671844215 54791861 607210273 165577541 614198777 77313647 708885933 746844095 344276369 256630419 653676067 217538791 218251533 992287383 227769267 520435507 617237051 722094647 891308307 78436835 111964919 275225207 298293633 396756481 316060709 697751203 655338435 980123485 177471149 707039567 87327529 10566029 839506561 664000857 796044423 522983667 387231133 193852131 728251709 617370551 328838401 389991001 482858543 513700043 692597691 194542961 118601935 857900259 428658649 524210729 115186191 657457027 704601975 305537985 372027761 410219507 497948601 460908487 490208249 179608641 896491975 258563855 452736309 127884359 743265747 763317943 551783483 156598949 263647257 340788001 373158061 254410179 117487067 191118075 701130157 99351763 18179681 104983097 32185579 544082633 611466751 894874389 176285085 755700073 528693009 860077845 276381057 89720889 454861045 31519239 944960989 454264203 234028825 926874365 566664321 46277495 92371951 886388051 723943105 863845597 690257389 894109613 773512317 618141285 781274779 176210681 66726171 91492223 95901569 28697963 138857095 186418019 46495535 388027775 711304251 437744659 441364033 536261367 886960691 979504981 31022683 634737123 973509619 246838203 376612133 178960789 212505999 656765339 409072977 407671723 293109399 627399193 771021211 81064709 69353775 463266331 909721029 726228181 713805561 706819919 978977687 826466187 151680037 845680945 730673127 302055909 217916009 94196225 454643083 990120935 41178115 662772677 768152681 45756381 232239291 517510989 211848297 574268763 14654173 745882933 95333501 633369663 933306943 773352665 377516961 382069675 636144961 68482915 488758743 280728331 368503239 910550213 310486311 308111127 494093891 522456245 267362983 784267975 561400489 497690547 744119661 164989025 29619573 162159113 215183775 646225523 549737649 47417541 295036773 396671181 288855787 828333249 756863985 66191247 101387317 314036639 567047297 103800859 870222131 908715203 625037649 130327071 618321927 530411615 921478833 647832719 695283553 633685101 580876271 777484967 704564087 541335467 296627817 621723881 741503241 404363425 606757501 878676005 485128793 943127201 681107097 585925741 22109753 202923715 889013295 494153757 947085053 384581351 78185655 452378841 596968325 294206645 665230005 581297809 135096887 295326877 975072433 706148469 239028737 151448281 377574465 770807809 133033815 16316517 326845691 351303165 475736891 701966863 681537413 212557683 587808305 978442595 682128007 989706935 812513609 274850233 171558837 524711015 424381717 735480117 455421127 495436901 212989625 90953149 268909185 938176221 154383063 167555073 506432427 295482181 900059295 325658745 78527515 578386265 795171017 996625509 199476647 171327005 647070863 948702417 501409589 320269535 286276793 719827335 147586477 163396143 878400151 122002469 433884419 265612525 871062271 361070855 96362799 913843515 155778381 141650009 677598517 615907207 410096745 982470407 547551261 352361859 102386111 414904781 471648765 899154735 538528841 961341483 22705387 660353995 37347203 618904935 291771405 953704165 236478579 8022929 483106443 223211347 448300711 17318019 88701081 958448175 467767095 629348575 465875567 797726687 128117185 296774409 498439505 646106893 473197417 203707443 55320713 753779119 304745441 840296279 247225447 747913215 389303387 305888819 489925961 833689477 321687 103486033 487028367 269134347 232610781 224181759 481498531 367599267 260600313 204195671 529265911 748998319 502999105 332562745 11617033 283717327 813001365 823481933 433282389 596402671 384717915 757872133 66436971 648168005 309840769 204630933 14929883 72302669 317516157 345939201 535575357 107847627 984047693 961555983 652223287 222276811 183673207 280965459 978727793 806567585 213823241 671021343 782135967 240325355 916528795 326511257 251643769 174117003 672027211 638533799 962938307 638278317 457851325 91298553 458541383 711955913 389464867 466441479 782110423 93507735 937693743 218534163 584801611 706092317 935768353 824357667 729490569 717209511 386141121 448486409 518031993 856174027 25069147 554792541 215036431 104342883 626778823 850497917 628458051 322856851 239085921 105283221 303453465 615269833 497903121 818865555 511291035 911696057 163475269 629549615 52143067 917206877 434605811 174310121 109881329 823856637 563090841 566435339 749690115 527217953 88324413 844962469 154745147 737078433 141508205 83463053 57947079 424912023 694289729 58172519 574638567 104922217 726832215 927952535 34009049 371132865 395270101 105227857 219157479 559660949 85892711 76781451 128878439 180673825 53062213 181260037 480985521 663382249 580984879 230656841 877904167 216528823 64651881 454578085 809766451 938391971 957738433 905139507 841610313 648060681 499361421 224783827 268358369 712820619 314353071 339371311 672368767 890341141 826873225 624282035 462632877 995521757 312713481 390301595 268333053 504059489 173394089 785804773 521359111 200236641 370972005 160218457 95832433 579675627 800091077 256275337 564902373 677579091 278051539 326899661 281368595 15458103 225206057 169565765 480869813 553703801 340558309 913025753 668542351 221326407 906376109 925334585 120958571 192712467 448330157 613913311 613122073 739478429 71498399 336615433 198418551 326406373 308577213 91485887 226200677 694012473 522699729 321180883 935882447 501415471 274355239 142658013 11258789 465545121 913847191 815816253 609533153 659427507 381854077 62333465 947094407 681128915 887743169 476920933 393074337 60169909 24366801 35115991 31726657 470492501 424585379 13503473 968936063 116370677 393279413 717152761 285543555 338878757 40357645 904007681 418985841 89678007 396781115 535108575 130086783 857900743 472929875 818140727 795548901 491613627 287639797 12361069 26450151 448137789 215247687 685285557 520482511 667871299 164759285 586336005 663949551 350688265 751535929 984965661 449936289 673721107 84557261 390104455 221177415 437090093 932099067 228058003 922838091 844052331 352695183 822250071 67189281 410967339 958803425 825170103 327887939 560817935 586706639 848982359 300881969 754691077 186978749 950251433 258827639 569662527 624399003 736325351 781270695 615211067 657439455 775724303 853371481 823250877 234338439 664601067 569494581 366536403 603877657 547386377 575359967 671621837 876600485 29716419 245112845 518477131 313971391 136930361 381084535 944156463 621263239 221235797 522566115 151978407 402864291 348062659 997888277 119173927 886254143 493377533 11728357 219272297 825609237 993118533 189713195 599961461 260808289 621089187 436070091 799687827 601641193 242451941 5821099 884424539 200553467 155821221 196660161 208265639 569721199 596659011 398078213 422105245 146141089 498936551 771145341 260674983 620984953 673078145 228018735 250028411 767972453 444694729 9242413 627194131 360649053 295742273 529670805 510885559 880788955 368220975 62690441 744945393 236830183 691249061 661270319 243264405 972922385 695686521 198330301 297348287 125306989 130682959 498394477 916560853 841872283 657028493 897508991 647754371 994714561 859404643 486296895 753480635 839576973 21700553 749910783 322705595 860921651 168924543 297274137 601977863 954823029 226073359 428408303 477412459 348681879 334833609 818341869 735525883 118668135 475133635 168331907 230673173 279304253 656185313 172523307 569513307 552031223 62294727 181818985 556034235 627422457 208484841 193867463 420488807 419933235 356525437 811468247 628113375 732376603 554717315 695510837 782315491 889053105 678283717 486958975 780315521 650443639 619868881 331726689 860344591 779190911 255265025 527207055 325688615 267433309 922694775 328236227 518869421 868614961 456238359 798378173 202217679 572505249 984574355 683430217 316341249 654907611 429827685 556878393 534285055 999809171 6427851 776125287 100984011 510431499 97001935 593971127 914052277 420261639 223820095 393806863 248528207 920439255 887816885 246474853 153716085 197066831 952547473 304651955 668250957 38885325 274488059 332951033 43921217 95515451 303679715 263766851 883564295 894661123 907077889 707253411 260384923 471832349 538526935 595008565 870320449 927754247 494068653 379506967 109784197 629248457 454880145 253000821 782921019 626469871 846551131 771632773 901122175 13638031 129410223 700407675 472206519 480221257 507936499 388337311 909010063 45094723 555191383 301456183 367179257 949551659 144787411 913535895 771433267 230673975 41503529 114178585 562859971 468360997 404748255 213549599 116368753 952058939 351521863 995373333 981216083 73320263 994518135 109076843 591910599 82322337 367607635 67150237 446574703 887031079 332795263 251435819 804358969 946396477 671648367 580987297 237297497 288796627 638702937 360432017 290727753 468423777 322805311 935941527 93359825 938071265 770574565 16165713 995563513 233607901 10121185 241005165 967463961 644824673 426098055 917809051 331402443 129457411 135255291 195974549 753625843 765805795 61224225 348187681 923445185 909501351 852870061 468702469 404382117 216809341 777863187 367332117 897855835 717395483 809129113 925586731 769085675 297562047 332565313 255687979 999457951 50416687 161739489 946691325 82068491 287313339 512661517 898856339 784899851 642230327 989350439 293282791 82439365 761951745 861764695 181774847 4992675 84703491 113231501 933372897 562277213 760325031 304843907 621342369 397841899 953959397 609337015 813880667 279261841 583653949 894007153 669386797 823057377 198419123 235524549 732296517 35290025 742920149 356521093 906291667 363239431 97533369 670320471 826144019 983648355 924596481 39581089 346484549 140494947 600164813 686108051 749305525 12717825 326217937 458791719 850507959 41789301 191655489 356564761 20719265 75624005 744469723 623291895 488836311 433513023 122640613 811975949 223411653 746199411 887444271 694112115 925349595 662292033 774729229 838071053 498083221 958924877 464575071 297739649 717192309 573050753 817131145 412369725 86652419 48410385 158360957 115981951 34869203 476480637 582900653 300376641 508906369 972892293 931621915 296500559 481160619 182887993 305588041 385621817 956480767 447092203 681009227 671405909 494096685 6129207 143287729 794745799 184819185 98223363 67437727 997249139 511428109 396433017 160019895 174951949 794083401 567547407 195512873 252539659 631342713 711166337 212171945 890326189 766586999 457908691 495039609 312803837 877926183 67653713 617363039 221437131 282153329 971671951 185350053 358113453 932831559 298713705 336900903 651928069 768460965 258756869 252533821 526793467 269751437 522630607 556643283 394916481 232229383 657845369 327220563 705058123 703437095 982811905 81109431 785883357 639937545 131329195 64273531 873781375 542030283 60488963 493169315 234124863 383115675 548815071 147821507 270926839 394853801 187126617 708938475 323648071 426958897 939349205 426584511 734841751 399298165 239324673 92326753 528399641 742249405 769980623 530991489 534791105 885811807 908780927 146958677 862111059 737714865 815803793 984401563 849079125 618195481 938622675 364766361 105743897 593533949 973262427 666746655 899773367 834654421 311272835 807006593 902692623 114587927 231340273 101174175 997769417 321087045 69863823 479370975 731379285 550689261 742706067 651853101 484885227 245520029 552152439 259471875 507915405 602596595 778635523 837525339 147648257 301843085 208580161 766561471 167115481 507263769 567202949 454850619 108427371 859501897 188710251 801873767 554196187 822159829 765240793 917084257 904140047 36429439 549773561 930203341 137589941 369715989 254684993 877288155 597631305 675946597 877790061 861587521 523268363 76566347 658853249 138110781 23593985 375995819 853185481 8422807 812812027 9857389 270512091 174996889 912936085 639505797 793967503 726251807 51618859 369043179 778242061 753330819 309888745 593035681 978277569 127283627 903229115 709916597 689939549 634285833 50748765 798102069 652853217 402674319 96883533 971810367 221678477 604087487 965046485 922024433 415088623 929832861 283147523 485302137 74778333 254391735 943721649 927021577 532864113 957061413 160855937 982175449 671006223 817775749 854785239 870457899 81215333 166783483 763270373 21378125 732164455 997999671 154576293 743537805 347308367 921719151 692275669 784677961 974061477 162838625 550780413 136722913 415042865 754696021 929423215 587705279 51164171 549932823 69125955 656064853 732337293 885366781 334996825 598451743 687086173 459690727 587350873 947667615 305183589 978608699 618789811 686799199 617378011 208859365 818342049 786279919 42240059 319865695 506917151 290375661 207471177 911650981 890743803 473321463 36529681 635496765 735595713 818933947 916100071 611642933 391094985 134672875 395728999 626712101 640167479 63797567 550168951 939793963 59205873 379017083 841430339 147449067 910397351 611799399 948156221 308412309 46910673 257411801 669012259 333466847 627657647 323205033 998508537 305699337 221467981 847538871 191210251 925085141 964349301 818819313 968767215 829499285 579513285 51371593 501580413 370481695 79387801 224674999 310427101 291015887 44615197 319570239 397226363 197233291 668968253 118614761 778465035 797140677 298599605 224322507 421386375 126310513 280772613 931952637 456553783 345680141 975694963 979552927 745283235 474688415 348264463 74463969 244600739 514872757 364081331 518681327 977064785 751586407 907391233 97916679 242971665 810137939 369375581 232217707 111305361 538708381 135220985 225757797 457133253 992792309 919548623 17199429 421585641 173181075 196490909 512066409 786757247 626865201 748688877 648254513 955837783 133767449 236333837 239684871 506112131 169986839 22643735 561064543 409859935 169697665 256980971 93899441 167533713 717600823 752991025 144675201 184530179 5179039 702882139 262427735 129662701 195904679 403007389 536487881 153501381 53042629 17824251 949882479 249363541 758169589 449203771 625277931 814703015 418929859 483519217 833157607 135182865 796540471 40885359 676063509 941127979 440219115 151350747 372272691 181223901 969717757 289871899 362623741 637439315 410222609 258979039 538035011 506385919 377748057 784541087 731182037 447557281 439279751 437911197 383900045 837625145 298500827 954258399 540277835 837626901 702249757 838626871 261385727 823162569 596320665 449085 772364693 785468211 475384359 672173903 658079245 973076087 59188003 776891033 481448805 858685439 842069109 73665033 815906215 112991871 187955851 819977559 346476009 176012535 76649817 6861571 898891587 632128935 588904801 998894423 839947735 105626911 560493737 685008739 983262671 243242289 881810363 760514557 783388767 85620217 51833009 661274825 658973887 963859675 105708073 436829483 565798195 881988487 513889863 84159831 644158469 166250221 561127357 540281155 339677317 967578697 450949309 939488175 59994129 286790179 616612361 913178917 268570377 255126341 256014307 655621363 332970967 360613315 133526813 532697651 672519663 221534201 674590221 926994629 966584521 291010957 857442703 626759251 251699433 116568683 926510091 402860873 808316121 255690693 924528239 740149219 579656235 79579417 223345969 652791071 604694137 832408363 6853455 532163525 764658789 70075655 742187855 205908327 978005145 357012227 392110145 56603997 178362057 995573687 844199097 170033607 237509293 951458059 921454039 300279437 449774857 473469227 827151423 350886495 641984167 770985355 964361507 83656631 642698585 46289893 161254709 903301587 945905401 174711615 170439607 680715195 971632745 861065959 617638253 277060929 259702931 47559021 276497829 302939645 189984619 201908145 20116279 676084815 464691945 271932887 805223807 147052637 642291217 256544841 894914405 47527707 71524845 902427837 614434903 401819967 132015759 650512685 224981835 773795915 465938961 5479137 900575679 934619525 155548053 147828579 289568441 811661055 929666117 66511751 364850121 586687119 370435157 960571497 686886915 662905049 745340925 114173551 696965895 753429569 418556033 386425923 619955195 352525819 522690859 416890843 621474443 247471357 213275213 859352947 436223473 770587913 178361921 621160079 634034151 425985955 593143401 229380859 257596343 944498977 613808689 424809931 361580333 444060055 714865671 677606491 859273121 823205353 265756267 726062929 187461359 352121019 732803291 533753753 985068161 255454079 319015139 721570149 914618433 476358511 682826005 88367925 113565607 763815561 992728587 127456969 847896753 574225047 482657127 863513135 529258213 488090151 407185107 366216893 831993427 313638291 511810307 398436875 999573135 780175869 57198257 455425283 670431673 114489929 59650461 673644237 818192759 369653289 318196627 608041437 850156533 586885397 145616229 997524211 744882413 159161679 216771053 332372495 27267737 630244063 850393357 670003073 872831171 706515091 266623151 502747353 136107449 974018309 990801351 430248951 168149327 84743573 291363663 981104127 982146019 529321835 49999175 316564571 273925981 180020855 598813115 323804097 721729067 424729201 713404349 512213293 389767747 831227867 90490471 783861475 106317347 727998715 432299995 309658989 512121811 816886499 548312643 862729379 363362271 314439273 706650323 172593825 124516445 455963953 476445893 287968457 156394989 664990881 7066713 844651207 693736117 147969257 116907995 250060689 403081057 892595201 248954013 452277347 351863339 326268585 235895289 263975361 774645199 639571307 268110929 344914041 639611027 5435799 748126225 415209115 979005253 32755779 4182185 160110215 447743549 799366995 441961875 987481567 590767703 587394155 784533333 252067983 579768317 187286015 372502133 292947919 631077913 712073285 988042887 983291159 413471523 22748733 36562213 113949997 556460057 726419121 765805809 3666207 951574403 898854191 60296343 78848829 286357101 394900753 773417927 726195239 495949677 919791737 85582907 690722241 830864291 804112203 20327095 220114485 783783349 181282873 538623495 978294009 327885009 367488957 403718137 183210439 836608427 756193557 983707753 49811879 8489349 913485643 505747513 644870113 22296355 430636077 847488597 276457741 93398485 934983509 935397037 591360007 668298349 869344547 727975739 322928367 818800719 970666431 474962693 160082999 382434397 659613209 295637777 675030927 180456969 394429673 6049139 224293619 126061125 129489329 504978501 925882795 829285009 200257465 122260137 644119361 526766581 231966991 879791563 61381769 606189565 373533579 955113435 58708129 942377407 606894033 157881619 33113067 756987099 354880583 165910201 507399957 153641591 450988573 630665747 880984081 837075009 464301131 456780149 421230877 893986159 6065811 423227193 324089789 566614461 407691899 50526915 521475517 925543541 767427157 134402425 365635635 144545637 458304055 218884049 554976889 908122593 228537605 338895941 229323059 625992649 624478563 915929173 991666511 744442497 463662789 190433167 623141119 986392569 573437537 90685057 282285763 629879207 472508985 133878215 963756635 507733387 805878289 397005059 524551639 949547817 446594175 473920993 233859207 926115471 290455511 578298129 242106379 44875091 819015997 65570127 860043591 558692757 709460885 697432667 215223141 615558907 967246995 673635329 636762331 910698419 807970731 429122323 825897061 595299699 260328227 793456237 850722309 75240057 641932541 996973037 547233291 433781387 979666959 868151169 43098121 642238967 167484653 954769433 228668381 683889813 508335865 386655409 27340967 497951939 71183195 90443081 381457369 170083431 873637379 913539565 982907939 798171117 341908139 380815281 105150595 937628493 148760529 937143211 450911037 618819335 789633981 623595519 981234909 139883805 569521539 720456409 765111607 229975073 110365685 705741673 424569449 48284201 694973113 382947051 689496021 180906449 194718517 887278495 151766313 999657793 458134425 456244179 298963799 575427367 443361247 57018581 291172255 309407161 56925379 798974465 366120577 559812533 674447571 817399739 57823947 82144609 756966235 270668393 396148371 800785293 311476595 338581891 689215027 793430669 721668863 602578559 503104847 316053825 6791589 649924575 206045653 798913549 338759125 868339247 277238009 607866339 870638535 781266179 457922101 455425845 126054523 756439025 58362961 152835331 935211195 144429469 217009237 471801813 962259991 29896371 351809177 820501687 508097509 255837923 48076217 454845505 631327817 75974633 417258389 629025679 328977191 985108615 488629341 535447881 592374579 62993797 82418053 715099805 850122467 593888439 668600009 272254017 12604279 422604793 436161837 692725107 988181497 593680425 35837 648051963 110447161 494972469 524146637 639108131 617118669 302200333 239756155 382696389 499913495 651729325 973023017 618448703 685498943 53469719 218895171 763166583 628560951 946266707 643385727 869171161 662507443 622736503 577557979 672839007 599583799 709892249 618057111 213781379 878866187 469490653 107924033 546893135 313581117 663714159 186896557 811413583 207067559 524822913 492365305 699172763 31791081 682833995 851192967 341395151 435853163 21489423 696125701 831423763 327712607 225561883 898604903 561924117 258813113 558460605 546831847 318199051 249616189 252699217 50710027 257408949 466130545 736523579 125258145 80477013 527072425 446870755 944123835 813615037 776091127 174651835 243544501 350485057 247223105 170635839 269412403 120154817 833892141 481170929 423705635 89910945 977290539 85177945 108137401 450769363 688728691 123763211 158562673 621839817 556317959 362720675 510403855 521382021 843763373 590696641 498272413 534536587 278339575 246650637 964178803 817450729 682250043 694817087 932790573 655407671 511878557 624022541 269605547 187867537 370443267 904982329 990185247 26381473 65244187 504244881 530184441 856833425 505743713 639055587 333653751 810172441 369289237 158112525 771032349 207146103 236260413 166915309 777159095 890498673 926029481 425907313 977432153 395599959 400412661 802414731 142707937 646488573 857677693 159966259 486887537 434459075 50538093 282794347 203753591 202179471 40294577 602661441 652649381 823803343 995422213 520949699 979759353 189026935 542480615 899638031 908099255 39983625 417377697 28661317 66597229 681178761 50018113 17446799 452991723 215383173 465487009 276828191 532926801 141362197 403052899 894516017 134495747 371960789 176222955 746416903 166108841 179969007 613950315 408261097 18534973 281325325 90014941 159451437 813468153 301711719 450589183 103881257 203815519 465685435 268152153 145974083 965561919 993206353 955890237 684619491 524134827 584493557 937535427 430487677 720145151 952291581 200463307 773981577 646171103 602047561 507183613 438858377 984815675 728623167 80599241 343454731 898584899 525965259 907382889 617409949 327979123 336232295 347560921 314447069 812962451 120833039 45711847 285622891 671052461 803313225 8587807 598446321 375020309 423982371 974105049 319307297 532621417 365421365 59808569 313613751 188646539 470708125 229450277 126811765 746872231 602097407 718940493 474764581 487582515 755508875 746949929 324829079 613159659 364691191 392468217 996141481 937349077 708895617 979573193 566972475 154123065 278119665 217342819 590130231 108881325 466302611 436935013 782290831 408735759 352445245 855097899 260969535 702930561 214321231 127185377 921058121 272006001 944388783 123239283 304091063 385072785 118768587 625613725 928059801 505215969 429932185 729614303 9698061 581166241 140899989 930315647 624971571 455530593 164649675 455733901 647355701 320631793 285533891 433273571 630880581 773225073 901003159 745878819 894400929 989892677 525722341 974391729 89022853 336637975 876489681 344436671 371959873 591590877 860906507 865758279 987124261 556494289 653272777 442108167 650563465 337354107 423578059 108508553 674612691 163376805 538459219 570276379 165329003 567044195 207103027 183794903 580996549 244711953 84756161 426666653 255266393 49795157 130546137 11324437 53577131 354875929 512369891 201203377 429615429 941182355 951125453 551599013 204847543 933866815 743264267 242991861 858514335 789243105 575865759 352559209 892953757 15154821 781073421 878876815 336398427 301219711 626332005 593155007 729821069 632000365 202751291 157340957 476545771 537892657 733232559 459715983 738289209 436434423 327784549 380998341 268564287 477571127 240042381 514322999 190459091 290004137 312532191 869006887 733672909 391550291 809624213 743973019 75637775 617638019 202472569 19988069 157960579 810070985 520143575 277576733 619505437 512506117 681677701 562458401 796018645 544155481 822327525 250472605 983203759 643737651 52739287 21369983 486503093 524815943 107580367 252726399 281671671 332148879 255756225 391782173 75736211 819567955 58048811 869251235 827882153 290285851 126983187 949732897 183944291 409114559 725558025 685289069 444594421 428622681 493629473 120803627 745061271 379368783 285989371 124934079 652984461 20600651 983945915 140627037 14363169 264435779 917702931 865015035 738549157 40188787 239467317 811670617 12696177 367791967 281145313 755725569 251124459 391904977 775199071 171885633 332646781 990976481 739721851 444686643 642402709 524278507 669384589 796883385 729783987 434421649 220302193 264928631 160259925 263297471 754657935 879602399 132635653 526781101 189963221 579577387 42815577 469526483 95090617 997148249 896794601 744439799 748879673 670050865 462736727 635610661 969933019 396345669 216101709 420254897 139109807 515782383 974797183 991700025 445920329 38184265 1682341 194477215 371825609 704682049 245041283 343427601 137644755 202571399 440382179 886678529 571870361 639470735 75772567 726905903 952904141 531709853 466825593 246795163 455108017 705464503 474590827 95800723 937684743 467507631 480610391 370348717 399754531 686335517 415046961 10467779 110191829 857670753 499096817 732498169 657585025 18112161 168455835 611025085 836115465 247469521 678753081 116152003 939023325 880508583 774334173 793483015 475413491 221227173 560321441 405095627 139516873 791161617 443412647 732224927 846773861 932356605 175273753 900314709 467078999 233673025 481777451 602219529 783896499 961823099 96261911 320263969 476841241 673498391 770562589 540941895 625343149 908431681 600582025 310193521 292162081 55938293 518939563 890516699 306747047 841428467 707896033 589030921 243286017 898727871 965438091 588878535 587719539 749805231 11183125 971121705 555037899 312363735 444620271 949645709 841236833 760832795 715013267 642611093 559805713 401089055 86201733 591935791 804938563 405930325 636897871 97237645 223065061 376251895 303319939 382892589 230715501 574728707 506780603 613353939 329930969 251584835 730807449 555180429 709388465 659606085 811292617 831475371 736151041 774820709 518349305 570879693 632194655 210091967 45392361 729024725 803067371 244384829 210890583 351955953 798741577 368871055 942488591 536861333 173463979 982719533 27782371 456350587 497577413 777910105 631257773 511310507 172633299 861922331 686553935 437449837 981228703 449722689 790698165 195422297 711405941 179036005 500571597 771048009 238056749 167189479 706442647 335697763 305089573 580945391 357751825 151971601 328696897 793707885 193193287 522178057 119974385 577578521 501157963 437099333 353000235 900433013 380041271 940180237 931949165 769382599 721124141 369033195 760571327 655741473 583506777 966824883 600361389 818291035 71655403 43844225 547514957 254488595 245212189 921424315 862099519 692192181 282330675 728889613 624881065 28010095 925814391 913759081 314491191 286543929 344221243 771542541 266297123 789598675 195304153 939643261 15956009 778062791 677623477 960459397 892627087 610096997 245604917 598959929 828541731 501707715 266376911 492953079 231224893 656314565 940824061 45609057 84925625 924033039 1760319 597136485 67570433 699451413 838865953 921826613 487638527 609572109 911185205 477560913 465413163 370864119 608960789 830852217 177507971 205567901 837379171 492308155 398362511 418994573 670504907 166681453 150749273 691525411 991994109 476758313 728415101 232816763 731176371 774427091 122957845 739032959 617594035 345812377 417469129 679175903 65321155 523710959 318917829 534655765 804143543 830777489 569202371 181075807 473372009 918446721 412659199 41241799 314012347 643249423 644743999 852854555 621352089 687742669 166669777 433395189 709001459 496184471 370301581 484975029 946484675 22481043 4268753 463960707 4844559 777064235 571368833 200932175 67195101 765590549 63160845 647368401 312197697 16797005 350484845 291918475 776846933 719237655 770483483 802786757 548164155 104140287 163394079 413613197 49129759 163945433 895842825 386090173 482786097 501641921 337458159 117691123 357724333 665499933 255907181 372085659 356418259 523814297 47561131 882566115 401823471 775908903 436768343 624598723 527884115 819596551 388524709 889575933 493521497 103525817 138793047 674293527 588863333 175284235 270064817 794013283 983073757 863298321 220964739 748787191 840351801 510621225 163170337 699283639 940298989 971487221 213893225 783550279 920356225 139931491 513426373 787915547 508878715 61089447 955840031 153062761 866754415 861574203 152661743 460276787 51172343 254426087 106410549 116714303 189350069 990663603 392775539 846376221 588555093 240311031 73881787 353154601 493250183 912512845 541062563 469838719 270170887 997842843 208458311 126578697 745225877 705909515 762251855 717663097 889726719 27546643 263492073 955733315 531490579 252775789 403504843 919838637 768904621 498536737 438238513 362618553 560886447 624680313 1935591 199786301 447358981 237466121 839729205 809667021 736037535 199793325 876653813 602689995 460486009 397312651 69859717 925144671 308020883 530061069 339349449 139563385 729636859 717592299 856964147 338563283 232442559 150630685 417268917 957994731 806446587 46230505 395798479 706091529 75352531 88317403 508215689 61044033 737309805 609553607 471509103 449950055 558183169 840804043 148324505 504175131 495326915 647291721 181953187 673398473 548763131 314004461 18430133 140645791 730338031 482077103 812951933 367545495 764447987 98529223 518635825 599979117 880235363 100721851 873650319 710054319 849463453 74016089 93254621 880939433 731583247 139551665 76223979 682202995 509831209 658998819 977391373 541533425 896977767 738282067 312832545 751919561 937706825 713152555 868800401 208585835 51915869 933555423 398109767 444674831 853899313 298122735 592527037 288756405 3603553 610408475 270702061 945391655 648322961 511645811 47722081 64827125 26532967 656562505 26442021 964556919 287039131 160089913 785547985 696375499 310961635 658380329 136594561 93035483 880841985 873100867 821227741 350839385 202608321 673153789 464770835 814620347 184792823 995215379 697417689 947937857 624093561 66401929 845662317 125969397 30336301 855114155 60292501 419866535 744529145 351109133 628658337 590763757 719281877 318348427 481100389 990082089 571320503 384234315 821731905 586705795 57345953 670429369 234693403 298129901 974677663 430517383 76512863 733634587 170480581 141928627 419215621 982670739 600752937 874929793 558224013 741083031 280002545 677500797 636161019 84630075 329744197 601151613 535584477 352017753 98267991 933876379 203329611 688044429 768020579 556563003 435406305 573771585 153811881 167750155 124495047 414474661 91959415 681337341 907778219 32577969 276193051 24839761 241441475 234987815 884068851 466402951 444717773 218826637 370832989 47158383 99468817 245703479 399052743 221106457 881814617 224115767 740315297 969677797 416667393 45637491 548453735 980594551 41322979 125309841 863937435 465532089 485865573 17276417 55356101 278703073 640481401 367168507 820917115 435740521 201606545 562580865 392960083 706094361 670178223 77947993 711361779 162010363 726508631 660241173 931932419 303813219 897959831 128694797 385695029 478664429 408912135 901437535 709387333 589022079 73877699 994150135 370581493 66770243 73733747 101455233 281792013 948887215 839971909 802094457 560240995 450406015 770874351 523902751 863417549 742884023 352339377 982763641 567218737 609047459 460714317 369554007 639883127 941996761 416328469 520976213 496434577 421320241 382392029 324666575 485527931 414884563 465270021 163589105 615700279 759823915 345516403 956013735 629132493 574122731 544448659 90502829 99255123 38657555 188976735 269364865 285304799 492240355 814658387 104121965 564893335 234846953 298038133 412696959 33698211 920490747 53906771 360111251 681000501 171478579 365259013 76742469 882036105 54966261 820467495 460257023 793567201 320848879 662994913 849892337 155199367 616972565 768246755 956500501 145784779 472230049 955785567 983305257 403310603 772400923 729998101 984173237 926138533 7054155 357778763 100752651 846223367 716097865 740014801 36462659 409079203 355074927 830209021 569372733 564187889 861710691 444902827 202248353 830704245 817863951 523430465 360211423 450770615 493484969 735413425 838047793 100147533 467529901 264757615 77684883 330606029 960310495 284159863 617160147 671897821 25606987 980522835 538499453 618147109 210901573 57180689 454654699 586003033 214331497 404818501 596352059 587904561 435858845 377845517 482376025 807686511 284831757 439978771 534469363 452822753 8726315 620103553 697016705 251146327 461834933 275473167 853088835 163388841 774975919 880261883 525070405 116144061 551148901 957753869 841455441 201212795 390514797 918539665 27132165 159077079 570026911 603856477 851464637 610875849 488750885 810850769 984120741 509601619 593684325 945621715 9676713 534396547 589231129 938049233 270678661 575822185 274571577 577206975 311595961 122097693 852951053 809978911 268693643 637765573 388929565 351395829 245355787 673621385 519909441 672486865 649643797 800459165 131453843 6926023 560865605 292590137 647388279 892172917 88028677 828540577 458016155 222297605 757576325 306676253 707371763 802461985 986316735 393714435 547433659 381013761 60026737 724877739 515741301 809064805 161410341 367211893 637932529 172651407 983659305 43313617 111912513 426363217 65702807 645154091 129963713 370715649 579754831 886284289 373087767 843602811 666572537 43809749 745301295 955089703 911203847 453670961 885737531 371854577 219625901 108486567 292067769 372276307 710622191 522629327 471818091 809045321 751009941 338319183 11511137 9625945 8048685 134133967 828537583 951038099 728478481 4019715 741628845 468877963 925342303 737502627 248024195 265324895 819647747 364239731 354056861 50847417 239860395 319160637 100416109 735041731 477798095 271013841 761345715 384271669 684875697 678639117 844345711 932932175 525679959 642260945 78809327 58991573 624577683 977576199 243736265 956393493 578334717 28571299 367961301 242557669 953975027 187583389 334963261 203665573 630269601 668439033 131945065 283266875 886182133 43876289 114984973 532805909 421701031 931144711 258259497 171153449 644337975 656314339 714414845 277041909 933306351 982526331 595673369 273017727 994250975 369335031 324388431 85397591 353950943 677046667 918757051 269368721 463836045 530484847 681950145 674983371 49812563 246285799 132876049 990423855 931491171 812908605 365273499 959502439 88127155 131054787 224452251 649477037 665350403 907267795 187933337 424341947 596056797 997576911 394134111 659708123 440446351 973615905 1134081 450798553 49286195 349084477 282959835 695776525 551496875 987687067 334354323 123281747 154151067 961297343 417618197 329989907 554093685 51902259 51995027 174730043 328063091 886994055 992760971 33045569 828630931 688944985 129892033 8123683 314618013 213839945 246013761 201760359 449050917 176160259 660526689 975998749 74956927 410710581 402397369 965510105 905648843 395657887 837432883 74879419 186792437 169865727 590186229 998740839 951356589 283712801 685971577 368200717 13875559 763093973 182146167 243141221 664254823 14806009 578943477 587212201 698869683 71891565 389657153 804764323 554654749 688998941 986112491 362902175 865831485 569581303 422958035 441294965 942940787 708311803 798258717 875308417 698413285 544089895 568325427 134059691 390439047 46203015 100312779 339229025 875595791 661195051 622303967 114786457 521320191 289070897 493718199 985468369 842509469 858361785 995523549 757007377 351850235 927134703 950140197 496053477 822487537 848311811 866855851 854867299 11332125 405190703 640455637 64699179 698446315 353762231 107849293 77747041 150570119 488577509 137233161 369682359 747269357 47853323 428908613 905504095 223811293 268064643 308108677 801234971 975702491 950263471 732081813 519779119 51813437 609395705 574187145 56772201 676559895 663245781 214073535 847366433 777215053 886356155 223366105 324673843 294173059 894198321 276650179 644174855 461075755 278015933 278517171 986352011 705739391 321164785 676940071 2022197 658409853 366237547 324759775 403050755 237347823 777910731 910827753 363145853 842178659 534907581 881705115 307231149 744621877 685079281 225257869 527802927 597473665 288510241 230135465 722951197 931801649 532002065 197182743 65203997 607575285 788067467 431752523 743525217 733087045 478850657 26697221 389870235 261652323 836543341 442422085 681343245 699516759 960794001 3977563 688950395 694017007 57417401 38585815 247210803 493603269 647382997 373419675 296986893 977134137 788622303 674175173 610263655 826451571 392330459 689180613 929613093 857957987 232467667 213994575 145024439 388109761 146431705 675523423 219378707 118109967 635380743 888979769 484334263 187921043 369027201 377294441 587020715 143826783 499014765 875440323 916696953 772696139 748958977 375937123 164636733 382502645 83174261 566532271 665779345 224319689 324205583 185096529 434414747 386585077 276536085 444538687 985700621 600429169 62431707 696383925 14952987 16392445 624059835 509499703 947616897 668214819 529470231 109393555 145232009 526527795 775086169 57403353 101631233 110299971 681395957 246316393 21649469 216447543 730063973 336224997 533696795 580493235 867064617 189937209 879305731 544054315 38438349 960392349 294560739 767985109 220143587 369530761 141656883 908304305 404504837 57293253 863783661 266533001 725452759 574825561 8727961 691174379 178937599 558210973 9184839 335791923 932010035 257348649 199456141 292887165 537472301 684393959 418550407 132652467 586086061 38809855 224381915 709986693 432110975 559164135 536443067 963334253 659231605 57675097 584220123 313423785 558997097 623557981 557636217 543088707 286292287 251331131 19595099 92357129 344511709 408776331 200692687 6364821 509788473 861203241 560297645 253150791 6069837 814492725 360828755 427458887 51677465 86509601 495097509 831263877 188724393 92933789 114065939 590952633 19688207 881440167 973430419 140122981 866704485 838948481 318191013 635341265 435733455 384264891 883650635 435387915 163565171 260758311 407632407 608456173 319745671 723999971 478695967 428556309 728159813 858648657 474667007 596009711 830126317 983585311 881712863 476659625 948323277 63453247 351557227 232557883 773627699 471903983 256687069 299254631 973690747 931429299 414594289 842242995 799611911 404872791 873381613 249182321 846914627 35721201 237374881 423890359 499889823 275000795 440324193 227532393 860898199 926746297 331919115 799772971 867127979 596566905 721250569 293736817 122508647 3452493 924200517 536733297 477631581 837971893 721380407 565223469 469626919 829316977 276843229 363367019 916530793 692357521 841533375 169580987 512001737 929782117 284749545 793685113 313210879 762270351 583286259 968070081 812872383 281503725 239014137 214355581 876451537 286156463 840077219 15277151 974027771 623498569 513239583 162778843 135322385 258737271 507551777 379818039 766908653 727727165 490612715 236867189 954632563 424196837 927061313 564684395 454134409 912140295 569322099 272516781 325866279 490331007 328000341 815615645 300343361 90195055 512574535 997321059 302239199 364050499 54378797 554314479 713552391 904978353 76843639 899293435 830535629 218018741 62426653 471922693 967372363 632695443 340727449 698666581 362980773 607569111 147490805 364694271 814504963 957795413 229981885 281503959 808650391 726080299 57409289 244620669 450802333 127283899 146136949 311121501 341908565 982153907 481729065 381466021 464789515 73113605 851712467 328740687 478870803 280770545 50202281 963848215 533191875 869497591 65423721 517545099 115889023 438265829 903024217 681223159 70464435 318893265 139076167 684788595 465950927 708375061 829091725 766439651 511524943 76916565 765196035 972115437 24169141 471910527 764054293 829960961 852665481 490760903 815961261 17446487 191503199 665756071 597472837 498750703 71366865 172403175 936416471 606499731 127193987 874737297 922613997 84590547 723741725 906299895 525582227 471558407 507606097 202010299 531815265 121519949 222488027 137026747 392454003 981206671 83956091 180177449 187282033 852910975 261897727 794458229 763028361 579067027 766412597 391318363 54161265 608171787 624680185 914597859 567388007 678406641 754906671 555926359 5178417 212856597 761479103 369914955 813412639 142482957 716511131 937569693 589847813 46463291 633377727 599339375 687287619 944791239 189302571 230671405 35086013 768530339 389027565 256417167 179763429 544011907 560789267 808889741 378762413 920797933 178675641 550762861 613228439 605209635 162145795 373188795 515558055 581813305 503232281 961726539 462733163 180853513 139648813 185605435 321355515 717500207 640425083 355833837 256630515 5185813 657492549 748820239 117362299 595290603 384387539 668397717 222693697 623869609 575209849 258243769 288252027 946091281 50256787 84105987 135763943 334791849 64035711 330887483 318538443 480566725 764645035 485344377 986011895 511321719 279212937 476661271 307963839 556715429 818477201 696893625 795024131 230561269 592442181 183017805 305968681 782077655 936829235 766965255 537985309 729686403 784310505 561840995 273315673 686201851 834856195 409525029 365374681 860299781 118765861 489214295 671934243 973447731 600782583 280797009 363321413 728792797 780626219 656045743 147270615 184116513 320583805 898222673 928195061 865945579 58232495 610815849 622122055 447830247 730239881 156529255 654687483 718759825 71219681 539375625 519299527 279780393 406944397 170503251 737998057 466627253 644362611 669903249 481186345 356290055 951286907 710659927 866468307 338131125 104257175 302243715 451505597 466105889 610652355 219952439 171111495 462835061 409297665 568773089 821226839 874588317 711151963 122690099 706165081 530409301 717012193 582574379 191686727 131522587 734644399 592791309 593481883 80566073 919370473 553933415 914935391 196617661 36022199 387099401 2739745 312665731 134759501 32974099 698572277 977918247 172002275 62404585 151499897 192574739 612813499 139614005 962640341 127958135 155395363 218402283 492843191 432325965 98033257 439990603 704736085 268546131 481338347 371428821 114058863 605893649 649226761 495695961 595466823 861338073 7142701 499219689 681933743 184152771 540365001 893475297 491917051 149734063 209893977 515968741 418158347 282368325 857283679 121615333 151507525 76830453 334609251 64383505 714008471 439879161 2395899 429052135 529728373 707043661 330650813 363721001 803666657 534733247 817713487 428777447 756904543 845252827 954873689 216963443 857606911 912817659 974282895 411278443 30744405 510083901 569191081 136925873 404150911 168990349 417548395 615321201 831015717 118399641 124627101 7580449 520184951 569378777 407758101 145540223 461479719 861999503 258443177 27030923 944941685 851487937 942449471 443018131 695978281 489783103 871115967 150126379 776332431 623604389 474043933 526225713 262319485 342330703 808678225 296368583 426153299 228257129 223319391 434288987 803514615 222869985 890134351 259340703 365883351 458339181 91281207 562932883 87937767 721922963 476082991 450406263 518730665 845158295 427673175 329318875 199577377 802886025 205997533 482897551 177869023 539482437 531232243 666331827 178339319 238723431 259428561 216346795 277633031 926613593 431614907 749931297 611374647 591310155 3562491 395984907 181150263 938428727 712918497 70608803 147073337 178111963 153442251 863786865 492378365 733991105 679029529 416134463 813523659 994898487 888717621 112299553 873143919 696607831 732188819 573248371 560182591 445342721 386557355 169932251 616284957 7984095 358045697 403733059 740988777 772662109 990069021 176404193 903742999 206504373 335882645 576203313 863921819 870661353 23516673 699757559 488841971 55681217 416301569 153444415 963726501 651279307 374616901 761640541 496967105 847503969 397476985 791203311 23996379 916598177 47659611 366733783 979327249 920744567 556956845 221593923 60870413 336658577 837323577 490974373 91757561 496977255 493983953 822210235 900422029 306843963 142813261 321788809 472993801 502902803 67482515 722062685 153540399 865300161 319220877 490743239 764552529 86731741 621488169 384011431 786146885 261271751 926866277 81546527 639129191 600533157 543605827 706871965 576425887 302368619 178764493 81511893 834855515 162469071 368309781 167763393 91359889 28580689 587235125 935359145 372533951 785066811 863361613 194605333 142159595 464127389 861531533 198374109 843405731 622402895 424752161 780739611 329254145 375786479 712828745 31273013 141277085 987600615 416924483 812993237 119336867 823165545 813380185 869240049 738680765 786369131 543913441 346317253 492736035 487687597 533043507 798563797 614549909 512053945 619686065 47158763 66660439 129462493 839803589 392794657 991558967 874293043 639549155 454440653 906433163 60637597 801247875 44417943 516927797 631877055 586834985 7396969 680216983 815342603 490950751 424347771 764671137 934765755 760477879 916928837 700731591 276610765 502625995 122073997 896172299 515126537 332190525 939420767 27448819 593497859 54635191 733354511 719463561 344771087 355681005 377954107 527015785 203544653 452657559 785697221 492149675 618262441 989959033 835037147 170296827 119423699 520432989 673895151 953265539 708307519 896188181 992699585 718081277 802715953 14304889 557256273 530102179 73562287 40099439 854579949 70484543 601663627 924048353 992075051 286632477 225506397 544873663 911748069 552057365 496185989 327134979 217312063 932597635 962585385 436994481 730155945 972226383 21212477 664543187 382535377 455635175 21691767 587615099 670969017 671941441 968252761 577708227 970489507 406299099 643506217 109619917 12011545 74340285 685580281 648050883 865489907 953910897 298524321 365843161 889705803 889166611 227486399 920482119 153964679 718103867 975310527 568102225 882284113 782213141 894583757 119043649 549770913 807661387 379696869 165385833 731630509 613098519 345087943 986852387 979485951 426999349 815244281 518672593 695620193 660123369 308687307 902880733 205588713 851907591 624253783 408758715 338261487 419306207 909973375 239641317 551175707 711897429 201004775 529007835 336337497 961641675 369706753 418488617 409194715 719420209 854171911 115286625 489440799 51842557 404552951 413154589 655305705 738651437 481359515 608576767 109296199 460248647 696435329 915189681 151344777 91672923 103045381 201266151 720967759 10515453 642798403 208750683 183816827 852453453 198135333 58055885 459715131 518142449 697438555 53647113 58067971 259669271 669036637 19958753 959640717 68712307 612611437 406829101 242446817 427256647 295336595 620065749 810255943 697860695 523647645 546152125 159588695 442097905 981224485 993796571 918841067 332800749 408480907 212892201 612966441 513464487 890726647 792297383 431372923 718420999 596972889 177178721 256491159 296757117 110993769 782892393 800642935 368000763 329207209 572921817 778632035 779543297 518256223 525425107 148407525 724966805 935744669 796802433 567689681 383352647 392408379 742819863 103140419 105954347 405803479 217598671 903606177 846086881 848602077 443147753 568216471 127453583 180042107 292471729 643903767 561367779 521581737 200108409 642684255 110102289 993809959 901431451 434959603 419386075 318618751 944447353 148920479 443965573 533466369 271195775 193275511 353131741 976263875 197764893 86614233 82263611 77195689 239411917 562237799 288655229 405832023 362796565 647243279 862816007 520168001 587530107 712099331 408004553 127433885 333008019 217295043 396171833 644823915 944675063 106451215 496677719 668127605 564379465 750633973 953346469 764998217 362945587 148198347 198994997 578605379 983689065 47423275 434147739 830606463 776926373 745098233 179176183 925912551 811131047 929436771 784509679 625065515 816618555 649936349 888897713 975091653 340376883 665750563 268290803 544437747 904275307 431628343 347405553 191396287 477993409 230359401 468774773 92688119 346595617 536783435 384561613 517326645 220006271 517636537 896535245 37649113 321398485 686295001 823964115 276051979 831907875 151408917 687800265 915515323 911660149 765582627 444072985 228568737 642126815 131058175 523738555 848663615 691034231 574092525 739762733 774296029 194706273 268331897 142635127 682533257 584358345 899780727 754274853 976987421 841152479 459980037 995719757 374647095 936646109 912933765 961279121 883241539 218065161 271783587 862170641 749425519 603559081 882884181 945133185 355448755 140277009 405058777 818824981 662453457 752485531 409920431 573388683 488977999 884909225 546356901 51393833 770967167 639462567 854486735 658255805 442563959 705832197 416000907 912452255 952446491 790746175 726593403 969780653 211554577 879300053 990396301 937358923 630456775 986283859 433110005 586284139 634444665 311280459 329381677 149299071 347874343 530783321 971481341 289399175 265485719 623409179 979305837 206174731 717097561 701037631 927673301 635727639 233853641 107829109 800961999 546878017 185018883 816387193 466655297 671702955 883607281 186432779 325971541 979793655 241565509 706149111 369840257 598504019 421949555 462269199 864661887 614644089 642489537 490324527 604706135 166473893 887305265 595481141 266835539 561209757 347517849 658297103 23640071 271396529 389342093 175350189 431945295 495220661 750567791 351020811 243062865 902285063 221122663 360959785 805710199 758973073 922989157 744931859 862696057 418967229 758124835 847481563 290537551 551685509 305296671 127295645 930536767 870704483 61879969 336409975 583151061 252485729 706933437 34904471 600044005 857787659 640799303 392112173 595562893 16190327 72041695 57536629 588628015 130951751 54854641 397301935 331289975 454923165 966111659 672418089 182101597 435339815 903698439 996810033 553265177 835481119 324599745 256730147 14245681 583863361 533652327 669069923 336945779 848441557 646107205 742582359 935881711 544199845 77226355 214831479 264523781 321329675 813948117 106146615 701272153 103046117 885212689 472558623 910185685 973665945 402985367 296964277 611159725 286870803 717982111 203129997 118916449 194036171 594960681 71144259 937908145 782209985 839142143 185713013 35895469 156574073 361603249 138107857 885203111 535636481 989558679 787117575 443742779 637825519 756981711 903140307 817934671 429997157 524367171 299909623 450254349 495009285 159491237 8422203 232772587 398692351 944385131 838797171 838625445 438665481 316103637 848822907 196905279 102662753 58124781 223825201 872754437 685017805 322382467 884488323 96892043 963362205 605140781 356005473 809023149 786290597 652451405 953082055 366435729 800785989 133357067 177392823 82228131 176992353 242875737 689022777 169354901 409440619 977408747 25858145 522500197 670254677 708143175 950078027 63288407 125505185 556658863 235210261 278312951 239155537 480821305 287241965 107030043 454735353 870052025 84377859 562647005 572300201 296978641 847888531 258931617 242501125 356488425 702282463 464668181 845268015 496896049 316623151 520585003 519661527 878799777 51076569 684014883 429169203 109764347 989826867 44659581 48638209 211594695 36343971 483392521 44547975 698863699 337568145 929578455 881134997 596659383 378006639 862062663 86663295 518591959 790375865 441792509 601164837 738381401 789740785 274276323 957870573 819483053 615268255 785999919 538604995 866147083 273252439 64832347 589978913 377127029 240015797 493682479 219001857 970720177 986425687 18463669 819887085 818334545 9464043 829055041 811188979 763575213 640735523 764965999 835749541 470458339 460707511 72453413 643507495 827355359 814099305 641629069 862557211 776293965 48302343 217949727 879804849 257619881 402680927 851639185 882268575 168827699 252315215 949471213 468177443 609964273 644785333 32507261 833648389 99142069 719872895 760585687 136071311 394737173 308060575 47852243 670858909 705581427 500777485 979800985 517592969 333040889 122279627 363978645 732336953 430285459 138430951 676233595 970624031 339616253 917953135 705311813 465675311 964864437 313883009 58637881 964383717 521613829 592209211 657952227 145750347 157923835 47029195 122380057 123827951 999183987 282625635 812447221 690477795 732629769 222764603 26031579 242682827 259890983 933715351 848693881 93059529 934178045 2565311 163048643 857970061 923411589 522271497 141670387 60834637 892444285 777485771 471351953 877691337 31325549 606866283 27925349 462361923 315870887 922134097 575722631 434538637 788785475 320628719 172591697 739382267 230453025 850381761 671592041 242164333 785507817 270750793 854505657 460696137 140108811 30384657 144930935 416882813 191718849 442758825 180705567 204730749 826288649 605865903 446951285 380874827 778402731 396143043 499596421 21723499 559349305 915659663 48732835 743489003 69816587 284435653 111957099 477825635 411990591 529928993 906771395 342896113 861458881 431659877 838987991 645644601 292399167 428569179 579110169 535021419 155920945 986189779 945478215 719405375 981231833 355062187 139865957 755705839 210551101 32004801 462320063 934335043 815421741 40047109 955258347 699092875 499851333 319878499 380925121 815251613 371342561 550454489 712087659 5637333 44289325 610395497 266875215 411098395 26184727 682103837 273727271 563498715 302560853 98622213 212817387 790451471 425604461 937809983 962095331 64192819 155187875 183274219 470602647 592434253 923632135 306258483 748518623 123948523 928566133 9453129 632701397 506151717 905058185 923653993 416245981 589853593 236156077 349407445 938229413 779477099 352756755 685433303 97070881 180793677 88850607 780423361 161963149 912952177 113136197 55203819 582583403 293150871 104202333 760987835 304415883 468451847 242026821 615078553 880563199 662111629 975208215 8772089 921292835 14932095 581696179 736586579 583428509 839330493 94611651 479078955 387135833 218352557 554525363 915442699 385996681 933076797 662351293 496158083 844811435 911847651 993186275 502717745 277645443 577099421 645446893 530613941 619795741 443149297 708430185 284427705 205284813 802407661 171010481 800859889 98830895 252476201 942165219 939794709 589398313 7161539 673822187 291259369 758866407 378032991 873000055 722280757 483888859 487986991 983805951 320254927 313608901 807420901 138162373 529565327 419974565 312705985 417885391 427796823 568964553 367852683 946022127 952714257 28255943 744737935 695440829 891527087 652199031 309344165 207420569 150136623 562128899 803879465 394159785 767911055 110933715 675504131 613748193 702410713 392213403 324700065 38225399 846450723 104135515 994445559 679907179 704528517 151417427 770660999 880846983 99159329 2587923 929185367 124543579 982630433 710699373 651462897 995847103 622679737 599025021 213423727 12386897 690190881 997072039 801729391 773798779 304525469 287241883 256184343 292642671 498914935 5980745 50083091 647071779 842938111 121152749 290553499 146225239 39096211 190780687 231209839 820832405 879397011 408696697 162212817 317158443 156284009 107414591 916861077 28400691 411107977 636732351 923451915 741866127 309748331 216306585 891394325 717995235 420250771 290555839 413946905 692618657 586736523 366396769 205367301 519676163 191936229 791086589 52117839 461421575 859318331 324612183 994929909 422379381 71758383 325826427 516132733 460187873 449008491 431957951 697797623 336008607 139679651 307892667 356026103 372026833 384884879 363745625 587739549 640547677 120331507 307282623 103645839 767674617 28682137 645928295 133960441 164838167 556001363 559385865 473905043 150273787 838566139 397889197 298342301 901398443 536161907 371430299 347218907 261630201 224938405 494498923 180170651 577580157 274386565 418637303 238420405 680669847 60681995 976989795 475374981 944108909 345026619 389702685 243646451 43417075 614376735 720641241 39404141 783462625 15986121 662378641 975205353 257230259 573800019 423973005 687439845 809247157 606925279 394696279 202657127 728854263 690245015 475734723 453367807 847298385 188373423 934649581 97320129 616274785 489463393 280782651 745833805 250100627 344099565 308681815 175011529 877787411 525888159 517129783 319603937 799332573 698186183 483925271 391030991 333123761 974168259 974199419 419566669 183697941 573315827 986440751 606062757 457945945 316782531 947488071 755624355 3816599 378400163 838880545 80624799 118401201 285052173 428364383 51962231 189674571 224265093 708345325 635306895 310835929 943986837 352532995 509069527 800834959 303845583 528232217 364271813 853038705 908690125 119127285 957801303 233838919 686770737 99230627 219574291 712172191 408915621 44636793 636802825 771384021 307390173 768106255 635533261 507823365 748957075 825053263 904392831 125032985 815085191 39243105 168698565 729488833 937941381 831347385 420337867 193475959 402440543 985613079 899644491 422945143 155550447 977797243 924494209 981560271 330798103 228551989 189179443 570622283 736273601 44632791 736446127 65142405 742634977 960134461 982658765 4432605 124559473 100239243 399404777 527311739 255579761 240580911 429370603 234954319 958186477 667811549 356460865 890322193 304085495 906259857 597067233 678159427 558376873 637891983 234674507 746384939 869416229 436085091 479765377 87124955 328648855 732238561 163815701 114227243 808337711 800870949 441288219 61019833 525938727 862119061 400263987 50726641 889361347 224156123 879945347 475308289 226562125 31948015 444348089 856949473 152746775 846457097 372540425 769263441 886043515 297054895 709162805 226259163 974948317 965926573 356012161 837791951 308821155 247518999 307845307 908806723 81571139 21923403 35164731 347595547 9177399 905911275 959571935 489228027 112455423 337555941 36774411 246996567 991872807 889579883 654447535 107395429 718195521 749779451 182927169 700756773 820242151 52270171 888290751 441537633 668381371 48831379 540586417 441798823 409945449 20311547 356997155 560291667 186554017 416373805 667116459 687157377 242638877 792622093 78489961 110082075 818318499 648022985 318989315 656145617 567300857 121189077 755036327 11999517 338590963 415561963 17081353 487363645 463347307 88495891 855896427 389758267 447090755 221961367 724273553 96878053 957231975 767961097 258071499 359397333 141893575 578115147 345787117 531415915 477969245 95537019 278831189 212510415 884682031 854882827 811424491 537182961 786035779 311162283 513895967 485275275 632867501 180027481 350380771 403194137 226571399 222784855 730694839 894111209 124241651 830628405 823587491 540291335 954180381 901345735 207711283 497329741 661400885 75003685 749241981 952914521 420445047 248346807 673821473 40042903 920182051 3675945 254373189 618047797 700924805 126084205 401318551 129831467 292687599 13855425 686625869 526140987 879562683 799456681 973528611 432057579 106256717 935852273 101925733 997400717 145600267 42018223 708853211 182861623 214784875 330675517 301067999 22226381 792295 403549247 877954127 427760885 669862655 968318883 348243343 857471005 386902849 443520923 669152399 605351553 857206331 624537767 950195399 967727137 905865353 15185543 166174257 303485635 64398797 210218827 55390295 149553399 783270835 347778629 314404165 963729177 417071339 977918737 106655889 931741765 822531121 728029843 30436443 556756325 341464389 425558521 791515209 298649131 123011059 981597623 807661705 384424973 33468687 731691657 380771025 524619 213867375 955764851 509625183 47138797 619291383 533901247 16310777 700938951 248769939 758681093 54593775 113068141 17881651 987523873 426427925 241197633 167890899 873373749 983442377 460669803 62492787 708034733 495906293 888892379 925466657 438945087 784240387 699410763 228040171 351409895 854077675 943326777 651928813 157416425 821931053 851018477 564159305 948645073 137594061 562494587 729642795 934516595 416872281 562720695 833471939 623641069 693460455 142170177 902534733 481441697 64349463 620481413 734951179 536487997 524025615 961509809 306678341 320096947 77268605 309431999 713761103 622344259 276164503 369907565 789857667 816511853 278727451 536771139 740381509 947390719 735925071 153302163 982049021 342038799 905817859 447565171 13522461 284307447 836968587 263412935 811086881 793612635 866863815 511099957 974777225 585386281 935411739 316666925 480478433 298719893 516811641 956720871 656682941 96081177 865868627 168037731 404799411 211063677 988959403 393094251 958232935 494535883 468036099 116301199 867113349 847771477 513553007 179528231 865610175 103978429 628653695 324326481 744991179 486859233 51533653 123851255 414030449 433278451 914332057 612892619 200704119 612744547 579686003 172777027 473854899 148021741 357176479 933251231 259700219 179806873 885154137 327942121 13142579 267356337 951418217 931222513 443184967 219199689 737919001 312489037 870713641 754891199 618098245 791440735 654652367 32593333 987131205 166266703 569800769 288089367 553443333 376521487 586490245 577338781 217220591 258369877 180834737 185529663 112981501 929332641 362012891 992032067 772474793 740208443 678737961 577739573 381669373 576961591 342520001 566946793 64055429 185137769 256401115 729908861 47072345 671702643 118121133 694885715 351096087 963623613 969539449 221009177 924351459 335961207 871359629 308763587 752307821 334956185 419863095 286882187 616655851 563423973 702108883 258707961 883355675 786411235 830669765 131237589 584359491 718496481 722835573 824877367 211532851 567734007 74712917 993253497 575820607 660364297 34585313 786532159 329838407 527953597 118496411 206337655 199922097 419084419 36596235 138817621 788505193 525639827 196351431 643514197 16074473 905433327 989214309 822515515 321558315 119820637 179334027 338664977 610403001 445463663 495136481 873474351 498440607 282989693 745223449 344690737 149166965 631771813 372088047 576894969 223082073 79643603 903449125 520179635 105667055 998005171 563348099 958753749 462924903 180433347 366210781 356862747 405191543 663585341 733609999 76910473 126288221 265597741 285242873 437015403 399834079 400949091 134563973 638228053 965002573 524102517 20219045 809940517 848443773 347061957 540444501 421439485 659230921 597037693 42507927 768238923 61368605 556858505 832791667 22700737 238730981 2990757 365427199 509709661 509657109 393180495 29881937 918535013 772603183 892617425 561994127 710681441 595324983 361283129 868171233 344680743 479117243 985120355 879698553 624035029 282141139 607188203 971141267 506544079 611902749 138855227 57691249 332715455 221162429 634965379 949650011 671519129 427389027 236705213 804957095 403217565 434811205 423056551 90125227 533585227 179177761 278098121 90684621 80563315 816096831 542575479 55505781 186549287 672304491 668605891 997882135 730183363 775598843 690369939 196792107 561171437 577018831 740593293 44418099 214204815 769155661 948092193 154407613 97946335 430392673 863744393 650419287 280584537 243733893 983894723 797349023 403562431 897174965 448644503 601791541 917348641 74310263 81094039 687921603 379812305 61195993 996687387 325787899 876721261 271137139 843768641 443087769 69870807 535998307 910788853 555479647 825396027 335198541 227949029 713105943 108729103 992153185 898714761 247256721 972020241 435879253 243135011 177190315 499580737 617567081 305339833 131692101 789402093 695263071 1149723 217503561 441855657 576429193 578672101 288380585 25597523 519873979 41511539 660937313 304136461 304917079 275249393 878238579 974563653 771983165 14724173 391935721 270595245 351347681 318336831 410937555 638601541 333205815 126883655 603630927 557478477 372945085 753625519 203727741 887067989 275513721 223032453 856309383 445629741 902283513 651709349 98675361 994956533 389795925 856307115 842145283 436881169 196977963 44076289 51155441 818046507 752809631 677689561 976130995 582007865 174121569 454525479 542495135 497701749 640150953 412068015 249623051 693354343 690239025 139930105 934840413 159537113 153849665 662563411 417344509 97837535 787428521 348847575 52527967 91795669 558019007 547081063 335976187 655135073 382832735 515190183 119899733 33884781 555597297 496058377 825014519 248235567 495441507 215751621 447594353 445991203 739383083 118077661 511839329 18216205 805465157 631946009 726118247 59723769 7547197 840128775 20856877 982816059 884116507 980029185 223565159 485187697 709518457 882390053 246172109 680684669 642543221 271106911 482601251 626330253 612449203 930874973 891335475 535988499 42162275 289977497 151347405 76552909 351192125 660409423 122648271 205315519 837534587 422936971 559576857 171651127 464045031 678620445 177558421 992662981 526235597 417639325 119838519 24832585 739758339 216007275 241935607 434429669 23264235 165718189 638254297 966928647 323789415 625419351 374843623 5868387 553431781 123771679 429944369 870729459 370087263 742752135 125635029 981279231 999100497 284971477 659466227 782371599 68105665 210998553 534083765 960095227 682094143 620634671 496246607 897815773 872080863 520331443 160155385 909847835 345058113 55887887 740189687 440248927 876400265 296270453 463229075 687579039 56443497 887248347 354334239 374906903 154173203 218057985 104181235 535550539 783304519 360152177 777888885 84223751 103484237 500861817 686851599 777926239 951506929 919788853 911772719 25931439 10079115 474022785 933880917 212153245 17358583 450469895 495109375 464764691 148825245 874415927 674159801 411792457 373623147 331439947 530169107 173328567 340659671 982752577 759858091 451712291 715469535 675572705 327662369 33301145 667656457 560005311 316500511 181667693 437239141 949761327 862481497 761604669 977616007 243240275 935113097 536315115 113631631 834851603 437273199 448345509 79289633 238421791 977048021 867867613 219749999 465800687 413414289 573473107 606793259 688063173 382365563 547194119 26113943 765841063 16512629 171769927 256378743 307267431 741428073 530356649 173246233 195552413 106571 236125703 329464147 479786665 24133909 954044295 439123847 606520241 406304967 969693843 251416215 531511465 907016811 813086943 321053683 915135561 930231831 840077931 544381073 92495885 263119331 502984313 866049519 254313793 419240689 618892435 67374355 276979701 534594669 430376337 505599373 644399617 921259141 136912525 468695153 593751555 70040953 731349485 115004767 858760807 372149895 173140573 111515517 616337497 341991163 691070927 39005303 133698773 122202919 131801729 29970821 34373531 648445285 783790069 598569063 119780913 495311639 60276219 963945569 727556839 354573223 882046887 711757633 603367385 209159049 283816017 783031903 550698979 413155125 716621473 804896151 429814191 992446511 440600451 723007569 404111023 210499073 621094185 510502523 225527831 855702333 201665553 872190859 163364843 814516349 699790335 842474881 214435315 407167843 349920513 790710239 840465085 233628059 375888999 310078135 269903013 782651861 205425105 68636573 593539783 92094155 858259489 471970993 673637389 777908801 116867205 626986393 486230055 468832769 696812913 53514881 427902095 446919901 765756319 8973603 515007361 767487919 663671575 217746361 781842187 629877849 870366753 625537037 47845369 508180679 931648085 349475949 988730597 806272489 948580749 234421931 68957999 899127481 923255023 3497771 10392575 779590971 799855077 224852943 996104005 745585017 296155429 105424135 91345081 963294853 975596971 875610313 599849693 598607225 315645369 685929363 466314231 910154871 574936543 465296237 243532057 596519851 389490159 679770339 853420315 880481349 292817415 181093899 33566107 346040191 11805575 496383877 717408261 153171871 37542433 987454839 929245319 82588907 948895941 788337805 892835609 126935223 202940593 443193601 859595387 76782173 967265897 367219087 408765239 32217663 345756857 808294525 808177309 241691335 853066167 640246937 615594437 400957289 898527163 742571579 205973645 879156127 139443821 386414143 688776351 918522345 168096697 309274895 814061677 696945875 505839827 748900757 776646189 604889071 464826165 464929865 385343711 552686807 258255269 509947945 336538445 171811373 268319537 240609725 651563781 516391581 608919081 401419281 941821283 401145815 744684845 594268603 584105603 686420887 570544159 859436507 556812879 972331677 824898351 518387991 564642679 852745653 418588107 572978333 746325621 795072177 537097653 336837921 114298503 79774571 220381677 397159397 99451575 479186629 97960387 108016557 997256915 215600555 549347273 411344327 865441397 747633165 754242267 865788171 68546045 120645607 209419551 430717143 831594387 57670201 149341951 400150031 180790823 473351183 658325553 134949411 645869171 865254779 400548017 162066955 97892339 339472023 843906499 438725441 379685877 113433223 974610163 82120399 324614277 154936433 334058261 619892289 815390589 625968779 773586247 78443181 588450683 248042255 464748523 639662003 42619627 507255613 495042989 264394361 299196667 402983009 992572547 682777261 323489955 868601549 264947371 60824451 907603365 363289821 591579045 84832957 769564039 195473391 780819775 221260191 156450459 89958257 749767309 333002233 202706169 304885715 6013165 249357087 285586303 420323215 630396163 566794481 806930649 12058155 578261431 583599827 633147507 569774893 247761219 277680821 949384073 913438505 841343007 108164621 284793371 146479801 414312979 869012187 77399023 172895105 974002983 599019681 436099989 805412647 303892147 688236401 204090729 11100257 3237457 347503329 968968327 944978921 180107495 797837069 333525465 906299777 655438751 756701085 157938961 123841265 215085807 849079487 342533541 79610125 880706961 761408041 875249621 340907183 966932877 573794841 228415401 213136827 246960429 943901781 308169717 704924183 544100357 359292715 567451469 175900345 548095473 468334195 301025555 246074011 468902935 131721355 939821167 814316991 643495395 8466263 86291281 945895469 11607559 953951561 858205043 165243129 554689921 587934803 9803091 257684797 691902613 791374583 651051323 366476061 739174351 416695607 876428345 40947391 751420163 669695397 663936807 67698523 214900303 620319831 421831077 913576997 665907989 704337897 304782105 955760997 123523841 164470403 24522167 961286497 417258763 521129683 532758391 955929453 733059179 782982415 257763095 631460581 866365863 718363637 544530719 562086439 644880269 552649675 400649441 782855073 298951725 419049825 314563957 639718083 194906087 297592075 523356857 47038217 176463455 776999337 117937753 444772595 925378431 667964831 309826755 968304399 155494523 922195933 101925423 601475819 445792979 37256923 227736477 893299235 5561673 368765331 128710615 588144475 468663527 36713615 278671981 577530171 877672965 566466779 591858359 662989685 213388605 909757711 554157779 191327685 887379061 880391239 11049133 12160235 939448791 666387243 453886193 187200437 900684505 504894697 637024283 641952753 199682359 495809591 602542953 281770363 609140725 339491923 789911013 270768439 381359199 716239363 812089695 647580173 73296649 436756631 306943853 912687599 367160015 462108899 216629361 434166489 695722967 421928007 467448979 274448843 620796557 168049065 782646469 871584723 298442403 833621109 901888445 428745983 751074839 945335205 570020091 630449515 805940269 19437235 651336647 22084155 584989811 116787881 895737909 131868311 520660921 972699923 431242777 731392689 131140383 25487625 18492437 938711749 724836615 19848743 273114769 99332117 822017055 919537557 38707901 151794665 403284057 284324097 359095185 447966357 332985333 650419105 324356303 605535861 558567539 648455475 807510527 478318311 320090019 834769663 177497967 824947033 133785749 432647377 272916793 296769085 866260137 17593855 950363707 61288969 874212483 662231145 957816609 521895493 727642381 380408691 820146521 197063287 508811901 973458191 618160155 821954357 296172367 484483247 960300905 634058517 140355909 865971285 566857993 810755517 389425263 962873221 934565773 275342549 408231967 851898445 448450381 223991055 105316849 172406341 248917351 177437991 235579083 618971529 524588231 241735903 846671319 252014019 194954011 474091007 905060237 43124509 549332443 192498525 767402661 735019855 885893447 844133327 148916003 397282455 355640681 462360379 255694681 651411643 884680977 375245193 620245 162417163 260049109 862658475 671013237 391224411 643301911 455857309 972391007 262148619 229524993 47778913 293773055 141544193 68443775 554262783 129908233 591260587 664624461 952979853 449308279 2215933 371998441 308605729 90658447 135752313 78032285 388206561 936151261 697669923 632129143 531096565 553760055 831067273 176704595 930237071 872322999 22738115 876942541 114716395 253545921 427232877 844837199 944496971 827006211 942000049 878144009 120048121 24673393 894403897 939920629 862230085 341028677 467591997 437477585 268843405 839674375 987893371 133644325 392309295 429917055 703211323 38779461 341883545 383735237 180285511 351410757 768922685 292916531 52720123 357110789 28668563 837288303 903838001 236803377 921401887 928065123 984980049 700881463 742092137 286248773 470436423 635311441 213411335 47549329 310258573 770513277 666702223 837180939 284284703 815878531 158946471 830749119 983799171 741502197 177665527 874766593 438507463 363438379 608180019 385541741 345819267 655638595 871571475 171857897 477243091 787604521 494466395 375706529 659534689 737679243 266442195 972813063 680400215 880093409 391522129 796817369 716119917 320319853 268902827 612779291 194389217 908224053 808524231 766405145 899659899 999549193 972347533 997591401 657687943 433052549 792368113 991976931 504752859 806549509 845242347 539201969 688504279 465570485 865481087 809251129 78686049 861919363 339467189 307252277 480592615 389436455 131767971 502933661 535489887 520965921 40215647 244222393 481259077 615304891 308837391 892236049 832569507 795880707 327989979 863994237 416038919 935716309 994190071 597874199 629732229 808010701 382874267 988692291 126374075 105421653 628282123 124266415 686231763 363675551 328666511 230184271 344956279 222340511 175596157 763067487 999721951 673090329 274749997 747005539 742509003 368285077 932406273 787931429 766513789 604092769 610080611 616087997 244144071 186541721 910510789 371231623 311984383 660529177 156189349 827638051 637529601 448389259 694012031 691392899 630690869 366208351 74772963 45486807 977123209 426887629 218416993 557897629 211006321 344581079 312039825 546184601 135782895 693538629 406527513 762648791 815545479 407516325 220550305 489438891 998971721 914442321 615624669 789025457 60903369 599543655 969887365 225390543 837525031 733993683 977146461 133740849 65709063 182208067 243715375 71850825 452725145 588203313 217950669 541988055 768621717 396452825 16908047 324233691 930376501 21067335 589643995 380857507 733916483 96130379 652993817 921380549 28779787 496700797 209758909 874865179 475315811 710617661 458149567 605327305 681996203 78814897 613328675 77524285 384186569 690238669 57633267 419975977 242086955 554161735 311822401 331150989 486803399 951484833 515753253 753185705 553278491 172344097 583119045 748948749 163762477 779122135 948567371 856385675 767049101 1967775 989459429 72659519 264466767 55352085 649475027 348372879 948374291 29106851 513728851 797790245 565997821 20593019 18628271 323549431 451065789 793202067 584176445 104359231 194838923 570728875 996988501 3839877 880470817 387763789 307303001 730430099 407332041 758796999 296842163 944758397 479523151 366702645 227761623 809983905 968281355 665630323 333572157 615249311 504591577 29058859 793761129 547824233 732693793 970900685 139335141 153550127 814505681 310178707 423462723 441879919 520326239 850358395 896557339 696935405 639695561 305892429 833227795 971325877 371285141 523451549 493827285 5899549 505315539 676168383 264123151 718547133 916860439 257340117 605994113 499226239 273163137 953209031 535663593 487528073 617851317 62884677 893856787 545257557 478809573 403079879 839821519 735267227 93309635 849460879 958694907 690756963 847598481 558877091 167781495 127422197 119889169 981605845 863397679 667190505 975598231 292670653 493702673 596461081 31195379 757313723 33185565 366890665 119065993 364710389 169013585 472867079 888566587 859440479 332618169 67880679 932129145 993713 544472167 627481157 626898745 819441767 152083827 855451747 568334329 404894413 255790595 998121169 252245695 825777907 754480961 387954273 423835931 276370609 59277661 751337007 623882785 46288549 620121233 994946721 553498481 418645819 223031841 390413409 216902191 207287199 900746583 861048165 859239437 869168845 383702149 61016553 371801661 346506373 718564869 728967537 272031873 90351693 786282809 723559881 331082269 755552885 612228491 690399237 765683935 151660313 118921071 369608067 349582367 115833109 613488991 969112293 421689273 219710227 897242843 880515863 803225365 128030853 403182447 427954257 990388257 637218463 859334573 508026635 559694931 425739109 801857069 270281483 833871273 23180959 704050839 40206941 203626923 391240925 555655311 189605463 828769381 469568117 867531467 443534995 993681261 780294281 300622339 859195381 327371491 815016449 382625275 301829035 494082155 169269389 264138365 120331303 917894199 313942951 255431259 320950825 633585657 70890381 945497711 997706161 420106227 737912391 524509339 56752911 598218729 48604327 350282443 786191829 200921641 294848837 166373359 667198431 725250699 25642881 921137409 689406033 471222125 162800259 532575751 22442137 548669619 924754491 990878983 629984107 34486989 277257313 234962707 171746243 882213809 349291895 820091209 550198757 259957725 203648451 916673995 618160733 705504601 230399575 802895039 108493055 633424047 465890315 783640411 43817447 215322619 359557245 845804761 913362555 62398423 154465049 65680249 944216677 515350635 27883533 643175303 265541789 286640739 837215569 628748373 238596699 903623161 722283429 622720317 496942117 551837159 944018323 988779681 465746119 377034871 642463851 115011309 960411221 955521655 34489157 643169169 664250157 697926715 941235711 270040583 495426289 400111265 33403459 994431187 37049231 297963025 439539843 208480895 914660409 808290171 435046133 51440285 100398701 597176657 408853145 953938119 507902193 2918547 692839993 798956961 737682637 62298569 204663651 459635153 808781913 858499581 564033907 376538893 610785839 450230731 961606277 11951887 684750387 33877069 87429763 670105239 90392723 723459627 872738333 440513137 858257091 901347473 679506381 320449135 712587901 494572601 167143121 297632363 913899209 515441247 23556147 902059849 979338993 651480521 36855233 622160879 158035849 503792069 369210645 680239187 859162477 943955755 452564623 125374575 895657153 394974553 36588119 139177795 917906933 406372659 630349149 993957339 454314681 178012713 234381403 673025609 796930827 316806449 927449805 416536743 256217135 149285323 366759937 281570841 594695087 801473785 420744195 658466245 137868389 672824397 466498221 939185123 759355751 963652829 458075805 856699559 341868829 697261637 697233471 439485271 370189363 627990445 18580161 213958975 143148187 673845441 552339739 353005229 313895059 603435195 234192143 322613757 807510943 625392471 738159651 174826641 716861325 416773083 125383337 377036245 359381869 105761815 290216633 322675257 129516191 589412191 361044273 910222905 329075653 376712593 638312637 738493781 987767757 470181911 897264841 360318745 238776043 318800091 945313937 448837655 678597017 846536021 578187797 984102635 861981085 429046661 477706523 464077619 99686149 286136557 458523187 224239773 421414691 953850271 535455673 259050969 596052883 234686769 697689801 426060193 168451897 626471359 336851021 796392891 205750595 305596145 841172983 206839789 315013157 301582069 938416957 531896587 272336027 283889535 259849823 565262319 114688169 43934929 104088933 683708029 487831705 336295601 792180003 907158685 446996483 875031401 414968877 750687553 136799939 428931283 234020325 730877283 576790523 262404429 52379507 964546313 55021335 450006203 439901385 336050745 479210189 418940815 608795547 612888071 532899865 902158267 230057069 771555727 733581631 734853567 107199879 311879407 897358539 924828579 584747511 171297877 269102739 858072051 859715223 858929393 64374447 345944263 366242567 78695935 301696135 868289723 354209965 600383935 857407431 372336119 341692861 828931197 574577505 460226857 380625455 109772685 1806485 107440263 984364225 930611781 26250211 282212559 874046459 665046281 316300825 275865159 466373423 480653893 389225805 758370751 505505653 760533353 124013529 436764043 481658027 363347953 612985185 373933705 974773885 745278047 8214995 498522403 771472729 257135931 715134051 218034755 564034935 45533209 665894029 491338851 612980183 118376597 44645651 803018365 856018755 560501069 687890181 452385563 60113739 285943535 750051509 851839817 887519559 48834859 50916543 535894943 697723733 154867133 265641735 308814137 57612641 509309285 9160637 151293631 434849815 256115953 661875281 562110815 497787891 534616111 684875393 651259343 766393395 988791035 811641679 138577741 207363553 572753465 266455563 1920159 208014541 536853713 936276807 9735445 562518669 723913909 468012001 566505859 21990787 415843297 412446203 750211401 440279 139007319 562442753 213326667 6026875 145553951 380935595 129421563 611864613 992749645 43577585 405708107 633934933 31609341 102614297 363943869 434821203 924146253 374350767 899609941 112840755 127126635 977412487 502936993 544722889 483485319 721697727 137174969 52888503 156987613 897430715 677154617 201802853 491607727 283986211 36900169 112254723 892349765 944300785 718635927 968159881 201269493 788977757 363304793 229978297 639185429 264947951 283186765 442264859 650856459 667476079 393088955 303835645 958467645 887250933 668182893 380709753 450967843 279164123 354654911 7108205 150474035 507157957 767922569 317219205 593311215 476051875 906980663 261934127 281826533 109058723 419497909 132031395 58669731 131671879 89879671 282124259 16603591 910124881 352804735 543088309 335617519 59137227 155540049 757361323 926475977 486869773 999785723 190287901 847201031 295661491 870734101 603269161 999469919 274452383 304760507 602687419 94226841 110728701 612225941 568747649 799375741 702605123 969032145 946206707 632878043 642859565 998060325 828937297 448534927 61068991 155019217 613299109 482828413 510111557 461076887 943111359 801670797 504795475 58114761 444922933 278322867 782865095 517258043 787690857 751174119 650113219 951180109 53333893 135505963 153313973 416665317 709887605 53835149 366700367 339183727 288739829 224343323 617909647 202832357 635687555 207242739 944538555 360350147 423593577 580000819 668971099 647561743 726605493 348864009 19180357 711941463 438877251 889854631 842279575 982089139 278521519 752101701 307089333 506045887 144934755 665354789 207155273 431520163 859295887 877279637 972801351 182514703 259108909 909716707 960921071 560869173 213315835 291881837 270137537 743530965 25658753 683750803 262359181 870758965 882707219 65706431 869502821 683283749 236341957 591313763 518167461 363674875 810029687 656124411 921440499 301823123 652877781 174500873 783691065 135880275 26718541 999683607 542974893 653052717 925896985 310590901 269890507 538143125 315515959 85219457 581629525 603463815 519300975 201960729 448765019 160099981 590178387 153204779 317777455 102175413 891292219 51517801 507296367 406816147 39483717 617518219 537208061 798996037 764585309 723882581 838838789 69986165 771912497 146586511 556775679 388582477 490914105 670763535 120175523 647270277 835070135 293892013 225299703 800222811 201639089 929000265 624890951 860412823 873781497 104524753 848345127 823439493 447071525 304023863 392694133 385960443 649850777 518036851 165381715 501947737 158798457 300176265 944506671 215200133 52294329 305815169 82154941 292330477 850983695 885298801 699545591 225630597 782412027 933850993 781721891 315714511 286031303 567565985 560393935 18186703 18381185 184102193 12852171 876903701 495784453 481222989 995782967 915841717 466671599 683616563 671540087 336119885 157163945 130921509 352538933 495368967 456553573 256302957 283295847 766540941 999173399 925478747 814134599 953165847 152723331 539979853 235077981 809200483 67218737
LRLRRRRLRRRLLLLRLLLRLRLRRRRLRLRRRLRLLLLLRLRLLLLLRLRLLLRRLRLLRLLRLRRRRLLLRRRLRRLLLLRRLRRLRRLLRRRLLRRLRRRLLRRRRLLRRLLRRLLLLRRRLLLLRLRLRLRRRLLLLRRRRRLRLRRRRLRLLLLLRLRLRLRLRRRRLLRRRLRRRLLLRRRRRRLLRRLLRRLRLLLLLLLLRRRRRLLLLLRLLRLLLRRRLRRRRRRLLLLLLRRLRLLRLLLLRRLRRLLLRRRRLRRRLLRRRLRLRLLRRLRLRRRLRLRLLLRRRRRRRRRLLLLLRRLRRLLLRLRRRLRLRLLRRRRLLRRRRLLRLLRLLLRLRRRRLRRRRRLRRRLLRLRRLRRRLRRLRRRRRLLLLRRRRLLLRLLRRRRRLLRLRLLRLRRLLRRLRLRRRLLRRRRLLRLRLRLLRRLLLLRRRRRLLRLRLRLLLLRRLLRRLLLRLRRLLLRRLLRRLLRLLRRLRRLRRLLLRRLRLRRRLRLLRLLLRLLLRRLLLRLRRRLRLRLLLRRRLRLLRRLRRLRRLLRLLRLRLRRLLRRRLLRRRRRLLRRLRLRRLLLLRRLRRLRRLRRRRRLLLRRRLLLRLLRLRRLLRRLLLRLLRLLLRLRLRLLRRRLRLRRLRLLRRLRLRLLLRLLLLRLRLLLLRLRRRLRLRLLLLRLRRRRLRRRLLLRLRLLRLLRRLRLLLRLRRLRRRRLRRLRRRLLLRRLRRLRRLLRLLRRRRLLLRRRRLLRRRLLRRLRRRLRLRLLRRRLRRRLLLRRLLLRLRLLRLLLLLLLRRLRLLLRRLRLLLRLRRLLRRRRRLLRRLRRLRLRRLLLRLRLLRLLLRLLRLLRLRLLRLLLLLLRRRRLLLLRRRRLLLLRLRRLLLRLLLRRRLRRRRLLLLLRLLLRLLRRLLLRRRLLRRLRRRRRRRRLRLRLRLLLLLLLLRRLLRRLLLRRLLRLRLRRRRLLLLRRLLRLLLRLLRLLRRRRLLLRRLRRLLLRLLRLRRRLRLRRRRLRRLRRRRRLLRRLLRRRRLRRLRLLLLRRRRRRRLLLLRRRRLRRLLRRRRLRRLLRRLLLRRRLRLLRRRRRLLLRLLRRLLRRLRLRLRLLLLLLRLRLLRLRLLRLRLLRLRRRLRRLLLRRLRLRLLLRLLLRRRLLRLLLRRRLRRLLLRRLRRRRRRRRLRRRRLRLLRRRLLLLLRRRLLLRLLLRLRRRLLLLLLRRLRRLRLLRLRLRLRLRLLRRLRRRRRLRLRRLRLLRRLLRLRRRRRLRRLRLRLRRRRRLRRRLRRLRRRLLRLRRLRLRRLLRRRRLLRRRLRRLRRRRRLLLLRRLRLRRRRRLRRLLRRRRRLLRRLLRRRRLLLRLLLRLLLRRLRLLRRRRLLRRLLLLLLLLRLLRLRLLLRRRLLRRRLLRLLLRLRRLLRRLRLLRLLLRRLLRRLRLRRRRLLRRRRLRRRRRRLRLLRRRRLRRLRLLRLLLLLRRRLRRRRLLRLRLLRRLLRLRLLLLRRRRRRRLLRLLLRLRLLLLRLRLLRLLLLLRLRRLLLRRLLLLLLLRRRLLLLRLRLLLRRLRRRRRRRRLLRLLLLRRLLLRRRLLLLLRLRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLRLRLRRRRRRLRRRRLLRLLRRRLLLLRLRLRLRRRRRLLRRLLRRRRRLLLRRLRLRRRRRRRLLLLLRRRRRLRRLRLLRLRLRLLRLLLLRRLLRRLLRLLLRLRRLLRRLLRRRRRRLLLRLRLLLLLLLRRRLRRLRRLLRLRLLRRRRRLRLRRRLRLRLRRLLLRRRLLLRLRLLLLRRLLRRRRLLRLRRRLRRRRLRLLLRRRRRRLLLLRLLLRRLRLLRRLRRLLLRRLLLLLRRLRLLLRLLLRLLRRRLRRRLLRRLRLRLRRRLLRRRRLRRRLLRRLLLLRRLLLRRRRRRLLLLRLRRLLLLRLLLLLLLRLRLLRRLLLLLLRRLRRLRRRRRLLLRLRLLLRLLLRLRLRLRLRLRLLLLRRRLLRLRRRLLRRRRRRLLRRRRLRRRLRLLRRLLLLRLRRLRRLLRLRRLRLRRRRLLRRLRRRRLLLRLLRRLRLRLRRLLLLRRLLLRLRRLRLRLRLLLLLLRRLRRLLLLLLRRLLLLRRRLRLRLLLLRLRRRRLRRLRRRLRRRLRLLRLLRLRLRRRRRRLLLLRRRLLRLLRLLRLRLLLLRRLRLLLRLRRLLLLRRLRLRLLRRRLRLLRRRLLLRLRRRLRLLLRLRLRLLRRLRRLLLLRRLLLLLLLRRRLLRRLRRRRRRLRLLRRLRRLRLLLLLLRLLLRLLRLLLLRRRRLRLRLRLLLRRLLLLLRRLLRRRLLRRRRRRLLRLLLRRRLLLLLLLLRLRLRRLRLRLRLLRLLRLRRRLLLLRRRRLRLRRLLRRRLRLLRLLLRLRLLRRRLRRRLRRLLRLLRLRRRRRLLLRLRLLLRRRRRRRLRLLLRRRRRLRLLRRLRLLRLRRRLLRRLLRLRLRRLRLLLRRRRLLRRLRRRRLRLRLRRLRRRRLRRRRRLRRRLRLRRRLLRLRLLLLLRLLRRRLRRLRLLLLLLLRLRLLRRLRLLLRRLLRRRRLRLLRLLLRLRRLRRRLRLLRRRLLLLRLRRRLLLRRRRRLLLRRRLLLLRLLLRLRRRRRLLLLRRRRLLLLRLRRLRLRLRLLRLLRLRLRLRRRLRLLLRLRRLRLLLLLLLRRLRLRLLLRRLLLRLLRLLRRLRRLLRLRRRLLLRRRLRRRRLRRLRLLRLRLRLLRRRLLLLRRLLLRLLRRLLLLLLRRLRRLRLRRRRRLRRRRLLRLRRRLLLLLLLRRLRLRLRLLLRLRLRLRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRLLRRLRLRLLRRLLRLLRRLRRRLLRLRLLLLRLRRRRLRLRLLLRRLLRRRLLLLRLRRRRRRRRLRRRLRRLLLRLRLLRLRLRRRLRLRLRLRRLLRRRRRLLRRLLLRLRRLLLRRRRRRRLLLRRRLRRRRRRLRRLLLLRLLRLLLLLLRLRLLLLRRRLLLRLLLRLLRRRLLRRLLLLRLLRLRLLLLLRRRRRRLRRLRRLRLLRRLLRRLLLLRRLLRRLRLRLRLRRLRLRRRRLRLLRRRLLRLRLLRLRLRRLRLRLRRLLRLRLLRLLLRRLRRLLRRLRLRRLLLRRLRRLLRLRRLRRLLRLLRLRRRLRLRLLLRLRRRRLRLLLLRLLRLLRLLLLLRLRRRRLRLRRRLRLLRLRLLRLLLRLRLLRRLLRRRLRLRRRLRLLRRRRRLRLRRRRRLLLRRLLLLLLLRLRLLLLLRRRRRLLRRLLRRRLLLRRLRLRLLLRLLRRLRLRLRLLLLLLRRLLLRLLRLLRRLLLRRLLLLRRLLLRLRLLLLRLLRRRRLLLLLLRRRRRLRLRRLRRRLRLRRRLLRRRLRLLLRRLLLRRRLLLLRRRRLLLLLLRRRLRRRRLRRLLLLRLRRLRRLLLLLLRRLLLLRLRRRLRLLRRRRRLLLLLRRRRRLLRRLLRRLRRLLRRRLLRRLRRRLLLLRRRLLRRRLRLLRRLLLRLLRRRRRLRRLRLLRLRLRRLRLLLLLLRLRRLLRRLRLRLRLLLRRLLLRRRRRRLLRRLRLRRLRRRRLLRRRRLRRLLLLRRRLLLLRLRRLRRLRRLLLRLRLLLLRRRLLRRLRRLLRLRLLRRLRLRRLLLRRLRRLRLLRLLRLRRRRRRRRLRRLRLLRLRLLLLLRLRRRRLRLRLRRRRRLRRLRLLRRLRRRLLLLRRLRLRLLRRRLRLLLLLRLRLRLRLLRLRRLRRLLRLLLRLLRLLLRLRLLRLRLRLLRRRRLLRRLRRLLLLRLRRLLLLLRLRRRLRRRLRLLLRRRRRLRRRRRLLRRLRLRRRLRRLRLRRLLLRRLRRRLLLRRRLRLLRLRRLLRLRLRLLRRRLRRLRLRLLLRLRLLLRLLRRRRLLLLLLLRRRLRLRRLRRLRLRRLRRRRLRLRLLRRLRRLLRLRRLLLRRRRLRRLLLLRRRLLLLLLLRLLRLRRLRLRLRLLLLLLLLRRLLLRLLRLLLLRRLRRLLRLLLLRRLLRRRLLLRRLRRLLRLLRLLLLRRLLRRRLRRLLRLLLLRLLLLLLRLLRLLLLRRLLLRRRLLRRRLLLLLLLRRLRRLRRLRLLRRLRRRRRLLRLRRLLLRRLLLLLLRLLRLLRLRRLLLRRRRLLLRRLRLLLLRRRRLRRRRRLRRLLLLLRRRRLLLRRRRRLRRRLRRLLLLLLRLLRLRRRRRRLRLLLRRLRRRLRRLRRRLRLRLRRLLLLRLLLRRRRLRLLLRLRLRRRRRLRLRRRRLRRLLLRLLRRRRLRLLRRLRRLLRRRLRRLRRRLLRLLLRLLRLLRRRRRRRRLLLRLLLRLLRRRRLRRLLLLRLRLLRRLLRLRLLRRLLLRRRRRLLRRLLLLRRRLLRRRLLRRRRLLLLRLRLRRLRLLRLRRLRLRRLRLRRLLRLLLRRLRRLLRLRRLRLRLRLRRRLLRRLRRLRRLLRRRRRRRLLRLLLLLLLRLRLRLRRLLRRLLRLRRRLLLLLLRLRRLRLLRRLLLLLLLRRRLLRLRRLRRLRLRRLRRRLLLLRLLLLLLRRRRLLLRLRRLRRLLRRLRLLRRRRRLRLLLLRLRLLRLRRLRLRRRRRLRLRRRLLRRLRRLRLLRLLRRLRLRRLRRRLRRRLLRRLLLLRLLRLRLRLLLRLRRRLLRLLRRRRRRRRLRRLRRLRRRRLRRRLRRRLRLLLLLLRLLRRRLRRLLLRLRLRLRRRLRLLRRRRLRRLRLRRLRRLRLLLRRRLLRRLRLRLLRRRLLLLRRRRRRRLRRRLLLRRLRLLRRRRLLLLRLLRRRLLLRLRRRRLLLLLLRLRLLLLLRLLRRLRRLLLLRRRRRLLLRLLLLRRLRRRRLLRRRLLRLRRLLLLLRRRLLLRRRRRLRLLRRLRRRLRLLRLLRRLRLRLLRRLLLLRRRLLLRRRRLRLRLLLRLRRLLLRLRLLRRLLRRRLRRLRLRRRLRLLRRRLRRRLRRLLLRLRLRRLRRRRRRLRLRLLLLRRLRLLLRLRRLLLRLLLLRLLLRLRRLRLLLRRLLRRLRRLRRLRLRLRLLRRRLRRRRRLRLLLLLRLRLRLRRRRLLRLLRRLRLRLRRLRRLRRLLRLRLRRLRLRLRLRLLRRRLRLLRRLRRLRRLRLRLRRLLRRLRRLRRRRRLRRRRLRRLRRRRRRRRRRRRRRLRLLLRLRRLLRRRLRRRRLLLLLLLLRLRLLRRLLRRRRLRRLRRLRLLRRLRRLLLRLRLLRLRLLLRLLRLLLLLLRRRRLRLLRRLLRRLLLRLLLLLRLLRRLLRLRLRRLRLRRRRRLRLRRLRRRLLLRRRRLLLRRLRLLRRRRLRRRRRLRLLLLLRLLRLLLLLRLLRRLRRRRLLRRRRLRRRRRLLLLRLLRLRRRRLLLLLRLLRRRLLLRLRLLRLLRRLRLRRLLLRRLLLRRLLRRLRRRLRRLLRRRLRRRLLRLLLRRRRLLRLLRRRRLLRRLRRLRLLLRRLRRRRLLRLRRLLRLRLRRRRRLLRRLRLRLRRRRLLRRLRLLRLLRLLRLLLRLLLLRLLLLLLLLRLRRLRRLLLLLLLRRLRLRLLRRLRLLLRLLRLRRLRRLRRRRLLLRRLLLLRRRRRLRLLRRLLLRLRRRRRRRRRRRRRRRLRRLRRLLRLLLLRRRRRRRRRRLRLLRRRRRRLRLRRLRRLRRLLRLRRRLRLLLLRLRLRLLLLLLLRRLLLRRRRLLLLLRLRLRRLRLLRLLRRRLLLRRLRRLLLLRLRRLRRRRLLRRRRLLLLLLRRLRRLRLRRLRRRLLLRRLLLLLLLLRLLRRLLLRRLRRLRRLRLRLRLLRLLLRRRLRLRRLLLRRRLLRRRRLRLRLRLLRLLRRRLRLLLLRRRRLRRRLRRLLRLRLLRLLLRLRRRLRLRLLRRRLRRLRRLRLLLRRLLLLRLRRRRRRRLRLLRRRLRRLRRRRLRRRRRLLRRLRRRRLLLRLLLLLRRRLLLLRRRLLRRRLLLLLLRRLRLLLRRRLLLLRLRLLRRRLLRLRLLLLRRRLLLRRRLLLRLLRRLLLLLLRRRRLRRLLLLRRLLLRRRRLRRRRLLRRLRRRLRLRRLRRRRRRLRLLLLRLRLRLLLRRLRRRLLLLRLRRRLLLLLRRLLLLRLLRLLLRLRRRLRLLRRLLRRRRLRRRLLLRLLRLLRRRRRRLLLLLLRRRRRLRRLLRLLRLLLRRLLLLRLRRLRLLRLRRRRLLLLLLLLRRRLLLLRLRLRLLLLRLLLRRLRRLRLRRRRLRLLLLRLLLLLRRRLLRRRLLLRRLLLLRLLRLLRLLLRLRRRLRLLRRRRRRLLLRLRRLRRLLLLLLRRLLRRRLRRRLLRRRRRLRLRRRLRLLRRRRRRRLRLRLRRLLRLLLLLRLLLLLLLLRLRLLLRLLRLRRRLLRRLRLLRLLLRLRLLLLLLRRLLRLRRRRRRLRRRLLLRRRRRRRLLLLRLLLLRLRLRRLRLRRLLRRRRRRLLRRLRRLLRLRRLLLRLLRLLRLRLRRRRLLRLLRRLRRRRLRLRLRLRRLLLLLRRRLLRLRLLRRLRLRLLLRRLLLLLLLRLLRLRRRRLLRLRLLRLLRLRLRLLLLLLRLRLRLLRLRRRRLLRLRLRRRLLRLRLRRLLRLLRRRLRLLLLLRLLRLLRRRLRRLRLLRLLRLLLLRLLRLLRRLLLRLLRRLRRLRRRRLLLRRLRRRRRRLLRLRRRLRLRRRRRLRRLLLRLRRLLRRLLLRLRRRLRLRRRLLLRRLLRLRLRLRRRLRRRLRRRRRRRRRRLRLRLRLLLLLRLRLLRRLLRLLLRRRLRLLLRLRRRRLRRLRRLLRRRLRLRLRRLRRLRRLRLRRLLLLRRLRRRLRLLRLRRLRLRLLLLRRRLRLLRLRLRRLRRRRRLRRRRRLLLLRLRRRLRLLRLRRLRRLRRRLRRRRLLLLLRRLLLRLLRLRRLLLLLRRRRRLRLRLLRRLLRRRRRRLLRRLLLRLLRLRLLLRRRRRRLRRLRLRLRRLRLRRRLRRLLRLRRLLLRLRLRLRRRLRRRLLRRLLLRRRRRRRLLRRRRRRRRLLLRLRLRRLLLRLRRRRLLRLLRLRLRLLRRLRRLLRLRLRRRLLRLRRRLLLLLLRRRLRRRRLLRRLLLLLRLLLRLLRRLLLLLRRRLRRRRLLLLRRLRLRLLLRRRLLLLRLLLRRLRRLRLLLRRLLLLLLLLLRRRLRLRLLLLRRLLRLLLLLRRLRRRLLRLLLLRRLRLLLRRLLRRLLRRRLLRRRLRLLRLRLRRLLRRRRLLLRRLLRLRRRLRRRRRRLLRRRLRLLLLRLRRRRLLRRRLRLRRRRLRLRLLLRLLLLRRRRRLLLRLLLLLRRLLRRLLRRLRLRRRRLLRLRRLLLLRLRLLRLLRRLRLRLRRRRRLRLRRLRRRRLLRLLLRLLRLLRLRRRRLRRRLLRRRRRRRRLLLRLRRRLRRRLLLRRRLRLLRRLRLLRRLRRLRLLRLLLRRLRRLRLRLRRRRLRRRLRLLLLLLLLLRLLRRLRRRRLRRLLRLLRLLRLRRLRLLRLRRRRLRLRRRLRLLRLRLLRLRRRLLRLRLLRLLRLRRLRLRRRRRLRLRLRRLRRLRLLLLRLLLLRLLLLLLRLLLRRLLLRRLRLRRLRRLLRLLLLRRLLRRLRRRRLLRRRLLLLRRRRRRLLLLRLRLRRLRLLRRLLLLLLLLRLLRRLRLLLLRLLRRLLLRLRRRLRLLRRLRLLLRRLRRLRRLRLRRRLRLLRRRRLRLLLLLRRRLLRRLLRRRLLRRRRRLRRRRRRLLLLLRRRLLLLLRRLLLLRLRLRRLRRLLLLRRRRRLRLRRRRLRLLLLLLRRLRLLLRRRRLRLRRLRRLRRLRRRRRRLLRLLRLLLLLLLLLLRLLRRRRLLLRRLRLRLRLRRRLRRRRRLLLLLLLRRLRLLRRLLLLRLRLRLLRLLRLRRLRLRRRLRRRRLRRLRLRLRLLLRRLLRRLRRLRRRLLLLLRRLRLLLLRLLRLRRLLLLRRRLLLRRLRRRRLLRLLLRRRRRRLRRRRRLLRRLLRLRRRRLRRRLLRRRRRLLRRRRRRLLLRLRRRLLRLLRRLLRRRLRLLRLLLLRRRLLRLRLLRRLRLRLRRLLLLRRRRRLRRRLRLRLRLLRLRRRRRLLRLRRLLLRRLRLRLRRLLRRLRLLRRRRLRRLLLRRLLRLRRRLLLLLRRRLLLRLRRRLRLRLRLLRRLRRLRRRRRLRLLLRLLRLRLRLLRRRLLLLLRRLRRLRLLLRRLLLLLRLRRLLRLRLRRRLLLRRRRLRRLRRLRRLRLLLLLRLRRLRRLLRRRLRLRRLRRRRLRLLRLLRRLLLRRRLLRRLRLRLRLRRRRLRLLLLLLRLLRRRRRRRRLRRRLLLLLLRRRRLLLRRLRLRRRRLRRRRRRLRLRRRRLLRLLLRRRRRRLLRLRRRLLLRLRLLLLRRRRLLLRLLRRRLRRRLLLRRLRLRLRRLRLLLRLLLRRLRLRLRRLRLLRLLRLLLRRRRLLLRRLRRRRLRLLLRRLRRRLLLRRLRRLLRLRRLRLLLLLLRRLRLLLLRRRRRLLRLLRRLRLRLLRRLLLRRRLLLRLRLLLLRLLRRLLLRRRLLRRLRLRLRRLLLLLRRRLLLLLLLLRLLRRRLLLLRLLRLRLRRRRRLLLLRRLRLRRRLLRLLRRRRLLLRRRRLLLLRLLRLRRRLRLRLLRLRRRLLRRLLLLRLLRLRLRLLLLRLLLRLLRLLRLLLLRLRRRLLLRLRLRLRRRRRRRLLLLLRRLLRRRLRLLLRLLLRLLRRLLRLRRRRLRLLLLRLRLLRLLRRRLLRLRLRLRRRLLLRRLLLLLLRLLRRLLLRLLRLRRRLLRLLLRRLLRRRRRLRLRRRLLLRRRLRLRLRLRRRLLLLRLLRLLRRLLLLLLRRLLRLLLLLLRLRRLLRLLRLLRRRRLLRLRRLRLLLRRLRRLLRRRLRLLRLRLRRLRRLRLRRRLLRRRLLRLRRLRLRLRRRRLRLLRRRLRLLRRLRRLRLRRRLRLRRLRRLLLLRLRRRRLLRRRLLRRRLLRRRLLLLLLRRLLRLRLLRRLRRLRLLLLLLRLLLLRRRRRLRRLLRRLLRLLLRRRRRRRRRRLRRLLLLLLLRLRRRRRRRLLLRLRLLLRRRRLLLLRRRRLRRRRRRRLLLRLRRRLRRRRLLLLRLLRRLLLRRLLLRRLRRRRRLLRLLLRLLLRLLRRRLLLLLLLLRLRRLLLRRLLLLLLRRRRLLLRRLLLLRLRRLRRRRRRLLLRLLLLRRLLLRRRLRLLLLLRRLLRRRLLLLLRLLRRLRRLLLLRRRLRLRLRLLLRRRLLRRRRLLRRRRRRRRLLLLRLRRRLRRRLLRRLLRLRRRLLLRRRRLLRRRLLLLLLLLRRRRRLLRRLLLRLRLRRLRLLLLRRRLRRLLLLLLRLRLLLRRLLRRRRRRLLLLLRLRLLLLLRRRLRRLLRRRLLRLLRRRRLLRLRRRLRLRRRRLRLRRRLLLLLRLRLRRLLLLLRRLLRLRLRRRLRLLRLLLLRRLLRRLRLRLLLRRLRRLRRRRRRLLLRLRLLLRRLRRLRLLLRRLRRLRLRRRLLRRLRRRLRRLRLRLLRRRRLLLRRRRLLLRLLLRRLRLRRLLLLLRLLLLLRRLLLLLLRLRLLLLLLLRLLLRLLRLLLRRRRLLRRRLLLLLLRRLRRRLLLRLRLLLLRRRLLRLRLRLRRRRRRRRRLRRRRRRRLLLRRRRLLRRLRRRRRLLLLRRLRLRRRRRLRRLRRRRLRLLLRLRLRLRLRRRLLLRRLLLRLRRRRLRLRLRRLLLRRLRLRLLRLLRRRRLRRLLLLRLLLRLRRRRRRRRRLRLRLRRLLRLLRLRLLLLRRRLLRLLRLRRRLLLLLLLRRRRLLRLRRRRLLLRRRRLLRLRRLRLRLLRLRLLLLLRRRLRRLRRLLRLRLRLRRRLLRLLRRLRLRRRLLLLLLLLRRRLRRRRLRRRLLRLLRLLRRLRLLLLLLLLRRRLLRLLLLRLRRRRLLLRLLLRRLLLLLLRRLRRRRLRRRRRRRRRLLLRRRLLLLRLLRLLRLLLLRLRRRLLLLRLRRRRLLLRLRRRLRLLRLLRRRLRLLRLLLRLRRLRLLRLRLLLRLLRLLRLRLRRLLLLRLLRLLRLLRRRRRLRLLRRRRRLRRLRLLRLLRRLRLRLLRLLRLRLRRLRLLLLRLRLLRRLRRLRLLLRLLLLLRRRLRRRRRLLLRLRLRRRRLRLLLLRRLRLLRRRLRRLRLLLLRLLRLRLLLRLRLLLRRRLRRRRLRRRRLRRRRLRLLRRLRRLLRRLLLRRLRLLLLRLRLRRRRLRRRLRRRRLLLRLLRRLLLLLLRRRLLLRLRLRRRRLRRRRLRLLRRRRRRRRRLLRLLRLLLRRRLLLLRLRRRLLRLLLRLRLLRLLRRLLLLLRRRRLRRRLLLRRRLRRRRLRRRRLLLLRLLRLRRRRLLLRRLRLLLLRRRLRRRRRLRLRLRLRRLRRLRRRRRRRLRLRLLLRLRLRRLLLRRLLLRRLLLRLRRRRRLRRRLLRLRLLRLLLLLRRRLRRLRRLRLRRLRRLLRRRLRLRRRRRRRRRLRLRLRRRRRLRRLLRRRRRRLLRLRRLRRLRLRRLLRRRLLRRRRLLRLLLRRRLRLLLLRLRRRLLRRLLLRLRRRRRRRLRLRLLRLLRLLRRRRRRLLRRLRRLRRLLRLRLRLRLRRRRLRLLLRRRRLLLRRRRRRRLRLRLRLLLLLRRRRLRLLRLRRLRLRRLLLLLLRRLLLRRLLRLLLRLRRRRRLRRLLRLLRLLRRRLLLRLLRRLLLRRLLRLRLRRLLLRLLLRLLLLLRRRLRLRLLRRRRLRRRRRLRLRRRLLRLLRRLRLLRRLRRLRLRRRRRLLRLRRLLRRRRRRRRLLRRLRRRLRLRLRLLLLLLLLLLRLRLRLLLRRLLRRRLRRLRRRRLRRRLLRLLLRRRLLRRLRRRRRRRLLLRRRLRLLLLLLRLLRRRLRRRRLLLLRRRRRRLRLLLLLLLRRRRRRLRLRLRRLLRRRLLRLLRRRLRRRRLLLLRRRRRLRLLLRLRRLRLRRRLRLLLRRRRLLRLRLLRLRLLLLLRRRLLRRLRLRLLRLLLRLLLRRRRRLRRRLRRLLLRRRRRRRLLLLLRLLLRRLRLLRRLRRRRRRRRLRRRLRRLLRRRRRLRLRLRRLLRLRLLRRRLRRRRRRLLRLLLLRLRRLRLRRRRRRRLLRLRLLRRRRRRRRRLLLLRLLRLRRRRLRRLLRLRRRLLRLRLLLRLLLRLLLLLRLLRLLLRLRRLRLLRRRRRLLRRLRLLLRLLRLLRRRLLLLLLLRRLRLRRRLRLRRRRRRRLRRLLLLLLRRRLRRRRLLRLLLRRRRLRLLRLLRRLLRRLLLLRRRLRRRLLLRLLLRLLLRLRRLRRLRLRRRLRRRLRLRLLRRLRRRRLRLLLLRLRRLLRLRLLLRLRRRRRLLRRRLRLLLLLLLRLLLLLLLLRRLLLRLRRRRRRLRLLRRRRLLRLRRRRRLRLRRRLRLLLLRLRLLLLRRRRLLLLRRRLRRRLLLRRRRLRLLLRRLRRLLLRLLLLRLRLLRLLLRLLRLLRLLLLRLLLLLRRLLLRRRRLLLRLLRRLLLLRLRLRLLLRLRRLRLRLRRRLRRRLRRRRRRRLLRRLRLRRRLLLLRRRLLLLLRRRRRRRLRRRRLLLLLRRLRLRRLLLLLRRRLLLLRRRRLLRLRRLRRRRRRLRRRRLRLLLRLRRRLRLRLLLRLLRRLRRLLRLRRRRRLRRRLRLLRRLRRRRLRLLRRLRRLRLRRLRLRRLRRLLLLLRRLRLLRRLRRRLRRLLRRLLLLRLRRRLLRRLRRRRLRRRRLLRRRRLRRRLLRRLLLLLLRLLLLRRLRLLLLRLRLLRLLRRLLRLRRRLLRLRRLLRLLLRRRRLLRLLRLLLRLLLLLRRRRRRLLLRRLRLLRRLLLLRLRLRRRRRRLRLLRRRRLRRLRLLLLRLRLLLLRLRRRLRLLRRRLLLRLRLRLRLRRRLLRLRLLRRLLLLLLLLLRLLRRLRRLRLRLRLLRRRLLRRRLRLLLLLLLRRRLLLLLRRRRLRLLLRLLLRRRRRRRRLLRLLRRLLLRRRLRRLLLRRLLRLRLRRRLRLLRRLLLLRLLRLRRRRLRLLRRRRRLLRLRLLLRRRLLRRRLLLRRLRLLLRLLLLLRLLRLLRRRLRLLLRRRLRRLLLRRLLRRLRRRRLLLLLRRLLRLRLLLRRLLLLLRLRRLLLLRRRLLLRLLRLRLLRRRRRLRLRRLLLLLRLRRLLLLLLLRRRLRRRRLLRLRRRRLRLLRRLRLLRLLRLRLLRRLRRLLLRLLLLLRLLRRRRLRLRLRLLRLRRRRRLLLLLLLRRLRRLRLRRLLLRRLRLRRLLLRRLLLLRRLLLLLLRLLRLRRLRRRRLLRRLLLLLRRRLLLLLRRLLRRLRRRRRLLLRLRRLLLRLRRLLRRLRLLLRLLRLLLLLLLLLRLRLRLLLLLRRRRLRRLLLLRLLRRRRRRLRLLRLRRRRLRLRLLLLLRLLRRRLLRLLRLRLLRLRLRLLRRLLLRRLRRRRRRRLLRLRRLLLRLRLRLLRRRRLLRRRRLRRLRRLRLLRLLLRRLLRRRLLLLRRRRRLRLRLLRRLRRLLLRLLRRRLLRLLRRLLRRLRRRLLRRRRLRLLRLRLRRLLLRRLRRLRLRRLLLLRLLLLLLRRLLRRLRLLRLLLLLRLLRRLLRRLRRRLRLLRRRRRRLLLRRRRRRLLRLRLRRLRRRLRLLRLRRRRLLLLLRLRLLRLRRLLRLLRLLRRRLRRRRRLRRRRLLRLRRRLRLLRLLLLLLRRRRLRRLLRRLRLLRRRRRRRRLRLLRRLRLRRRLLLRLRRRLLRRLRRRRRRRRLRLRLRRLRLRRLLLRLRRRLLRRRLRRRLLRRLLLLRLRRRRLRLLLLLRRRLLRLLRLLLRLRRLRRLRRLLRLRLRLRLLRRLRRRRLLLRLLRRRLRRLLRRLRLRRRRRLLRLRRLRRRRRRRRRLLRLLLLRRLLLLRLLLLRLLRRLLLRRRLRRRRLLRRRLRLRRLRLLRRRRLLLRRLLRRRLLRRLLRRRLLLRLLRRRRLLLLRLLRLLRRLRRLLRLLRRRLRRLLLLRLLRRRLLRRRLLLLLLLLLLLRRRLLRLRRRRLRLLRRRRRLLRLLRRRRLLRLRLLLRLLLLLRRLLLRRRRLRLRLRLRLRRLRLRRRLLRRLLRRLLRRLRLRLLLRLLLRRLRLRLRRRRLRLRLLLLRRRRRLRRLLLLRRRRRRLLLRLRLRLLRLLLLLLLLRLRLLRLLLRRLRRLLRRRRRRLRRLRLLLRRLLRRLRRRLLRLLRLRLRLLRRRLLRLLRRLRLRLLRLRRRRRRLRLRRRRLLLRLLLRRLRLRLRRLRRLRRLRRRRRRLRRLRRRLRRLRLLRRLLLRRRLRLRLLRRRRRRRRLRLLRRLLRLRLRLRLRLRLRRLRLLLLRLLLRRLRRLLRRRRLRRLRLLRLLRRLRRLRLRLLRLRLLLLRRLLRLLLLLLRRLRRRLLRLRLRRLRLRLRRLLRLLRRLLRLRRRRLRLRRRRLLRRRLLRRRLLRRLRRLLLRLLRLLRLRRLRRLRRLRLLLLLRLRRRRRLLLLLLRLRLRRLLRRRRRRLLRRRLLLRLRRRLRRLLLLLLRLLRRRLLLRLRLRRLRLRRRLRLLRLRRRRLRRRRLRRRRRLRRLLLRLLRLRLLLLLLRRLRLLRLLRLRRLRRRLRRLLLLLRRLLLRRRLRLRRLLRLRLRRLLRLRLRLRRRRRRLLLRRLLLLRRLLRRLRLRLRRLLLRLLRRLLLLRLRRLRRLLLLLLLLRLRLRLRLLLRLRLRLLRLLRLRRRLRLRLRLRLLRLLLRRLRLRRRRRLRRRLRRRRLRRRRRRRLLRRRRLRRLLRLLLLRLRRRRRRRLRRLRRLRRRRLLLLRLRLLLRRLRLLLRLLLLRLRLRLRLLLLLLLLRLRRRRRRRRRLLRLLRRRRLLLRLLRLRLRLLRLRRRLLLLLLRRRRLLLLLRRLLLRLLRLRRRRLRRRLRRRRLLLLRLLLLLLLLRLLRRRLLRRRRRLRRLRLRLRLLRLLLRLRRRLRRLLLLRRLLRRRLLRLRLRLLRLLRRRLRLLLRRLLRLRRRLRLLLRLRLRRLLLRLRRLLLRRRRLLRRRRLRRLLLLLRRRLLLRLRRRRLRRLRLLLLRLRRLRRRRRRLLRLLLLRRRLRRRLLRLLLLRRRRLLLLLLLLRRRRRRLLLLRRLRLLLRRRLLLRLRRLRRRRLLRLRLLLRRLRRRLRRLLLLLRRRRRLLLLLRRRRLRLLLLLRRLRLLRRRLRLRLRLRLLLLRRRRRRLRRRRLLLRLRLLRLRRLLLLRRLRRRLLLLRLLRRLLLLLLLLLRLRLLRLRLRLRRLLRLLLRLRRLRLRRLRLLRRLLLLLRRLRLRLLLLLLLLRRRLRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLLLRLRRRRLLRRRLRRRLLRRRLLLRLLRLRRLRRRRLRRRLLRLLLLLRRRRLRRLRRRLLRLLLRLLRLLRLLLLLRRRLRLRRLRRRLLLLRLRRLRRRLLLRRRRRRRRLRLRRRRLRRRRLLLRRRLRLRLRRRRRRLRRRRRRRLRLLRRLRRLLRLLRLRLRLLRLLLRRRRRLLLRRRRRLLLLLRRLRLLLRRRRLRRLRRLRRRRLRLRRRRRRRRRLRLRRRLLRRRRLRLLRRRLLLLRRRRRLRRRRRRLLRLLRLLLRLLRLLLLLLRLLRRRRLLRRLLRRRLRLRLRRRRRRLRLRRRLLLLRLRRLLRRRRLLRRRLLLRLLLLLRLRLLRLRRLRLLRLLRLRLRLLLLLLLLRLRLLRLRRRRLLLLRRRRRLLRLLLRLLLRLLRRLLLRRLLLRLRLLLRRLLLLRRRLLLLRLLLRRRLLLLLRLLLLLLRRLRRRLRRRLRLRRLRRRRRRRLRLRRRLLLRLRRRLRRLLLRRLLRLRRLLLRRRLRLRRRRLLRLLLLLRLRLLLRRLLLRLLLRRRRRRRLRLRLLLRLRLLLLRRLLLRLLRLLLLRRLRLLLRLLRRRLLLLRRLLLRLLRLRLRRLLRLRLRRLRLRLLLRRLRRRLRLLRLLRRRLRLLLLRLRLRLRRLRLRRRRRRRLLRRLRRLLLRRLRRRRLRLRLRLLLLRRRRLRRRRLLLLLLLLLLRLLLRRRLLRLLRRLRRLRLRRRRRLLRRRRRRLRLRLLLLLLRLRLLLRLLLRRLRRLRLRLRLLRLRRRLRRRLLLRRLLLRLRLRRRRRLRRRLLLRLRLRRRRRLRRLRRRRRLLRLLLLLRLRRLRLRLRLRRLRLRLRLRLRLRRRRRRLLRLLRRLRRLRRRRRLLLLRLRRRLLRRRRLRRLLLLLRLLRRLLLRLRLLLRRRLRRRRLLLLLRLRLRRLLRRRRLRRLLLLRRRRRRRLRLLLRLLLLRRLLLLRLRRRRLRRRLRLLLLRLLLRLLRLLLRLLRLRRRRLLRRRLLRRLLRLRRLRRRLRRLRRRLRRRLRRLRLLRLRRRRLRRRRRRRRRRLLRLRLLRLLLRLLRRRLRLRRRRLRLRRLRLRRLRRLLRLRLLLRLRLRRRLRRRRRLRLLLLRLRLRLRRLLRLRRLLLRRLRRRLRLRLLLLRLRRRRLRRRLRLRRLLLLRLRRRLLRLLRLRRLRRRLLLLRRLRRRLRRLLLLRLRLRLRLLRRRRRRLLLRLRLLRLLLRLRLLRLRLRRRLRLRRRRLRRLRLLRLLLRLLLRLLLRLRLRLRLLLRRRLLLLLRLLRRRRRRRLRLRRLRLRLRRLLRLLRLRLLRRRRLLLRLRLLRRLLLRLLRLLRRRRLLLRLRLRRRLLRLLLRLLLLRLLLLLLRLLLRLLLLRRLLLLRLLLLLRLLLLLRLLLRLRRRRLLRRLLLLLLRLLRRLLLRRLRLRRLLLLRRRLLRLLLRRLLRRLRLLLLRLLRLLLLRLRRRRRRLRRLRLLLRLLRRLLRLRLRRRLRLLRRRRLRLLLLLLRRLLRRLRLLRRLRRRRLLRRLLRRLRLLRRRLLRRLLLRLRRLRLRRRRLLRLLLRRRLLRLRRRLLLRLLRLLLLRLRLLLRLRRRLRLLLLLRLRRRRLLRRLLLRLLRLLLLLLLRLLRLLLRLRRLLRRLRRRLRLRRRRLRRRLLLLLLRLRRLRRLLRLRLLRLLLRLLRLLRLRLLRRRRRRLRRRLLRLRLRLRLLRLRRLRRLRLLLRRRLRLLRRLLLLLRRLLLLRRLLRLRRRLLRLRLRRRRLLRLRRLRRRRRLRRLLLLLRLLRLRRRRRLRRRLRLRRLLLLRRLRRRRLRLLRLRLLRRLRRLLRLRLRRLRLRLRLRLLLLLRLRRRRRRRRRRLLRRRRLRRLRRLLLLLRRRLRLRRLLRLLRRLLLLLRRLRLRLRRLRLRLLLLRRRRLRLLLLLRLLLLRLRLLLRLRLLLLRRLRLRLRLRRRLLRLRRRRRRRRLLLLRLRLLRLRLRLLRRRLRLLLRRLRRLLLLLRRLRRLLLLLRLLRLLLRRRLLLLRRRRRLLRRRLLLRLLRLLRLRLLRRLLRRRLRLRLLRRRRLLRLLLRRRLLRRRRLRRRLLLRRRLRLRLLLLLLLRLRLLLLRRRLLRLRRRLLRLRLLLRRLLLLRLRRLRRRLRLRRRLRRLLRRRLLLLLRRRRLLRLLRRLRLLLLRLRRRLLRLRRLLRLLLLLLLRRLRRLRRRRLLRRRRLLRLRRRRLLLLRRLLRRLRRRLRLLLLLLRRLRRRRRRRRLLRLLRRLLLRRLRRRRLRRLLLLRRRLRLRLLRRRLLRLLLRRRLRRRRLRRRLRLRLLRRLLRRRRLRRRLRLLLRRLLRRRLLRLLLLRLLRLLLLRLLRLRLRRLLLLLLRRRLRRRRLLLLRLRRLRLLRRRRLLLLRRRLLRRLLLRLLLRLRRLLRLRRLRLLRLLLLRRRLLRLLLRLRRRLLRLLLLLLRLLLRLRLLLLRRLRLLLRLLRLLLLRLLRRLLLRLRLRLRRRRRLRLLLLLRRLRRRLLRRLRRRRLRLLRRRLRLRRRRLRLLLLRLRLLRLLRRRRLLRLLLLRRRLLLLRLRLRRRLRRRRLLRRLRRLRRRLLRLLLRRRLRRLRRLRLRLLLLLRRRLRRRRRLRRLLLRLRRLLRLRRRRRLLLLRLLRRLRLLLRLRRLLRLLLLLRRRRLLRRRRLLRLLRRLRRLLRRLLRLRRRLLRLLLLLRLLRRLLLRRLRLRLLLLRRLRRRLLLLRRRLLRLLRRLLRLRLRLRLRLRLLRRLLLLRLRLRLLRLLRLLRRRLLRLRRRLLLLRLLLRLRLLRRLRRLRRLLLLLLLLLLRRRRRLRRLLRRLLRRLRRRRRRRLLRLLRRLLLLLRRRLRRRRRRLRLLRLRLLLRRLLLLRLLLRRLLRRLRRRLLLRRRLRLRRRRRRLLRLRRRRLLRRLRRRLLLRRRRLRRRLRLRLLRRLRRRLLLLLLLRRLRRLLLRRLLLLLLRRRLLRLRLRLLLRLLRLRRRLRRLLLLLLRRRRLRLRRRLRLRLLLRLRLRRRLRLLRRLLRLLRLLLLRLRRLLLRRLLLLLLRLLRRRRRRRRRRRRRRLLLLRRRRRLRRLLLRLLLRLRRRLLLLRRLLLRRRLLLRLLRRLRRLLLLRRLLLRLRLRRRLLRRLRRRRRRLRLLLLLRRLLRRLLLRRRRLRLLLLLRLRRLLRLLRRLRRRLRRRLLRRLLRRRLLLLRLLLLLRRRRLRLRRLRLRLRRLRLRLLLRLLLRLLRLLLRRLLRLRLLLRLRLLLRRLRLRLLLRRLRRLRRRRRRLLLLRRLLLLRRRRLRLRRRLRRRLLRLRRRLRLLLRRRLRLRLLLLLRRRLLLLRRRLLLRLLLLRLLLRRLLRLLRLRLLLRRLLLLLLRRLLLLLLLLRLRLRRLRRLLLLRRLLLRLLLLLLRRRLRRLLLRLLRLLLLRRRRRRLRLLLRLRRRRRRRLRRRRLRLRLLRRRRLRRRRRLRRRRLLLRLRRRRRRLRLRLRLRLRLRRLRRLRLRRLRRLRRLRRRLLRLLLRRRLRLLRRRRLLLRRRLRLLRLRRRRRLRLLLLLRLRLRLRRRRRRRRRRRLRLRLLLLRLRLRLRLRRRRLLRLRRLLRRLLLLLLLRLRRLRRLLLRLLRLLRLLLRRLLRRLLRRRRLRLLLRLLLRLRRLRLLRRLRLRLRRRLLRLRRRLRRRRRLLLLRLLLRLRLRRRRLLRRLLRLRRLLRRRRRLLLLLLRRRRRLRLLRLRLLRRLLLLLLLLLLLLLLLLRRRRRRRLLLLLRLRRLLRRRRRLLRRRRLRLLRLLLLRLRRRLRLRRLRLRRLLLRLRLRRLLLRLRRLRRRLRRLLLRLRRLRLLRLLLRLRRRRLRLLRLRRLRLLRRLRLLRLLLLRRRLRLLRRRRRLRRLLLRLLLRRLRLRRLLRRLLRLRLLRLLRLRLRLLRRRRLLRLLLLLLLLLLRLRRLLLRLLLRRRRLRRRRRRLLLRRLRLRRRLLRRLRRLLRRLLRRRLRLRLLRRLLRRRRRRLLLRRRLRRLRLLLLLRRRRLLRRLRLRRLLLLLLRLRLRLRRLRLRLRRRRLLLLLLRRLLLRLRRRRLLLRLRLRRRRLLRRRRRRLLRLRRRLRRLLRLLRLLLRRRRLLLRLRRRLRRRLLRLRLLRRRRRLLLRLLRRLRRRRLLRRRRLRLRRLRRRLRRLLLLLRLRRRRRLLLLRRLLRRRLRLRRRRRLRLLRRLRRLRLLRLRRRRLLRLRLRLRLRLLLLLLRRLLLRRLLLRRRRRRRLLLRRLRLRLLLLLRLRLLRLLLLLRRRLRRLRLLLRRRLLLRLLRRRRLRLRLRLRRRRRLRLLLRLRLLRLLRLLLRRRLRLRRRRRLRLLRRRLLLRLRLRLRLRLRLLLRRLRLRRRLLRLLRRRRRRRLRLRLLLRLLLRRLLRLRLLRRLRLLRRLRRLRRRLRLRRRRRLRLLRRRLLLLRRRRRLRLLLRLRLLRLRRRRRLRLLRLRRLLRRRLLLRLLLRLLLLRLLRLLRLLRRRRRRRRLLRLRRLRRLRLLLRLLRLLRRRLLLLLRLRRLRLLLLLRLLLLLRRRLRLRLRRRRRLRRLRRRRRLRRRLRLRRRLLLLRRLRRLRRRRRLLLLRRLLRRRRRRLLRRLLRLLLRLLRLRLRLLRLLLRLRLLLRLRRLLRLLLRRRLRLLRRRRLRRRLLRRLRLRLLLLLLLRRRRRLLLRRRRRRRRLLLLRLLRRRLRRLRLRLRRLRLRRLRLLLLLLLLRRRRRLRLRRLRRLRRLLRRLLRRRLRLLLLLRLLRLRRLRLLRRLRRLRLRLRLRLLLLLLRLLRRRLLRRLRLRLLRLRLRRRLLLLLLLLLLRLRLRRRLRLRRRLRRLLLRRRLRRRRLLLRRLLLRLLRLLRLLRRRRLRLLLRRRLRRLRRRRRRLRLRRRLLLLLRLLRRLLRLRRRRLRLLLLRLLRRRRRRRLRRRLRLRLRLLRLRLLRRRLLLRLRRLRLRRRRLLRLLRLRRRLLRLRLLRRRLLRLLRLLRRRRLLRRLRRLRLRRRRRRLLRRLRLRLRRLRRLRLRRRRLLLRLLLRLRRLLRLRRRLLRLLLRRLLLRRRRRLRRRLLLRLLLRRRRLRLLRRLRRRLRRRLLRRRRLRRRLLLRLLLRLLLRRRRLLLRRLRRRLRLRLRLRRRRRRRLLLLRLRRRRRRRRRRLRLLRLLRRLLRLLLRRLLLLLRLLLLLLRLLLRLRLLLLRLRLRLRRRRLLRLRRLLRLLRRRLRRRRRRLRRLRLRRRRRRRRLLRLLRLRLRRLRRLRLRRRLLLLRLLRLRRLLLRLLRRRLRLLLLLLLLLRRLRLRLLRLRLLLLRRLRRRRRLRRLLRRLLLLLRLRRRLLLLRRRLRRRLRRRLRLRRRRRRRLRRLRRRRLRRRLRRLRLRLLLRLRRRRRRRLLLRRLLLLLRRLRLLLLRLRLRRLRRLLLRRRLRRLRRLRRRRRRLRRLLLLLLLRLRRRLRLRLLLRLLLRLLRLRRLRRRLRRLRRRRRRRLRRRRRRLLLRRLLRRRLRRRLLRRLRRLLLLLRRLRLLRLLRRRLRRLLRRRLLLRLRRRLLLRRRRRLLRLRLRLRRRRLLRRRLRRLLLLLLRRLLLRRLRLLLRRRRLRRLLRRLLLLRRLRRRLLRLLRRLRRRRRLLRLLRRLLRLLLLRRRRRLRLLRRRLRRLRRLRLLRRLRLLLRRRLRLLLLLRLLLLRLLLLRLRLLLLRLRRLLLRLRRRLLLRLRLRRLLLRRLRLRLLRRRLLLRRLLLLRLRRRLRRLRRLLLRLLRRLLRRLRLLRRRLLLRLRLLLLLRRLLRRLLLRLLRRRRRLRRLLLLLRRRLLLLRLLRLLLLRLRRRLRRLRRLRLLRRLLRLLLLRRRRRRLRRLRRRRLLLRLRLLLRRLRLRRRLLLLLRRRLLRLLLLLRRLRLLRRRRLLLLLLRRRRLLRRRLLLRRRRRLLRLLLLLRLRLRLLLLRLRLRLRLRRLLRLRRRLLLRRLRLRRLRLRRRLLRRRRLRRLRLRLLLLLRLLRRRRRLLRRRRLRRRRRRLRLRLRLLLLLRLLLLLRLRRRLLLLLLLRRLLRLRRRRLRLRLLLLRRRRRLRLLLRLRRRRRRRLRRRLLRRLRLLRLLLRLLRLRRRLRLRLLRLLRLRRLRLRRLLRLLRRLLRRRLLLLLRRLLRRLRRRRRRLLRRRRLLLRLLLLLRRLLLLLRLLRLLRLLLLLLRLRLRRLLRLRLRRLLRLLLLLLLRRRRLLRRLLLLRRRRLLLLLLLLLLLLLRRLLRRLRLRLLRLRRLRLRRLLLLRLLLRLLRRLLLLRRLLLRLRLRRLRRRLLRRLRRLLLLRRLLLLRLRRLRLLRRLLRRRLRRRRLRLRLLRRRLLLRLLLLRRRLLRRLRRLLLRLRRRLLRLRLLRRRRRRLLRLLRRRLRRLRRRLRLLLRLLLRRLRRLLRRLRLLLRLLLLRRLLRLRRLLRRRLRLLLRLRLRLLLRRRRRRLLRLLLLRLRRRLRLLRLRRRRLLLLRRLLLLLLRRLRRRLRRLRRLRRLRLLLRRRRRLLLRLRLRLLRLRRRRLRRRRRRRLLLRLLLRRRLRRRRRLRLLRLRRLRLRLLLRLRLRLRRRLRRRRRLRLLRLRRRRLRLRRRLLRLLRRLLLRLRRRRRLLLLLLLLLRRRRLRLRLLLRRRLRRLRRLLLRLRLRRLLRLLLLLLRLLLRLRRLLRRRLRRRLLRRRLRRLRRRRLRRRRLLRLRLRRLRRRLRLRRRLLLRLLLRLLLLLRLRLLRRRLRLLRRRRLRLRLLLLLRRRLRRLRLLRRLRRLRRLLLRRRLLRLRLLRRRLRRRLLRLRLLLRRLLRLLLRRRRRLRLLRRRLRRLRLLRRLRRRLRRRLLLLLLLRLLLLLRRLRRLRRRLRRRRLLRRRLRRRLRRRRLRRLRLLLRLLLLLRRLLRRRRLLRLLRRLRLRRLRLRRRLLRLLRLRLLLRLRLRLLRRRLLRRLRLRRLRRRLRLRLLLLRRRLRLRLLLRLRRRLRRLLRRLLLRLRLLLRRLLLLRLLLRRLLRLRRRLLLLRRLRRLRRRRLLLRLRLLLLLRLRLRRRRLLLRLLRRLLLRLRRLLRLLLLRLLRRRRRRRLRRRLLLLRLLLRRLLLRLLRLRRRRRLRRRRRRLRLRRLRLRRRLLLRRLLLRRRLLLLLLRLLLRLLRLRLRRRLLLLRLRLRLRLRLRRRRLLRLRLLRRRLRRRLLRRLLLRLRLLRRLRLLRRLRRRRLRRRLLRLRLLLRLLLRRLRLLRRLRLLLRLRRRRLRLRRRLRRRLLLLRRRRLLLRLLRRRLLRRRLRRRRLRRLLRRLLRRLLLLLRLRRRLRLRRLRLLLLRLRRLRRRLLLRLLRLLLRLRLRRLLRRLLRRRRRLRRRLRLRLLLLLLLRLRLLRLRLRLRLRLLRLLRRLRLLRLRRRRRLRRRLRRLLLLRLRLLRLLRLLLLLLRLRLLRLLRLRLLRRLRRRLLLLLRLRRLRLLRRRRRRRRLLLLRRRRLLRRRLRLLRLRRRLLLRRLRLLRRLRRRLRLRLLRRLLRRLRRRLLLLRRRLRLRLRLLRRLLLRLLLRLLLLLRRRRRRRLRLRRRLRLRRRRRLLRLLLLRLRLRRRLRRRRRRRRRLLLRRLLRLLLLRRLRLRLLRRRLRRLLRRRLLRLRLLRRLRRRRLLLLRRRLRLLRLRLLLLLLLLRLRLLLRRRLLLLLLRLRRLRRRRRRRLRRLRRRRLLRRLRRLRLRRLLLRRRLLRLLLRRRLLLRLLRLLLRRLLRLRRRRLRRRLRRLRLLLLRRLLLLRLLRLRLRRRLRRRLRLLRRRRLLLLLLLLLLLRRLLRRLLLLLRLLLLLLLRLRLRRLRLRRRLLLRLLRLLLLLRLRLRLRLLLRLRLLRLRLRRLRLRRRRLLLRLRLRRLLRLRRRRRLLRLRRRRLRRRRRLLLLLRLRLRRRRRLLRLRRLRRRLRRRLLLRLLLRRLRLLLRLLLLRLRRRRRLLLRRRRLLRRRRLLLRLRRRRRRRLLRLRLLLRRLRRRLRRLLLLLRRLLRRLRLLLLRRLLLRLLLRRLRRLRRLLLLRLRRRLLLLLRLRRLLRRLRLLLRLRRRRLLRLLLRLLLLRLLLLRLLLRRLRRLLLLLLRRLLRRLRLLRLRLLRLLLRRRRLLLRLLRLLRRLLLLLRLLRLRLLLRLLLLRRRRRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLRRRRRLLLLRRRRRRRRLLRRLRLLRLLRLRRLRRRLRRRRLRRLLLLLRLLRRRLLRRRLLRRRLLLRLRLLRRLLLRLLLRRRLLRLRLLLLRLRLLRLRRLRRRLLRRRRLRLRRRRLLRRRRLLLRRRRLRLLRRRLRRRRLRLLRLRLLRRLRRLRRLLRLRLRLLRLLRRRRRRRRLRRRRRLLLRLRLLRLLRRRRRLRRLRLLRLRLLLLRRRLRRRRRLRRRRRRLRRRRRLLRLRRLRRLRRRRRLRLRRRRLLRLLRLLLLRRLLLLLLLLLLRRRRRLRRLLLRLLLLRLRRLRRRLRRRLLRRLRRRRRLLRRRRLLLRRLRLRRLLLLLRLLLLLRRLRRRLLLRLRLLLRRLLLLLRRRRLLLRRRRLLLLLRLLLLLRLLRRLLLLLRRRLLLRRRLLRLRLRRRLLRLLRLRLLLLRRLLRLRRLRLLRLRLLLLRLRRLRLRRRLRLLRRRRRRRRRRRLLRRLLRRLLLLLRLLRRLRLLRLLRLLLRRRLRLRRLRLLRRLLRLRLRRLRRRLLLRLLLRRLRRRLLLRRLLLLLRLLLLRRLLLRLRRLRLLLRRRRLRLLLRRLLLLLLRLRLRLLRLRLLRLLLLLLRLRRLRLLRRLLRRLLLLLLLLRRRRRLLLLRLRLRLRRRRLLRRRRLLLRRLLLRRLLRRLRRRRLRRRRRLLLLRRRLLLLRRLLLRLLLLRLRLRLRRRLLRLLRRLLLRLRRRRRLRLRRLRLRLRLRLLLLLLRLLRLLRLLLRLLRRRRRRLRLLRLLRRRRLRLLLLRRLLRRRRLRLRRLRRRRLLRLRLRRRLRLLRLLLRRRLLRRLLLLRRRLRRLLRLLRRRRLRLRRRLRRRLRRLRLRLLLRRLRRRRRLLLRLLLRLRLLLLRRRRLRRLLLLLRRLRRLLLRRRLLRLRRLLRRRLRLLLRLRLRRLLRRRRRRRLLLRLRRRLRLLRLLLRLRRLRRLLLLRLLRRRLRRLLRLLRLRLRLRLLRLLRRLLRRRRRRLLRLLLRRRLRRLLRLRRRLLRLRRRLLRRLLRLLRLRLLRRRLRRLRRRRRLLRLLLLRLRLLLLRLRLRLRLLRRRLLLRRRLRRRRRRLRRLRLLLRRRRRRRLRRRRRLRLLLLLLLLRLLRLLLLRRLLLRRLLRRLRLRLRLRRRRRLRLRLRLLRRRLLLLLLRRRRLLLRRLLRLRRRLLLRLLLLRRLLRLRLLRLLLLLLRLRRRRRLRLLLRLLRRLLLRLLLLLRRLLRRLRLRRRRLLRLRLLRLLRRLLLRRLLLLRLRLLLLLRLRLRLLRRLLLRRLRRRLRRLRLRRRLRRLRRLLRLRRLRRRRLRRLLLLLRRRLLRLLLLLLRRRLLRRLRLRLRLLRLRLRLLRLRLLLLLLRLLLRLLLRRRRLRLRLLLRRRLRLRLRRRLRRRLLRLLLRLRRRLLRLLRRLLLRRLRLRLLLLLRRRLLRLLLRRLLRLLRLLLRLLLRLLRLRLLRRRRRRRRLRRRRRLRRRLLRLRLRRLLRLRRRRRLRRRRLLLRRLLRLLRLLLRRLRRLLLRRLLLRLRLLRRRLLRRRLLLLRRLRLRRLRLLRLRLRLRLLLLRRLLLLRLLRLLLLRLRLLLRLRLRRRLLLRLRLRRRRLLLLLLRRLLRLLRLRLRRLRRLLLLLLRRLRRLRRLLRRLRLRLRLRLLLRRLRRRLLRRLLRRRRLLRLLRLLLLLRRLLLRRLLRRLRRRLLLLLRLLRRLRLRRLRRLRLLLRRRLRLLLLRLLLRRLRLLLRRLLRRLLLLLRLRLLRRLLLRLRRLRLRRRRRRLLLLLLLLRLRLLRLLRRRLRLRLLLLRRRLRLLRLRLRRLRLLRRLRRLRRLRLRRRLLRLRLLLLLLLLLRRRRLRRRRRLLRRRRLRRLRRLLLLLRRRRRLRRLLRRRLRLLLRLLRLRLLLRRLRLLRLLRLRRRLLLRLRLLLRLLRLRLLLRRRLLLLRLLRLRRRLLRRRLLLRLRRRRRRLRLLRLLLLLLRLLLLRLRLRRLLRLLRRLLLLRLRLRRRLLRLRLLLLLLRRRRLLLRRRRRLLRRRLLRRLLRLRRLRLLRRLLRRRLRLLLLLRLLLLRRLLRLRLLRRLRLRRLLLRRRRLRLLLLLLLLRRRLRLLLLRLLLRLRLRLLRLRRLLRLRRLLRLRRLRLLRRLRLRLRRLLLRLLRLLLRRRRLLLLLRRLLLLLRLLLRRLLRLRRRLRLLRLLLRRRLRRLLRRRLLRLRRLLRRRRRRLLLLRRLLRRLRRRLRLLLLLLLRLRRLRRRLRLLLLLRRLLLRRLRRRRRRRRLLLLRRLRLRLLRRLLLRLLLRLRLRRRRLRRRRRRLRLRRLLRRLRLRRRRRLLRRLRRLRRLRLLLLLRLRLLLLLRLLRLRLRRLLLRRRRRLLRRLRLRRLLLRRRLRLRRLRLRLLRRRLRRRLLRRRRLLLLRLRRLRLLRRLLLRLRLRRRLRLLLRLRLRLLRLLRRLLRRLLRLRLLLLRRRRLLLLLLLRLRLLLLLRLLRRLRLLRLRRRRLRLRLLLRLLRRLLLLRRRLRRLLLRRLRLRLRLRRRRLLLRLRRLLRLLLRRRRLRLLLLLLRRLLLRLRLRRRLRRRLLLRRLRRRLRRLLRLLRRRRLRLLLRLRRLLLLLLRRRLLRRRRLRRLRRRLRRRLRLLRRRRRLRLLLLRRLRLLRLRLRLRLRRLLLRRRRLLRRRLLLRRLLRLRRLLLLLRRLRRRLRRLLLLRLLLRLLLLRLRRLRLLRLRRLRRLLLLLRLLLRRLLLLLLRLRLRLLLLLRLLLRRLLLRLLLLLRRLLRLLLRLLLRLRRRLLRLLLLLRLLLLRRLLRLRRLLRRRLRLLRLRRRRLLRLLLRRRLRLRRRRRRRLLRLLRRLRLLLRRRLRLRRLLLRLLRLLLLLLRLLLLRRLLRRLLRRLRRRRRRRRLLRLRRRLRRLRRRRRLRRLRLRRRRLLLRLRLRRRRRRLRLRRRRRRLRLLRLLLRLRLLRLLLRRRRLRLRLLLLRLRLRLLLRLLRLLRRLRRLRRLLLRRRRRRLRRRLRLRLLLLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRRRLRLLLLRLRLLRLRRLRRRLRRRLRLLRRRRRLLRLRLLLLRLLLLLLRLLRRLLLLRRLLLRLRRRLRRLLRLLRLRRRLLRRRRLLRRRRLRRLLRRLRLRLRLLLRLLRLRLLRLLRLRLRRLRRRLRLLLRLLLRLLRRLLRRLLRLRLRLLLLLRLLRRLRRRLLLLRRRLRRLRRRLLLRLLLLRRRRLLRRLLLLRLLRRLLLLLLRLRRRLLLLLRRRRRRRLRRRLLLRRLRRLLRRRRRLRRRLRRRLLRLLRRRLLRLRRRLLLRLLLLLRLRLLRLLRRLLLLRRRLRLLLLRRRRLRRLRLRLLRLRLLRLRRLRRLLLRRRRRLRRLRRLLLLRRLLLRLRRLLRRRLLLRLLLRLLRLRRRLLRRRLRRLLRRLRRRLLRRLRLLRLLLRLRRRLRLRRRRLLRLRRRLRLLRRRRRLLRRLLRLRLRLRRLRRLLRRRLRLLRRRRRRLLRLRLRRLLLLLRRRRRLLRRLLRRRRLRLLRRRRLLLLLRLRRRLRRRLRLRRLRRLLLRLLLLRRRLRLRLRRLLLLRRRRLLLRRRLLLLRRLRRLRRLLLRLLRLLRLLRRRRLRRLLRRRLLLRLRRLLLRRRRLRLLRRLRLLRLRLRRLLRRLLRRRRLLRLRRLRLLLRLLLRRLLRRLLRLRLLLRLRLRRLLLLLRRRRRLRRRRRLLLLRLRLLLLLRLLRRRLRLLRRLRRRRLLLLRLRRLRRRLRRRLRRRRRRLRRRLLLRRLRRRRLRRLRLRRRRRRLRLRRLLLLRRRLLRRRRRLRRLRLRLLLLRLLLRLLRRLLRLRLLLLLRRLRRLRLRLLLLLRLRLRLLLRRLRLLRLLLRLRLRRLRLRRLLRRLLLLLLRRLLRLLLRRLRLRLLLRRLRLLLLRLLRLRLLLLRRLLLRRRLRLRRLRLLRRRRLRRLRLRLRLLRRRRRLRLRLLRLRLLRRRLRRRLLLLLLRRRLRRLRLLRLLLRRRLLLRLRLRRRLLLRRRLLLLLRRLLLRRRRRRRLLLLLLRLLLRRRRLLLLLRLLRRRRRRLRLRRLRLLRLRLRLRLLLRRRRLLLRLRRLRRRLLLRLRLRRLLLRLLLRRLRRLLRLLRRLRLLRRRRRLLRLLLRRLLRLRRLLLLLRRRRRRRLLLLRRRLRRLLRLRRRRRLRLLRRLRLLRLLRLRLRRLRRLLRRLRRRRLLLLLRRLRLRRRLLRRRRRRRLLLRRRRRRLRLLLRLRLLRLLLLLRRRLLRLRLLRRRRRLLLLLRLLRLLRLLRLLLRLRLRLLLRLLLLRRRRLLLRRRLRLRRRRRLLLLRRRLRLRLRRLLRRRLRLRLRLLRLRLLRLRLRLRLRRRRLLRRLLLRLLRRLLLRLRRLRRLRLLRLLRRRLRLRRLRLLLRLRRLLRRLRRLRRLRLLRRLLRLRLLRRRLLRRLRRLRLRLLLRLLRLLRRLLRLRLLRLLLLLRLRRRRRRRLRRLLLRRRRRLLLRRLLLLLRRRLLLLLLRLLRRRLLLLRRLLLRRRLRLRLLLRLLRLLLRLLLRLRLRRRLLRRRRLLRRLRRLRLRRRRRLLLLLRLLRRRRRRLLLRLLRLLLRLRLRRLRRLRRLLRLRRLLRLRRRLRLLLLLRRRLRRLRLLLLRLLRRRRLRLRLLLLLRRRRRLRRRLRLRRRRRLLLRRLLLRLLRLLLRLRRLRLRRLRLLLLLLLLRLRLLLRLLRLRRRLRLRRRRLRRRLRLLLRLRRLRLRRRLRLRLLRRLLRRLRLLLLRLLLRRRLRRLLRRLRRRRRRLRRRRLLLLLLLLLLLRRRLLRLLLLRRRLRRRLLRLRLRRRRLLRRLLRRLLLRRRRLRLLLLLLLLLLLRLRLLRRLRRRLRRRRLLLRLLRRLRRLRRLRRLLRRLLRRRLLRLRRRRRLRRRLRRRLLLRLLRLLRRRLRRRRLRRRLRRRRRLRLLRLRLRLRRRRLLRRRLLRLLRLLRRRRLLRRLLRRRRRRRLRLLLRRRLLRLRRLRRRLLRRRRLLRRLLRLRRRLLRLRRRLLLLLLRRLLLRRRRRRRLRLLLLRLRLRLRRRLLRRRLRRLLRRLLRRRRRLRLLRRRLLRLLRRRRLLLLLRRLRRRLLLLLRLLRRRLRLLLLLRRRRRRRRLRRLRRLRRLLLLLLRLRLRRRLLLLRLLRLRRRLRLRRLLRRLRLRLRLRRRLLRLLRLLLRRLRLLLRRRRRRRRRRRRRRLRRRRRLLRLLRRRLRRLRLRRRLLRLLLLRRLRLLLRLRRLLRRRRRRLLRLRLRRLRLRLRRRRLRRRRLLRLRRRLRLRRLRRLLLLLRRLRRLLLLLRRRLLRRLRRLLLLRRRRRLRLRRRLRRRLLRRLRRRLLRLRLRRRRLLLRLLLLRRLLLLRRRLLRLLRRRRLRRLRRLRLRLLLRLLRRLLRLRRRRRRLLLLLLLLRRRLRRLRLLLRLRLRLLRLRRRRLRLRRLRRRLRRRLRRRLRRLLLRLLLLRLLRRRLRRRRRRLLRRRLRLRLLRLRLRRRRRRLRRRLLLRLLLRLLLLRLRRLLRLRLRLLRLLRLLRRLRLLLRLLLLRLLRLRRLLLRRLRLLRRRLRLRRLLRLLRRRLLRLLRRLRRLRRLLRRLLRLRRLRLLRLRRLLLLLRLLRLRRRRLRRLRRLRLLLLRRRLLLLLLLLLLLLRRLLRLLLRLLRLLRLRLRLLRRRLLRRRRLRLRLRRLRLRLLRRRLLLRRRLRRRRRRRRLRLRRLLLRLLRLLRRRLRLLRRRLLRRLRLLRRLRRLLRRLLLLLRRLLLLLRRLLLLLRRRLLRLRLLLLLLRRLRRRLLRLLLLRLLLLLLRRLRLLRRLRLLRRLLRRRLLLLLRLRLRRLRRRLRRLLLLRRRLLRRLLLLLRLLRLRRLRLLLLLLRRLRLRRRLLLLRRRRRLRRLLLLLRLRRRLRLLRRRRRLRLRRRLRLLRRLLLRRRRLRRLRLRRRLLRRLRRRRLRRRLLRLLRRLLRRRLLLRRRRLRLLRRRRRLRRRLLLLRRLLRLLRRLRRRRLLRLLRRLRRLRRRRLRRRLLLLRRRLLRRLRRRLRRRLRRLLRLRLLRRLLLLLLLLRLLRRRLLLRRRLRLLRLLRLRRLRRRLLLLRRLLRRRRLRLLRRLLRRLRLRRLRLRRRLLLLRRLLLLLLRLLLRLRRLRRLRLLLLRLLLLLRRLRRRRLRLLLRLLRLLLLRRRRLLRRRRLRRRRRLLRLRRRLLLRLLRLLRRRLLLRRLLLRRLRLRRLLRLRRLLRLLRRLLLLLLLLLLRRLRRRRRRLRRRLRLLLLLRRLLRLRLRRLRLLRRLRRRRLRRRRLRRRLRRRRLLRRRLLLLLRRLRRRRRLLLRLRLRLRRLLLLRRRRRLLLLRLRRRRLLRRRRLRLLLRLRLRRRLRLLRRLLLLLRLRLLLRLLLRRLLLLLRLLLRLLLRLRLLLRRRRRRRRRLLRLRLLRRLLRRLRRLRRLRRRRLLLLLLLRRLRRRLRRRLRLRRLRLLLLLRRRLLRLLRRRRRRLRRRRLRLRRRRRLRLRRLLRRLLRLRRRLLLLRLRRLRLRLRRRRLLRLRRRLLRRRRLLLRRLLRRLRRLRRRRLLRLRLLRLLLRRLLRLLLLLLLLLRLRRRRRRRLLLLLLRRLRLLLLRLRLRRLRRLLLLLLRLLLRLLRLLRRRLRRRRRRLLRLLRRRRRLRLRLLLRLRLRRLRRLLRLRRLRLLRLLLRLLLLRRLRLRRRRLRLLRRRLLLLLLLLLLLRRLRRRLLLRLLRRLRRLLRRLRLLRLRLLLRRRRRRRLRLRRRLRRRLRLRLLRRRRLLLLLRRLLRLRLLLRLLRRLRLRLRLLRLLRRRLRLRLLRRLRRRLRLRRLLRRRLRRRRRRRRLRRLLRRLLLLLRLRLLRRLLRLRRRLRRRLLLLLRLLRLLRRLLRLLLLLRLRRRLLRRRLLLLRLLRRLRRRRRLLRLLRRLRLRLRLLLRLRRLLRLLLRLLLLRRRLRLRRLRRRRRLLRRRLRLRRRLLLLLRLRRLRLRLRRLRLRLLLLLRLRRRRRRLLLRLLLLLRRRLRLLRLRLLLLRLLRRRRRRRLRRLLLRLRLLLRRLLLLLRRRLRLLRLLRRRLLRLRRLLRLLRLLLLLRLLRRRLLLLLLLLLLLLLLLRLRLRRRLRLLRRRLLRLLRLRRLLRLRRLRLRRLLRRLLRLRLRRRLLRRRRLLLRLRRRRLRRLLLRRRLLLLRRLRRRRLLRRLRLLLRRLLRRRRRRRRLLRRLLLRLRLRLLRLLLLRRLRRRLLRLLLRRRLLRRRLRRLRLLLLLRLRLLLLRLLLRLRRLRRLRRRRLLRLLRLLLRLRRLLLLRLLLRLRRRLLRRLRLRLLRLRLLRRRLLRLRLLLLRRLLRLLRRRLLRRLRLRRRLRRRLLRLLLRLLRRLLLLLLLRLLRRLRLLLRLLRRLLRLRRLLRLLLLRLRRLRLLLLRRRRRLLLLLLRLRLLLRRLRRLRLRRLLLRRRLRLRRRRRRRRLRRRLRRRRRRLRRRLLLLRLLRLLRRRLLRRLLRLLLRRLLLLRRRLRRRRLLRRLRLRLLRRRLLRRRRLLRLLLLRRLLRRRLRRRRLLLRRLLRLLLLRRLRLRRLRRRRRLLLRLLLLRLRLRRRLLRRLRLRLLRRLRLLRLLLLLLRLRRRRLLLLLRRRLRLLLRRRRLRLRRRRRRLRLRRLRLLRLRRLLRRRRLLLLLRLRRLLLRRLLLLRRLRLLRRRLRRLLRLLLLRRLRRLRRRRLRRRLLLRRRRRRLLRRLLRRLRRLRRLRLLLLRLLRRLLLRLRRRRRLLLRLRLLLLRLRLLRRLRLRRRLRLRRLRLLLLLLLRRLLRRLRLRRLLRRLLRLLRLRLRRLLLRLLLLLRLRLRLRRRLRRLLRLLLRLRRRLLLLRLLRLRRRRRLLRLRRLRRLLLLRRRLRRRRRLLRLLLRLLLRRLLLRRRRLRLRRLLRRRRRRRLRLRLRRRRLLRLLLLLRRRLRRRRLRLLLLLRRLLRRLRRRLLLLRLLRLRRLRRRRLRRLLLLLLRRRLRLLLRLRLLLRLLLLLRLLRRRRLLRLRRRLLRLLLRLRRLRLRRRRRRRLLLRRRLRRRLRRLRLLLLRRRLRRRRLLLRLLLLRRLLLLLLLLLRLLRLLRLRLLRRLRLLRLRLRRRRLRLRLRRLRLRRLRLLRLLLLLRLRRRRRLLLRRRRRRRRLRLRRLRRRRLLLLRLRLRLLRRRRRRLRRLLRLLLRRRLLRRRLLRRRRLLRLRRLRRRLRLLLRRRRLLRLRLLRLLRRLLLLRRLRRRLLRRLRLRLRRRRLLLLLRLLLRRRRRRLLLLRLLRRRLRLLRRRLRRRRLRRRRRRRLLLRRLRLRRLRLRLRRLLRLRRLRLRLRLRRLLRRLRRRLRLRLLLLRLLLRRRLLLLRRLRRRRLRRRRRRLRLLRLRLLRRLLRLRRLRLLRLRLLRLLLLRLLRRLLRLLLLLLLLRRLRRLLLLLLLLLLLLRRLLRRRRRRLLRRLRRRRLLRRRLRRLLRRRRRRRRLRLLRLLLLRRLRLRRLLLLRLRLRRRLLRLRRRLRRLLRRLLLLLLLRLLLRRRLLRLLLLLRRRRLRLRRRRLRRRLRRLLLRLLRLRLLRLLRRLRLRRLRRLRLRLLLRLLRRLRLLLRLRRLRRRRLLLRRRLRLLLRLRLLLLLLRLLRRLRLLRRLLLRRRRLLRLRRLRLRRRLLRLRLLRLRRLLLLRLLLLLLRLRLLLRRRLRLRRRLRLRLRLLRRRLLRRLLRRRRRRLLLLRLRLLLLLLRLRLRRLLRLLRLLLLLRLRLLRLLRRLRRRLLLRLLRLLRRRLRRLLLLRLRLRRRRRLRRRLLLLRLLLLLRRRRRLRRRRLRRRRLLLLLRLLLLLLLRLRRRLLLRRRRRRLRLLRRRLRRRLLLRLRLRRRLRLLRLRLLLRLRRLRLLRRRLRLLLLLLRLLRRRLRLLLLLRRLLRRLLRLLRLRRRRLRLRLRLRLRRRLRRLRRRRRRLLLLLRLLLLLLLLRRRLLRLRLLRRLLRLLLLRRLRRLRRRLRRLRRLRRRLLLRLLRRRLRLLLRRRLRLRLLLLLRLRRLRRLRRRLRRRLLLLRRRLLRLRRLLRLLLRLRLLLLLLRRLRLLRRRRLLRRLLRRLRLLRRLLRRRRLRRRLLLRLLRLRRRRLLRLLRLRLRLLLLRLRRRRRRRRLRRLLRLLLRRLLRRLLRRLLLLLRRLRRLLLRRLRLLRRRLLRRRLLLLRLRLRLLRLLLLRLRLRRLRLLLRRRLLLRLRLLRLRLRRRRRRLRRLRLLLLRRRLRRRRRLLRRLLLLLLLLLRLLRRRLLLRLLRRRRLRRLRLLLRLRLRLRLLLRLRLLRRRLLRRLLRRRRRLRRLLLRLRRLLLLRLLLLRLLLRLRLRRLLRLLLRRRRLRRLRRLLRLRRLLLLLLLLRLRRRLLRLRLLRRRLLRLRLLRLLRRLLRRRRRLLRLLRLLLLRLLRRLLRLLLLRLLRRRRRRLRLLRLLLRLRRLLRLRRRRRLLLRRLRLRLRRRLRLLLLRLLLRRLLRLRRLRLRLLRLRRLLRRLLRRLLLRRLRLLLRRRLRRLRLLLLLRRRLRRRLLRRLRRRLLRLLLLLRRRRLRLLLRRRRRRRLRLLLLRLLLRRRRLRRRLRLRLLLLRLRLLLRLRRRRRLRLRRRRRLRLRRRLLRLRRLRRLRLLLLRRRLLLRLLRRRRLLRLLRLLRRLLLRRLLRLLLRRLLLLRRLLRRLLRRRRLLLRRRRLRLRLRLLLRRRRLLLLLRLRLLLLRLRRRRRLRLRLRLRLLLLRRLLLRLLLRRRLLLLLLRRLLRRLLRLRRRRRRRRLLLLLRRRRRLRRLRRRLLLRLLLLLLRRRRRRLLRLRRLRRRRLLRLLRRRLLLLRLLLRRLLLRLRLRRLLRLRLLLRLRLRRRLLLLLLLLLRRRRRLLRLLRRRLRLLLRLRLRRLLLLRRLLLLRRLRRLRRRLRLLLLRLLLLLRLLLRRLRLLRLLLRLLRLLLLLRRRRLLLLRRRLRRLLLLLRRLRLRRLRLLRRLLRLRLLLRRLLLLRRLRLRLRRLLRRRRLLLLLRRLRLRLRRRRLLRRLLRRRLRLLRRRLLRRLLRRLRRLLRLLRLLRRRLLRLRLLLRLRRLRRRLRRRLLRRRLRLLLRLRLRRRLLLRLRRLLRLLRLLRRLRRLRLRLLRRLLLRRLLLLLRRLLRLRLLRRRRLLRLLRLLRLLLLLRRRLLLRRRLRRLRLLRRLLRRRLRRLRRRLRLRLRRLLLRLRLLRLRRLLRLRLRRRLRRRRLRLRRRRLRLLLRLRLRRRRLRLLLLRLLLRRRLRLRRLRRLLRLRRRLRLLRLLLLRLLRLLLRRRLLRLLRLLRRLRRLLLLRRRLLLLRRLLLRRLLRLLLRLRLRRLLLRLLLRRRLLRRRLRLRRLRRRRRRRLLRLRRRLLRLRRRLRLLRRLLLLLRRLLRLLRLRLLRRRLRLRRLRRRLRRLRRLRLRRLRRRRRRLLLLRRRRLLLLRRRRLRLLRRRLRRRLLLRLLLLRRRRRLRRRLRRLLRRRLLLRRLLRLLLLLLLLRLRLRLRRRRRRRRLLRRLLRRRLLRRLRLRLLLLRRRRLLRRLRRRLRRLRRLLLLRRRLLRLLRRRLRRLRLLLRLRLLLLRLLRLLLLLRRLLRRLLLLRLLRLRRRRLLLLLLLRRRRLLLLRLLRRLLLLRLLRRLLRRRLLLRLRRLLLLLRRRLRRLLRRLLRLRLRLRRRRRRLRLRRLRLRRLRLRRLRLLLRLLRRRLLRLRLRRRLRRRLLLRRLRRRLLLRLLRRRLLRLLLLLLLLRLLLLRLRRLLLRRRRRLLLRRRLRRRLRLLLRRRRRRLLRLLRLRRLRLRLRLRLRRLLRLLLLLRLRLLRLRRLLRRLRLLLLLRLLRLRLRLLLLLRLLLRLLRLLLRRLRLLRLRLLRRLLLLRRLLLRLLRLLLLLRRRRLLRLRLLLLLRLLRRLLLLLRRLLRRLLLLRRRLRRRLRRRLLRLRRLLLLRRLLRRRRRRRRLRRLRLRRRLLLRRLLLRRLRRRLRLLRRLLRLRRLRRRLLRRLLRLRLLLLRRLLLLRLLLLLLRLRRLLLLRLLRLRRLRRRRRLLLRLLLLRRLRLRRLLRRLRLRRRRLLLLLLLRRLRRRLRLRRRRLRLRRLRRRRRLRLLRRRLLRRRRRRRLLLRRRRLRLRRRLLRLLLLLLLLRRLRRRRLLRRRLLLRRRRRLRLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRLRLRLLLLLLRLLLLRRLRRLLLRRRRLRLRLRLLLLLRRLLRRLLLLLRRRLLRLRLLLLLLLRRRRRLLLLLRLLRLRRLRLRLRRLRRRRLLRRLLRRLRRRLRLLRRLLRRLLLLLLRRRLRLRRRRRRRLLLRLLRLLRRLRLRRLLLLLRLRLLLRLRLRLLRRRLLLRRRLRLRRRRLLRRLLLLRRLRLLLRLLLLRLRRRLLLLLLRRRRLRRRLLRLRRLLRLLRRRLLRRRRRLLRLRRRLRRRLRRLLLRLLLRRLLRLRLRLLLRRLLLLRLLLRRLLRRRRLLRRRLLLLLLRRRRLRLLRRRRLRRRRRRRLRLRRLLRRRRRRLLRLLRLLLLLRRRLRLRRRLRRRLRLRLRLRLRLRRRRLLLRRLRLLLRRLLLLLLRRLLLLRLLLRLRRLLRRRRLRLLRLLRRLRLLRLRLLLLRRLLRLLLLRRRLRRLLRLRLRLLRRRRLLRRRLRLLRLRLRLRRRRRRLLRLLRRRRRRLLRRRRLLLRLRLRRRRLRLLLLRLLRLLLRLLLRLRRLRRLRLRLLLLLLRRRRLLLRRLRRLRRLRLRRRRLLRLRRRLRLLRRRRLLRLRLRRLLLRLRRLLLRRRLRLLLRLRRRLRLRLRRLLRLLRRRRLLRRRRRRRLLLRRLLRLLLLLLRLRRLLRLLRLRRRRRRLRRRLRRLRRRRLLLLRLRLRLRRRLLRRRRRLLRRLLLRRLLLLLLRRLRRRLLLRRRRRRRRLRLRLLRLRLRLRRLRRLRLLLRRRRLLLLRLRLLRRLLLRLRRLRRRLRLRRLLLRLLLRLLRRLRRLRLLLLLRRRLRLRRRLLLLLLLRLRRRLLLLLRLRRLLRLRRLRLLLRRLLRRLRLRLLRLRRRLLLLRRLLRLLLLRLRLRLLRLLLLRLLLLLRLLLRLRLLLRRLRLRRRRRLRRLLLRLLRLRRRRRRRLRLRRLLRLRRRLLRRLLLLRLRRLRRRLRLLRLLLRLRRLLLRRRRLRLLLRRRLLLLLRRRLLLRRRRLRRRLRLLLLLRRRRLLLLRRRRLRLLRLRLRLRRLRRLRLRLRLLLRLRRRLRLLRLRRRRRRRLLRLRLRRRLLRRRLRRLRRLLRLLRRLRLLLRRRLLLRLLLLRLLRLRRLRLRLRRLLLRRRRLLRRRLRRLLRRRRRRLLRLLRLRLLLLLRLLLLRRLRLLLRRRRRRRLLRLRLRLRRRLRLRLRLLLLLLLLLRRRRLRRLLRRRRLLLLLLLLLRLLLRRRLRRRRLRLRLLLRLLRLLRLRLRLLRLRRRLRLRLLLLRRRRRLLRRLRLLRLRRLLLLRLRLLRLLRRRLLRRRRRLRLRLLRRRLLRLRLRLRLLLLLLLRRLRLRLLRRLLLRLRRLLRLLLRLLRRLRLRLRRRRLLLRLRRLLLLLRRRLLLLLLLRLLLRRRRRRRLLLLLLRLLLLLLLRLLRLRRRRLLRRRLLLLLLLRLRLRLRRRLLRLLLRRRRRLLRRRLLLLLRRRLLRRLLRLLLRRLLLLRLRLLRRLLRRLRLLRLLLLRLLLLLRLRLLLRLLRRRRLLRRLLRLLLLRLLRLLLLLRLLRRLRLLLLLRRLLLRLLLRLRRRRRLRRRRRRRRLRRRRRRRRLRRLLLRLLRLLLLRLLLLRRRRRLLLRLLLLLLLRLLLRRRLLLRRRRRLLLRRLLLLRLRLLRRRRLLRLLLRRRRLLRLRLLLRLLLRRLRLRRRLRLRRLRLLLLLRLLLRLRRLLLRRRLRLRLRLLRLRLLRRLRLRLLLLRRLRLRLLRLRRRRRRLLRRLLRLRLRRLLRRLRRLLRLLLRRLRLRRRRLRLLLLRLRLRRRLLRRLLLRRRRLRLLLLLLLLRLLLRLLRRRLRLRRLRLRLLLRLRLRLRLLRRLLLLLRRLLRRRLRLLRRRLLLLLLLRRRLLLRLLLLLLRLLRRRRLRRLRRRRRRLRLRRRRLLLRRRLRRRLRRLLLRRLLRRRRLRRLRLRRRRRLLLLLLRLLRLLRLRRLLRRLLRRRRLLRRLLRLRLRLRLLRLRLLLLRLRRLLLRRLRLRRLRLRLLRLRLRLLRRLRLRRLRRRLLRLLRRLLRLRLLRRRLLRLLRRLRLLRLLRRLRRLRLLLRLRLRRRLRLLLLRLRRRRLRRLRRLRRRRRLRLLLLRLRLLLRLRRLRLRRLRRRLRLRRLLRRLLLRLRLLLRLRRLLLLLRLRLLLLLRRRLLRRRRRRRLRLRRRRRLLLLLRRLLRRLLLRRRLLRLRLRRRLRRLLRLRLRLRRRRRRLLRRRLRRLRRLLRRRLLRRRRLLRRRLRLRRRRLRRLLLLRRRRRRLLLLLRLRLLRLLLRLRLLLRRLLLRLRRRLLRRRLLLRRRRLLLLRRRRRRLLLRLLLLRLLRRRRLRLLRLLRRRRRRLLRRRRLRLLLRLRRLLLLLRRRRRLLLLLRRLLRRLLRLLRRLLLRRLLRLLLRRRRLLLRRLLLRLRRLLRRRLRRLLLLLRLLRLRRLRLRLLRLRRRRRRLRLLRRLLRLRLRLRRRLLRRRLLLLLLRRLLRLRLLRLLLLRRLLLLRLLRRRRLLLRRRRLRLLRLLRLLRRRLRLRRRRLLLRRLLRLLRRLRLRRLLRLRLLRRRLLRLLRLRRLRRLRLLLLLLLLRLLRLRRLRLRRRRRLRLLLLRLRLRLLLLLRLLRLRRLLRLLLRRRRLLRLRLRRLLLRLRRRRRLRLRLRLRRLRLLRLLRRLRRRLRRLRRRLRLRRLRLRLRRLLLLRRLLRLLRRRRLRLLRRRRRLRLLLRLLLRLRRRLLLLLRLLLLLRRLLRLRLLLRLLRLRLLRRRLLRLLLRRRLLLRLRRLRLLRRLRLRLRRLLLRLLRLRLRRRLRLRRRLRRLLLLRRRRRRRLLLRLRLLRLLRLRLLRLLLLRLRLRRLLRLLRRLRLLRRRLLLLRLLRRRRLLLRRRRRRRLRRLRLLRLRLRLRRRRRRRRLLRRRLRRLRRRRLLRLLRRLRRRRLLRRLLLRRRLLRLLRRLRRLRRRRLLRRLLLRLLRRLRRRRLRRRRRRLRRLRRRRLLRRRLLLRRLLLRRRRRRRLLRLLRLLRLRRLLRLLLLLRRLRLLRRRLLRRRRRRLRRLRRLRLLRRRLLLLRRRLLRLRRRRLLLLRLLLLLRLLRRRRRLLLLRRRLLLLLRLLLRLLRRRRRRLRRLRLLLLLLRLRRRLLRLLLRLLRLLLRLRLRLLRRRRLRRRLLLLRLRRRLRLRLLLLLRLRLLLLRLLRRRLRRLLLLRLRRLLRLLRRLLLRLLRLLLRRLRRRLRRLRRLLLLLLLLRRRLRRRLRRLLLLRLLRRRRLRLRRLLRRLRLRRLLRRRLLLLLRRLLRRRRLLLRRLLLRRLLLLRRRRLRLRLLRLRRLRLLRLRLLRLRLLRRLRRRLLRLLRRLRLLRLRLRLRLLLRRLLRLLRLLRRLLLLLLLRRLRRRRRRRLRLRLRLLRRLLRRLRLLLRRRRRRLRLLRLRRLLRRRRRRRLLLRRLRLLRLLRLRLLRLLLRRRRLRRRRRRLLLLRRRLRLLRLLRRLLRLRRLLLLLRLRRRRLRLRRLRLLRLRLLLLLRLRLLLRRLLRLLRLRRLRRLLRLRLLRLLLRLLLRRLLRRRRLRRLRLRLRRRLRLLLRRLRRLLLLLLLLRLLRLLRLLLLRLLLRLLLRLRRRRRRLRRLLLRLLRRRLRLRLRLLLRLRRLLLLRLLRLRLLRLLRLRRRLLLRRLLRLRLRRLLLRRRRLLLLLLLRLLLRRRLLRLRRLLLLRRRRLRRLLLRRRLRLLLLRRRRRRLRLRRRRRLRRLLRLLRRRRLLLLLRRRLRRRRLLRLLLLRRLLLRRLRLLRRRRRLLLRRRLLLLLRLRRLLRLLLRLRRLRRLLRLRLRRLLRRRRLLLRRRLLLLRLRLRRRLRLLRRRLRLRRLLRRLLLRLLRLRLLLRLRRLLLRLLLRLLRRRLRLRLLRLLLLLLRLRLRRRRLLRLRRRLRLLRRRLRRRRLRRRLRLLRLRRRLLRRLLRLLRLLRLRLRLRRLLLRLLLLLRLRRRRRLRLRLRLLLLRRLRRLLRLRLRLLRLLRLLRRLRLRLLRLRLRLRLRRLLLRLRRLLRLLRLLRLRLRLLRRLLRLLRLLLLLRLLLLRLLRLLLLLLLLLLLLLLRLRRRLRLLRRLLLRLLLLRRRRRRRRLRLRRLLRRLLLLRLLRLLRLRRLLRLLRRRLRLRRLRLRRRLRRLRRRRRRLLLLRLRRLLRRLLRRRLRRRRRLRRLLRRLRLRLLRLRLLLLLRLRLLRLLLRRRLLLLRRRLLRLRRLLLLRLLLLLRLRRRRRLRRLRRRRRLRRLLRLLLLRRLLLLRLLLLLRRRRLRRLRLLLLRRRRRLRRLLLRRRLRLRRLRRLLRLRLLRRRLLRRRLLRRLLRLLLRLLRRLLLRLLLRRLRRRLLLLRRLRRLLLLRRLLRLLRLRRRLLRLLLLRRLRLLRRLRLRLLLLLRRLLRLRLRLLLLRRLLRLRRLRRLRRLRRRLRRRRLRRRRRRRRLRLLRLLRRRRRRRLLRLRLRRLLRLRRRLRRLRLLRLLRLLLLRRRLLRRRRLLLLLRLRRLLRRRLRLLLLLLLLLLLLLLLRLLRLLRRLRRRRLLLLLLLLLLRLRRLLLLLLRLRLLRLLRLLRRLRLLLRLRRRRLRLRLRRRRRRRLLRRRLLLLRRRRRLRLRLLRLRRLRRLLLRRRLLRLLRRRRLRLLRLLLLRRLLLLRRRRRRLLRLLRLRLLRLLLRRRLLRRRRRRRRLRRLLRRRLLRLLRLLRLRLRLRRLRRRLLLRLRLLRRRLLLRRLLLLRLRLRLRRLRRLLLRLRRRRLLLLRLLLRLLRRLRLRRLRRRLRLLLRLRLRRLLLRLLRLLRLRRRLLRRRRLRLLLLLLLRLRRLLLRLLRLLLLRLLLLLRRLLRLLLLRRRLRRRRRLLLRRRRLLLRRLLLRRRRRRLLRLRRRLLLRRRRLRLRRLLLRRLRLRRRRLLLRRRLLLRRRLRRLLRRRRRRLLLLRLLRRRRLLRRRLLLLRLLLLRRLLRLLLRLRLLRLLLLLLRLRRRRLRLRLRRRLLRLLLRRRRLRLLLRRRRRLLRRRRLRRLRRRLRLLLRLRRLLRRLLLLRLLLRRRLRRLRRLLLLLLRRRRRRLLLLLRLLRRLRRLRRRLLRRRRLRLLRLRRLRLLLLRRRRRRRRLLLRRRRLRLRLRRRRLRRRLLRLLRLRLLLLRLRRRRLRRRRRLLLRRLLLRRRLLRRRRLRRLRRLRRRLRLLLRLRRLLLLLLRRRLRLLRLLRRRRRRLLRRLLLRLLLRRLLLLLRLRLLLRLRRLLLLLLLRLRLRLLRRLRRRRRLRRRRRRRRLRLRRRLRRLRLLLRRLLRLRRLRRRLRLRRRRRRLLRRLRLLLLLLRLLLRRRLLLLLLLRRRRLRRRRLRLRLLRLRLLRRLLLLLLRRLLRLLRRLRLLRRRLRRLRRLRLRLLLLRRLRRLLRLLLLRLRLRLRLLRRRRRLLLRRLRLRRLLRLRLRRRLLRRRRRRRLRRLRLLLLRRLRLRRLRRLRLRLRRRRRRLRLRLRRLRLLLLRRLRLRLLLRRLRLRLLRRLRRLLLRLRRRRRLRRLRRLLLRLLRLRRLRRLRRRRLRRLRRLLRRRLRRLLRLLRLLLLRRRLLRLLLLLLRRLRLLLRLRLLLLLRLLRRRLRLLRRLLRRRLRLLLRLRLLLRRRLLRRLRLRLRLLLRLLLRLLLLLLLLLLRLRLRLRRRRRLRLRRLLRRLRRRLLLRLRRRLRLLLLRLLRLLRRLLLRLRLRLLRLLRLLRLRLLRRRRLLRLLLRLRRLRLLRLRLRRRRLLLRLRRLRLRLLRLLLLLRLLLLLRRRRLRLLLRLRRLRLLRLLRLLLRLLLLRRRRRLLRRRLRRLRLLRRRRRLLLLLRLRLRRLLRRLLLLLLRRLLRRRLRRLRLRRRLLLLLLRLLRLRLRLLRLRLLLRLLRRLRLLRRRLRLRLRLLLRLLLRRLLRRRLLLLLLLRRLLLLLLLLRRRLRLRLLRRRLRLLLLRRLRRLRLRLRRLLRLLRRLRLRLLLRRLRLLLRRRRRRLLLRLLLLRRLLRRRRRLRRRLRRLLRRRRRLLLRLLLLRRRRLLRLRLRRRLLLRRRRLRRRLLRLLRLRRRLLRRRRRRRRRLLLRLRLRRRRLLRRLRRRRRLLRLLLRRLRRRRLLRLRRRLLRRLLRRLLLRRLLLRLRRLRLRLLRRLLLLRRRLLRRLRLLLRLLLLLLRRLLLRLRRRRLRLLLLRRLLLRLRLLLLRLRLRRRLRRRRLLLLLRRRLRRRRRLLRRLLRRLLRLRLLLLRRLRLLRRRRLRLRRLRRLLRLRLRLLLLLRLRLLRLLLLRRLRRRLRRLRRLRLLLLRLLLRRLLLLLLLLRRRLRLLLRLLLRRRLLLRLRRLLRLRRLLRLLRLRRLRRRLLRLLRLRLRLLLLRLLLRLRRRRRRRRRLRRLLRLLLLRLLRRLRRLRRLRLLRLRRLRLLLLRLRLLLRLRRLRLRRLRLLLRRLRLRRLRRLRLLRLRLLLLLRLRLRLLRLLRLRRRRLRRRRLRRRRRRLRRRLLRRRLLRLRLLRLLRRLRRRRLLRRLLRLLLLRRLLLRRRRLLLLLLRRRRLRLRLLRLRRLLRRRRRRRRLRRLLRLRRRRLRRLLRRRLRLLLRLRRLLRLRRRLLRLLRLLRLRLLLRLRRLLLLRLRRRRRLLLRRLLRRLLLRRLLLLLRLLLLLLRRRRRLLLRRRRRLLRRRRLRLRLLRLLRRRRLLLLLRLRLLLLRLRRRRRRLLRLRRRLLLLRLRLLRLLRLLRLLLLLLRRLRRLRRRRRRRRRRLRRLLLLRRRLLRLRLRLRLLLRLLLLLRRRRRRRLLRLRRLLRRRRLRLRLRRLRRLRLLRLRLLLRLLLLRLLRLRLRLRRRLLRRLLRLLRLLLRRRRRLLRLRRRRLRRLRLLRRRRLLLRRRLLRLLLLRRLRRRLLLLLLRLLLLLRRLLRRLRLLLLRLLLRRLLLLLRRLLLLLLRRRLRLLLRRLRRLLRRLLLRLRRLRRRRLLLRRLRLRRLLRLRLRLLRRRRLLLLLRLLLRLRLRLRRLRLLLLLRRLRLLRRRLLRLRLRLLRRLLRLRRLLLLRLLRRRLLRRLRLLLRRRRRLLLRRRLRLLLRLRLRLRRLLRLLRLLLLLRLRRRLRRLRLRLRRLLLRRRRRLLRLLRLRRRLLRRRRRLRLLRRLRLRLLLRRRLLLLRLLRLLRLLRLRRRRRLRLLRLLRRLLLRLRLLRLLLLRLRRLRRLLRRRLLLRRLLRLRLRLRLLLLRLRRRRRRLRRLLLLLLLLRLLLRRRRRRLLLLRRRLLRLRLLLLRLLLLLLRLRLLLLRRLRRRLLLLLLRRLRLLLRRRLRLRRRRLLLLRRRLRRLLLRLLLRRRLLRLRLRLLRLRRRLRRRLLRLRLRLLRLRRLRRLRRRLLLLRRRLLRLLLLRLRRRLLRLLLRRRLLRLLRRLRLLRLRRRRRRLLRLRRRRLLLLLRRLRRLLRLRLRRLLRRRLLLRRRLRLRRRRLRRLLRRRLLLRRLLRLRLRLLRRRRRLLLRRRRRRRRLRRLLLRRRRLRRLRLRLLLLLRRRRLLRLRLLLRRLRRLLLLRRRLLLLRRRRLRRLRLLLRLRLRRLRLLLRRLLRRRRLRRLRLRLRRRRLRRRLRRLRRLRRRRLRLLLRRRLRLRLRLLLLLLLRRRRRLLRRLLLRLRRRLRRRLRRLLRRLRLLLLRLRRRRLRLRRLRRLLLRRLRLRLRLLLRRRLLRRRRRRLRRLLRRRLRRLRLLLRRLRRRLLRRLLLLLRLRLLLRRRLLLRLRLRLRLLLRRRRLRRLRRLLRRRRRRLLRRLRRRRRRLRLLRRLRRLRRLLLLRRLRLLRLRRRLLRLLRRLLLRLRRLRLRLLRLLRLRLLLRRLLLRRLRLLRLRLRLLLLRLRRLLLRLRRLLRLLRLRLLLRLRLLRLLRRRRLRLLLLRRLLLRRLLLRRLLLRRRRRRLLRRLRLRRLLRLLRLRRRRRRLRRRRLLLLLRLLRRLLRRLRRRLLLLLLLLLLRLLRRRRRRRLRLLLLLLLRRRLRLRRRLLLLRRRRLLLLRLLLLLLLRRRLRLLLRLLLLRRRRLRRLLRRRLLRRRLLRLLLLLRRLRRRLRRRLRRLLLRRRRRRRRLRLLRRRLLRRRRRRLLLLRRRLLRRRRLRLLRLLLLLLRRRLRRRRLLRRRLLLRLRRRRRLLRRLLLRRRRRLRRLLRLLRRRRLLLRLRLRLRRRLLLRRLLLLRRLLLLLLLLRRRRLRLLLRLLLRRLLRRLRLLLRRRLLLLRRLLLRRRRRRRRLLLLLRRLLRRRLRLRLLRLRRRRLLLRLLRRRRRRLRLRRRLLRRLLLLLLRRRRRLRLRRRRRLLLRLLRRLLLRRLRRLLLLRRLRLLLRLRLLLLRLRLLLRRRRRLRLRLLRRRRRLLRRLRLRLLLRLRRLRRRRLLRRLLRLRLRRRLLRLLRLLLLLLRRRLRLRRRLLRLLRLRRRLLRLLRLRLLLRRLLRLLLRLLRLRLRRLLLLRRRLLLLRRRLRRRLLRLRLLRRRRRLRRRRRLLRRRRRRLRLRRRRRRRLRRRLRRLRRRLLLLRRLLLRRRRRRLLRLLLRRRLRLRRRRLLLRRLRLRLRLLLLLLLLLRLLLLLLLRRRLLLLRRLLRLLLLLRRRRLLRLRLLLLLRLLRLLLLRLRRRLRLRLRLRLLLRRRLLRRRLRLLLLRLRLRLLRRRLLRLRLRRLRRLLLLRLLRRRRLRRRLRLLLLLLLLLRLRLRLLRRLRRLRLRRRRLLLRRLRRLRLLLRRRRRRRLLLLRRLRLLLLRRRLLLLRRLRLLRLRLRRLRLRRRRRLLLRLLRLLRRLRLRLRLLLRRLRRLLRLRLLLRRRRRRRRLLLRLLLLRLLLRRLRRLRRLLRLRRRRRRRRLLLRRLRRRRLRLLLLRRRLRRRLLRRRRRRLLRLLLLRLLLLLLLLLRRRLLLRRRRLRRLRRLRRRRLRLLLRRRRLRLLLLRRRLRLLLRLRRLRRLLLRLRRLRRRLRLLRLRRLRLRRRLRRLRRLRLRLLRRRRLRRLRRLRRLLLLLRLRRLLLLLRLLRLRRLRRLLRLRLRRLRRLRLRLLRLRRRRLRLRRLLRLLRLRRRLRRRRRLLLRLLLLLRRRLRLRLLLLRLRRRRLLRLRRLLLRLLRLRRRRLRRLRLRRRLRLRRRLLLRLLLLRLLLLRLLLLRLRRLLRLLRRLLRRRLLRLRRRRLRLRLLLLRLLLRLLLLRRRLRRLLRRRRRRLLLRRRLRLRLLLLRLLLLRLRRLLLLLLLLLRRLRRLRRRLLLRRRRLRLLLRRLRRRLRLRRLRRLLRRRRRLLLLRLLLRRRLLLRLLLLRLLLLRRRRLRRLRLLLLRRRLLRLRRRRLLLRLLLLLRLRLRLRLLRLLRLLLLLLLRLRLRRRLRLRLLRRRLLRRRLLRRRLRLLLLLRLLLRRLRLRRLRRRRRLLLRLLRLLRLRLLRLLRRLLLRLRLLLLLLLLLRLRLRLLLLLRLLRRLLLLLLRRLRLLRLLRLRLLRRLLLRRLLLLRRLRRRLLLRLRRRRLRLLLRRLLRRRLRLLLLLLLRLRLRRLRRLRRLLLLLLRRLLRLLRLLRRLRLRLRLRLLLLRLRRRLLLLRRRLLLLLLLRLRLRLRRRRRLLLLRLRRLRLLRLRLLRRRRRRLLRRRLLRRLRRRLRLLLLLRLLRRLRRLRRLLLRRRLRRLLRRRLLRRLRLRLLRRRLRRRLRRRRRLLLRLRLRRLLLLRLLLLLRLRLLLRRLRRLLRLRRLLRLLRLRLLLLLRRLRLLRRLLLLLLLLRRLLRLLLRLRLRLRRRRRRRRRRLRLRLRRRLLRRLLLRLLRLLLLRLLLRRLRRRLLLRRLLRLLLLLLLRRRLLLRLRRRRRRLRRLLLRLLLLRRRRLLLLLLRLRRRRRRRLLLLLLRLRLRLLRRLLLRRLRRLLLRLLLLRRRRLLLLLRLRRRLRLLRLRLLLRLRRRLLLLRRLRLRRLRLRRRRRLLLRRLLRLRLRRLRRRLRRRLLLLLRLLLRLLRRRLLLLLLLRRRRRLRRRLLRLRRLLRLLLLLLLLRLLLRLLRRLLLLLRLRLRLLRRLRLRRLLLRLLLLLLRRLRRRRLRLLRLRLLLLLLLRRLRLRRLLLLLLLLLRRRRLRRLRLLLLRLLRRLRLLLRRLRLRRRLRRRLRRRRRLRRLRRRLRLLRLRRLLLLLRRLLRLRRRLRRLRRLLLRRRRRRRLLRLRLLLRLRLLLLLLLRLLRRRRRRLLLRLLLLRRLRRRLLLLRLRRLRRLLRRLLRRRRLLLRLLLRRRLRRRLRRRLRLLRLLRLRLLLRLLLRLRLRRLLRLLLLRLRRRRLRLLRRLRLRRRLRLLLLLRRLLLRLRRRRRRRLRRRRRRRRLLRRRLRLLLLLLRLRRLLLLRRLRLLLLLRLRLLLRLRRRRLRLRRRRLLLLRRRRLLLRLLLRRRLLLLRLRRRLLRLLRRRLRRRRLRLRRLRRRLRRLRRLRRRRLRRRRRLLRRRLLLLRRRLRRLLRRRRLRLRLRRRLRLLRLRLRLLLRLLLRLLLLLLLRRLLRLRLLLRRRRLLLRRRRRLLLLLLLRLLLLRRRRRLLRLRLLRRRRRLLLRRRRLLLLRRLRLLRLLLLLLRLLLLRLRRRLRLLLRLRLRRRLRRLLRLLRRLRLLLLLRLLLRLRRLLRLLLLRLRRLLRLLRLRLLRLRLLRLLRRRRRLLRLRRLLRLLLRLLRRLLRRRRLRLLLRRLLRLLLLRLLLLRRLLLLRLLLRRLLRRRRRRLRRRRLLRLRRRRLRLRRLRRLLRRLRLLLRRLRLLRRLRRRLLLLRRLRRLRRRLRRRRRLLLLLLRRRLLRLRRLLRRRRLRLRLLLLLLRLRRLLLLRLLRLRRRRLRLRRRRLRLLLRLRRLLLRRRLRLRLRLRLLLRRLRLRRLLRRRRRRRRRLRRLLRLLRLRLRLRRLLLRRLLLRLRRRRRRRLLLRRRRRLLLLRLRRRLRRRLLLLLLLLRRLRRLLRRRLLLRLLRRRLLRRLRLRLLLRLRRLLRRRRLRRLRLLLLRLRRLLLLLRRLRLRRRLLLRRLLLRRRLLRLRRRLRRRRRLRRLRRLLLRLRRRLLLRLLRRRLLRRLLRLLLLRRRRRLLRRLRLRRRLLRRRRRLRLLRRRRLLLRRRLRRLRLRRLLLLLRLRLLRRRRRLRLLRRRRRRRLLLRLLLLRRLRLLLLRLRRLLRLRRLRRLRLRRLLRLLRRRLRRRRRLRRLLLLRLRLRLRRLRLLLLLRRRRRRRLLRLLRLRLLRRRLLRLRLLRRRLLRRRRLLRRRRRRLRRLRLLRLLLLRRLLRRRRRLLLRRRRRLLRRLLRLLLLLRRRLRLLRRRLRLLRRLLRLRRRLRRLRRRRRRRRRLRLRLRRRRRLLLLRLLRRRRLRRLLLLLLRLRRLRLLLLRLRLRRRRRLRRLLLRRLRRLRLRRLRLRLRRLLRRRLLRLLLLLLLRRLRLLRRRLRLRLRRLLLLRRLLLLRLLRLLRLRRLRRRLLRRLLLRRRRLLLLLRLRLRRLLRLLRRRLRRLLLRRLRRLLRRLLRLLLRRLLLLRLRRLRLRLLRRRLLRLLRLRLLRRRRLRRRRRRLLRRLLRLRRLRRRRRLRRLLRRLLRLLLRLRRLLLLLLRRRLLLLLLRRLRLRLLRLLLRLRRLRLLLLRRRRRLRLRRLRLLRRLRRLRRLLLRLLLLLRLLLLRRLRLLLRLRRLRRRRRRLLLLRLLRRLLRLRRLLLLLLLLRLRRLLRLRLLLRRRLRLLLRRLLRLLLLLLLLRLRLRLLRLRLLRRRLRLLLRRLLLRLLLRRLLRRRRLRLLLLRLRRRRRLLLRRLRRLRRRLRLLRLLRLLRRLRLRLRLRRLLRLLLLRRRLRRLLLRLLRRLLRLRLLLLLRRLRLLRLLLLLLLLLRRLRRRRLLRRRRLRRRRLRRLLRRRLLLRLLLLRRLLLRLRLLRLRRLLLLRRRLLRRLLLRRLLRRLLLRRRLRRLLLLRRRRLRRLRRLLRLLRRLRRLLLRLLRRRRLRRLLLRRLLLRRRRRRRRRRRLLLRRLRLLLLRLRRLLLLLRRLRRLLLLRRLRLRRRLRRRRRLLRRRLLLLRLRLRLRLRLLRLRLLLRRLLRRLLRRLLRLRLRRRLRRRLLRLRLRLLLLRLRLRRRRLLLLLRLLRRRRLLLLLLRRRLRLRLRRLRRRRRRRRLRLRRLRRRLLRLLRRLLLLLLRLLRLRRRLLRRLLRLLLRRLRRLRLRLRRLLLRRLRRLLRLRLRRLRLLLLLLRLRLLLLRRRLRRRLLRLRLRLLRLLRLLRLLLLLLRLLRLLLRLLRLRRLLRRRLLLRLRLRRLLLLLLLLRLRRLLRRLRLRLRLRLRLRLLRLRRRRLRRRLLRLLRRLLLLRLLRLRRLRRLLRLLRLRLRRLRLRRRRLLRRLRRRRRRLLRLLLRRLRLRLLRLRLRLLRRLRRLLRRLRLLLLRLRLLLLRRLLLRRLLLRRLLRLLRRRLRRLRRLRLLRLLRLLRLRRRRRLRLLLLLRRRRRRLRLRLLRRLLLLLLRRLLLRRRLRLLLRLLRRRRRRLRRLLLRRRLRLRLLRLRLLLRLRRLRLLLLRLLLLRLLLLLRLLRRRLRRLRLRRRRRRLLRLRRLRRLRLLRLLLRLLRRRRRLLRRRLLLRLRLLRRLRLRLLRRLRLRLRLLLLLLRRRLLRRRRLLRRLLRLRLRLLRRRLRRLLRRRRLRLLRLLRRRRRRRRLRLRLRLRRRLRLRLRRLRRLRLLLRLRLRLRLRRLRRRLLRLRLLLLLRLLLRLLLLRLLLLLLLRRLLLLRLLRRLRRRRLRLLLLLLLRLLRLLRLLLLRRRRLRLRRRLLRLRRRLRRRRLRLRLRLRRRRRRRRLRLLLLLLLLLRRLRRLLLLRRRLRRLRLRLRRLRLLLRRRRRRLLLLRRRRRLLRRRLRRLRLLLLRLLLRLLLLRRRRLRRRRRRRRLRRLLLRRLLLLLRLLRLRLRLRRLRRRLRLLLRLLRRRRLLRRLLLRRLRLRLRRLRRLLLRLRRRLLRRLRLLLRLRRRLRLRLLRRRLRLLRRRLLLLRRLLLLRLLRRRRRLLLRRRLRLLLLRLLRLRRRRLRLLRLLLLLLRRLRRRRLLLRLLLRRLRRRRLLLLRRRRRRRRLLLLLLRRRRLLRLRRRLLLRRRLRLLRLLLLRRLRLRRRLLRLLLRLLRRRRRLLLLLRRRRRLLLLRLRRRRRLLRLRRLLLRLRLRLRLRRRRLLLLLLRLLLLRRRLRLRRLRLLRRRRLLRLLLRRRRLRRLLRRRRRRRRRLRLRRLRLRLRLLRRLRRRLRLLRLRLLRLRRLLRRRRRLLRLRLRRRRRRRRLLLRLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRRRLRLLLLRRLLLRLLLRRLLLRRRLRRLRLLRLLLLRLLLRRLRRRRRLLLLRLLRLLLRRLRRRLRRLRRLRRRRRLLLRLRLLRLLLRRRRLRLLRLLLRRRLLLLLLLLRLRLLLLRLLLLRRRLLLRLRLRLLLLLLRLLLLLLLRLRRLLRLLRRLRRLRLRLRRLRRRLLLLLRRRLLLLLRRRRRLLRLRRRLLLLRLLRLLRLLLLRLRLLLLLLLLLRLRLLLRRLLLLRLRRLLLRRRRLLLLLRLLLLLLRRLRRLRRRLRRLRRRRRRLRRLLLLRRLLRRLLLRLRLRLLLLLLRLRLLLRRRRLRLLRRLLLLRRLLLRRRLRRRRRLRLRRLRLLRLRRLRRLRLRLRRRRRRRRLRLRRLRLLLLRRRRLLLLLRRLRRRLRRRLRRLLRRRLLRRRLRLRRRLLRRRRLLLRRRRLRRRLLLRRRRRLRRRRRRLLRLLLRLLLRLRLLRLLLLLLLRLRLLLRRRLRLLLRLLRRRLLRRLRLLRRRLLLRLRLLLLRRLRRRRRLRLRRRLLRRRLRRRLLLLLLLRLRLRRRLRLRRRRLLRRRLRRLRRRRLLRLRRRLRRLLLRRRRLLRRRLRRLRLRLLRRLRLRLLRLRLRRRLLRLLLRLRRLRRLLLRLRRRRLRLRLRLLRLRLLLLLLLRRLLRLLRRRLLRLLLLRLRLRLRRRRLLLLRLLLLRRRRRRRRRRLRRRLLLRRLRRLLRLLRLRLLLLLRRLLLLLLRLRLRRRRRRLRLRRRLRRRLLRLLRLRLRLRRLRLLLRLLLRRRLLRRRLRLRLLLLLRLLLRRRLRLRLLLLLRLLRLLLLLRRLRRRRRLRLLRLRLRLRLLRLRLRLRLRLRLLLLLLRRLRRLLRLLRLLLLLRRRRLRLLLRRLLLLRLLRRRRRLRRLLRRRLRLRRRLLLRLLLLRRRRRLRLRLLRRLLLLRLLRRRRLLLLLLLRLRRRLRRRRLLRRRRLRLLLLRLLLRLRRRRLRRRLRRLRRRLRRLRLLLLRRLLLRRLLRRLRLLRLLLRLLRLLLRLLLRLLRLRRLRLLLLRLLLLLLLLLLRRLRLRRLRRRLRRLLLRLRLLLLRLRLLRLRLLRLLRRLRLRRRLRLRLLLRLLLLLRLRRRRLRLRLRLLRRLRLLRRRLLRLLLRLRLRRRRLRLLLLRLLLRLRLLRRRRLRLLLRRLRRLRLLRLLLRRRRLLRLLLRLLRRRRLRLRLRLRRLLLLLLRRRLRLRRLRRRLRLRRLRLRLLLRLRLLLLRLLRLRRLRRRLRRRLRRRLRLRLRLRRRLLLRRRRRLRRLLLLLLLRLRLLRLRLRLLRRLRRLRLRRLLLLRRRLRLRRLLRRRLRRLRRLLLLRRRLRLRLLLRRLRRRLRRRRLRRRRRRLRRRLRRRRLLRRRRLRRRRRLRRRRRLRRRLRLLLLRRLLRRRRRRLRRLLRRRLLRLRLLRRRRLLLRRLRRRLLRRLLRLRRRRLRRLRRRRLRLLLLLLRLLRLRRRLRRLLRRLRLRLLLRLRRLLLLRLRRRRRRLLRRLLRLRRLLRLLLLRRLLRRLLRLRRLLLRRLLRRRLRLLRLRLLLLRRLRRRLLLRRLRLLLRRRLRRLRRRRLRLRRRLRLLLRLRRRRRLRLLLLRRLLRRRLRRLRRRRRRRLRRLRRRLRLLRRLLRLLLRLRLLLLRLLLRRRRRRLRLLRLLRRLRLRRLRRRLRRLRRLRLRRLLLLLLRLLLRRLRLRLRLRRLRLLRLLRLRRRLLLRLRRLLRRRRRLLRRRRLLRRLRLLLRRLRLRLLLLRRLRLLRLLLLLRLLRRRRRLRRLRLLLLLRLLLRLRLLRRRRLLRLLLLRLRRLRLRRLLRLLRRLRLRLLRLRLRLRLRRRRRLRLLLLLLLLLLRRLLLLRLLRLLRRRRRLLLRLRLLRRLRRLLRRRRRLLRLRLRLLRLRLRRRRLLLLRLRRRRRLRRRRLRLRRRLRLRRRRLLRLRLRLRLLLRRLRLLLLLLLLRRRRLRLRRLRLRLRRLLLRLRRRLLRLLRRRRRLLRLLRRRRRLRRLRRRLLLRRRRLLLLLRRLLLRRRLRRLRRLRLRRLLRRLLLRLRLRRLLLLRRLRRRLLLRRLLLLRLLLRRRLLLRLRLRRRRRRRLRLRRRRLLLRRLRLLLRRLRLRRRLLRRRRLRLLRLLLRLRLLLRLLRRLLLRRRRRLLLLRRLRRLLRLRRRRLRLLLRRLRLLRRLRRRRRRRLLRLLRLLLLRRLLLLRRLRLLLLRRRRLLRRLLRLLLRLRRRRRRLLRLLLLLLLLRRLRRLLRRRLLRLLLLRLLRRRRLLLRLRLRRLLLRRLRRRLLLRLLLLRLLLRLRLRRLLRRLLLLRLLLRLRRRLLRRLLLRRLRRRRLRRLRRRRLRRLRLRLLRRRRRRLLLRLLLLRRRRLRLLRLRRLLLLRRRRLLLRRLLRRRLRRRLRLLRRLRLLRLRRLRRRRLLLRRLRRRLRLLLRRLRRRRRRLRRRLRLRRRRLLRLRRRLRRLRRRRLRRLLRRRLRLRLRLLLLLRLRRRRRLLRLLLRRLLRLLLLRLRRLLLRLRLLLLRLRRRRLRLRRLRRLLLLRRLRRRRLLLRRRRLRLRLLLRLLLLRRLLRLLRLLLRRLRRRLLLRLLRLLRLRLRRRRRLLLRLLLLLRLLRRRLRLLRRLRLLLLLRRRRLRRLLRLRRRLRLLRRLRRRRRLLLLRRLLLLRRLRRLLRLLRRLLRRLRLLLRRLRRRRRLRRLLRRRLLRLRLRRRRLLRLLLRRRRLLLRRLRRLLRRLRLRLRLRLRLRRLLRRRRLRLRLRRLRRLRRLLLRRLRLLLRRRRLRRRLRLRRLLRLLRLLRRRRRRRRRRLLLLLRLLRRLLRRLLRLLLLLLLRRLRRLLRRRRRLLLRLLLLLLRLRRLRLRRRLLRRRRLRRRLLRRLLRLLLRRRLLLRLRLLLLLLRRLRLLLLRRLLRLLLRRRLLLLRLLLRLRLRRLLRLLLRRRRRRRLLRLLRRRLLRRRRRRLLLRRLRLRLRRRLRRLRLLLRLLRRRRRRLLLLRLRLLLRLRLRRRLRLRLLLRLRRLLRRLRRLRRRRLRLLRRRLLRRRRRRLRRLLLLLLLLLLLLLLRRRRLLLLLRLLRRRLRRRLRLLLRRRRLLRRRLLLRRRLRRLLRLLRRRRLLRRRLRLRLLLRRLLRLLLLLLRLRRRRRLLRRLLRRRLLLLRLRRRRRLRLLRRLRRLLRLLLRLLLRRLLRRLLLRRRRLRRRRRLLLLRLRLLRLRLRLLRLRLRRRLRRRLRRLRRRLLRRLRLRRRLRLRRRLLRLRLRRRLLRLLRLLLLLLRRRRLLRRRRLLLLRLRLLLRLLLRRLRLLLRLRRRLLLRLRLRRRRRLLLRRRRLLLRRRLRRRRLRRRLLRRLRRLRLRRRLLRRRRRRLLRRRRRRRRLRLRLLRLLRRRRLLRRRLRRRRRRLLLRLLRRRLRRLRRRRLLLLLLRLRRRLRLLLLLLLRLLLLRLRLRRLLLLRLLLLLRLLLLRRRLRLLLLLLRLRLRLRLRLRLLRLLRLRLLRLLRLLRLLLRRLRRRLLLRLRRLLLLRRRLLLRLRRLRLLLLLRLRRRRRLRLRLRLLLLLLLLLLLRLRLRRRRLRLRLRLRLLLLRRLRLLRRLLRRRRRRRLRLLRLLRRRLRRLRRLRRRLLRRLLRRLLLLRLRRRLRRRLRLLRLRRLLRLRLRLLLRRLRLLLRLLLLLRRRRLRRRLRLRLLLLRRLLRRLRLLRRLLLLLRRRRRRLLLLLRLRRLRLRRLLRRRRRRRRRRRRRRRRLLLLLLLRRRRRLRLLRRLLLLLRRLLLLRLRRLRRRRLRLLLRLRLLRLRLLRRRLRLRLLRRRLRLLRLLLRLLRRRLRLLRLRRLRRRLRLLLLRLRRLRLLRLRRLLRLRRLRRRRLLLRLRRLLLLLRLLRRRLRRRLLRLRLLRRLLRRLRLRRLRRLRLRLRRLLLLRRLRRRRRRRRRRLRLLRRRLRRRLLLLRLLLLLLRRRLLRLRLLLRRLLRLLRRLLRRLLLRLRLRRLLRRLLLLLLRRRLLLRLLRLRRRRRLLLLRRLLRLRLLRRRRRRLRLRLRLLRLRLRLLLLRRRRRRLLRRRLRLLLLRRRLRLRLLLLRRLLLLLLRRLRLLLRLLRRLRRLRRRLLLLRRRLRLLLRLLLRRLRLRRLLLLLRRRLRRLLRLLLLRRLLLLRLRLLRLLLRLLRRRRRLRLLLLLRRRRLLRRLLLRLRLLLLLRLRRLLRLLRLRRLRLLLLRRLRLRLRLRLRRRRRRLLRRRLLRRRLLLLLLLRRRLLRLRLRRRRRLRLRRLRRRRRLLLRLLRLRRRLLLRRRLRRLLLLRLRLRLRLLLLLRLRRRLRLRRLRRLRRRLLLRLRLLLLLRLRRLLLRRRLRLRLRLRLRLRRRLLRLRLLLRRLRRLLLLLLLRLRLRRRLRRRLLRRLRLRRLLRLRRLLRLLRLLLRLRLLLLLRLRRLLLRRRRLLLLLRLRRRLRLRRLRLLLLLRLRRLRLLRRLLLRRRLRRRLRRRRLRRLRRLRRLLLLLLLLRRLRLLRLLRLRRRLRRLRRLLLRRRRRLRLLRLRRRRRLRRRRRLLLRLRLRLLLLLRLLRLLLLLRLLLRLRLLLRRRRLLRLLRLLLLLRRRRLLRRLLLLLLRRLLRRLRRRLRRLRLRLRRLRRRLRLRRRLRLLRRLRRRLLLRLRRLLLLRLLLRRLLRLRLRRRRRRRLLLLLRRRLLLLLLLLRRRRLRRLLLRLLRLRLRLLRLRLLRLRRRRRRRRLLLLLRLRLLRLLRLLRRLLRRLLLRLRRRRRLRRLRLLRLRRLLRLLRLRLRLRLRRRRRRLRRLLLRRLLRLRLRRLRLRLLLRRRRRRRRRRLRLRLLLRLRLLLRLLRRRLLLRLLLLRRRLLRRRLRRLRRLRRLLLLRLRRRLLLRLLRLLLLLLRLRLLLRRRRRLRRLLRRLRLLLLRLRRRRLRRLLLLLLLRLLLRLRLRLRRLRLRRLLLRRRLRLLRLRLLLLRRLRRLRLLLRRLRLRRLLLRRLRRLRRLLLLRRLLRLLRLRLLLLLLRRLLRLRLRLLRLLRLRLLLLRRRLRRRLRLLRRLRLLLRRLRRRLLRRRLLLLLRLLLRRRLRRRLLLLRLRRLLRLLLRLLLRRLLLLRLLLRRRLRRRLRRRLLLLRRRLLRLLLRLRLRLRLLLLLLLRRRRLRLLLLLLLLLLRLRRLRRLLRRLRRRLLRRRRRLRRRRRRLRRRLRLRRRRLRLRLRLLLLRRLRLLRRLRRLLLRLLLLLLRLLRLRLLLLLLLLRRLRRLRLRLLRLLRLRLLLRRRRLRRLRLLRRRLRRLLLRLRRRRRRRRRLLRLRLRRLRLRRRRLLRLLLLLRLLRRLLRRRRRLRLLLRRRRLLLRLLLRLLLRLRLLLLLLLRLLRLLLLRLLLRLLRLRLRRRLRLLLLLLLRRRLLRRRRRLLRLRRRRLRLRLLRLLRRRLLLRLLRLLRLLLLLLRLLRRRRRRRLRLLLRLRLRRRLRRRLRRLRLLRLLLRLLRLLLLLLLRLLLLLLRRRLLRRLLLRLLLRRLLRLLRRRRRLLRLRRLRRLLLRLLRRLLLRRRLRLLLRRRLLLLLRRLRLRLRLLLLRRLLLRLLRRRRRRLLRRRLLRLRRRLLLLRLLRRLLRRRRLLRLLLRRLRRLLRLLLLLRRLRRLLRRLRRRRLLLLLRLRRLLLRLLRLLRLRRLLRLRRRLLLRLRRRRRLRRRRLRRRRLRLRRRRLRLLRRRLRLLLRRRLRLRLLRRRLLRLRLRRLLLRRRLLRRRRLRLLLRLLRLLRRRLRRLLRRLLRLRRLLLRRRLRLRRRRRLLRRLLRRRLRRLLLLLRLLRRRRRLLLRRRRLRRLRRRRLRLLLRLLRLLRLRRLLRRLRRRRLLLLLLRLLRLLLLRRRLRLRRRLLRLRLLLRRRRRLLLRRLRRRRRLLRLRRLLLLRRRRRRLLLLRRLLLRRRLLLLLRRLRRRRRLRLRLRRRRLRLRLRLRLLRRLRLLLRRRLLRLRLLRLRLLLRRLLLLRLLRLRLRRRRRLRRLLLLLRRLLLLRLLLLLLRLRLRLRRRRRLRRRRRLRLLLRRRRRRRLLRRLRLLLLRLRLRRRRLLLLLRLRRRLRLLLLLLLRLLLRRLLRLRRLRRRLRRLRLLLRLRLRRLRRLRLLRLRLLRRLRRLLRRLLLRRRRRLLRRLLRLLLLLLRRLLLLRRRLRRRRRLLRRRRRLRRLRRLRRRRRRLRLRLLRRLRLRLLRRLRRRRRRRLLLLRRLLRRRRLLLLRRRRRRRRRRRRRLLRRLLRLRLRRLRLLRLRLLRRRRLRRRLRRLLRRRRLLRRRLRLRLLRLLLRRLLRLLRRRRLLRRRRLRLLRLRRLLRRLLLRLLLLRLRLRRLLLRRRLRRRRLLLRRLLRLLRRRLRLLLRRLRLRRLLLLLLRRLRRLLLRLLRLLLRLRRRLRRRLLRLLRRLLRLRRRLRRRRLLRRLRLLRRLLLRLRRRLRLRLRRRLLLLLLRRLRRRRLRLLLRLRRLRLLLLRRRRLLRRRRRRLLRLLLRLLRLLRLLRLRRRLLLLLRRRLRLRLRRLRLLLLRLLLLLLLRRRLRRRLLLRLLLLLRLRRLRLLRLRLRRRLRLRLRLLLRLLLLLRLRRLRLLLLRLRLLLRRLRRLLRRRLRLLLLLRRRRRRRRRLLLLRLRLRRRLLLRLLRLLRRRLRLRLLRRLRRRRRRLRRRLRLLRRLLLRLLLRRLLLRLLRLLLLRLLLLRRLRLRLLRLLLRLRLLLRRRLRRRLRRRRRLRLRRLLLRLRRLLLLRLRLRRRRRLLLRLLRLRRLLRLLRLLRRRLLLRRLRLRRLLLRLLLRRLRLRRRLLRRLRRRLLLLLRLRRLLLRLLRLRRLLRLLLRLLLRRRRRRRLRRRRRLLRLLRLLLRLLLLRRLLLRLLLRLLLLRLLRLRRRLRRRRRLLRRLLLLRRLRRLLRLRLLRLRLLLRRLRRLRLRRRLRLRLRRLLLRRLLRLRLLRLLLRLRLRRRRLLLRLRLRRRLRLLLRLLRRLLRRRLRLRRRLLRRRRLRRRLLRRLRLLLRRRRLLRLLRLLLLRRRLRLRRRRRLRLRLLLLRRRLRRLLRRRLRLLRRLRRRRLRRLLLLLLLRLLLRRRRLRRRLLRRRLRRLRLLLLLRLLLLLLRLRLLRLRLLLRRRLLRRRLLLRRRRRRLRRRLRRLRLRLLLRRRRLRLRLRLRLRLLLLRRLRLRRLLLRLLLRRLLRRRLRLRRLLRLRRLLRLLLLRLLLRRLRLRRRLRRRLLRLRRLLRLRRRLRLLLLRLRLLLRLLLRRRRLLLLRRRLRRLLLRRLLLRLLLLRLLRRLLRRLLRRRRRLRLLLRLRLLRLRRRRLRLLRLLLRRRLRRLRRRLRLRLLRRLLRRLLLLLRLLLRLRLRRRRRRRLRLRRLRLRLRLRLRRLRRLLRLRRLRLLLLLRLLLRLLRRRRLRLRRLRRLRRRRRRLRLRRLRRLRLRRLLRLLLRRRRRLRLLRLRRLLLLLLLLRRRRLLLLRRLLLRLRRLRLLLRRRLLRLRRLLRLLLRLRLRRLLRRLLRLLLRRRRLLLRLRLRLRRLLRRRLRRRLRRRRRLLLLLLLRLRLLLRLRLLLLLRRLRRRRLRLRLLLRLLLLLLLLLRRRLLRRLRRRRLLRLRLRRLLLRLLRRLLLRRLRLRRLLRLLLLRRRRLLLRLRRLRLRRRRRRRRLRLRRRLLLRRRRRRLRLLRLLLLLLLRLLRLLLLRRLLRLLRLRLLRRRLLLRRLRRRLLLRRRLRRLRRRLLRRLRLLLLRLLLRLLRLRRRRLLRRRRLRRLRLRLLLRLLLRLRRLLLLRRRRRRRRRRRLLRRLLRRRRRLRRRRRRRLRLRLLRLRLLLRRRLRRLRRRRRLRLRLRLRRRLRLRRLRLRLLRLRLLLLRRRLRLRLLRRLRLLLLLRRLRLLLLRLLLLLRRRRRLRLRLLLLLRRLRLLRLLLRLLLRRRLRRRLLRLRRRLRRRRLRLLLLLRRRLLLLRRLLLLRRRLRLLLLLLLRRLRLRRRLLRLLLRLLRRRRRLLRRLLRLRRRRLLRRRLRRRLLRLLRLLRRRRLRLLLRRRRRLRLLRRLLRLRRRLRLLLLRRLRRRLRRRRLRRRRLRRRLLRLLRRRRRRLLRRLLRLRRLRLRRLRRRLLLLRRRLRRLRRLLRRRRRLRRLRLRRRLRRRRLLLLLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRLLLLLRRRRLLLLLLLLRRLLRLRRLRRLRLLRLLLRLLLLRLLRRRRRLRRLLLRRLLLRRLLLRRRLRLRRLLRRRLRRRLLLRRLRLRRRRLRLRRLRLLRLLLRRLLLLRLRLLLLRRLLLLRRRLLLLRLRRLLLRLLLLRLRRLRLRRLLRLLRLLRRLRLRLRRLRRLLLLLLLLRLLLLLRRRLRLRRLRRLLLLLRLLRLRRLRLRRRRLLLRLLLLLRLLLLLLRLLLLLRRLRLLRLLRLLLLLRLRLLLLRRLRRLRRRRLLRRRRRRRRRRLLLLLRLLRRRLRRRRLRLLRLLLRLLLRRLLRLLLLLRRLLLLRRRLLRLRLLRRRRRLRRRRRLLRLLLRRRLRLRRRLLRRRRRLLLLRRRLLLLRRRRRLRRRRRLRRLLRRRRRLLLRRRLLLRRLRLRLLLRRLRRLRLRRRRLLRRLRLLRLRRLRLRRRRLRLLRLRLLLRLRRLLLLLLLLLLLRRLLRRLLRRRRRLRRLLRLRRLRRLRRRLLLRLRLLRLRRLLRRLRLRLLRLLLRRRLRRRLLRLLLRRRLLRRRRRLRRRRLLRRRLRLLRLRRRLLLLRLRRRLLRRRRRRLRLRLRRLRLRRLRRRRRRLRLLRLRRLLRRLLRRRRRRRRLLLLLRRRRLRLRLRLLLLRRLLLLRRRLLRRRLLRRLLRLLLLRLLLLLRRRRLLLRRRRLLRRRLRRRRLRLRLRLLLRRLRRLLRRRLRLLLLLRLRLLRLRLRLRLRRRRRRLRRLRRLRRRLRRLLLLLLRLRRLRRLLLLRLRRRRLLRRLLLLRLRLLRLLLLRRLRLRLLLRLRRLRRRLLLRRLLRRRRLLLRLLRRLRRLLLLRLRLLLRLLLRLLRLRLRRRLLRLLLLLRRRLRRRLRLRRRRLLLLRLLRRRRRLLRLLRRRLLLRRLRLLRRLLLRLRRRLRLRLLRRLLLLLLLRRRLRLLLRLRRLRRRLRLLRLLRRRRLRRLLLRLLRRLRRLRLRLRLRRLRRLLRRLLLLLLRRLRRRLLLRLLRRLRLLLRRLRLLLRRLLRRLRRLRLRRLLLRLLRLLLLLRRLRRRRLRLRRRRLRLRLRLRRLLLRRRLLLRLLLLLLRLLRLRRRLLLLLLLRLLLLLRLRRRRRRRRLRRLRRRRLLRRRLLRRLLRLRLRLRLLLLLRLRLRLRRLLLRRRRRRLLLLRRRLLRRLRLLLRRRLRRRRLLRRLRLRRLRRRRRRLRLLLLLRLRRRLRRLLRRRLRRRRRLLRRLLRLRLLLLRRLRLRRLRRLLRRRLLRRRRLRLRRRRRLRLRLRRLLRRRLLRLLLRLLRLRLLLRLLRLLRRLRLLRLLLLRLLRRRRRLLLRRLRRRRRRLLLRRLLRLRLRLRRLRLRLRRLRLRRRRRRLRRRLRRRLLLLRLRLRRRLLLRLRLRLLLRLLLRRLRRRLRLLLRRLRRLLRRRLLRLRLRRRRRLLLRRLRRRLLRRLRRLRRRLRRRLRRLRLRRLLLLLLLLRLLLLLRLLLRRLRLRLLRRLRLLLLLRLLLLRRRLLRRLRRLRRRLLRLLRRRLLRRRLRLRRLLLRRLLLRRRRLLRLRLLRLRRLRLRLRLRRRRLLRRRRLRRLRRRRLRLRRRLRLRLLLRRRLRLRLLLLRRRRRRLLRRLRRLRLRLLRLLRRRRRRLLRLLRLLRRLLRLRLRLRLRRRLLRLLLRRLLRRLLLLRRLRRLRRRRRLLRRRLLRRLLRLLLRRRRRLRRLLRLRLLRLLRLRRRLLLRLRRRRLRRRLLRLRRRLLRRLLRRRRRLRLRRLLRRRLRLLRLRLLLLLLRRRRRRRRLRLRRLRRLLLRLRLRRRRLLLRLRRLRLRLLRLRRLLRLLRLLRLRLLLRRLRLRRRRRRRRRLLLLRLLLLLRRLLLLRLLRLLRRRRRLLLLLRLLRRLLLRLRRRLRRLRLRRRLLRLRRLRRLRLLLRRRLRLRRRLRRLRLRRRLLLRRRRLRRLRLLLRRLLLRRRLRLLLLLLRLRRLRRRRRRLRRRRLRLRLLRRLRRLLRRRRLRLRLLLRRLRLRRRRRRLLLLRRRLLLLLRRLLLRRLLRRLRLLRLRRLLRRLLLRLRRRRRLRRRRLLRRLRLRRLLRLRLLRRRLLLLRLRRRRRRRRLLLRLRRRRLRRRLRLRLRRLRLLRRLRLLRRLRLLRLRRLLRLRLRLLRRRLRRLRRRLLLLRRRRRLLRRRRRLRRRLLRRLRLLLRLRRLRRRLLLRLLRRLLLRRLRLLRRLLLLLLRRRRLLRRLLRLLLRLRRRRRRRLRLLRLLLRLRRRRRLLRRRLLRLLLLLLLLRRRRLLRLRLRRLLRRRLRRRLRLRLLLLRLLLLLLRLRLLRRLLRLRLLLLLRRLLRLLRLLRLRRRRRLRLRRRRRLRRLRLRLLRRRLLLLLRRLLRLRLLRRRLLLRLRLLRLRLRRLLLRLLLRRLLLLRRRRLRLLRLRRLLRRRLRLRLLLRLRRRLRLRLRRLRRLLRRLLRRLRLRRRRLLLLRRRRRRRLRLRRRRRLRRLLRLRRLRLLLLRLRLRRRLRRLLRRRRLLLRLLRRRLLRLRLRLRLLLLRRRLRLLRRLRRRLLLLRLRRRRRRLLRRRLRLRLLLRLLLRRRLLRLLLRLLRRLRRLLLLRLRRRLRLLRRRRRRLLLRRLLLLRLLRLLLRLLLRLRRLLLLLRLRRRRLLRLRRLRLRLRLRLLRRRLLLLRRLLLRRRLLRRLRLLRRRRRLLRLLLRLLRRRRLRRRLRRRRLRLLRLRRLRLLRLLRRRRRLRRRLLRRRRRRLRLRLRRRRRLRRRLLRRRLRRRRRLLRRLRRRLRRRLRLLLRRLRRRRRLRRRRLLRRLRLLRRLLLRLRRLRLLLLRRLRRRLLLRLRLLLLLLLRRLRRLLRLRRRLLLRLRLLRRRLRRLRRRRRRLRRRRLLRRLLRRLLRLLLLLLLLRRLRLLLRLLRLLLLLRLLRLRLLLLRRRLRLRLLLLLLRLRLLLLLLRLRRLRRRLRLRRLRRRLLLLRLRLRRRRLRLRLRRRLRRLRRLLRLLRLLRRRLLLLLLRLLLRLRLRRRRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLLLRLRRRRLRLRRLRLLRLLLRLLLRLRRLLLLLRRLRLRRRRLRRRRRRLRRLLRRRRLLRRRLRLLLRLLRRLRRLRLLLRRLLLLRRLLLLRLLRRLLRLRLRLRRRLRRLRLRRLRRLRLRLLRLLLRLRRRLRRRLRRLLRRLLRRLRLRLRRRRRLRRLLRLLLRRRRLLLRLLRLLLRRRLRRRRLLLLRRLLRRRRLRRLLRRRRRRLRLLLRRRRRLLLLLLLRLLLRRRLLRLLRRLLLLLRLLLRLLLRRLRRLLLRRLRLLLRRRLRRRRRLRLRRLRRLLRRRRLLLRLRRRRLLLLRLLRLRLRRLRLRRLRLLRLLRRRLLLLLRLLRLLRRRRLLRRRLRLLRRLLLRRRLRRRLRRLRLLLRRLLLRLLRRLLRLLLRRLLRLRRLRRRLRLLLRLRLLLLRRLRLLLRLRRLLLLLRRLLRRLRLRLRLLRLLRRLLLRLRRLLLLLLRRLRLRLLRRRRRLLLLLRRLLRRLLLLRLRRLLLLRRRRRLRLLLRLLLRLRLLRLLRRRLRRRRLLLRLRLRLLRRRRLLLLRRRLLLRRRRLLRLLRLLRRRLRRLRRLRRLLLLRLLRRLLLRRRLRLLRRRLLLLRLRRLLRLRRLRLRLLRRLLRRLLLLRRLRLLRLRRRLRRRLLRRLLRRLRLRRRLRLRLLRRRRRLLLLLRLLLLLRRRRLRLRRRRRLRRLLLRLRRLLRLLLLRRRRLRLLRLLLRLLLRLLLLLLRLLLRRRLLRLLLLRLLRLRLLLLLLRLRLLRRRRLLLRRLLLLLRLLRLRLRRRRLRRRLRRLLRRLRLRRRRRLLRLLRLRLRRRRRLRLRLRRRLLRLRRLRRRLRLRLLRLRLLRRLLRRRRRRLLRRLRRRLLRLRLRRRLLRLRRRRLRRLRLRRRRLLRRRLLLRLRLLRLRRLLLLRLLRLRLRLRRLLLLLRLRLRRLRLRRLLLRLLLRRRRRRLLLRLLRLRRLRRRLLLRRRLRLRLLLRRRLLLRRRRRLLRRRLLLLLLLRRRRRRLRRRLLLLRRRRRLRRLLLLLLRLRLLRLRRLRLRLRLRRRLLLLRRRLRLLRLLLRRRLRLRLLRRRLRRRLLRLLRRLRRLLRLRRLLLLLRRLRRRLLRRLRLLRRRRRLLLLLLLRRRRLLLRLLRRLRLLLLLRLRRLLRLRRLRRLRLRLLRLLRRLLRLLLLRRRRRLLRLRLLLRRLLLLLLLRRRLLLLLLRLRRRLRLRRLRRRRRLLLRRLRLRRLLLLLRRRRRLRRLRRLRRLRRRLRLRLRRRLRRRRLLLLRRRLLLRLRLLLLLRRRRLLLRLRLRLLRRLLLRLRLRLRRLRLRRLRLRLRLRLLLLRRLLRRRLRRLLRRRLRLLRLLRLRRLRRLLLRLRLLRLRRRLRLLRRLLRLLRLLRLRRLLRRLRLRRLLLRRLLRLLRLRLRRRLRRLRRLLRRLRLRRLRRRRRLRLLLLLLLRLLRRRLLLLLRRRLLRRRRRLLLRRRRRRLRRLLLRRRRLLRRRLLLRLRLRRRLRRLRRRLRRRLRLRLLLRRLLLLRRLLRLLRLRLLLLLRRRRRLRRLLLLLLRRRLRRLRRRLRLRLLRLLRLLRRLRLLRRLRLLLRLRRRRRLLLRLLRLRRRRLRRLLLLRLRLRRRRRLLLLLRLLLRLRLLLLLRRRLLRRRLRRLRRRLRLLRLRLLRLRRRRRRRRLRLRRRLRRLRLLLRLRLLLLRLLLRLRRRLRLLRLRLLLRLRLRRLLRRLLRLRRRRLRRRLLLRLLRRLLRLLLLLLRLLLLRRRRRRRRRRRLLLRRLRRRRLLLRLLLRRLRLRLLLLRRLLRRLLRRRLLLLRLRRRRRRRRRRRLRLRRLLRLLLRLLLLRRRLRRLLRLLRLLRLLRRLLRRLLLRRLRLLLLLRLLLRLLLRRRLRRLRRLLLRLLLLRLLLRLLLLLRLRRLRLRLRLLLLRRLLLRRLRRLRRLLLLRRLLRRLLLLLLLRLRRRLLLRRLRLLRLLLRRLLLLRRLLRRLRLLLRRLRLLLRRRRRRLLRRRLLLLLLLRLRRRRLRLRLRLLLRRLLLRLLRRLLRRLLLLLRLRRLLLRRLRRLLLLRRRRRLLRLLLRRRRRLRRLLLRLRRRRRLLLLLLLLRLLRLLRLLRRRRRRLRLRLLLRRRRLRRLRLLLRLRLLRRLLRLRLRLRLLLRRLRRLRRRLLRLRRRLLLLLLLLLLLLLLRLLLLLRRLRRLLLRLLRLRLLLRRLRRRRLLRLRRRLRLLRRLLLLLLRRLRLRLLRLRLRLLLLRLLLLRRLRLLLRLRLLRLLRRRRRLLRLLRRRRRLLLRRLLRLLRRRRLLLLLRLRLLLRLLLRRLLRLLLRRLRLRLLLLRRRLRRRRLLRRRRLLLRRLRRLLLLRLLRLLRLRLRRRLRRLLRRLRLLLLLLRRRRRRRRLLLRLLRLRRRLRLRLRRLRLLLLRLRLLRLLLRLLLRLLLRLLRRRLRRRRLRRLLLRLLLLLLRRLLLRLRLRRLRLRLLLLLLRLLLRRRLRRRLRRRRLRLLRRLRLRLRRLRRLRRLLRLRRRLRRRRLRRLRLLRRRLLRLRRLLLRLRLLRRLRRLLLRRLRRLLRLLRLLRRLLRRLRLLRLRRLRLLRRRRRLRRLRLLLLRLLRLLRLRRRRLLLRRRRRRRRRRRRLLRRLRRRLRRLRRLRLRLRRLLLRRLLLLRLRLRLLRLRLRRLLLRRRLLLRLLLLLLLLRLRLLRRRLRRLRRLLLRLRRLLLRRLLRLRRLLRLLRRLLRRRRRLLRRRRRLLRRRRRLLLRRLRLRRRRRRLLRLLLRRLRRRRLRRRRRRLLRLRRLLRLRRLLRRLLLRRRRRLRLRLLRLLLRLLRRRRLLLRRLLRRRRRLRRLRLLRLRRRRRRLLRLRLLLRRRRLLLLLRLLRRRRRLRLLLRLRRLLLLLRLRLLLRLRRLLRRRLLLLRLLRLRLLLRRLLRLLLLRLLLRRLRRLLRRLLLRRRLLLLRLRRLLLLLRLLLRRRRLLRRLRRLLRLLLLRRLRRLLRLLRLLLLRLLLRRRRLLLRRLLRLLLRLLLRLLRRLRLRRLLRRRRRRRRLRRLLLRRRLLLRLRRLRRLRLLRLLLRRRRLLRRLLLLRLRRLLRRLLRLRLLRLRLLLRRRRLLRRRRRRLRRRLRLLRLLRLRRRRLRRRRRLLRLLLLRLRRRLRRLRRRRLLLLRRLLLLRLLLLLRRLRLLLRRRLRRLRRLLLRRRLLRRRLLRLRLLRRLRLLRRLRRLLRRRRRRRRRRLLRLLLLLLRLLLRLRRRRRLLRRLRLRLLRLRRLLRLLLLRLLLLRLLLRLLLLRRLLLRRRRRLLRLLLLLRRRLRLRLRLLRRRRLLLLLRRRRLRLLLLRRLLLLRLRRRLRLRLLLRLRRLLRRRRRLRLRRRLRRRLLRRRRRLRRRLRRRLRLRRRLLLLLLLLLRRLRLRRLLRRLLRLLRLLRLLLLRRRRRRRLLRLLLRLLLRLRLLRLRRRRRLLLRRLRRLLLLLLRLLLLRLRLLLLLRLRLLRRLLRRLRLLLRRRRLRLLRLRLRLLLLRRLRLLLRRLLLLRRRLLRRLLRLLRLLLLRRLRLRRLRRRLLRRLRRRRRRRRRLRLLLLLLLRRRRRRLLRLRRRRLRLRLLRLLRRRRRRLRRRLRRLRRLLLRLLLLLLRRLRRLLLLLRLRLRRRLRLRLLRLLRRLRLLRLRRLRRRLRRRRLLRLRLLLLRLRRLLLRRRRRRRRRRRLLRLLLRRRLRRLLRLLRRLLRLRRLRLRRRLLLLLLLRLRLLLRLLLRLRLRRLLLLRRRRRLLRRLRLRRRLRRLLRLRLRLRRLRRLLLRLRLRRLLRLLLRLRLLRRLLLRLLLLLLLLRLLRRLLRRRRRLRLRRLLRRLRLLLRLLLRRRRRLRRLRRLLRRLRRRRRLRLLLRRLLLRRRRLRRLLRLLLLLRRLRRLLRLRLRLRRRLRLLRRLRRRLRRRRLLLRLRLLRLLLLLRRLLLRLRLLLRRRRRLRLLRLRLRLLRLRLRRRRRLRLLLLLLRRRLRRRRRLLLRLRRLRLRRRRLRRLLLLLLLRLLRRRLRLRRRLLRRRRRLLLRLRRLRRLLLRRLRLLRRLRRLRRRRRLRRLLLRRRRRRRRRRRRRRRLRLRLLLRLRRLLLRRLRRLRLLRRLRLLRLRLLRRLLRRLRLRLLLRRLLLLRRRLRLLLLRLLRRRLLLRRRRLLRLLLLRRLLRLRRRLLRRLLLLLLLLRRLLRRRLRLRLRRLRRRRLLRLLLRRLRRRLLLRRLLLRLLRLRRRRRLRLRRRRLRRRLRLLRLLRLLLLRRLRRLRRRLRLLRRRRLRRRLRLLLRRLLRLRLRRLRLRRLLLRRLRLRRRRLLRRLRRLLLRRLLRLRLLLRLLLRRLRRRLRRLLRRRRRRRLRRLLRLRRRLRRLLRRLRLLRRLRRRRLRLLRLRRRRLLLLLRRRRRRLRLRRRLLRLLRLRLLRRRLLLRLRLLLLLLLLRLLLRLLLLLLRLLLRRRRLRRLRRLLLRRLLRRLRRRLLRRRRLLLRLLLLRRLLRLRLRRLLLRRLLLLRRLRRRRLLRRLLLRLLLLRRRLLRRLRRRRLLRLRLLRLLLLLRRRLRRRRLRLRLLLRRLLRLRLRRLLRLRRLRRRRRRLRLLLLRRRRRLLLRLRRRLLLLRLRLLLLLLRLRLLRLRRLRLLRRLLLLRRRRRLRLLRRRLLRRRRLLRLRRLLLRLLRRLRRRRLLRLLRLLLLRLLLRRRLLLLLLRRLLRRLLRLLRLLRLRRRRLRRLLRRRLRLLLLLRRRLRLRRRRLRLRRLLRLRLLLRLRLLRLRRRRRRRLLRRLLRLRLLRRLLRRLRRLRLRLLRRRLRRRRRLRLRLRLLLRLLRRLRRRLRLLLRRRRLRRLRLLLLLRRLRLLRLLRRRRLLLRLLLLLRRLRRRLRRRLLRRRLLLLRLRLLRRLLLLLLLRLRLRLLLLRRLRRRRRLLLRLLLLRLRRRRRLLRRLLRLLLRRRRLRRLRLLRLLLLRLLRRRRRRLLLRLRRRLRLRRRLRRRRRLRRLLLLRRLRLLLRRLRRRLRLLRLRLLLLLLLRRRLLLRLLLRLLRLRRRRLLLRLLLLRRRLRRRRLLRRRRRRRRRLRRLRRLRLRRLLRLRRLRLRLLLLRLRLRLLRLRLLRLRRLRRRRRLRLLLLLRRRLLLLLLLLRLRLLRLLLLRRRRLRLRLRRLLLLLLRLLRRLRRRLLLRRLLLRRLLLLRRLRLLRLLLRLRRRLLLLRRLRLRRLRRLLRRRRLLRLLLRRLLRLRLRLLLLRRRRRLRRRLLLLLLRRRRLRRLLLRLRRLLLRLLLLRLLLLLLLRRRLLRLRLLRLRLRLLRRLRLLRLRLRLRLLRRLLRLLLRLRLRRRRLRRRLLLRRRRLLRLLLLRLLLLLLRLRRLRLRRLLRRLRLLRLRRLRLRRLRRRRLRRLLRRLRRRRRRRRLLRLLRRRRRRRRRRRRLLRRLLLLLLRRLLRLLLLRRLLLRLLRRLLLLLLLLRLRRLRRRRLLRLRLLRRRRLRLRLLLRRLRLLLRLLRRLLRRRRRRRLRRRLLLRRLRRRRRLLLLRLRLLLLRLLLRLLRRRLRRLRLRRLRRLLRLRLLRLLRLRLRRRLRRLLRLRRRLRLLRLLLLRRRLLLRLRRRLRLRRRRRRLRRLLRLRRLLRRRLLLLRRLRLLRLRLLLRRLRLRRLRLLRRRRLRRRRRRLRLRRRLLLRLRLLLRLRLRLRRLLLRRLLRRLLLLLLRRRRLRLRRRRRRLRLRLLRRLRRLRRRRRLRLRRLRRLLRLLLRRRLRRLRRLLLRLLRRRRLRLRLLLLLRLLLRRRRLRRRRRLLLLLRLLLLRLLLLRRRRRLRRRRRRRLRLLLRRRLLLLLLRLRRLLLRLLLRRRLRLRLLLRLRRLRLRRRLRLLRLRRLLLRLRRRRRRLRRLLLRLRRRRRLLRRLLRRLRRLRLLLLRLRLRLRLRLLLRLLRLLLLLLRRRRRLRRRRRRRRLLLRRLRLRRLLRRLRRRRLLRLLRLLLRLLRLLRLLLRRRLRRLLLRLRRRLLLRLRLRRRRRLRLLRLLRLLLRLLLRRRRLLLRRLRLLRRLRRRLRLRRRRRRLLRLRRLLLLRRLLRRLLRLRRLLRRLLLLRLLLRRRLRRLRLLLLRRLRRLRLRLRRRRLRLLLLLLLLRLLRRLRRRLLRRLLRRLLRRRRRLLRLLRRRLLRLRRLLLRRLLLRRRRLRLRLRRLRRRRLRLRLLRLRRRLLLRRRLRLRRLRLRLLLLLLRLLRLRRRRLLLRLLLLLRRLLRRRRRRRRRLRRLLLRRRLRRLLLLRLLRLRRRLRLRLRLRRRLRLRRLLLRRLLRRLLLLLRLLRRRLRLLRRRRLRRRRLRRRLRLRLLRRLRRRLLLLRLLRLLRRLRLLRRRRRRRRLRLLLRRLRLRRLLLRRLRLRRLRRLLRRLLLLLRRLRRLRRRRLRRLLRRLRRRRLRRLLLLLLRLRRLRRRLRLLRRLRLLLLLRRRLLRLRLRLLLRLRRRRLRRRLLRRLRLLRLRLRRLRLLRRLLRRLLRRRLLRLRRRLLLRLLRLRRRRRLLLRLLLRRLLRLLLRRLRRRRRLLLLRLRRRLLLLLLLRLRRRRLRRRLLLLRLLLRLRLRRRRLRLRRRLRLLLLLRLRLLLLLRLRLLLRRLRLLRLLRLRRRRLLLRRRLRRLLLLRRLRRLRRLLRRRLLRRLRRRLLRRRRLLRRLLRRLLLLRRRLLLLRLRLRLRRRLLLLRRRRRLRLRRRRLRLLLLLRLRLRLRLRRRRLLRRRLRRRLLLRRRRRRLLRRLLRRLRLLLLLLLLRRRRRLLLLLRLLRLLLRRRLRRRRRRLLLLLLRRLRLLRLLLLRRLRRLLLRRRRLRRRLLRRRLRLRLLRRLRLRRRLRLRLLLRRRRRRRRRLLLLLRRLRRLLLRLRRRLRLRLLRRRRLLRRRRLLRLLRLLLRLRRRRLRRRRRLRRRLLRLRRLRRRLRRLRRRRRLLLLRRRRLLLRLLRRRRRLLRLRLLRLRRLLRRLRLRRRLLRRRRLLRLRLRLLRRLLLLRRRRRLLRLRLRLLLLRRLLRRLLLRLRRLLLRRLLRRLLRLLRRLRRLRRLLLRRLRLRRRLRLLRLLLRLLLRRLLLRLRRRLRLRLLLRRRLRLLRRLRRLRRLLRLLRLRLRRLLRRRLLRRRRRLLRRLRLRRLLLLRRLRRLRRLRRRRRLLLRRRLLLRLLRLRRLLRRLLLRLLRLLLRLRLRLLRRRLRLRRLRLLRRLRLRLLLRLLLLRLRLLLLRLRRRLRLRLLLLRLRRRRLRRRLLLRLRLLRLLRRLRLLLRLRRLRRRRLRRLRRRLLLRRLRRLRRLLRLLRRRRLLLRRRRLLRRRLLRRLRRRLRLRLLRRRLRRRLLLRRLLLRLRLLRLLLLLLLRRLRLLLRRLRLLLRLRRLLRRRRRLLRRLRRLRLRRLLLRLRLLRLLLRLLRLLRLRLLRLLLLLLRRRRLLLLRRRRLLLLRLRRLLLRLLLRRRLRRRRLLLLLRLLLRLLRRLLLRRRLLRRLRRRRRRRRLRLRLRLLLLLLLLRRLLRRLLLRRLLRLRLRRRRLLLLRRLLRLLLRLLRLLRRRRLLLRRLRRLLLRLLRLRRRLRLRRRRLRRLRRRRRLLRRLLRRRRLRRLRLLLLRRRRRRRLLLLRRRRLRRLLRRRRLRRLLRRLLLRRRLRLLRRRRRLLLRLLRRLLRRLRLRLRLLLLLLRLRLLRLRLLRLRLLRLRRRLRRLLLRRLRLRLLLRLLLRRRLLRLLLRRRLRRLLLRRLRRRRRRRRLRRRRLRLLRRRLLLLLRRRLLLRLLLRLRRRLLLLLLRRLRRLRLLRLRLRLRLRLLRRLRRRRRLRLRRLRLLRRLLRLRRRRRLRRLRLRLRRRRRLRRRLRRLRRRLLRLRRLRLRRLLRRRRLLRRRLRRLRRRRRLLLLRRLRLRRRRRLRRLLRRRRRLLRRLLRRRRLLLRLLLRLLLRRLRLLRRRRLLRRLLLLLLLLRLLRLRLLLRRRLLRRRLLRLLLRLRRLLRRLRLLRLLLRRLLRRLRLRRRRLLRRRRLRRRRRRLRLLRRRRLRRLRLLRLLLLLRRRLRRRRLLRLRLLRRLLRLRLLLLRRRRRRRLLRLLLRLRLLLLRLRLLRLLLLLRLRRLLLRRLLLLLLLRRRLLLLRLRLLLRRLRRRRRRRRLLRLLLLRRLLLRRRLLLLLRLRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLRLRLRRRRRRLRRRRLLRLLRRRLLLLRLRLRLRRRRRLLRRLLRRRRRLLLRRLRLRRRRRRRLLLLLRRRRRLRRLRLLRLRLRLLRLLLLRRLLRRLLRLLLRLRRLLRRLLRRRRRRLLLRLRLLLLLLLRRRLRRLRRLLRLRLLRRRRRLRLRRRLRLRLRRLLLRRRLLLRLRLLLLRRLLRRRRLLRLRRRLRRRRLRLLLRRRRRRLLLLRLLLRRLRLLRRLRRLLLRRLLLLLRRLRLLLRLLLRLLRRRLRRRLLRRLRLRLRRRLLRRRRLRRRLLRRLLLLRRLLLRRRRRRLLLLRLRRLLLLRLLLLLLLRLRLLRRLLLLLLRRLRRLRRRRRLLLRLRLLLRLLLRLRLRLRLRLRLLLLRRRLLRLRRRLLRRRRRRLLRRRRLRRRLRLLRRLLLLRLRRLRRLLRLRRLRLRRRRLLRRLRRRRLLLRLLRRLRLRLRRLLLLRRLLLRLRRLRLRLRLLLLLLRRLRRLLLLLLRRLLLLRRRLRLRLLLLRLRRRRLRRLRRRLRRRLRLLRLLRLRLRRRRRRLLLLRRRLLRLLRLLRLRLLLLRRLRLLLRLRRLLLLRRLRLRLLRRRLRLLRRRLLLRLRRRLRLLLRLRLRLLRRLRRLLLLRRLLLLLLLRRRLLRRLRRRRRRLRLLRRLRRLRLLLLLLRLLLRLLRLLLLRRRRLRLRLRLLLRRLLLLLRRLLRRRLLRRRRRRLLRLLLRRRLLLLLLLLRLRLRRLRLRLRLLRLLRLRRRLLLLRRRRLRLRRLLRRRLRLLRLLLRLRLLRRRLRRRLRRLLRLLRLRRRRRLLLRLRLLLRRRRRRRLRLLLRRRRRLRLLRRLRLLRLRRRLLRRLLRLRLRRLRLLLRRRRLLRRLRRRRLRLRLRRLRRRRLRRRRRLRRRLRLRRRLLRLRLLLLLRLLRRRLRRLRLLLLLLLRLRLLRRLRLLLRRLLRRRRLRLLRLLLRLRRLRRRLRLLRRRLLLLRLRRRLLLRRRRRLLLRRRLLLLRLLLRLRRRRRLLLLRRRRLLLLRLRRLRLRLRLLRLLRLRLRLRRRLRLLLRLRRLRLLLLLLLRRLRLRLLLRRLLLRLLRLLRRLRRLLRLRRRLLLRRRLRRRRLRRLRLLRLRLRLLRRRLLLLRRLLLRLLRRLLLLLLRRLRRLRLRRRRRLRRRRLLRLRRRLLLLLLLRRLRLRLRLLLRLRLRLRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRLLRRLRLRLLRRLLRLLRRLRRRLLRLRLLLLRLRRRRLRLRLLLRRLLRRRLLLLRLRRRRRRRRLRRRLRRLLLRLRLLRLRLRRRLRLRLRLRRLLRRRRRLLRRLLLRLRRLLLRRRRRRRLLLRRRLRRRRRRLRRLLLLRLLRLLLLLLRLRLLLLRRRLLLRLLLRLLRRRLLRRLLLLRLLRLRLLLLLRRRRRRLRRLRRLRLLRRLLRRLLLLRRLLRRLRLRLRLRRLRLRRRRLRLLRRRLLRLRLLRLRLRRLRLRLRRLLRLRLLRLLLRRLRRLLRRLRLRRLLLRRLRRLLRLRRLRRLLRLLRLRRRLRLRLLLRLRRRRLRLLLLRLLRLLRLLLLLRLRRRRLRLRRRLRLLRLRLLRLLLRLRLLRRLLRRRLRLRRRLRLLRRRRRLRLRRRRRLLLRRLLLLLLLRLRLLLLLRRRRRLLRRLLRRRLLLRRLRLRLLLRLLRRLRLRLRLLLLLLRRLLLRLLRLLRRLLLRRLLLLRRLLLRLRLLLLRLLRRRRLLLLLLRRRRRLRLRRLRRRLRLRRRLLRRRLRLLLRRLLLRRRLLLLRRRRLLLLLLRRRLRRRRLRRLLLLRLRRLRRLLLLLLRRLLLLRLRRRLRLLRRRRRLLLLLRRRRRLLRRLLRRLRRLLRRRLLRRLRRRLLLLRRRLLRRRLRLLRRLLLRLLRRRRRLRRLRLLRLRLRRLRLLLLLLRLRRLLRRLRLRLRLLLRRLLLRRRRRRLLRRLRLRRLRRRRLLRRRRLRRLLLLRRRLLLLRLRRLRRLRRLLLRLRLLLLRRRLLRRLRRLLRLRLLRRLRLRRLLLRRLRRLRLLRLLRLRRRRRRRRLRRLRLLRLRLLLLLRLRRRRLRLRLRRRRRLRRLRLLRRLRRRLLLLRRLRLRLLRRRLRLLLLLRLRLRLRLLRLRRLRRLLRLLLRLLRLLLRLRLLRLRLRLLRRRRLLRRLRRLLLLRLRRLLLLLRLRRRLRRRLRLLLRRRRRLRRRRRLLRRLRLRRRLRRLRLRRLLLRRLRRRLLLRRRLRLLRLRRLLRLRLRLLRRRLRRLRLRLLLRLRLLLRLLRRRRLLLLLLLRRRLRLRRLRRLRLRRLRRRRLRLRLLRRLRRLLRLRRLLLRRRRLRRLLLLRRRLLLLLLLRLLRLRRLRLRLRLLLLLLLLRRLLLRLLRLLLLRRLRRLLRLLLLRRLLRRRLLLRRLRRLLRLLRLLLLRRLLRRRLRRLLRLLLLRLLLLLLRLLRLLLLRRLLLRRRLLRRRLLLLLLLRRLRRLRRLRLLRRLRRRRRLLRLRRLLLRRLLLLLLRLLRLLRLRRLLLRRRRLLLRRLRLLLLRRRRLRRRRRLRRLLLLLRRRRLLLRRRRRLRRRLRRLLLLLLRLLRLRRRRRRLRLLLRRLRRRLRRLRRRLRLRLRRLLLLRLLLRRRRLRLLLRLRLRRRRRLRLRRRRLRRLLLRLLRRRRLRLLRRLRRLLRRRLRRLRRRLLRLLLRLLRLLRRRRRRRRLLLRLLLRLLRRRRLRRLLLLRLRLLRRLLRLRLLRRLLLRRRRRLLRRLLLLRRRLLRRRLLRRRRLLLLRLRLRRLRLLRLRRLRLRRLRLRRLLRLLLRRLRRLLRLRRLRLRLRLRRRLLRRLRRLRRLLRRRRRRRLLRLLLLLLLRLRLRLRRLLRRLLRLRRRLLLLLLRLRRLRLLRRLLLLLLLRRRLLRLRRLRRLRLRRLRRRLLLLRLLLLLLRRRRLLLRLRRLRRLLRRLRLLRRRRRLRLLLLRLRLLRLRRLRLRRRRRLRLRRRLLRRLRRLRLLRLLRRLRLRRLRRRLRRRLLRRLLLLRLLRLRLRLLLRLRRRLLRLLRRRRRRRRLRRLRRLRRRRLRRRLRRRLRLLLLLLRLLRRRLRRLLLRLRLRLRRRLRLLRRRRLRRLRLRRLRRLRLLLRRRLLRRLRLRLLRRRLLLLRRRRRRRLRRRLLLRRLRLLRRRRLLLLRLLRRRLLLRLRRRRLLLLLLRLRLLLLLRLLRRLRRLLLLRRRRRLLLRLLLLRRLRRRRLLRRRLLRLRRLLLLLRRRLLLRRRRRLRLLRRLRRRLRLLRLLRRLRLRLLRRLLLLRRRLLLRRRRLRLRLLLRLRRLLLRLRLLRRLLRRRLRRLRLRRRLRLLRRRLRRRLRRLLLRLRLRRLRRRRRRLRLRLLLLRRLRLLLRLRRLLLRLLLLRLLLRLRRLRLLLRRLLRRLRRLRRLRLRLRLLRRRLRRRRRLRLLLLLRLRLRLRRRRLLRLLRRLRLRLRRLRRLRRLLRLRLRRLRLRLRLRLLRRRLRLLRRLRRLRRLRLRLRRLLRRLRRLRRRRRLRRRRLRRLRRRRRRRRRRRRRRLRLLLRLRRLLRRRLRRRRLLLLLLLLRLRLLRRLLRRRRLRRLRRLRLLRRLRRLLLRLRLLRLRLLLRLLRLLLLLLRRRRLRLLRRLLRRLLLRLLLLLRLLRRLLRLRLRRLRLRRRRRLRLRRLRRRLLLRRRRLLLRRLRLLRRRRLRRRRRLRLLLLLRLLRLLLLLRLLRRLRRRRLLRRRRLRRRRRLLLLRLLRLRRRRLLLLLRLLRRRLLLRLRLLRLLRRLRLRRLLLRRLLLRRLLRRLRRRLRRLLRRRLRRRLLRLLLRRRRLLRLLRRRRLLRRLRRLRLLLRRLRRRRLLRLRRLLRLRLRRRRRLLRRLRLRLRRRRLLRRLRLLRLLRLLRLLLRLLLLRLLLLLLLLRLRRLRRLLLLLLLRRLRLRLLRRLRLLLRLLRLRRLRRLRRRRLLLRRLLLLRRRRRLRLLRRLLLRLRRRRRRRRRRRRRRRLRRLRRLLRLLLLRRRRRRRRRRLRLLRRRRRRLRLRRLRRLRRLLRLRRRLRLLLLRLRLRLLLLLLLRRLLLRRRRLLLLLRLRLRRLRLLRLLRRRLLLRRLRRLLLLRLRRLRRRRLLRRRRLLLLLLRRLRRLRLRRLRRRLLLRRLLLLLLLLRLLRRLLLRRLRRLRRLRLRLRLLRLLLRRRLRLRRLLLRRRLLRRRRLRLRLRLLRLLRRRLRLLLLRRRRLRRRLRRLLRLRLLRLLLRLRRRLRLRLLRRRLRRLRRLRLLLRRLLLLRLRRRRRRRLRLLRRRLRRLRRRRLRRRRRLLRRLRRRRLLLRLLLLLRRRLLLLRRRLLRRRLLLLLLRRLRLLLRRRLLLLRLRLLRRRLLRLRLLLLRRRLLLRRRLLLRLLRRLLLLLLRRRRLRRLLLLRRLLLRRRRLRRRRLLRRLRRRLRLRRLRRRRRRLRLLLLRLRLRLLLRRLRRRLLLLRLRRRLLLLLRRLLLLRLLRLLLRLRRRLRLLRRLLRRRRLRRRLLLRLLRLLRRRRRRLLLLLLRRRRRLRRLLRLLRLLLRRLLLLRLRRLRLLRLRRRRLLLLLLLLRRRLLLLRLRLRLLLLRLLLRRLRRLRLRRRRLRLLLLRLLLLLRRRLLRRRLLLRRLLLLRLLRLLRLLLRLRRRLRLLRRRRRRLLLRLRRLRRLLLLLLRRLLRRRLRRRLLRRRRRLRLRRRLRLLRRRRRRRLRLRLRRLLRLLLLLRLLLLLLLLRLRLLLRLLRLRRRLLRRLRLLRLLLRLRLLLLLLRRLLRLRRRRRRLRRRLLLRRRRRRRLLLLRLLLLRLRLRRLRLRRLLRRRRRRLLRRLRRLLRLRRLLLRLLRLLRLRLRRRRLLRLLRRLRRRRLRLRLRLRRLLLLLRRRLLRLRLLRRLRLRLLLRRLLLLLLLRLLRLRRRRLLRLRLLRLLRLRLRLLLLLLRLRLRLLRLRRRRLLRLRLRRRLLRLRLRRLLRLLRRRLRLLLLLRLLRLLRRRLRRLRLLRLLRLLLLRLLRLLRRLLLRLLRRLRRLRRRRLLLRRLRRRRRRLLRLRRRLRLRRRRRLRRLLLRLRRLLRRLLLRLRRRLRLRRRLLLRRLLRLRLRLRRRLRRRLRRRRRRRRRRLRLRLRLLLLLRLRLLRRLLRLLLRRRLRLLLRLRRRRLRRLRRLLRRRLRLRLRRLRRLRRLRLRRLLLLRRLRRRLRLLRLRRLRLRLLLLRRRLRLLRLRLRRLRRRRRLRRRRRLLLLRLRRRLRLLRLRRLRRLRRRLRRRRLLLLLRRLLLRLLRLRRLLLLLRRRRRLRLRLLRRLLRRRRRRLLRRLLLRLLRLRLLLRRRRRRLRRLRLRLRRLRLRRRLRRLLRLRRLLLRLRLRLRRRLRRRLLRRLLLRRRRRRRLLRRRRRRRRLLLRLRLRRLLLRLRRRRLLRLLRLRLRLLRRLRRLLRLRLRRRLLRLRRRLLLLLLRRRLRRRRLLRRLLLLLRLLLRLLRRLLLLLRRRLRRRRLLLLRRLRLRLLLRRRLLLLRLLLRRLRRLRLLLRRLLLLLLLLLRRRLRLRLLLLRRLLRLLLLLRRLRRRLLRLLLLRRLRLLLRRLLRRLLRRRLLRRRLRLLRLRLRRLLRRRRLLLRRLLRLRRRLRRRRRRLLRRRLRLLLLRLRRRRLLRRRLRLRRRRLRLRLLLRLLLLRRRRRLLLRLLLLLRRLLRRLLRRLRLRRRRLLRLRRLLLLRLRLLRLLRRLRLRLRRRRRLRLRRLRRRRLLRLLLRLLRLLRLRRRRLRRRLLRRRRRRRRLLLRLRRRLRRRLLLRRRLRLLRRLRLLRRLRRLRLLRLLLRRLRRLRLRLRRRRLRRRLRLLLLLLLLLRLLRRLRRRRLRRLLRLLRLLRLRRLRLLRLRRRRLRLRRRLRLLRLRLLRLRRRLLRLRLLRLLRLRRLRLRRRRRLRLRLRRLRRLRLLLLRLLLLRLLLLLLRLLLRRLLLRRLRLRRLRRLLRLLLLRRLLRRLRRRRLLRRRLLLLRRRRRRLLLLRLRLRRLRLLRRLLLLLLLLRLLRRLRLLLLRLLRRLLLRLRRRLRLLRRLRLLLRRLRRLRRLRLRRRLRLLRRRRLRLLLLLRRRLLRRLLRRRLLRRRRRLRRRRRRLLLLLRRRLLLLLRRLLLLRLRLRRLRRLLLLRRRRRLRLRRRRLRLLLLLLRRLRLLLRRRRLRLRRLRRLRRLRRRRRRLLRLLRLLLLLLLLLLRLLRRRRLLLRRLRLRLRLRRRLRRRRRLLLLLLLRRLRLLRRLLLLRLRLRLLRLLRLRRLRLRRRLRRRRLRRLRLRLRLLLRRLLRRLRRLRRRLLLLLRRLRLLLLRLLRLRRLLLLRRRLLLRRLRRRRLLRLLLRRRRRRLRRRRRLLRRLLRLRRRRLRRRLLRRRRRLLRRRRRRLLLRLRRRLLRLLRRLLRRRLRLLRLLLLRRRLLRLRLLRRLRLRLRRLLLLRRRRRLRRRLRLRLRLLRLRRRRRLLRLRRLLLRRLRLRLRRLLRRLRLLRRRRLRRLLLRRLLRLRRRLLLLLRRRLLLRLRRRLRLRLRLLRRLRRLRRRRRLRLLLRLLRLRLRLLRRRLLLLLRRLRRLRLLLRRLLLLLRLRRLLRLRLRRRLLLRRRRLRRLRRLRRLRLLLLLRLRRLRRLLRRRLRLRRLRRRRLRLLRLLRRLLLRRRLLRRLRLRLRLRRRRLRLLLLLLRLLRRRRRRRRLRRRLLLLLLRRRRLLLRRLRLRRRRLRRRRRRLRLRRRRLLRLLLRRRRRRLLRLRRRLLLRLRLLLLRRRRLLLRLLRRRLRRRLLLRRLRLRLRRLRLLLRLLLRRLRLRLRRLRLLRLLRLLLRRRRLLLRRLRRRRLRLLLRRLRRRLLLRRLRRLLRLRRLRLLLLLLRRLRLLLLRRRRRLLRLLRRLRLRLLRRLLLRRRLLLRLRLLLLRLLRRLLLRRRLLRRLRLRLRRLLLLLRRRLLLLLLLLRLLRRRLLLLRLLRLRLRRRRRLLLLRRLRLRRRLLRLLRRRRLLLRRRRLLLLRLLRLRRRLRLRLLRLRRRLLRRLLLLRLLRLRLRLLLLRLLLRLLRLLRLLLLRLRRRLLLRLRLRLRRRRRRRLLLLLRRLLRRRLRLLLRLLLRLLRRLLRLRRRRLRLLLLRLRLLRLLRRRLLRLRLRLRRRLLLRRLLLLLLRLLRRLLLRLLRLRRRLLRLLLRRLLRRRRRLRLRRRLLLRRRLRLRLRLRRRLLLLRLLRLLRRLLLLLLRRLLRLLLLLLRLRRLLRLLRLLRRRRLLRLRRLRLLLRRLRRLLRRRLRLLRLRLRRLRRLRLRRRLLRRRLLRLRRLRLRLRRRRLRLLRRRLRLLRRLRRLRLRRRLRLRRLRRLLLLRLRRRRLLRRRLLRRRLLRRRLLLLLLRRLLRLRLLRRLRRLRLLLLLLRLLLLRRRRRLRRLLRRLLRLLLRRRRRRRRRRLRRLLLLLLLRLRRRRRRRLLLRLRLLLRRRRLLLLRRRRLRRRRRRRLLLRLRRRLRRRRLLLLRLLRRLLLRRLLLRRLRRRRRLLRLLLRLLLRLLRRRLLLLLLLLRLRRLLLRRLLLLLLRRRRLLLRRLLLLRLRRLRRRRRRLLLRLLLLRRLLLRRRLRLLLLLRRLLRRRLLLLLRLLRRLRRLLLLRRRLRLRLRLLLRRRLLRRRRLLRRRRRRRRLLLLRLRRRLRRRLLRRLLRLRRRLLLRRRRLLRRRLLLLLLLLRRRRRLLRRLLLRLRLRRLRLLLLRRRLRRLLLLLLRLRLLLRRLLRRRRRRLLLLLRLRLLLLLRRRLRRLLRRRLLRLLRRRRLLRLRRRLRLRRRRLRLRRRLLLLLRLRLRRLLLLLRRLLRLRLRRRLRLLRLLLLRRLLRRLRLRLLLRRLRRLRRRRRRLLLRLRLLLRRLRRLRLLLRRLRRLRLRRRLLRRLRRRLRRLRLRLLRRRRLLLRRRRLLLRLLLRRLRLRRLLLLLRLLLLLRRLLLLLLRLRLLLLLLLRLLLRLLRLLLRRRRLLRRRLLLLLLRRLRRRLLLRLRLLLLRRRLLRLRLRLRRRRRRRRRLRRRRRRRLLLRRRRLLRRLRRRRRLLLLRRLRLRRRRRLRRLRRRRLRLLLRLRLRLRLRRRLLLRRLLLRLRRRRLRLRLRRLLLRRLRLRLLRLLRRRRLRRLLLLRLLLRLRRRRRRRRRLRLRLRRLLRLLRLRLLLLRRRLLRLLRLRRRLLLLLLLRRRRLLRLRRRRLLLRRRRLLRLRRLRLRLLRLRLLLLLRRRLRRLRRLLRLRLRLRRRLLRLLRRLRLRRRLLLLLLLLRRRLRRRRLRRRLLRLLRLLRRLRLLLLLLLLRRRLLRLLLLRLRRRRLLLRLLLRRLLLLLLRRLRRRRLRRRRRRRRRLLLRRRLLLLRLLRLLRLLLLRLRRRLLLLRLRRRRLLLRLRRRLRLLRLLRRRLRLLRLLLRLRRLRLLRLRLLLRLLRLLRLRLRRLLLLRLLRLLRLLRRRRRLRLLRRRRRLRRLRLLRLLRRLRLRLLRLLRLRLRRLRLLLLRLRLLRRLRRLRLLLRLLLLLRRRLRRRRRLLLRLRLRRRRLRLLLLRRLRLLRRRLRRLRLLLLRLLRLRLLLRLRLLLRRRLRRRRLRRRRLRRRRLRLLRRLRRLLRRLLLRRLRLLLLRLRLRRRRLRRRLRRRRLLLRLLRRLLLLLLRRRLLLRLRLRRRRLRRRRLRLLRRRRRRRRRLLRLLRLLLRRRLLLLRLRRRLLRLLLRLRLLRLLRRLLLLLRRRRLRRRLLLRRRLRRRRLRRRRLLLLRLLRLRRRRLLLRRLRLLLLRRRLRRRRRLRLRLRLRRLRRLRRRRRRRLRLRLLLRLRLRRLLLRRLLLRRLLLRLRRRRRLRRRLLRLRLLRLLLLLRRRLRRLRRLRLRRLRRLLRRRLRLRRRRRRRRRLRLRLRRRRRLRRLLRRRRRRLLRLRRLRRLRLRRLLRRRLLRRRRLLRLLLRRRLRLLLLRLRRRLLRRLLLRLRRRRRRRLRLRLLRLLRLLRRRRRRLLRRLRRLRRLLRLRLRLRLRRRRLRLLLRRRRLLLRRRRRRRLRLRLRLLLLLRRRRLRLLRLRRLRLRRLLLLLLRRLLLRRLLRLLLRLRRRRRLRRLLRLLRLLRRRLLLRLLRRLLLRRLLRLRLRRLLLRLLLRLLLLLRRRLRLRLLRRRRLRRRRRLRLRRRLLRLLRRLRLLRRLRRLRLRRRRRLLRLRRLLRRRRRRRRLLRRLRRRLRLRLRLLLLLLLLLLRLRLRLLLRRLLRRRLRRLRRRRLRRRLLRLLLRRRLLRRLRRRRRRRLLLRRRLRLLLLLLRLLRRRLRRRRLLLLRRRRRRLRLLLLLLLRRRRRRLRLRLRRLLRRRLLRLLRRRLRRRRLLLLRRRRRLRLLLRLRRLRLRRRLRLLLRRRRLLRLRLLRLRLLLLLRRRLLRRLRLRLLRLLLRLLLRRRRRLRRRLRRLLLRRRRRRRLLLLLRLLLRRLRLLRRLRRRRRRRRLRRRLRRLLRRRRRLRLRLRRLLRLRLLRRRLRRRRRRLLRLLLLRLRRLRLRRRRRRRLLRLRLLRRRRRRRRRLLLLRLLRLRRRRLRRLLRLRRRLLRLRLLLRLLLRLLLLLRLLRLLLRLRRLRLLRRRRRLLRRLRLLLRLLRLLRRRLLLLLLLRRLRLRRRLRLRRRRRRRLRRLLLLLLRRRLRRRRLLRLLLRRRRLRLLRLLRRLLRRLLLLRRRLRRRLLLRLLLRLLLRLRRLRRLRLRRRLRRRLRLRLLRRLRRRRLRLLLLRLRRLLRLRLLLRLRRRRRLLRRRLRLLLLLLLRLLLLLLLLRRLLLRLRRRRRRLRLLRRRRLLRLRRRRRLRLRRRLRLLLLRLRLLLLRRRRLLLLRRRLRRRLLLRRRRLRLLLRRLRRLLLRLLLLRLRLLRLLLRLLRLLRLLLLRLLLLLRRLLLRRRRLLLRLLRRLLLLRLRLRLLLRLRRLRLRLRRRLRRRLRRRRRRRLLRRLRLRRRLLLLRRRLLLLLRRRRRRRLRRRRLLLLLRRLRLRRLLLLLRRRLLLLRRRRLLRLRRLRRRRRRLRRRRLRLLLRLRRRLRLRLLLRLLRRLRRLLRLRRRRRLRRRLRLLRRLRRRRLRLLRRLRRLRLRRLRLRRLRRLLLLLRRLRLLRRLRRRLRRLLRRLLLLRLRRRLLRRLRRRRLRRRRLLRRRRLRRRLLRRLLLLLLRLLLLRRLRLLLLRLRLLRLLRRLLRLRRRLLRLRRLLRLLLRRRRLLRLLRLLLRLLLLLRRRRRRLLLRRLRLLRRLLLLRLRLRRRRRRLRLLRRRRLRRLRLLLLRLRLLLLRLRRRLRLLRRRLLLRLRLRLRLRRRLLRLRLLRRLLLLLLLLLRLLRRLRRLRLRLRLLRRRLLRRRLRLLLLLLLRRRLLLLLRRRRLRLLLRLLLRRRRRRRRLLRLLRRLLLRRRLRRLLLRRLLRLRLRRRLRLLRRLLLLRLLRLRRRRLRLLRRRRRLLRLRLLLRRRLLRRRLLLRRLRLLLRLLLLLRLLRLLRRRLRLLLRRRLRRLLLRRLLRRLRRRRLLLLLRRLLRLRLLLRRLLLLLRLRRLLLLRRRLLLRLLRLRLLRRRRRLRLRRLLLLLRLRRLLLLLLLRRRLRRRRLLRLRRRRLRLLRRLRLLRLLRLRLLRRLRRLLLRLLLLLRLLRRRRLRLRLRLLRLRRRRRLLLLLLLRRLRRLRLRRLLLRRLRLRRLLLRRLLLLRRLLLLLLRLLRLRRLRRRRLLRRLLLLLRRRLLLLLRRLLRRLRRRRRLLLRLRRLLLRLRRLLRRLRLLLRLLRLLLLLLLLLRLRLRLLLLLRRRRLRRLLLLRLLRRRRRRLRLLRLRRRRLRLRLLLLLRLLRRRLLRLLRLRLLRLRLRLLRRLLLRRLRRRRRRRLLRLRRLLLRLRLRLLRRRRLLRRRRLRRLRRLRLLRLLLRRLLRRRLLLLRRRRRLRLRLLRRLRRLLLRLLRRRLLRLLRRLLRRLRRRLLRRRRLRLLRLRLRRLLLRRLRRLRLRRLLLLRLLLLLLRRLLRRLRLLRLLLLLRLLRRLLRRLRRRLRLLRRRRRRLLLRRRRRRLLRLRLRRLRRRLRLLRLRRRRLLLLLRLRLLRLRRLLRLLRLLRRRLRRRRRLRRRRLLRLRRRLRLLRLLLLLLRRRRLRRLLRRLRLLRRRRRRRRLRLLRRLRLRRRLLLRLRRRLLRRLRRRRRRRRLRLRLRRLRLRRLLLRLRRRLLRRRLRRRLLRRLLLLRLRRRRLRLLLLLRRRLLRLLRLLLRLRRLRRLRRLLRLRLRLRLLRRLRRRRLLLRLLRRRLRRLLRRLRLRRRRRLLRLRRLRRRRRRRRRLLRLLLLRRLLLLRLLLLRLLRRLLLRRRLRRRRLLRRRLRLRRLRLLRRRRLLLRRLLRRRLLRRLLRRRLLLRLLRRRRLLLLRLLRLLRRLRRLLRLLRRRLRRLLLLRLLRRRLLRRRLLLLLLLLLLLRRRLLRLRRRRLRLLRRRRRLLRLLRRRRLLRLRLLLRLLLLLRRLLLRRRRLRLRLRLRLRRLRLRRRLLRRLLRRLLRRLRLRLLLRLLLRRLRLRLRRRRLRLRLLLLRRRRRLRRLLLLRRRRRRLLLRLRLRLLRLLLLLLLLRLRLLRLLLRRLRRLLRRRRRRLRRLRLLLRRLLRRLRRRLLRLLRLRLRLLRRRLLRLLRRLRLRLLRLRRRRRRLRLRRRRLLLRLLLRRLRLRLRRLRRLRRLRRRRRRLRRLRRRLRRLRLLRRLLLRRRLRLRLLRRRRRRRRLRLLRRLLRLRLRLRLRLRLRRLRLLLLRLLLRRLRRLLRRRRLRRLRLLRLLRRLRRLRLRLLRLRLLLLRRLLRLLLLLLRRLRRRLLRLRLRRLRLRLRRLLRLLRRLLRLRRRRLRLRRRRLLRRRLLRRRLLRRLRRLLLRLLRLLRLRRLRRLRRLRLLLLLRLRRRRRLLLLLLRLRLRRLLRRRRRRLLRRRLLLRLRRRLRRLLLLLLRLLRRRLLLRLRLRRLRLRRRLRLLRLRRRRLRRRRLRRRRRLRRLLLRLLRLRLLLLLLRRLRLLRLLRLRRLRRRLRRLLLLLRRLLLRRRLRLRRLLRLRLRRLLRLRLRLRRRRRRLLLRRLLLLRRLLRRLRLRLRRLLLRLLRRLLLLRLRRLRRLLLLLLLLRLRLRLRLLLRLRLRLLRLLRLRRRLRLRLRLRLLRLLLRRLRLRRRRRLRRRLRRRRLRRRRRRRLLRRRRLRRLLRLLLLRLRRRRRRRLRRLRRLRRRRLLLLRLRLLLRRLRLLLRLLLLRLRLRLRLLLLLLLLRLRRRRRRRRRLLRLLRRRRLLLRLLRLRLRLLRLRRRLLLLLLRRRRLLLLLRRLLLRLLRLRRRRLRRRLRRRRLLLLRLLLLLLLLRLLRRRLLRRRRRLRRLRLRLRLLRLLLRLRRRLRRLLLLRRLLRRRLLRLRLRLLRLLRRRLRLLLRRLLRLRRRLRLLLRLRLRRLLLRLRRLLLRRRRLLRRRRLRRLLLLLRRRLLLRLRRRRLRRLRLLLLRLRRLRRRRRRLLRLLLLRRRLRRRLLRLLLLRRRRLLLLLLLLRRRRRRLLLLRRLRLLLRRRLLLRLRRLRRRRLLRLRLLLRRLRRRLRRLLLLLRRRRRLLLLLRRRRLRLLLLLRRLRLLRRRLRLRLRLRLLLLRRRRRRLRRRRLLLRLRLLRLRRLLLLRRLRRRLLLLRLLRRLLLLLLLLLRLRLLRLRLRLRRLLRLLLRLRRLRLRRLRLLRRLLLLLRRLRLRLLLLLLLLRRRLRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLLLRLRRRRLLRRRLRRRLLRRRLLLRLLRLRRLRRRRLRRRLLRLLLLLRRRRLRRLRRRLLRLLLRLLRLLRLLLLLRRRLRLRRLRRRLLLLRLRRLRRRLLLRRRRRRRRLRLRRRRLRRRRLLLRRRLRLRLRRRRRRLRRRRRRRLRLLRRLRRLLRLLRLRLRLLRLLLRRRRRLLLRRRRRLLLLLRRLRLLLRRRRLRRLRRLRRRRLRLRRRRRRRRRLRLRRRLLRRRRLRLLRRRLLLLRRRRRLRRRRRRLLRLLRLLLRLLRLLLLLLRLLRRRRLLRRLLRRRLRLRLRRRRRRLRLRRRLLLLRLRRLLRRRRLLRRRLLLRLLLLLRLRLLRLRRLRLLRLLRLRLRLLLLLLLLRLRLLRLRRRRLLLLRRRRRLLRLLLRLLLRLLRRLLLRRLLLRLRLLLRRLLLLRRRLLLLRLLLRRRLLLLLRLLLLLLRRLRRRLRRRLRLRRLRRRRRRRLRLRRRLLLRLRRRLRRLLLRRLLRLRRLLLRRRLRLRRRRLLRLLLLLRLRLLLRRLLLRLLLRRRRRRRLRLRLLLRLRLLLLRRLLLRLLRLLLLRRLRLLLRLLRRRLLLLRRLLLRLLRLRLRRLLRLRLRRLRLRLLLRRLRRRLRLLRLLRRRLRLLLLRLRLRLRRLRLRRRRRRRLLRRLRRLLLRRLRRRRLRLRLRLLLLRRRRLRRRRLLLLLLLLLLRLLLRRRLLRLLRRLRRLRLRRRRRLLRRRRRRLRLRLLLLLLRLRLLLRLLLRRLRRLRLRLRLLRLRRRLRRRLLLRRLLLRLRLRRRRRLRRRLLLRLRLRRRRRLRRLRRRRRLLRLLLLLRLRRLRLRLRLRRLRLRLRLRLRLRRRRRRLLRLLRRLRRLRRRRRLLLLRLRRRLLRRRRLRRLLLLLRLLRRLLLRLRLLLRRRLRRRRLLLLLRLRLRRLLRRRRLRRLLLLRRRRRRRLRLLLRLLLLRRLLLLRLRRRRLRRRLRLLLLRLLLRLLRLLLRLLRLRRRRLLRRRLLRRLLRLRRLRRRLRRLRRRLRRRLRRLRLLRLRRRRLRRRRRRRRRRLLRLRLLRLLLRLLRRRLRLRRRRLRLRRLRLRRLRRLLRLRLLLRLRLRRRLRRRRRLRLLLLRLRLRLRRLLRLRRLLLRRLRRRLRLRLLLLRLRRRRLRRRLRLRRLLLLRLRRRLLRLLRLRRLRRRLLLLRRLRRRLRRLLLLRLRLRLRLLRRRRRRLLLRLRLLRLLLRLRLLRLRLRRRLRLRRRRLRRLRLLRLLLRLLLRLLLRLRLRLRLLLRRRLLLLLRLLRRRRRRRLRLRRLRLRLRRLLRLLRLRLLRRRRLLLRLRLLRRLLLRLLRLLRRRRLLLRLRLRRRLLRLLLRLLLLRLLLLLLRLLLRLLLLRRLLLLRLLLLLRLLLLLRLLLRLRRRRLLRRLLLLLLRLLRRLLLRRLRLRRLLLLRRRLLRLLLRRLLRRLRLLLLRLLRLLLLRLRRRRRRLRRLRLLLRLLRRLLRLRLRRRLRLLRRRRLRLLLLLLRRLLRRLRLLRRLRRRRLLRRLLRRLRLLRRRLLRRLLLRLRRLRLRRRRLLRLLLRRRLLRLRRRLLLRLLRLLLLRLRLLLRLRRRLRLLLLLRLRRRRLLRRLLLRLLRLLLLLLLRLLRLLLRLRRLLRRLRRRLRLRRRRLRRRLLLLLLRLRRLRRLLRLRLLRLLLRLLRLLRLRLLRRRRRRLRRRLLRLRLRLRLLRLRRLRRLRLLLRRRLRLLRRLLLLLRRLLLLRRLLRLRRRLLRLRLRRRRLLRLRRLRRRRRLRRLLLLLRLLRLRRRRRLRRRLRLRRLLLLRRLRRRRLRLLRLRLLRRLRRLLRLRLRRLRLRLRLRLLLLLRLRRRRRRRRRRLLRRRRLRRLRRLLLLLRRRLRLRRLLRLLRRLLLLLRRLRLRLRRLRLRLLLLRRRRLRLLLLLRLLLLRLRLLLRLRLLLLRRLRLRLRLRRRLLRLRRRRRRRRLLLLRLRLLRLRLRLLRRRLRLLLRRLRRLLLLLRRLRRLLLLLRLLRLLLRRRLLLLRRRRRLLRRRLLLRLLRLLRLRLLRRLLRRRLRLRLLRRRRLLRLLLRRRLLRRRRLRRRLLLRRRLRLRLLLLLLLRLRLLLLRRRLLRLRRRLLRLRLLLRRLLLLRLRRLRRRLRLRRRLRRLLRRRLLLLLRRRRLLRLLRRLRLLLLRLRRRLLRLRRLLRLLLLLLLRRLRRLRRRRLLRRRRLLRLRRRRLLLLRRLLRRLRRRLRLLLLLLRRLRRRRRRRRLLRLLRRLLLRRLRRRRLRRLLLLRRRLRLRLLRRRLLRLLLRRRLRRRRLRRRLRLRLLRRLLRRRRLRRRLRLLLRRLLRRRLLRLLLLRLLRLLLLRLLRLRLRRLLLLLLRRRLRRRRLLLLRLRRLRLLRRRRLLLLRRRLLRRLLLRLLLRLRRLLRLRRLRLLRLLLLRRRLLRLLLRLRRRLLRLLLLLLRLLLRLRLLLLRRLRLLLRLLRLLLLRLLRRLLLRLRLRLRRRRRLRLLLLLRRLRRRLLRRLRRRRLRLLRRRLRLRRRRLRLLLLRLRLLRLLRRRRLLRLLLLRRRLLLLRLRLRRRLRRRRLLRRLRRLRRRLLRLLLRRRLRRLRRLRLRLLLLLRRRLRRRRRLRRLLLRLRRLLRLRRRRRLLLLRLLRRLRLLLRLRRLLRLLLLLRRRRLLRRRRLLRLLRRLRRLLRRLLRLRRRLLRLLLLLRLLRRLLLRRLRLRLLLLRRLRRRLLLLRRRLLRLLRRLLRLRLRLRLRLRLLRRLLLLRLRLRLLRLLRLLRRRLLRLRRRLLLLRLLLRLRLLRRLRRLRRLLLLLLLLLLRRRRRLRRLLRRLLRRLRRRRRRRLLRLLRRLLLLLRRRLRRRRRRLRLLRLRLLLRRLLLLRLLLRRLLRRLRRRLLLRRRLRLRRRRRRLLRLRRRRLLRRLRRRLLLRRRRLRRRLRLRLLRRLRRRLLLLLLLRRLRRLLLRRLLLLLLRRRLLRLRLRLLLRLLRLRRRLRRLLLLLLRRRRLRLRRRLRLRLLLRLRLRRRLRLLRRLLRLLRLLLLRLRRLLLRRLLLLLLRLLRRRRRRRRRRRRRRLLLLRRRRRLRRLLLRLLLRLRRRLLLLRRLLLRRRLLLRLLRRLRRLLLLRRLLLRLRLRRRLLRRLRRRRRRLRLLLLLRRLLRRLLLRRRRLRLLLLLRLRRLLRLLRRLRRRLRRRLLRRLLRRRLLLLRLLLLLRRRRLRLRRLRLRLRRLRLRLLLRLLLRLLRLLLRRLLRLRLLLRLRLLLRRLRLRLLLRRLRRLRRRRRRLLLLRRLLLLRRRRLRLRRRLRRRLLRLRRRLRLLLRRRLRLRLLLLLRRRLLLLRRRLLLRLLLLRLLLRRLLRLLRLRLLLRRLLLLLLRRLLLLLLLLRLRLRRLRRLLLLRRLLLRLLLLLLRRRLRRLLLRLLRLLLLRRRRRRLRLLLRLRRRRRRRLRRRRLRLRLLRRRRLRRRRRLRRRRLLLRLRRRRRRLRLRLRLRLRLRRLRRLRLRRLRRLRRLRRRLLRLLLRRRLRLLRRRRLLLRRRLRLLRLRRRRRLRLLLLLRLRLRLRRRRRRRRRRRLRLRLLLLRLRLRLRLRRRRLLRLRRLLRRLLLLLLLRLRRLRRLLLRLLRLLRLLLRRLLRRLLRRRRLRLLLRLLLRLRRLRLLRRLRLRLRRRLLRLRRRLRRRRRLLLLRLLLRLRLRRRRLLRRLLRLRRLLRRRRRLLLLLLRRRRRLRLLRLRLLRRLLLLLLLLLLLLLLLLRRRRRRRLLLLLRLRRLLRRRRRLLRRRRLRLLRLLLLRLRRRLRLRRLRLRRLLLRLRLRRLLLRLRRLRRRLRRLLLRLRRLRLLRLLLRLRRRRLRLLRLRRLRLLRRLRLLRLLLLRRRLRLLRRRRRLRRLLLRLLLRRLRLRRLLRRLLRLRLLRLLRLRLRLLRRRRLLRLLLLLLLLLLRLRRLLLRLLLRRRRLRRRRRRLLLRRLRLRRRLLRRLRRLLRRLLRRRLRLRLLRRLLRRRRRRLLLRRRLRRLRLLLLLRRRRLLRRLRLRRLLLLLLRLRLRLRRLRLRLRRRRLLLLLLRRLLLRLRRRRLLLRLRLRRRRLLRRRRRRLLRLRRRLRRLLRLLRLLLRRRRLLLRLRRRLRRRLLRLRLLRRRRRLLLRLLRRLRRRRLLRRRRLRLRRLRRRLRRLLLLLRLRRRRRLLLLRRLLRRRLRLRRRRRLRLLRRLRRLRLLRLRRRRLLRLRLRLRLRLLLLLLRRLLLRRLLLRRRRRRRLLLRRLRLRLLLLLRLRLLRLLLLLRRRLRRLRLLLRRRLLLRLLRRRRLRLRLRLRRRRRLRLLLRLRLLRLLRLLLRRRLRLRRRRRLRLLRRRLLLRLRLRLRLRLRLLLRRLRLRRRLLRLLRRRRRRRLRLRLLLRLLLRRLLRLRLLRRLRLLRRLRRLRRRLRLRRRRRLRLLRRRLLLLRRRRRLRLLLRLRLLRLRRRRRLRLLRLRRLLRRRLLLRLLLRLLLLRLLRLLRLLRRRRRRRRLLRLRRLRRLRLLLRLLRLLRRRLLLLLRLRRLRLLLLLRLLLLLRRRLRLRLRRRRRLRRLRRRRRLRRRLRLRRRLLLLRRLRRLRRRRRLLLLRRLLRRRRRRLLRRLLRLLLRLLRLRLRLLRLLLRLRLLLRLRRLLRLLLRRRLRLLRRRRLRRRLLRRLRLRLLLLLLLRRRRRLLLRRRRRRRRLLLLRLLRRRLRRLRLRLRRLRLRRLRLLLLLLLLRRRRRLRLRRLRRLRRLLRRLLRRRLRLLLLLRLLRLRRLRLLRRLRRLRLRLRLRLLLLLLRLLRRRLLRRLRLRLLRLRLRRRLLLLLLLLLLRLRLRRRLRLRRRLRRLLLRRRLRRRRLLLRRLLLRLLRLLRLLRRRRLRLLLRRRLRRLRRRRRRLRLRRRLLLLLRLLRRLLRLRRRRLRLLLLRLLRRRRRRRLRRRLRLRLRLLRLRLLRRRLLLRLRRLRLRRRRLLRLLRLRRRLLRLRLLRRRLLRLLRLLRRRRLLRRLRRLRLRRRRRRLLRRLRLRLRRLRRLRLRRRRLLLRLLLRLRRLLRLRRRLLRLLLRRLLLRRRRRLRRRLLLRLLLRRRRLRLLRRLRRRLRRRLLRRRRLRRRLLLRLLLRLLLRRRRLLLRRLRRRLRLRLRLRRRRRRRLLLLRLRRRRRRRRRRLRLLRLLRRLLRLLLRRLLLLLRLLLLLLRLLLRLRLLLLRLRLRLRRRRLLRLRRLLRLLRRRLRRRRRRLRRLRLRRRRRRRRLLRLLRLRLRRLRRLRLRRRLLLLRLLRLRRLLLRLLRRRLRLLLLLLLLLRRLRLRLLRLRLLLLRRLRRRRRLRRLLRRLLLLLRLRRRLLLLRRRLRRRLRRRLRLRRRRRRRLRRLRRRRLRRRLRRLRLRLLLRLRRRRRRRLLLRRLLLLLRRLRLLLLRLRLRRLRRLLLRRRLRRLRRLRRRRRRLRRLLLLLLLRLRRRLRLRLLLRLLLRLLRLRRLRRRLRRLRRRRRRRLRRRRRRLLLRRLLRRRLRRRLLRRLRRLLLLLRRLRLLRLLRRRLRRLLRRRLLLRLRRRLLLRRRRRLLRLRLRLRRRRLLRRRLRRLLLLLLRRLLLRRLRLLLRRRRLRRLLRRLLLLRRLRRRLLRLLRRLRRRRRLLRLLRRLLRLLLLRRRRRLRLLRRRLRRLRRLRLLRRLRLLLRRRLRLLLLLRLLLLRLLLLRLRLLLLRLRRLLLRLRRRLLLRLRLRRLLLRRLRLRLLRRRLLLRRLLLLRLRRRLRRLRRLLLRLLRRLLRRLRLLRRRLLLRLRLLLLLRRLLRRLLLRLLRRRRRLRRLLLLLRRRLLLLRLLRLLLLRLRRRLRRLRRLRLLRRLLRLLLLRRRRRRLRRLRRRRLLLRLRLLLRRLRLRRRLLLLLRRRLLRLLLLLRRLRLLRRRRLLLLLLRRRRLLRRRLLLRRRRRLLRLLLLLRLRLRLLLLRLRLRLRLRRLLRLRRRLLLRRLRLRRLRLRRRLLRRRRLRRLRLRLLLLLRLLRRRRRLLRRRRLRRRRRRLRLRLRLLLLLRLLLLLRLRRRLLLLLLLRRLLRLRRRRLRLRLLLLRRRRRLRLLLRLRRRRRRRLRRRLLRRLRLLRLLLRLLRLRRRLRLRLLRLLRLRRLRLRRLLRLLRRLLRRRLLLLLRRLLRRLRRRRRRLLRRRRLLLRLLLLLRRLLLLLRLLRLLRLLLLLLRLRLRRLLRLRLRRLLRLLLLLLLRRRRLLRRLLLLRRRRLLLLLLLLLLLLLRRLLRRLRLRLLRLRRLRLRRLLLLRLLLRLLRRLLLLRRLLLRLRLRRLRRRLLRRLRRLLLLRRLLLLRLRRLRLLRRLLRRRLRRRRLRLRLLRRRLLLRLLLLRRRLLRRLRRLLLRLRRRLLRLRLLRRRRRRLLRLLRRRLRRLRRRLRLLLRLLLRRLRRLLRRLRLLLRLLLLRRLLRLRRLLRRRLRLLLRLRLRLLLRRRRRRLLRLLLLRLRRRLRLLRLRRRRLLLLRRLLLLLLRRLRRRLRRLRRLRRLRLLLRRRRRLLLRLRLRLLRLRRRRLRRRRRRRLLLRLLLRRRLRRRRRLRLLRLRRLRLRLLLRLRLRLRRRLRRRRRLRLLRLRRRRLRLRRRLLRLLRRLLLRLRRRRRLLLLLLLLLRRRRLRLRLLLRRRLRRLRRLLLRLRLRRLLRLLLLLLRLLLRLRRLLRRRLRRRLLRRRLRRLRRRRLRRRRLLRLRLRRLRRRLRLRRRLLLRLLLRLLLLLRLRLLRRRLRLLRRRRLRLRLLLLLRRRLRRLRLLRRLRRLRRLLLRRRLLRLRLLRRRLRRRLLRLRLLLRRLLRLLLRRRRRLRLLRRRLRRLRLLRRLRRRLRRRLLLLLLLRLLLLLRRLRRLRRRLRRRRLLRRRLRRRLRRRRLRRLRLLLRLLLLLRRLLRRRRLLRLLRRLRLRRLRLRRRLLRLLRLRLLLRLRLRLLRRRLLRRLRLRRLRRRLRLRLLLLRRRLRLRLLLRLRRRLRRLLRRLLLRLRLLLRRLLLLRLLLRRLLRLRRRLLLLRRLRRLRRRRLLLRLRLLLLLRLRLRRRRLLLRLLRRLLLRLRRLLRLLLLRLLRRRRRRRLRRRLLLLRLLLRRLLLRLLRLRRRRRLRRRRRRLRLRRLRLRRRLLLRRLLLRRRLLLLLLRLLLRLLRLRLRRRLLLLRLRLRLRLRLRRRRLLRLRLLRRRLRRRLLRRLLLRLRLLRRLRLLRRLRRRRLRRRLLRLRLLLRLLLRRLRLLRRLRLLLRLRRRRLRLRRRLRRRLLLLRRRRLLLRLLRRRLLRRRLRRRRLRRLLRRLLRRLLLLLRLRRRLRLRRLRLLLLRLRRLRRRLLLRLLRLLLRLRLRRLLRRLLRRRRRLRRRLRLRLLLLLLLRLRLLRLRLRLRLRLLRLLRRLRLLRLRRRRRLRRRLRRLLLLRLRLLRLLRLLLLLLRLRLLRLLRLRLLRRLRRRLLLLLRLRRLRLLRRRRRRRRLLLLRRRRLLRRRLRLLRLRRRLLLRRLRLLRRLRRRLRLRLLRRLLRRLRRRLLLLRRRLRLRLRLLRRLLLRLLLRLLLLLRRRRRRRLRLRRRLRLRRRRRLLRLLLLRLRLRRRLRRRRRRRRRLLLRRLLRLLLLRRLRLRLLRRRLRRLLRRRLLRLRLLRRLRRRRLLLLRRRLRLLRLRLLLLLLLLRLRLLLRRRLLLLLLRLRRLRRRRRRRLRRLRRRRLLRRLRRLRLRRLLLRRRLLRLLLRRRLLLRLLRLLLRRLLRLRRRRLRRRLRRLRLLLLRRLLLLRLLRLRLRRRLRRRLRLLRRRRLLLLLLLLLLLRRLLRRLLLLLRLLLLLLLRLRLRRLRLRRRLLLRLLRLLLLLRLRLRLRLLLRLRLLRLRLRRLRLRRRRLLLRLRLRRLLRLRRRRRLLRLRRRRLRRRRRLLLLLRLRLRRRRRLLRLRRLRRRLRRRLLLRLLLRRLRLLLRLLLLRLRRRRRLLLRRRRLLRRRRLLLRLRRRRRRRLLRLRLLLRRLRRRLRRLLLLLRRLLRRLRLLLLRRLLLRLLLRRLRRLRRLLLLRLRRRLLLLLRLRRLLRRLRLLLRLRRRRLLRLLLRLLLLRLLLLRLLLRRLRRLLLLLLRRLLRRLRLLRLRLLRLLLRRRRLLLRLLRLLRRLLLLLRLLRLRLLLRLLLLRRRRRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLRRRRRLLLLRRRRRRRRLLRRLRLLRLLRLRRLRRRLRRRRLRRLLLLLRLLRRRLLRRRLLRRRLLLRLRLLRRLLLRLLLRRRLLRLRLLLLRLRLLRLRRLRRRLLRRRRLRLRRRRLLRRRRLLLRRRRLRLLRRRLRRRRLRLLRLRLLRRLRRLRRLLRLRLRLLRLLRRRRRRRRLRRRRRLLLRLRLLRLLRRRRRLRRLRLLRLRLLLLRRRLRRRRRLRRRRRRLRRRRRLLRLRRLRRLRRRRRLRLRRRRLLRLLRLLLLRRLLLLLLLLLLRRRRRLRRLLLRLLLLRLRRLRRRLRRRLLRRLRRRRRLLRRRRLLLRRLRLRRLLLLLRLLLLLRRLRRRLLLRLRLLLRRLLLLLRRRRLLLRRRRLLLLLRLLLLLRLLRRLLLLLRRRLLLRRRLLRLRLRRRLLRLLRLRLLLLRRLLRLRRLRLLRLRLLLLRLRRLRLRRRLRLLRRRRRRRRRRRLLRRLLRRLLLLLRLLRRLRLLRLLRLLLRRRLRLRRLRLLRRLLRLRLRRLRRRLLLRLLLRRLRRRLLLRRLLLLLRLLLLRRLLLRLRRLRLLLRRRRLRLLLRRLLLLLLRLRLRLLRLRLLRLLLLLLRLRRLRLLRRLLRRLLLLLLLLRRRRRLLLLRLRLRLRRRRLLRRRRLLLRRLLLRRLLRRLRRRRLRRRRRLLLLRRRLLLLRRLLLRLLLLRLRLRLRRRLLRLLRRLLLRLRRRRRLRLRRLRLRLRLRLLLLLLRLLRLLRLLLRLLRRRRRRLRLLRLLRRRRLRLLLLRRLLRRRRLRLRRLRRRRLLRLRLRRRLRLLRLLLRRRLLRRLLLLRRRLRRLLRLLRRRRLRLRRRLRRRLRRLRLRLLLRRLRRRRRLLLRLLLRLRLLLLRRRRLRRLLLLLRRLRRLLLRRRLLRLRRLLRRRLRLLLRLRLRRLLRRRRRRRLLLRLRRRLRLLRLLLRLRRLRRLLLLRLLRRRLRRLLRLLRLRLRLRLLRLLRRLLRRRRRRLLRLLLRRRLRRLLRLRRRLLRLRRRLLRRLLRLLRLRLLRRRLRRLRRRRRLLRLLLLRLRLLLLRLRLRLRLLRRRLLLRRRLRRRRRRLRRLRLLLRRRRRRRLRRRRRLRLLLLLLLLRLLRLLLLRRLLLRRLLRRLRLRLRLRRRRRLRLRLRLLRRRLLLLLLRRRRLLLRRLLRLRRRLLLRLLLLRRLLRLRLLRLLLLLLRLRRRRRLRLLLRLLRRLLLRLLLLLRRLLRRLRLRRRRLLRLRLLRLLRRLLLRRLLLLRLRLLLLLRLRLRLLRRLLLRRLRRRLRRLRLRRRLRRLRRLLRLRRLRRRRLRRLLLLLRRRLLRLLLLLLRRRLLRRLRLRLRLLRLRLRLLRLRLLLLLLRLLLRLLLRRRRLRLRLLLRRRLRLRLRRRLRRRLLRLLLRLRRRLLRLLRRLLLRRLRLRLLLLLRRRLLRLLLRRLLRLLRLLLRLLLRLLRLRLLRRRRRRRRLRRRRRLRRRLLRLRLRRLLRLRRRRRLRRRRLLLRRLLRLLRLLLRRLRRLLLRRLLLRLRLLRRRLLRRRLLLLRRLRLRRLRLLRLRLRLRLLLLRRLLLLRLLRLLLLRLRLLLRLRLRRRLLLRLRLRRRRLLLLLLRRLLRLLRLRLRRLRRLLLLLLRRLRRLRRLLRRLRLRLRLRLLLRRLRRRLLRRLLRRRRLLRLLRLLLLLRRLLLRRLLRRLRRRLLLLLRLLRRLRLRRLRRLRLLLRRRLRLLLLRLLLRRLRLLLRRLLRRLLLLLRLRLLRRLLLRLRRLRLRRRRRRLLLLLLLLRLRLLRLLRRRLRLRLLLLRRRLRLLRLRLRRLRLLRRLRRLRRLRLRRRLLRLRLLLLLLLLLRRRRLRRRRRLLRRRRLRRLRRLLLLLRRRRRLRRLLRRRLRLLLRLLRLRLLLRRLRLLRLLRLRRRLLLRLRLLLRLLRLRLLLRRRLLLLRLLRLRRRLLRRRLLLRLRRRRRRLRLLRLLLLLLRLLLLRLRLRRLLRLLRRLLLLRLRLRRRLLRLRLLLLLLRRRRLLLRRRRRLLRRRLLRRLLRLRRLRLLRRLLRRRLRLLLLLRLLLLRRLLRLRLLRRLRLRRLLLRRRRLRLLLLLLLLRRRLRLLLLRLLLRLRLRLLRLRRLLRLRRLLRLRRLRLLRRLRLRLRRLLLRLLRLLLRRRRLLLLLRRLLLLLRLLLRRLLRLRRRLRLLRLLLRRRLRRLLRRRLLRLRRLLRRRRRRLLLLRRLLRRLRRRLRLLLLLLLRLRRLRRRLRLLLLLRRLLLRRLRRRRRRRRLLLLRRLRLRLLRRLLLRLLLRLRLRRRRLRRRRRRLRLRRLLRRLRLRRRRRLLRRLRRLRRLRLLLLLRLRLLLLLRLLRLRLRRLLLRRRRRLLRRLRLRRLLLRRRLRLRRLRLRLLRRRLRRRLLRRRRLLLLRLRRLRLLRRLLLRLRLRRRLRLLLRLRLRLLRLLRRLLRRLLRLRLLLLRRRRLLLLLLLRLRLLLLLRLLRRLRLLRLRRRRLRLRLLLRLLRRLLLLRRRLRRLLLRRLRLRLRLRRRRLLLRLRRLLRLLLRRRRLRLLLLLLRRLLLRLRLRRRLRRRLLLRRLRRRLRRLLRLLRRRRLRLLLRLRRLLLLLLRRRLLRRRRLRRLRRRLRRRLRLLRRRRRLRLLLLRRLRLLRLRLRLRLRRLLLRRRRLLRRRLLLRRLLRLRRLLLLLRRLRRRLRRLLLLRLLLRLLLLRLRRLRLLRLRRLRRLLLLLRLLLRRLLLLLLRLRLRLLLLLRLLLRRLLLRLLLLLRRLLRLLLRLLLRLRRRLLRLLLLLRLLLLRRLLRLRRLLRRRLRLLRLRRRRLLRLLLRRRLRLRRRRRRRLLRLLRRLRLLLRRRLRLRRLLLRLLRLLLLLLRLLLLRRLLRRLLRRLRRRRRRRRLLRLRRRLRRLRRRRRLRRLRLRRRRLLLRLRLRRRRRRLRLRRRRRRLRLLRLLLRLRLLRLLLRRRRLRLRLLLLRLRLRLLLRLLRLLRRLRRLRRLLLRRRRRRLRRRLRLRLLLLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRRRLRLLLLRLRLLRLRRLRRRLRRRLRLLRRRRRLLRLRLLLLRLLLLLLRLLRRLLLLRRLLLRLRRRLRRLLRLLRLRRRLLRRRRLLRRRRLRRLLRRLRLRLRLLLRLLRLRLLRLLRLRLRRLRRRLRLLLRLLLRLLRRLLRRLLRLRLRLLLLLRLLRRLRRRLLLLRRRLRRLRRRLLLRLLLLRRRRLLRRLLLLRLLRRLLLLLLRLRRRLLLLLRRRRRRRLRRRLLLRRLRRLLRRRRRLRRRLRRRLLRLLRRRLLRLRRRLLLRLLLLLRLRLLRLLRRLLLLRRRLRLLLLRRRRLRRLRLRLLRLRLLRLRRLRRLLLRRRRRLRRLRRLLLLRRLLLRLRRLLRRRLLLRLLLRLLRLRRRLLRRRLRRLLRRLRRRLLRRLRLLRLLLRLRRRLRLRRRRLLRLRRRLRLLRRRRRLLRRLLRLRLRLRRLRRLLRRRLRLLRRRRRRLLRLRLRRLLLLLRRRRRLLRRLLRRRRLRLLRRRRLLLLLRLRRRLRRRLRLRRLRRLLLRLLLLRRRLRLRLRRLLLLRRRRLLLRRRLLLLRRLRRLRRLLLRLLRLLRLLRRRRLRRLLRRRLLLRLRRLLLRRRRLRLLRRLRLLRLRLRRLLRRLLRRRRLLRLRRLRLLLRLLLRRLLRRLLRLRLLLRLRLRRLLLLLRRRRRLRRRRRLLLLRLRLLLLLRLLRRRLRLLRRLRRRRLLLLRLRRLRRRLRRRLRRRRRRLRRRLLLRRLRRRRLRRLRLRRRRRRLRLRRLLLLRRRLLRRRRRLRRLRLRLLLLRLLLRLLRRLLRLRLLLLLRRLRRLRLRLLLLLRLRLRLLLRRLRLLRLLLRLRLRRLRLRRLLRRLLLLLLRRLLRLLLRRLRLRLLLRRLRLLLLRLLRLRLLLLRRLLLRRRLRLRRLRLLRRRRLRRLRLRLRLLRRRRRLRLRLLRLRLLRRRLRRRLLLLLLRRRLRRLRLLRLLLRRRLLLRLRLRRRLLLRRRLLLLLRRLLLRRRRRRRLLLLLLRLLLRRRRLLLLLRLLRRRRRRLRLRRLRLLRLRLRLRLLLRRRRLLLRLRRLRRRLLLRLRLRRLLLRLLLRRLRRLLRLLRRLRLLRRRRRLLRLLLRRLLRLRRLLLLLRRRRRRRLLLLRRRLRRLLRLRRRRRLRLLRRLRLLRLLRLRLRRLRRLLRRLRRRRLLLLLRRLRLRRRLLRRRRRRRLLLRRRRRRLRLLLRLRLLRLLLLLRRRLLRLRLLRRRRRLLLLLRLLRLLRLLRLLLRLRLRLLLRLLLLRRRRLLLRRRLRLRRRRRLLLLRRRLRLRLRRLLRRRLRLRLRLLRLRLLRLRLRLRLRRRRLLRRLLLRLLRRLLLRLRRLRRLRLLRLLRRRLRLRRLRLLLRLRRLLRRLRRLRRLRLLRRLLRLRLLRRRLLRRLRRLRLRLLLRLLRLLRRLLRLRLLRLLLLLRLRRRRRRRLRRLLLRRRRRLLLRRLLLLLRRRLLLLLLRLLRRRLLLLRRLLLRRRLRLRLLLRLLRLLLRLLLRLRLRRRLLRRRRLLRRLRRLRLRRRRRLLLLLRLLRRRRRRLLLRLLRLLLRLRLRRLRRLRRLLRLRRLLRLRRRLRLLLLLRRRLRRLRLLLLRLLRRRRLRLRLLLLLRRRRRLRRRLRLRRRRRLLLRRLLLRLLRLLLRLRRLRLRRLRLLLLLLLLRLRLLLRLLRLRRRLRLRRRRLRRRLRLLLRLRRLRLRRRLRLRLLRRLLRRLRLLLLRLLLRRRLRRLLRRLRRRRRRLRRRRLLLLLLLLLLLRRRLLRLLLLRRRLRRRLLRLRLRRRRLLRRLLRRLLLRRRRLRLLLLLLLLLLLRLRLLRRLRRRLRRRRLLLRLLRRLRRLRRLRRLLRRLLRRRLLRLRRRRRLRRRLRRRLLLRLLRLLRRRLRRRRLRRRLRRRRRLRLLRLRLRLRRRRLLRRRLLRLLRLLRRRRLLRRLLRRRRRRRLRLLLRRRLLRLRRLRRRLLRRRRLLRRLLRLRRRLLRLRRRLLLLLLRRLLLRRRRRRRLRLLLLRLRLRLRRRLLRRRLRRLLRRLLRRRRRLRLLRRRLLRLLRRRRLLLLLRRLRRRLLLLLRLLRRRLRLLLLLRRRRRRRRLRRLRRLRRLLLLLLRLRLRRRLLLLRLLRLRRRLRLRRLLRRLRLRLRLRRRLLRLLRLLLRRLRLLLRRRRRRRRRRRRRRLRRRRRLLRLLRRRLRRLRLRRRLLRLLLLRRLRLLLRLRRLLRRRRRRLLRLRLRRLRLRLRRRRLRRRRLLRLRRRLRLRRLRRLLLLLRRLRRLLLLLRRRLLRRLRRLLLLRRRRRLRLRRRLRRRLLRRLRRRLLRLRLRRRRLLLRLLLLRRLLLLRRRLLRLLRRRRLRRLRRLRLRLLLRLLRRLLRLRRRRRRLLLLLLLLRRRLRRLRLLLRLRLRLLRLRRRRLRLRRLRRRLRRRLRRRLRRLLLRLLLLRLLRRRLRRRRRRLLRRRLRLRLLRLRLRRRRRRLRRRLLLRLLLRLLLLRLRRLLRLRLRLLRLLRLLRRLRLLLRLLLLRLLRLRRLLLRRLRLLRRRLRLRRLLRLLRRRLLRLLRRLRRLRRLLRRLLRLRRLRLLRLRRLLLLLRLLRLRRRRLRRLRRLRLLLLRRRLLLLLLLLLLLLRRLLRLLLRLLRLLRLRLRLLRRRLLRRRRLRLRLRRLRLRLLRRRLLLRRRLRRRRRRRRLRLRRLLLRLLRLLRRRLRLLRRRLLRRLRLLRRLRRLLRRLLLLLRRLLLLLRRLLLLLRRRLLRLRLLLLLLRRLRRRLLRLLLLRLLLLLLRRLRLLRRLRLLRRLLRRRLLLLLRLRLRRLRRRLRRLLLLRRRLLRRLLLLLRLLRLRRLRLLLLLLRRLRLRRRLLLLRRRRRLRRLLLLLRLRRRLRLLRRRRRLRLRRRLRLLRRLLLRRRRLRRLRLRRRLLRRLRRRRLRRRLLRLLRRLLRRRLLLRRRRLRLLRRRRRLRRRLLLLRRLLRLLRRLRRRRLLRLLRRLRRLRRRRLRRRLLLLRRRLLRRLRRRLRRRLRRLLRLRLLRRLLLLLLLLRLLRRRLLLRRRLRLLRLLRLRRLRRRLLLLRRLLRRRRLRLLRRLLRRLRLRRLRLRRRLLLLRRLLLLLLRLLLRLRRLRRLRLLLLRLLLLLRRLRRRRLRLLLRLLRLLLLRRRRLLRRRRLRRRRRLLRLRRRLLLRLLRLLRRRLLLRRLLLRRLRLRRLLRLRRLLRLLRRLLLLLLLLLLRRLRRRRRRLRRRLRLLLLLRRLLRLRLRRLRLLRRLRRRRLRRRRLRRRLRRRRLLRRRLLLLLRRLRRRRRLLLRLRLRLRRLLLLRRRRRLLLLRLRRRRLLRRRRLRLLLRLRLRRRLRLLRRLLLLLRLRLLLRLLLRRLLLLLRLLLRLLLRLRLLLRRRRRRRRRLLRLRLLRRLLRRLRRLRRLRRRRLLLLLLLRRLRRRLRRRLRLRRLRLLLLLRRRLLRLLRRRRRRLRRRRLRLRRRRRLRLRRLLRRLLRLRRRLLLLRLRRLRLRLRRRRLLRLRRRLLRRRRLLLRRLLRRLRRLRRRRLLRLRLLRLLLRRLLRLLLLLLLLLRLRRRRRRRLLLLLLRRLRLLLLRLRLRRLRRLLLLLLRLLLRLLRLLRRRLRRRRRRLLRLLRRRRRLRLRLLLRLRLRRLRRLLRLRRLRLLRLLLRLLLLRRLRLRRRRLRLLRRRLLLLLLLLLLLRRLRRRLLLRLLRRLRRLLRRLRLLRLRLLLRRRRRRRLRLRRRLRRRLRLRLLRRRRLLLLLRRLLRLRLLLRLLRRLRLRLRLLRLLRRRLRLRLLRRLRRRLRLRRLLRRRLRRRRRRRRLRRLLRRLLLLLRLRLLRRLLRLRRRLRRRLLLLLRLLRLLRRLLRLLLLLRLRRRLLRRRLLLLRLLRRLRRRRRLLRLLRRLRLRLRLLLRLRRLLRLLLRLLLLRRRLRLRRLRRRRRLLRRRLRLRRRLLLLLRLRRLRLRLRRLRLRLLLLLRLRRRRRRLLLRLLLLLRRRLRLLRLRLLLLRLLRRRRRRRLRRLLLRLRLLLRRLLLLLRRRLRLLRLLRRRLLRLRRLLRLLRLLLLLRLLRRRLLLLLLLLLLLLLLLRLRLRRRLRLLRRRLLRLLRLRRLLRLRRLRLRRLLRRLLRLRLRRRLLRRRRLLLRLRRRRLRRLLLRRRLLLLRRLRRRRLLRRLRLLLRRLLRRRRRRRRLLRRLLLRLRLRLLRLLLLRRLRRRLLRLLLRRRLLRRRLRRLRLLLLLRLRLLLLRLLLRLRRLRRLRRRRLLRLLRLLLRLRRLLLLRLLLRLRRRLLRRLRLRLLRLRLLRRRLLRLRLLLLRRLLRLLRRRLLRRLRLRRRLRRRLLRLLLRLLRRLLLLLLLRLLRRLRLLLRLLRRLLRLRRLLRLLLLRLRRLRLLLLRRRRRLLLLLLRLRLLLRRLRRLRLRRLLLRRRLRLRRRRRRRRLRRRLRRRRRRLRRRLLLLRLLRLLRRRLLRRLLRLLLRRLLLLRRRLRRRRLLRRLRLRLLRRRLLRRRRLLRLLLLRRLLRRRLRRRRLLLRRLLRLLLLRRLRLRRLRRRRRLLLRLLLLRLRLRRRLLRRLRLRLLRRLRLLRLLLLLLRLRRRRLLLLLRRRLRLLLRRRRLRLRRRRRRLRLRRLRLLRLRRLLRRRRLLLLLRLRRLLLRRLLLLRRLRLLRRRLRRLLRLLLLRRLRRLRRRRLRRRLLLRRRRRRLLRRLLRRLRRLRRLRLLLLRLLRRLLLRLRRRRRLLLRLRLLLLRLRLLRRLRLRRRLRLRRLRLLLLLLLRRLLRRLRLRRLLRRLLRLLRLRLRRLLLRLLLLLRLRLRLRRRLRRLLRLLLRLRRRLLLLRLLRLRRRRRLLRLRRLRRLLLLRRRLRRRRRLLRLLLRLLLRRLLLRRRRLRLRRLLRRRRRRRLRLRLRRRRLLRLLLLLRRRLRRRRLRLLLLLRRLLRRLRRRLLLLRLLRLRRLRRRRLRRLLLLLLRRRLRLLLRLRLLLRLLLLLRLLRRRRLLRLRRRLLRLLLRLRRLRLRRRRRRRLLLRRRLRRRLRRLRLLLLRRRLRRRRLLLRLLLLRRLLLLLLLLLRLLRLLRLRLLRRLRLLRLRLRRRRLRLRLRRLRLRRLRLLRLLLLLRLRRRRRLLLRRRRRRRRLRLRRLRRRRLLLLRLRLRLLRRRRRRLRRLLRLLLRRRLLRRRLLRRRRLLRLRRLRRRLRLLLRRRRLLRLRLLRLLRRLLLLRRLRRRLLRRLRLRLRRRRLLLLLRLLLRRRRRRLLLLRLLRRRLRLLRRRLRRRRLRRRRRRRLLLRRLRLRRLRLRLRRLLRLRRLRLRLRLRRLLRRLRRRLRLRLLLLRLLLRRRLLLLRRLRRRRLRRRRRRLRLLRLRLLRRLLRLRRLRLLRLRLLRLLLLRLLRRLLRLLLLLLLLRRLRRLLLLLLLLLLLLRRLLRRRRRRLLRRLRRRRLLRRRLRRLLRRRRRRRRLRLLRLLLLRRLRLRRLLLLRLRLRRRLLRLRRRLRRLLRRLLLLLLLRLLLRRRLLRLLLLLRRRRLRLRRRRLRRRLRRLLLRLLRLRLLRLLRRLRLRRLRRLRLRLLLRLLRRLRLLLRLRRLRRRRLLLRRRLRLLLRLRLLLLLLRLLRRLRLLRRLLLRRRRLLRLRRLRLRRRLLRLRLLRLRRLLLLRLLLLLLRLRLLLRRRLRLRRRLRLRLRLLRRRLLRRLLRRRRRRLLLLRLRLLLLLLRLRLRRLLRLLRLLLLLRLRLLRLLRRLRRRLLLRLLRLLRRRLRRLLLLRLRLRRRRRLRRRLLLLRLLLLLRRRRRLRRRRLRRRRLLLLLRLLLLLLLRLRRRLLLRRRRRRLRLLRRRLRRRLLLRLRLRRRLRLLRLRLLLRLRRLRLLRRRLRLLLLLLRLLRRRLRLLLLLRRLLRRLLRLLRLRRRRLRLRLRLRLRRRLRRLRRRRRRLLLLLRLLLLLLLLRRRLLRLRLLRRLLRLLLLRRLRRLRRRLRRLRRLRRRLLLRLLRRRLRLLLRRRLRLRLLLLLRLRRLRRLRRRLRRRLLLLRRRLLRLRRLLRLLLRLRLLLLLLRRLRLLRRRRLLRRLLRRLRLLRRLLRRRRLRRRLLLRLLRLRRRRLLRLLRLRLRLLLLRLRRRRRRRRLRRLLRLLLRRLLRRLLRRLLLLLRRLRRLLLRRLRLLRRRLLRRRLLLLRLRLRLLRLLLLRLRLRRLRLLLRRRLLLRLRLLRLRLRRRRRRLRRLRLLLLRRRLRRRRRLLRRLLLLLLLLLRLLRRRLLLRLLRRRRLRRLRLLLRLRLRLRLLLRLRLLRRRLLRRLLRRRRRLRRLLLRLRRLLLLRLLLLRLLLRLRLRRLLRLLLRRRRLRRLRRLLRLRRLLLLLLLLRLRRRLLRLRLLRRRLLRLRLLRLLRRLLRRRRRLLRLLRLLLLRLLRRLLRLLLLRLLRRRRRRLRLLRLLLRLRRLLRLRRRRRLLLRRLRLRLRRRLRLLLLRLLLRRLLRLRRLRLRLLRLRRLLRRLLRRLLLRRLRLLLRRRLRRLRLLLLLRRRLRRRLLRRLRRRLLRLLLLLRRRRLRLLLRRRRRRRLRLLLLRLLLRRRRLRRRLRLRLLLLRLRLLLRLRRRRRLRLRRRRRLRLRRRLLRLRRLRRLRLLLLRRRLLLRLLRRRRLLRLLRLLRRLLLRRLLRLLLRRLLLLRRLLRRLLRRRRLLLRRRRLRLRLRLLLRRRRLLLLLRLRLLLLRLRRRRRLRLRLRLRLLLLRRLLLRLLLRRRLLLLLLRRLLRRLLRLRRRRRRRRLLLLLRRRRRLRRLRRRLLLRLLLLLLRRRRRRLLRLRRLRRRRLLRLLRRRLLLLRLLLRRLLLRLRLRRLLRLRLLLRLRLRRRLLLLLLLLLRRRRRLLRLLRRRLRLLLRLRLRRLLLLRRLLLLRRLRRLRRRLRLLLLRLLLLLRLLLRRLRLLRLLLRLLRLLLLLRRRRLLLLRRRLRRLLLLLRRLRLRRLRLLRRLLRLRLLLRRLLLLRRLRLRLRRLLRRRRLLLLLRRLRLRLRRRRLLRRLLRRRLRLLRRRLLRRLLRRLRRLLRLLRLLRRRLLRLRLLLRLRRLRRRLRRRLLRRRLRLLLRLRLRRRLLLRLRRLLRLLRLLRRLRRLRLRLLRRLLLRRLLLLLRRLLRLRLLRRRRLLRLLRLLRLLLLLRRRLLLRRRLRRLRLLRRLLRRRLRRLRRRLRLRLRRLLLRLRLLRLRRLLRLRLRRRLRRRRLRLRRRRLRLLLRLRLRRRRLRLLLLRLLLRRRLRLRRLRRLLRLRRRLRLLRLLLLRLLRLLLRRRLLRLLRLLRRLRRLLLLRRRLLLLRRLLLRRLLRLLLRLRLRRLLLRLLLRRRLLRRRLRLRRLRRRRRRRLLRLRRRLLRLRRRLRLLRRLLLLLRRLLRLLRLRLLRRRLRLRRLRRRLRRLRRLRLRRLRRRRRRLLLLRRRRLLLLRRRRLRLLRRRLRRRLLLRLLLLRRRRRLRRRLRRLLRRRLLLRRLLRLLLLLLLLRLRLRLRRRRRRRRLLRRLLRRRLLRRLRLRLLLLRRRRLLRRLRRRLRRLRRLLLLRRRLLRLLRRRLRRLRLLLRLRLLLLRLLRLLLLLRRLLRRLLLLRLLRLRRRRLLLLLLLRRRRLLLLRLLRRLLLLRLLRRLLRRRLLLRLRRLLLLLRRRLRRLLRRLLRLRLRLRRRRRRLRLRRLRLRRLRLRRLRLLLRLLRRRLLRLRLRRRLRRRLLLRRLRRRLLLRLLRRRLLRLLLLLLLLRLLLLRLRRLLLRRRRRLLLRRRLRRRLRLLLRRRRRRLLRLLRLRRLRLRLRLRLRRLLRLLLLLRLRLLRLRRLLRRLRLLLLLRLLRLRLRLLLLLRLLLRLLRLLLRRLRLLRLRLLRRLLLLRRLLLRLLRLLLLLRRRRLLRLRLLLLLRLLRRLLLLLRRLLRRLLLLRRRLRRRLRRRLLRLRRLLLLRRLLRRRRRRRRLRRLRLRRRLLLRRLLLRRLRRRLRLLRRLLRLRRLRRRLLRRLLRLRLLLLRRLLLLRLLLLLLRLRRLLLLRLLRLRRLRRRRRLLLRLLLLRRLRLRRLLRRLRLRRRRLLLLLLLRRLRRRLRLRRRRLRLRRLRRRRRLRLLRRRLLRRRRRRRLLLRRRRLRLRRRLLRLLLLLLLLRRLRRRRLLRRRLLLRRRRRLRLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRLRLRLLLLLLRLLLLRRLRRLLLRRRRLRLRLRLLLLLRRLLRRLLLLLRRRLLRLRLLLLLLLRRRRRLLLLLRLLRLRRLRLRLRRLRRRRLLRRLLRRLRRRLRLLRRLLRRLLLLLLRRRLRLRRRRRRRLLLRLLRLLRRLRLRRLLLLLRLRLLLRLRLRLLRRRLLLRRRLRLRRRRLLRRLLLLRRLRLLLRLLLLRLRRRLLLLLLRRRRLRRRLLRLRRLLRLLRRRLLRRRRRLLRLRRRLRRRLRRLLLRLLLRRLLRLRLRLLLRRLLLLRLLLRRLLRRRRLLRRRLLLLLLRRRRLRLLRRRRLRRRRRRRLRLRRLLRRRRRRLLRLLRLLLLLRRRLRLRRRLRRRLRLRLRLRLRLRRRRLLLRRLRLLLRRLLLLLLRRLLLLRLLLRLRRLLRRRRLRLLRLLRRLRLLRLRLLLLRRLLRLLLLRRRLRRLLRLRLRLLRRRRLLRRRLRLLRLRLRLRRRRRRLLRLLRRRRRRLLRRRRLLLRLRLRRRRLRLLLLRLLRLLLRLLLRLRRLRRLRLRLLLLLLRRRRLLLRRLRRLRRLRLRRRRLLRLRRRLRLLRRRRLLRLRLRRLLLRLRRLLLRRRLRLLLRLRRRLRLRLRRLLRLLRRRRLLRRRRRRRLLLRRLLRLLLLLLRLRRLLRLLRLRRRRRRLRRRLRRLRRRRLLLLRLRLRLRRRLLRRRRRLLRRLLLRRLLLLLLRRLRRRLLLRRRRRRRRLRLRLLRLRLRLRRLRRLRLLLRRRRLLLLRLRLLRRLLLRLRRLRRRLRLRRLLLRLLLRLLRRLRRLRLLLLLRRRLRLRRRLLLLLLLRLRRRLLLLLRLRRLLRLRRLRLLLRRLLRRLRLRLLRLRRRLLLLRRLLRLLLLRLRLRLLRLLLLRLLLLLRLLLRLRLLLRRLRLRRRRRLRRLLLRLLRLRRRRRRRLRLRRLLRLRRRLLRRLLLLRLRRLRRRLRLLRLLLRLRRLLLRRRRLRLLLRRRLLLLLRRRLLLRRRRLRRRLRLLLLLRRRRLLLLRRRRLRLLRLRLRLRRLRRLRLRLRLLLRLRRRLRLLRLRRRRRRRLLRLRLRRRLLRRRLRRLRRLLRLLRRLRLLLRRRLLLRLLLLRLLRLRRLRLRLRRLLLRRRRLLRRRLRRLLRRRRRRLLRLLRLRLLLLLRLLLLRRLRLLLRRRRRRRLLRLRLRLRRRLRLRLRLLLLLLLLLRRRRLRRLLRRRRLLLLLLLLLRLLLRRRLRRRRLRLRLLLRLLRLLRLRLRLLRLRRRLRLRLLLLRRRRRLLRRLRLLRLRRLLLLRLRLLRLLRRRLLRRRRRLRLRLLRRRLLRLRLRLRLLLLLLLRRLRLRLLRRLLLRLRRLLRLLLRLLRRLRLRLRRRRLLLRLRRLLLLLRRRLLLLLLLRLLLRRRRRRRLLLLLLRLLLLLLLRLLRLRRRRLLRRRLLLLLLLRLRLRLRRRLLRLLLRRRRRLLRRRLLLLLRRRLLRRLLRLLLRRLLLLRLRLLRRLLRRLRLLRLLLLRLLLLLRLRLLLRLLRRRRLLRRLLRLLLLRLLRLLLLLRLLRRLRLLLLLRRLLLRLLLRLRRRRRLRRRRRRRRLRRRRRRRRLRRLLLRLLRLLLLRLLLLRRRRRLLLRLLLLLLLRLLLRRRLLLRRRRRLLLRRLLLLRLRLLRRRRLLRLLLRRRRLLRLRLLLRLLLRRLRLRRRLRLRRLRLLLLLRLLLRLRRLLLRRRLRLRLRLLRLRLLRRLRLRLLLLRRLRLRLLRLRRRRRRLLRRLLRLRLRRLLRRLRRLLRLLLRRLRLRRRRLRLLLLRLRLRRRLLRRLLLRRRRLRLLLLLLLLRLLLRLLRRRLRLRRLRLRLLLRLRLRLRLLRRLLLLLRRLLRRRLRLLRRRLLLLLLLRRRLLLRLLLLLLRLLRRRRLRRLRRRRRRLRLRRRRLLLRRRLRRRLRRLLLRRLLRRRRLRRLRLRRRRRLLLLLLRLLRLLRLRRLLRRLLRRRRLLRRLLRLRLRLRLLRLRLLLLRLRRLLLRRLRLRRLRLRLLRLRLRLLRRLRLRRLRRRLLRLLRRLLRLRLLRRRLLRLLRRLRLLRLLRRLRRLRLLLRLRLRRRLRLLLLRLRRRRLRRLRRLRRRRRLRLLLLRLRLLLRLRRLRLRRLRRRLRLRRLLRRLLLRLRLLLRLRRLLLLLRLRLLLLLRRRLLRRRRRRRLRLRRRRRLLLLLRRLLRRLLLRRRLLRLRLRRRLRRLLRLRLRLRRRRRRLLRRRLRRLRRLLRRRLLRRRRLLRRRLRLRRRRLRRLLLLRRRRRRLLLLLRLRLLRLLLRLRLLLRRLLLRLRRRLLRRRLLLRRRRLLLLRRRRRRLLLRLLLLRLLRRRRLRLLRLLRRRRRRLLRRRRLRLLLRLRRLLLLLRRRRRLLLLLRRLLRRLLRLLRRLLLRRLLRLLLRRRRLLLRRLLLRLRRLLRRRLRRLLLLLRLLRLRRLRLRLLRLRRRRRRLRLLRRLLRLRLRLRRRLLRRRLLLLLLRRLLRLRLLRLLLLRRLLLLRLLRRRRLLLRRRRLRLLRLLRLLRRRLRLRRRRLLLRRLLRLLRRLRLRRLLRLRLLRRRLLRLLRLRRLRRLRLLLLLLLLRLLRLRRLRLRRRRRLRLLLLRLRLRLLLLLRLLRLRRLLRLLLRRRRLLRLRLRRLLLRLRRRRRLRLRLRLRRLRLLRLLRRLRRRLRRLRRRLRLRRLRLRLRRLLLLRRLLRLLRRRRLRLLRRRRRLRLLLRLLLRLRRRLLLLLRLLLLLRRLLRLRLLLRLLRLRLLRRRLLRLLLRRRLLLRLRRLRLLRRLRLRLRRLLLRLLRLRLRRRLRLRRRLRRLLLLRRRRRRRLLLRLRLLRLLRLRLLRLLLLRLRLRRLLRLLRRLRLLRRRLLLLRLLRRRRLLLRRRRRRRLRRLRLLRLRLRLRRRRRRRRLLRRRLRRLRRRRLLRLLRRLRRRRLLRRLLLRRRLLRLLRRLRRLRRRRLLRRLLLRLLRRLRRRRLRRRRRRLRRLRRRRLLRRRLLLRRLLLRRRRRRRLLRLLRLLRLRRLLRLLLLLRRLRLLRRRLLRRRRRRLRRLRRLRLLRRRLLLLRRRLLRLRRRRLLLLRLLLLLRLLRRRRRLLLLRRRLLLLLRLLLRLLRRRRRRLRRLRLLLLLLRLRRRLLRLLLRLLRLLLRLRLRLLRRRRLRRRLLLLRLRRRLRLRLLLLLRLRLLLLRLLRRRLRRLLLLRLRRLLRLLRRLLLRLLRLLLRRLRRRLRRLRRLLLLLLLLRRRLRRRLRRLLLLRLLRRRRLRLRRLLRRLRLRRLLRRRLLLLLRRLLRRRRLLLRRLLLRRLLLLRRRRLRLRLLRLRRLRLLRLRLLRLRLLRRLRRRLLRLLRRLRLLRLRLRLRLLLRRLLRLLRLLRRLLLLLLLRRLRRRRRRRLRLRLRLLRRLLRRLRLLLRRRRRRLRLLRLRRLLRRRRRRRLLLRRLRLLRLLRLRLLRLLLRRRRLRRRRRRLLLLRRRLRLLRLLRRLLRLRRLLLLLRLRRRRLRLRRLRLLRLRLLLLLRLRLLLRRLLRLLRLRRLRRLLRLRLLRLLLRLLLRRLLRRRRLRRLRLRLRRRLRLLLRRLRRLLLLLLLLRLLRLLRLLLLRLLLRLLLRLRRRRRRLRRLLLRLLRRRLRLRLRLLLRLRRLLLLRLLRLRLLRLLRLRRRLLLRRLLRLRLRRLLLRRRRLLLLLLLRLLLRRRLLRLRRLLLLRRRRLRRLLLRRRLRLLLLRRRRRRLRLRRRRRLRRLLRLLRRRRLLLLLRRRLRRRRLLRLLLLRRLLLRRLRLLRRRRRLLLRRRLLLLLRLRRLLRLLLRLRRLRRLLRLRLRRLLRRRRLLLRRRLLLLRLRLRRRLRLLRRRLRLRRLLRRLLLRLLRLRLLLRLRRLLLRLLLRLLRRRLRLRLLRLLLLLLRLRLRRRRLLRLRRRLRLLRRRLRRRRLRRRLRLLRLRRRLLRRLLRLLRLLRLRLRLRRLLLRLLLLLRLRRRRRLRLRLRLLLLRRLRRLLRLRLRLLRLLRLLRRLRLRLLRLRLRLRLRRLLLRLRRLLRLLRLLRLRLRLLRRLLRLLRLLLLLRLLLLRLLRLLLLLLLLLLLLLLRLRRRLRLLRRLLLRLLLLRRRRRRRRLRLRRLLRRLLLLRLLRLLRLRRLLRLLRRRLRLRRLRLRRRLRRLRRRRRRLLLLRLRRLLRRLLRRRLRRRRRLRRLLRRLRLRLLRLRLLLLLRLRLLRLLLRRRLLLLRRRLLRLRRLLLLRLLLLLRLRRRRRLRRLRRRRRLRRLLRLLLLRRLLLLRLLLLLRRRRLRRLRLLLLRRRRRLRRLLLRRRLRLRRLRRLLRLRLLRRRLLRRRLLRRLLRLLLRLLRRLLLRLLLRRLRRRLLLLRRLRRLLLLRRLLRLLRLRRRLLRLLLLRRLRLLRRLRLRLLLLLRRLLRLRLRLLLLRRLLRLRRLRRLRRLRRRLRRRRLRRRRRRRRLRLLRLLRRRRRRRLLRLRLRRLLRLRRRLRRLRLLRLLRLLLLRRRLLRRRRLLLLLRLRRLLRRRLRLLLLLLLLLLLLLLLRLLRLLRRLRRRRLLLLLLLLLLRLRRLLLLLLRLRLLRLLRLLRRLRLLLRLRRRRLRLRLRRRRRRRLLRRRLLLLRRRRRLRLRLLRLRRLRRLLLRRRLLRLLRRRRLRLLRLLLLRRLLLLRRRRRRLLRLLRLRLLRLLLRRRLLRRRRRRRRLRRLLRRRLLRLLRLLRLRLRLRRLRRRLLLRLRLLRRRLLLRRLLLLRLRLRLRRLRRLLLRLRRRRLLLLRLLLRLLRRLRLRRLRRRLRLLLRLRLRRLLLRLLRLLRLRRRLLRRRRLRLLLLLLLRLRRLLLRLLRLLLLRLLLLLRRLLRLLLLRRRLRRRRRLLLRRRRLLLRRLLLRRRRRRLLRLRRRLLLRRRRLRLRRLLLRRLRLRRRRLLLRRRLLLRRRLRRLLRRRRRRLLLLRLLRRRRLLRRRLLLLRLLLLRRLLRLLLRLRLLRLLLLLLRLRRRRLRLRLRRRLLRLLLRRRRLRLLLRRRRRLLRRRRLRRLRRRLRLLLRLRRLLRRLLLLRLLLRRRLRRLRRLLLLLLRRRRRRLLLLLRLLRRLRRLRRRLLRRRRLRLLRLRRLRLLLLRRRRRRRRLLLRRRRLRLRLRRRRLRRRLLRLLRLRLLLLRLRRRRLRRRRRLLLRRLLLRRRLLRRRRLRRLRRLRRRLRLLLRLRRLLLLLLRRRLRLLRLLRRRRRRLLRRLLLRLLLRRLLLLLRLRLLLRLRRLLLLLLLRLRLRLLRRLRRRRRLRRRRRRRRLRLRRRLRRLRLLLRRLLRLRRLRRRLRLRRRRRRLLRRLRLLLLLLRLLLRRRLLLLLLLRRRRLRRRRLRLRLLRLRLLRRLLLLLLRRLLRLLRRLRLLRRRLRRLRRLRLRLLLLRRLRRLLRLLLLRLRLRLRLLRRRRRLLLRRLRLRRLLRLRLRRRLLRRRRRRRLRRLRLLLLRRLRLRRLRRLRLRLRRRRRRLRLRLRRLRLLLLRRLRLRLLLRRLRLRLLRRLRRLLLRLRRRRRLRRLRRLLLRLLRLRRLRRLRRRRLRRLRRLLRRRLRRLLRLLRLLLLRRRLLRLLLLLLRRLRLLLRLRLLLLLRLLRRRLRLLRRLLRRRLRLLLRLRLLLRRRLLRRLRLRLRLLLRLLLRLLLLLLLLLLRLRLRLRRRRRLRLRRLLRRLRRRLLLRLRRRLRLLLLRLLRLLRRLLLRLRLRLLRLLRLLRLRLLRRRRLLRLLLRLRRLRLLRLRLRRRRLLLRLRRLRLRLLRLLLLLRLLLLLRRRRLRLLLRLRRLRLLRLLRLLLRLLLLRRRRRLLRRRLRRLRLLRRRRRLLLLLRLRLRRLLRRLLLLLLRRLLRRRLRRLRLRRRLLLLLLRLLRLRLRLLRLRLLLRLLRRLRLLRRRLRLRLRLLLRLLLRRLLRRRLLLLLLLRRLLLLLLLLRRRLRLRLLRRRLRLLLLRRLRRLRLRLRRLLRLLRRLRLRLLLRRLRLLLRRRRRRLLLRLLLLRRLLRRRRRLRRRLRRLLRRRRRLLLRLLLLRRRRLLRLRLRRRLLLRRRRLRRRLLRLLRLRRRLLRRRRRRRRRLLLRLRLRRRRLLRRLRRRRRLLRLLLRRLRRRRLLRLRRRLLRRLLRRLLLRRLLLRLRRLRLRLLRRLLLLRRRLLRRLRLLLRLLLLLLRRLLLRLRRRRLRLLLLRRLLLRLRLLLLRLRLRRRLRRRRLLLLLRRRLRRRRRLLRRLLRRLLRLRLLLLRRLRLLRRRRLRLRRLRRLLRLRLRLLLLLRLRLLRLLLLRRLRRRLRRLRRLRLLLLRLLLRRLLLLLLLLRRRLRLLLRLLLRRRLLLRLRRLLRLRRLLRLLRLRRLRRRLLRLLRLRLRLLLLRLLLRLRRRRRRRRRLRRLLRLLLLRLLRRLRRLRRLRLLRLRRLRLLLLRLRLLLRLRRLRLRRLRLLLRRLRLRRLRRLRLLRLRLLLLLRLRLRLLRLLRLRRRRLRRRRLRRRRRRLRRRLLRRRLLRLRLLRLLRRLRRRRLLRRLLRLLLLRRLLLRRRRLLLLLLRRRRLRLRLLRLRRLLRRRRRRRRLRRLLRLRRRRLRRLLRRRLRLLLRLRRLLRLRRRLLRLLRLLRLRLLLRLRRLLLLRLRRRRRLLLRRLLRRLLLRRLLLLLRLLLLLLRRRRRLLLRRRRRLLRRRRLRLRLLRLLRRRRLLLLLRLRLLLLRLRRRRRRLLRLRRRLLLLRLRLLRLLRLLRLLLLLLRRLRRLRRRRRRRRRRLRRLLLLRRRLLRLRLRLRLLLRLLLLLRRRRRRRLLRLRRLLRRRRLRLRLRRLRRLRLLRLRLLLRLLLLRLLRLRLRLRRRLLRRLLRLLRLLLRRRRRLLRLRRRRLRRLRLLRRRRLLLRRRLLRLLLLRRLRRRLLLLLLRLLLLLRRLLRRLRLLLLRLLLRRLLLLLRRLLLLLLRRRLRLLLRRLRRLLRRLLLRLRRLRRRRLLLRRLRLRRLLRLRLRLLRRRRLLLLLRLLLRLRLRLRRLRLLLLLRRLRLLRRRLLRLRLRLLRRLLRLRRLLLLRLLRRRLLRRLRLLLRRRRRLLLRRRLRLLLRLRLRLRRLLRLLRLLLLLRLRRRLRRLRLRLRRLLLRRRRRLLRLLRLRRRLLRRRRRLRLLRRLRLRLLLRRRLLLLRLLRLLRLLRLRRRRRLRLLRLLRRLLLRLRLLRLLLLRLRRLRRLLRRRLLLRRLLRLRLRLRLLLLRLRRRRRRLRRLLLLLLLLRLLLRRRRRRLLLLRRRLLRLRLLLLRLLLLLLRLRLLLLRRLRRRLLLLLLRRLRLLLRRRLRLRRRRLLLLRRRLRRLLLRLLLRRRLLRLRLRLLRLRRRLRRRLLRLRLRLLRLRRLRRLRRRLLLLRRRLLRLLLLRLRRRLLRLLLRRRLLRLLRRLRLLRLRRRRRRLLRLRRRRLLLLLRRLRRLLRLRLRRLLRRRLLLRRRLRLRRRRLRRLLRRRLLLRRLLRLRLRLLRRRRRLLLRRRRRRRRLRRLLLRRRRLRRLRLRLLLLLRRRRLLRLRLLLRRLRRLLLLRRRLLLLRRRRLRRLRLLLRLRLRRLRLLLRRLLRRRRLRRLRLRLRRRRLRRRLRRLRRLRRRRLRLLLRRRLRLRLRLLLLLLLRRRRRLLRRLLLRLRRRLRRRLRRLLRRLRLLLLRLRRRRLRLRRLRRLLLRRLRLRLRLLLRRRLLRRRRRRLRRLLRRRLRRLRLLLRRLRRRLLRRLLLLLRLRLLLRRRLLLRLRLRLRLLLRRRRLRRLRRLLRRRRRRLLRRLRRRRRRLRLLRRLRRLRRLLLLRRLRLLRLRRRLLRLLRRLLLRLRRLRLRLLRLLRLRLLLRRLLLRRLRLLRLRLRLLLLRLRRLLLRLRRLLRLLRLRLLLRLRLLRLLRRRRLRLLLLRRLLLRRLLLRRLLLRRRRRRLLRRLRLRRLLRLLRLRRRRRRLRRRRLLLLLRLLRRLLRRLRRRLLLLLLLLLLRLLRRRRRRRLRLLLLLLLRRRLRLRRRLLLLRRRRLLLLRLLLLLLLRRRLRLLLRLLLLRRRRLRRLLRRRLLRRRLLRLLLLLRRLRRRLRRRLRRLLLRRRRRRRRLRLLRRRLLRRRRRRLLLLRRRLLRRRRLRLLRLLLLLLRRRLRRRRLLRRRLLLRLRRRRRLLRRLLLRRRRRLRRLLRLLRRRRLLLRLRLRLRRRLLLRRLLLLRRLLLLLLLLRRRRLRLLLRLLLRRLLRRLRLLLRRRLLLLRRLLLRRRRRRRRLLLLLRRLLRRRLRLRLLRLRRRRLLLRLLRRRRRRLRLRRRLLRRLLLLLLRRRRRLRLRRRRRLLLRLLRRLLLRRLRRLLLLRRLRLLLRLRLLLLRLRLLLRRRRRLRLRLLRRRRRLLRRLRLRLLLRLRRLRRRRLLRRLLRLRLRRRLLRLLRLLLLLLRRRLRLRRRLLRLLRLRRRLLRLLRLRLLLRRLLRLLLRLLRLRLRRLLLLRRRLLLLRRRLRRRLLRLRLLRRRRRLRRRRRLLRRRRRRLRLRRRRRRRLRRRLRRLRRRLLLLRRLLLRRRRRRLLRLLLRRRLRLRRRRLLLRRLRLRLRLLLLLLLLLRLLLLLLLRRRLLLLRRLLRLLLLLRRRRLLRLRLLLLLRLLRLLLLRLRRRLRLRLRLRLLLRRRLLRRRLRLLLLRLRLRLLRRRLLRLRLRRLRRLLLLRLLRRRRLRRRLRLLLLLLLLLRLRLRLLRRLRRLRLRRRRLLLRRLRRLRLLLRRRRRRRLLLLRRLRLLLLRRRLLLLRRLRLLRLRLRRLRLRRRRRLLLRLLRLLRRLRLRLRLLLRRLRRLLRLRLLLRRRRRRRRLLLRLLLLRLLLRRLRRLRRLLRLRRRRRRRRLLLRRLRRRRLRLLLLRRRLRRRLLRRRRRRLLRLLLLRLLLLLLLLLRRRLLLRRRRLRRLRRLRRRRLRLLLRRRRLRLLLLRRRLRLLLRLRRLRRLLLRLRRLRRRLRLLRLRRLRLRRRLRRLRRLRLRLLRRRRLRRLRRLRRLLLLLRLRRLLLLLRLLRLRRLRRLLRLRLRRLRRLRLRLLRLRRRRLRLRRLLRLLRLRRRLRRRRRLLLRLLLLLRRRLRLRLLLLRLRRRRLLRLRRLLLRLLRLRRRRLRRLRLRRRLRLRRRLLLRLLLLRLLLLRLLLLRLRRLLRLLRRLLRRRLLRLRRRRLRLRLLLLRLLLRLLLLRRRLRRLLRRRRRRLLLRRRLRLRLLLLRLLLLRLRRLLLLLLLLLRRLRRLRRRLLLRRRRLRLLLRRLRRRLRLRRLRRLLRRRRRLLLLRLLLRRRLLLRLLLLRLLLLRRRRLRRLRLLLLRRRLLRLRRRRLLLRLLLLLRLRLRLRLLRLLRLLLLLLLRLRLRRRLRLRLLRRRLLRRRLLRRRLRLLLLLRLLLRRLRLRRLRRRRRLLLRLLRLLRLRLLRLLRRLLLRLRLLLLLLLLLRLRLRLLLLLRLLRRLLLLLLRRLRLLRLLRLRLLRRLLLRRLLLLRRLRRRLLLRLRRRRLRLLLRRLLRRRLRLLLLLLLRLRLRRLRRLRRLLLLLLRRLLRLLRLLRRLRLRLRLRLLLLRLRRRLLLLRRRLLLLLLLRLRLRLRRRRRLLLLRLRRLRLLRLRLLRRRRRRLLRRRLLRRLRRRLRLLLLLRLLRRLRRLRRLLLRRRLRRLLRRRLLRRLRLRLLRRRLRRRLRRRRRLLLRLRLRRLLLLRLLLLLRLRLLLRRLRRLLRLRRLLRLLRLRLLLLLRRLRLLRRLLLLLLLLRRLLRLLLRLRLRLRRRRRRRRRRLRLRLRRRLLRRLLLRLLRLLLLRLLLRRLRRRLLLRRLLRLLLLLLLRRRLLLRLRRRRRRLRRLLLRLLLLRRRRLLLLLLRLRRRRRRRLLLLLLRLRLRLLRRLLLRRLRRLLLRLLLLRRRRLLLLLRLRRRLRLLRLRLLLRLRRRLLLLRRLRLRRLRLRRRRRLLLRRLLRLRLRRLRRRLRRRLLLLLRLLLRLLRRRLLLLLLLRRRRRLRRRLLRLRRLLRLLLLLLLLRLLLRLLRRLLLLLRLRLRLLRRLRLRRLLLRLLLLLLRRLRRRRLRLLRLRLLLLLLLRRLRLRRLLLLLLLLLRRRRLRRLRLLLLRLLRRLRLLLRRLRLRRRLRRRLRRRRRLRRLRRRLRLLRLRRLLLLLRRLLRLRRRLRRLRRLLLRRRRRRRLLRLRLLLRLRLLLLLLLRLLRRRRRRLLLRLLLLRRLRRRLLLLRLRRLRRLLRRLLRRRRLLLRLLLRRRLRRRLRRRLRLLRLLRLRLLLRLLLRLRLRRLLRLLLLRLRRRRLRLLRRLRLRRRLRLLLLLRRLLLRLRRRRRRRLRRRRRRRRLLRRRLRLLLLLLRLRRLLLLRRLRLLLLLRLRLLLRLRRRRLRLRRRRLLLLRRRRLLLRLLLRRRLLLLRLRRRLLRLLRRRLRRRRLRLRRLRRRLRRLRRLRRRRLRRRRRLLRRRLLLLRRRLRRLLRRRRLRLRLRRRLRLLRLRLRLLLRLLLRLLLLLLLRRLLRLRLLLRRRRLLLRRRRRLLLLLLLRLLLLRRRRRLLRLRLLRRRRRLLLRRRRLLLLRRLRLLRLLLLLLRLLLLRLRRRLRLLLRLRLRRRLRRLLRLLRRLRLLLLLRLLLRLRRLLRLLLLRLRRLLRLLRLRLLRLRLLRLLRRRRRLLRLRRLLRLLLRLLRRLLRRRRLRLLLRRLLRLLLLRLLLLRRLLLLRLLLRRLLRRRRRRLRRRRLLRLRRRRLRLRRLRRLLRRLRLLLRRLRLLRRLRRRLLLLRRLRRLRRRLRRRRRLLLLLLRRRLLRLRRLLRRRRLRLRLLLLLLRLRRLLLLRLLRLRRRRLRLRRRRLRLLLRLRRLLLRRRLRLRLRLRLLLRRLRLRRLLRRRRRRRRRLRRLLRLLRLRLRLRRLLLRRLLLRLRRRRRRRLLLRRRRRLLLLRLRRRLRRRLLLLLLLLRRLRRLLRRRLLLRLLRRRLLRRLRLRLLLRLRRLLRRRRLRRLRLLLLRLRRLLLLLRRLRLRRRLLLRRLLLRRRLLRLRRRLRRRRRLRRLRRLLLRLRRRLLLRLLRRRLLRRLLRLLLLRRRRRLLRRLRLRRRLLRRRRRLRLLRRRRLLLRRRLRRLRLRRLLLLLRLRLLRRRRRLRLLRRRRRRRLLLRLLLLRRLRLLLLRLRRLLRLRRLRRLRLRRLLRLLRRRLRRRRRLRRLLLLRLRLRLRRLRLLLLLRRRRRRRLLRLLRLRLLRRRLLRLRLLRRRLLRRRRLLRRRRRRLRRLRLLRLLLLRRLLRRRRRLLLRRRRRLLRRLLRLLLLLRRRLRLLRRRLRLLRRLLRLRRRLRRLRRRRRRRRRLRLRLRRRRRLLLLRLLRRRRLRRLLLLLLRLRRLRLLLLRLRLRRRRRLRRLLLRRLRRLRLRRLRLRLRRLLRRRLLRLLLLLLLRRLRLLRRRLRLRLRRLLLLRRLLLLRLLRLLRLRRLRRRLLRRLLLRRRRLLLLLRLRLRRLLRLLRRRLRRLLLRRLRRLLRRLLRLLLRRLLLLRLRRLRLRLLRRRLLRLLRLRLLRRRRLRRRRRRLLRRLLRLRRLRRRRRLRRLLRRLLRLLLRLRRLLLLLLRRRLLLLLLRRLRLRLLRLLLRLRRLRLLLLRRRRRLRLRRLRLLRRLRRLRRLLLRLLLLLRLLLLRRLRLLLRLRRLRRRRRRLLLLRLLRRLLRLRRLLLLLLLLRLRRLLRLRLLLRRRLRLLLRRLLRLLLLLLLLRLRLRLLRLRLLRRRLRLLLRRLLLRLLLRRLLRRRRLRLLLLRLRRRRRLLLRRLRRLRRRLRLLRLLRLLRRLRLRLRLRRLLRLLLLRRRLRRLLLRLLRRLLRLRLLLLLRRLRLLRLLLLLLLLLRRLRRRRLLRRRRLRRRRLRRLLRRRLLLRLLLLRRLLLRLRLLRLRRLLLLRRRLLRRLLLRRLLRRLLLRRRLRRLLLLRRRRLRRLRRLLRLLRRLRRLLLRLLRRRRLRRLLLRRLLLRRRRRRRRRRRLLLRRLRLLLLRLRRLLLLLRRLRRLLLLRRLRLRRRLRRRRRLLRRRLLLLRLRLRLRLRLLRLRLLLRRLLRRLLRRLLRLRLRRRLRRRLLRLRLRLLLLRLRLRRRRLLLLLRLLRRRRLLLLLLRRRLRLRLRRLRRRRRRRRLRLRRLRRRLLRLLRRLLLLLLRLLRLRRRLLRRLLRLLLRRLRRLRLRLRRLLLRRLRRLLRLRLRRLRLLLLLLRLRLLLLRRRLRRRLLRLRLRLLRLLRLLRLLLLLLRLLRLLLRLLRLRRLLRRRLLLRLRLRRLLLLLLLLRLRRLLRRLRLRLRLRLRLRLLRLRRRRLRRRLLRLLRRLLLLRLLRLRRLRRLLRLLRLRLRRLRLRRRRLLRRLRRRRRRLLRLLLRRLRLRLLRLRLRLLRRLRRLLRRLRLLLLRLRLLLLRRLLLRRLLLRRLLRLLRRRLRRLRRLRLLRLLRLLRLRRRRRLRLLLLLRRRRRRLRLRLLRRLLLLLLRRLLLRRRLRLLLRLLRRRRRRLRRLLLRRRLRLRLLRLRLLLRLRRLRLLLLRLLLLRLLLLLRLLRRRLRRLRLRRRRRRLLRLRRLRRLRLLRLLLRLLRRRRRLLRRRLLLRLRLLRRLRLRLLRRLRLRLRLLLLLLRRRLLRRRRLLRRLLRLRLRLLRRRLRRLLRRRRLRLLRLLRRRRRRRRLRLRLRLRRRLRLRLRRLRRLRLLLRLRLRLRLRRLRRRLLRLRLLLLLRLLLRLLLLRLLLLLLLRRLLLLRLLRRLRRRRLRLLLLLLLRLLRLLRLLLLRRRRLRLRRRLLRLRRRLRRRRLRLRLRLRRRRRRRRLRLLLLLLLLLRRLRRLLLLRRRLRRLRLRLRRLRLLLRRRRRRLLLLRRRRRLLRRRLRRLRLLLLRLLLRLLLLRRRRLRRRRRRRRLRRLLLRRLLLLLRLLRLRLRLRRLRRRLRLLLRLLRRRRLLRRLLLRRLRLRLRRLRRLLLRLRRRLLRRLRLLLRLRRRLRLRLLRRRLRLLRRRLLLLRRLLLLRLLRRRRRLLLRRRLRLLLLRLLRLRRRRLRLLRLLLLLLRRLRRRRLLLRLLLRRLRRRRLLLLRRRRRRRRLLLLLLRRRRLLRLRRRLLLRRRLRLLRLLLLRRLRLRRRLLRLLLRLLRRRRRLLLLLRRRRRLLLLRLRRRRRLLRLRRLLLRLRLRLRLRRRRLLLLLLRLLLLRRRLRLRRLRLLRRRRLLRLLLRRRRLRRLLRRRRRRRRRLRLRRLRLRLRLLRRLRRRLRLLRLRLLRLRRLLRRRRRLLRLRLRRRRRRRRLLLRLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRRRLRLLLLRRLLLRLLLRRLLLRRRLRRLRLLRLLLLRLLLRRLRRRRRLLLLRLLRLLLRRLRRRLRRLRRLRRRRRLLLRLRLLRLLLRRRRLRLLRLLLRRRLLLLLLLLRLRLLLLRLLLLRRRLLLRLRLRLLLLLLRLLLLLLLRLRRLLRLLRRLRRLRLRLRRLRRRLLLLLRRRLLLLLRRRRRLLRLRRRLLLLRLLRLLRLLLLRLRLLLLLLLLLRLRLLLRRLLLLRLRRLLLRRRRLLLLLRLLLLLLRRLRRLRRRLRRLRRRRRRLRRLLLLRRLLRRLLLRLRLRLLLLLLRLRLLLRRRRLRLLRRLLLLRRLLLRRRLRRRRRLRLRRLRLLRLRRLRRLRLRLRRRRRRRRLRLRRLRLLLLRRRRLLLLLRRLRRRLRRRLRRLLRRRLLRRRLRLRRRLLRRRRLLLRRRRLRRRLLLRRRRRLRRRRRRLLRLLLRLLLRLRLLRLLLLLLLRLRLLLRRRLRLLLRLLRRRLLRRLRLLRRRLLLRLRLLLLRRLRRRRRLRLRRRLLRRRLRRRLLLLLLLRLRLRRRLRLRRRRLLRRRLRRLRRRRLLRLRRRLRRLLLRRRRLLRRRLRRLRLRLLRRLRLRLLRLRLRRRLLRLLLRLRRLRRLLLRLRRRRLRLRLRLLRLRLLLLLLLRRLLRLLRRRLLRLLLLRLRLRLRRRRLLLLRLLLLRRRRRRRRRRLRRRLLLRRLRRLLRLLRLRLLLLLRRLLLLLLRLRLRRRRRRLRLRRRLRRRLLRLLRLRLRLRRLRLLLRLLLRRRLLRRRLRLRLLLLLRLLLRRRLRLRLLLLLRLLRLLLLLRRLRRRRRLRLLRLRLRLRLLRLRLRLRLRLRLLLLLLRRLRRLLRLLRLLLLLRRRRLRLLLRRLLLLRLLRRRRRLRRLLRRRLRLRRRLLLRLLLLRRRRRLRLRLLRRLLLLRLLRRRRLLLLLLLRLRRRLRRRRLLRRRRLRLLLLRLLLRLRRRRLRRRLRRLRRRLRRLRLLLLRRLLLRRLLRRLRLLRLLLRLLRLLLRLLLRLLRLRRLRLLLLRLLLLLLLLLLRRLRLRRLRRRLRRLLLRLRLLLLRLRLLRLRLLRLLRRLRLRRRLRLRLLLRLLLLLRLRRRRLRLRLRLLRRLRLLRRRLLRLLLRLRLRRRRLRLLLLRLLLRLRLLRRRRLRLLLRRLRRLRLLRLLLRRRRLLRLLLRLLRRRRLRLRLRLRRLLLLLLRRRLRLRRLRRRLRLRRLRLRLLLRLRLLLLRLLRLRRLRRRLRRRLRRRLRLRLRLRRRLLLRRRRRLRRLLLLLLLRLRLLRLRLRLLRRLRRLRLRRLLLLRRRLRLRRLLRRRLRRLRRLLLLRRRLRLRLLLRRLRRRLRRRRLRRRRRRLRRRLRRRRLLRRRRLRRRRRLRRRRRLRRRLRLLLLRRLLRRRRRRLRRLLRRRLLRLRLLRRRRLLLRRLRRRLLRRLLRLRRRRLRRLRRRRLRLLLLLLRLLRLRRRLRRLLRRLRLRLLLRLRRLLLLRLRRRRRRLLRRLLRLRRLLRLLLLRRLLRRLLRLRRLLLRRLLRRRLRLLRLRLLLLRRLRRRLLLRRLRLLLRRRLRRLRRRRLRLRRRLRLLLRLRRRRRLRLLLLRRLLRRRLRRLRRRRRRRLRRLRRRLRLLRRLLRLLLRLRLLLLRLLLRRRRRRLRLLRLLRRLRLRRLRRRLRRLRRLRLRRLLLLLLRLLLRRLRLRLRLRRLRLLRLLRLRRRLLLRLRRLLRRRRRLLRRRRLLRRLRLLLRRLRLRLLLLRRLRLLRLLLLLRLLRRRRRLRRLRLLLLLRLLLRLRLLRRRRLLRLLLLRLRRLRLRRLLRLLRRLRLRLLRLRLRLRLRRRRRLRLLLLLLLLLLRRLLLLRLLRLLRRRRRLLLRLRLLRRLRRLLRRRRRLLRLRLRLLRLRLRRRRLLLLRLRRRRRLRRRRLRLRRRLRLRRRRLLRLRLRLRLLLRRLRLLLLLLLLRRRRLRLRRLRLRLRRLLLRLRRRLLRLLRRRRRLLRLLRRRRRLRRLRRRLLLRRRRLLLLLRRLLLRRRLRRLRRLRLRRLLRRLLLRLRLRRLLLLRRLRRRLLLRRLLLLRLLLRRRLLLRLRLRRRRRRRLRLRRRRLLLRRLRLLLRRLRLRRRLLRRRRLRLLRLLLRLRLLLRLLRRLLLRRRRRLLLLRRLRRLLRLRRRRLRLLLRRLRLLRRLRRRRRRRLLRLLRLLLLRRLLLLRRLRLLLLRRRRLLRRLLRLLLRLRRRRRRLLRLLLLLLLLRRLRRLLRRRLLRLLLLRLLRRRRLLLRLRLRRLLLRRLRRRLLLRLLLLRLLLRLRLRRLLRRLLLLRLLLRLRRRLLRRLLLRRLRRRRLRRLRRRRLRRLRLRLLRRRRRRLLLRLLLLRRRRLRLLRLRRLLLLRRRRLLLRRLLRRRLRRRLRLLRRLRLLRLRRLRRRRLLLRRLRRRLRLLLRRLRRRRRRLRRRLRLRRRRLLRLRRRLRRLRRRRLRRLLRRRLRLRLRLLLLLRLRRRRRLLRLLLRRLLRLLLLRLRRLLLRLRLLLLRLRRRRLRLRRLRRLLLLRRLRRRRLLLRRRRLRLRLLLRLLLLRRLLRLLRLLLRRLRRRLLLRLLRLLRLRLRRRRRLLLRLLLLLRLLRRRLRLLRRLRLLLLLRRRRLRRLLRLRRRLRLLRRLRRRRRLLLLRRLLLLRRLRRLLRLLRRLLRRLRLLLRRLRRRRRLRRLLRRRLLRLRLRRRRLLRLLLRRRRLLLRRLRRLLRRLRLRLRLRLRLRRLLRRRRLRLRLRRLRRLRRLLLRRLRLLLRRRRLRRRLRLRRLLRLLRLLRRRRRRRRRRLLLLLRLLRRLLRRLLRLLLLLLLRRLRRLLRRRRRLLLRLLLLLLRLRRLRLRRRLLRRRRLRRRLLRRLLRLLLRRRLLLRLRLLLLLLRRLRLLLLRRLLRLLLRRRLLLLRLLLRLRLRRLLRLLLRRRRRRRLLRLLRRRLLRRRRRRLLLRRLRLRLRRRLRRLRLLLRLLRRRRRRLLLLRLRLLLRLRLRRRLRLRLLLRLRRLLRRLRRLRRRRLRLLRRRLLRRRRRRLRRLLLLLLLLLLLLLLRRRRLLLLLRLLRRRLRRRLRLLLRRRRLLRRRLLLRRRLRRLLRLLRRRRLLRRRLRLRLLLRRLLRLLLLLLRLRRRRRLLRRLLRRRLLLLRLRRRRRLRLLRRLRRLLRLLLRLLLRRLLRRLLLRRRRLRRRRRLLLLRLRLLRLRLRLLRLRLRRRLRRRLRRLRRRLLRRLRLRRRLRLRRRLLRLRLRRRLLRLLRLLLLLLRRRRLLRRRRLLLLRLRLLLRLLLRRLRLLLRLRRRLLLRLRLRRRRRLLLRRRRLLLRRRLRRRRLRRRLLRRLRRLRLRRRLLRRRRRRLLRRRRRRRRLRLRLLRLLRRRRLLRRRLRRRRRRLLLRLLRRRLRRLRRRRLLLLLLRLRRRLRLLLLLLLRLLLLRLRLRRLLLLRLLLLLRLLLLRRRLRLLLLLLRLRLRLRLRLRLLRLLRLRLLRLLRLLRLLLRRLRRRLLLRLRRLLLLRRRLLLRLRRLRLLLLLRLRRRRRLRLRLRLLLLLLLLLLLRLRLRRRRLRLRLRLRLLLLRRLRLLRRLLRRRRRRRLRLLRLLRRRLRRLRRLRRRLLRRLLRRLLLLRLRRRLRRRLRLLRLRRLLRLRLRLLLRRLRLLLRLLLLLRRRRLRRRLRLRLLLLRRLLRRLRLLRRLLLLLRRRRRRLLLLLRLRRLRLRRLLRRRRRRRRRRRRRRRRLLLLLLLRRRRRLRLLRRLLLLLRRLLLLRLRRLRRRRLRLLLRLRLLRLRLLRRRLRLRLLRRRLRLLRLLLRLLRRRLRLLRLRRLRRRLRLLLLRLRRLRLLRLRRLLRLRRLRRRRLLLRLRRLLLLLRLLRRRLRRRLLRLRLLRRLLRRLRLRRLRRLRLRLRRLLLLRRLRRRRRRRRRRLRLLRRRLRRRLLLLRLLLLLLRRRLLRLRLLLRRLLRLLRRLLRRLLLRLRLRRLLRRLLLLLLRRRLLLRLLRLRRRRRLLLLRRLLRLRLLRRRRRRLRLRLRLLRLRLRLLLLRRRRRRLLRRRLRLLLLRRRLRLRLLLLRRLLLLLLRRLRLLLRLLRRLRRLRRRLLLLRRRLRLLLRLLLRRLRLRRLLLLLRRRLRRLLRLLLLRRLLLLRLRLLRLLLRLLRRRRRLRLLLLLRRRRLLRRLLLRLRLLLLLRLRRLLRLLRLRRLRLLLLRRLRLRLRLRLRRRRRRLLRRRLLRRRLLLLLLLRRRLLRLRLRRRRRLRLRRLRRRRRLLLRLLRLRRRLLLRRRLRRLLLLRLRLRLRLLLLLRLRRRLRLRRLRRLRRRLLLRLRLLLLLRLRRLLLRRRLRLRLRLRLRLRRRLLRLRLLLRRLRRLLLLLLLRLRLRRRLRRRLLRRLRLRRLLRLRRLLRLLRLLLRLRLLLLLRLRRLLLRRRRLLLLLRLRRRLRLRRLRLLLLLRLRRLRLLRRLLLRRRLRRRLRRRRLRRLRRLRRLLLLLLLLRRLRLLRLLRLRRRLRRLRRLLLRRRRRLRLLRLRRRRRLRRRRRLLLRLRLRLLLLLRLLRLLLLLRLLLRLRLLLRRRRLLRLLRLLLLLRRRRLLRRLLLLLLRRLLRRLRRRLRRLRLRLRRLRRRLRLRRRLRLLRRLRRRLLLRLRRLLLLRLLLRRLLRLRLRRRRRRRLLLLLRRRLLLLLLLLRRRRLRRLLLRLLRLRLRLLRLRLLRLRRRRRRRRLLLLLRLRLLRLLRLLRRLLRRLLLRLRRRRRLRRLRLLRLRRLLRLLRLRLRLRLRRRRRRLRRLLLRRLLRLRLRRLRLRLLLRRRRRRRRRRLRLRLLLRLRLLLRLLRRRLLLRLLLLRRRLLRRRLRRLRRLRRLLLLRLRRRLLLRLLRLLLLLLRLRLLLRRRRRLRRLLRRLRLLLLRLRRRRLRRLLLLLLLRLLLRLRLRLRRLRLRRLLLRRRLRLLRLRLLLLRRLRRLRLLLRRLRLRRLLLRRLRRLRRLLLLRRLLRLLRLRLLLLLLRRLLRLRLRLLRLLRLRLLLLRRRLRRRLRLLRRLRLLLRRLRRRLLRRRLLLLLRLLLRRRLRRRLLLLRLRRLLRLLLRLLLRRLLLLRLLLRRRLRRRLRRRLLLLRRRLLRLLLRLRLRLRLLLLLLLRRRRLRLLLLLLLLLLRLRRLRRLLRRLRRRLLRRRRRLRRRRRRLRRRLRLRRRRLRLRLRLLLLRRLRLLRRLRRLLLRLLLLLLRLLRLRLLLLLLLLRRLRRLRLRLLRLLRLRLLLRRRRLRRLRLLRRRLRRLLLRLRRRRRRRRRLLRLRLRRLRLRRRRLLRLLLLLRLLRRLLRRRRRLRLLLRRRRLLLRLLLRLLLRLRLLLLLLLRLLRLLLLRLLLRLLRLRLRRRLRLLLLLLLRRRLLRRRRRLLRLRRRRLRLRLLRLLRRRLLLRLLRLLRLLLLLLRLLRRRRRRRLRLLLRLRLRRRLRRRLRRLRLLRLLLRLLRLLLLLLLRLLLLLLRRRLLRRLLLRLLLRRLLRLLRRRRRLLRLRRLRRLLLRLLRRLLLRRRLRLLLRRRLLLLLRRLRLRLRLLLLRRLLLRLLRRRRRRLLRRRLLRLRRRLLLLRLLRRLLRRRRLLRLLLRRLRRLLRLLLLLRRLRRLLRRLRRRRLLLLLRLRRLLLRLLRLLRLRRLLRLRRRLLLRLRRRRRLRRRRLRRRRLRLRRRRLRLLRRRLRLLLRRRLRLRLLRRRLLRLRLRRLLLRRRLLRRRRLRLLLRLLRLLRRRLRRLLRRLLRLRRLLLRRRLRLRRRRRLLRRLLRRRLRRLLLLLRLLRRRRRLLLRRRRLRRLRRRRLRLLLRLLRLLRLRRLLRRLRRRRLLLLLLRLLRLLLLRRRLRLRRRLLRLRLLLRRRRRLLLRRLRRRRRLLRLRRLLLLRRRRRRLLLLRRLLLRRRLLLLLRRLRRRRRLRLRLRRRRLRLRLRLRLLRRLRLLLRRRLLRLRLLRLRLLLRRLLLLRLLRLRLRRRRRLRRLLLLLRRLLLLRLLLLLLRLRLRLRRRRRLRRRRRLRLLLRRRRRRRLLRRLRLLLLRLRLRRRRLLLLLRLRRRLRLLLLLLLRLLLRRLLRLRRLRRRLRRLRLLLRLRLRRLRRLRLLRLRLLRRLRRLLRRLLLRRRRRLLRRLLRLLLLLLRRLLLLRRRLRRRRRLLRRRRRLRRLRRLRRRRRRLRLRLLRRLRLRLLRRLRRRRRRRLLLLRRLLRRRRLLLLRRRRRRRRRRRRRLLRRLLRLRLRRLRLLRLRLLRRRRLRRRLRRLLRRRRLLRRRLRLRLLRLLLRRLLRLLRRRRLLRRRRLRLLRLRRLLRRLLLRLLLLRLRLRRLLLRRRLRRRRLLLRRLLRLLRRRLRLLLRRLRLRRLLLLLLRRLRRLLLRLLRLLLRLRRRLRRRLLRLLRRLLRLRRRLRRRRLLRRLRLLRRLLLRLRRRLRLRLRRRLLLLLLRRLRRRRLRLLLRLRRLRLLLLRRRRLLRRRRRRLLRLLLRLLRLLRLLRLRRRLLLLLRRRLRLRLRRLRLLLLRLLLLLLLRRRLRRRLLLRLLLLLRLRRLRLLRLRLRRRLRLRLRLLLRLLLLLRLRRLRLLLLRLRLLLRRLRRLLRRRLRLLLLLRRRRRRRRRLLLLRLRLRRRLLLRLLRLLRRRLRLRLLRRLRRRRRRLRRRLRLLRRLLLRLLLRRLLLRLLRLLLLRLLLLRRLRLRLLRLLLRLRLLLRRRLRRRLRRRRRLRLRRLLLRLRRLLLLRLRLRRRRRLLLRLLRLRRLLRLLRLLRRRLLLRRLRLRRLLLRLLLRRLRLRRRLLRRLRRRLLLLLRLRRLLLRLLRLRRLLRLLLRLLLRRRRRRRLRRRRRLLRLLRLLLRLLLLRRLLLRLLLRLLLLRLLRLRRRLRRRRRLLRRLLLLRRLRRLLRLRLLRLRLLLRRLRRLRLRRRLRLRLRRLLLRRLLRLRLLRLLLRLRLRRRRLLLRLRLRRRLRLLLRLLRRLLRRRLRLRRRLLRRRRLRRRLLRRLRLLLRRRRLLRLLRLLLLRRRLRLRRRRRLRLRLLLLRRRLRRLLRRRLRLLRRLRRRRLRRLLLLLLLRLLLRRRRLRRRLLRRRLRRLRLLLLLRLLLLLLRLRLLRLRLLLRRRLLRRRLLLRRRRRRLRRRLRRLRLRLLLRRRRLRLRLRLRLRLLLLRRLRLRRLLLRLLLRRLLRRRLRLRRLLRLRRLLRLLLLRLLLRRLRLRRRLRRRLLRLRRLLRLRRRLRLLLLRLRLLLRLLLRRRRLLLLRRRLRRLLLRRLLLRLLLLRLLRRLLRRLLRRRRRLRLLLRLRLLRLRRRRLRLLRLLLRRRLRRLRRRLRLRLLRRLLRRLLLLLRLLLRLRLRRRRRRRLRLRRLRLRLRLRLRRLRRLLRLRRLRLLLLLRLLLRLLRRRRLRLRRLRRLRRRRRRLRLRRLRRLRLRRLLRLLLRRRRRLRLLRLRRLLLLLLLLRRRRLLLLRRLLLRLRRLRLLLRRRLLRLRRLLRLLLRLRLRRLLRRLLRLLLRRRRLLLRLRLRLRRLLRRRLRRRLRRRRRLLLLLLLRLRLLLRLRLLLLLRRLRRRRLRLRLLLRLLLLLLLLLRRRLLRRLRRRRLLRLRLRRLLLRLLRRLLLRRLRLRRLLRLLLLRRRRLLLRLRRLRLRRRRRRRRLRLRRRLLLRRRRRRLRLLRLLLLLLLRLLRLLLLRRLLRLLRLRLLRRRLLLRRLRRRLLLRRRLRRLRRRLLRRLRLLLLRLLLRLLRLRRRRLLRRRRLRRLRLRLLLRLLLRLRRLLLLRRRRRRRRRRRLLRRLLRRRRRLRRRRRRRLRLRLLRLRLLLRRRLRRLRRRRRLRLRLRLRRRLRLRRLRLRLLRLRLLLLRRRLRLRLLRRLRLLLLLRRLRLLLLRLLLLLRRRRRLRLRLLLLLRRLRLLRLLLRLLLRRRLRRRLLRLRRRLRRRRLRLLLLLRRRLLLLRRLLLLRRRLRLLLLLLLRRLRLRRRLLRLLLRLLRRRRRLLRRLLRLRRRRLLRRRLRRRLLRLLRLLRRRRLRLLLRRRRRLRLLRRLLRLRRRLRLLLLRRLRRRLRRRRLRRRRLRRRLLRLLRRRRRRLLRRLLRLRRLRLRRLRRRLLLLRRRLRRLRRLLRRRRRLRRLRLRRRLRRRRLLLLLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRLLLLLRRRRLLLLLLLLRRLLRLRRLRRLRLLRLLLRLLLLRLLRRRRRLRRLLLRRLLLRRLLLRRRLRLRRLLRRRLRRRLLLRRLRLRRRRLRLRRLRLLRLLLRRLLLLRLRLLLLRRLLLLRRRLLLLRLRRLLLRLLLLRLRRLRLRRLLRLLRLLRRLRLRLRRLRRLLLLLLLLRLLLLLRRRLRLRRLRRLLLLLRLLRLRRLRLRRRRLLLRLLLLLRLLLLLLRLLLLLRRLRLLRLLRLLLLLRLRLLLLRRLRRLRRRRLLRRRRRRRRRRLLLLLRLLRRRLRRRRLRLLRLLLRLLLRRLLRLLLLLRRLLLLRRRLLRLRLLRRRRRLRRRRRLLRLLLRRRLRLRRRLLRRRRRLLLLRRRLLLLRRRRRLRRRRRLRRLLRRRRRLLLRRRLLLRRLRLRLLLRRLRRLRLRRRRLLRRLRLLRLRRLRLRRRRLRLLRLRLLLRLRRLLLLLLLLLLLRRLLRRLLRRRRRLRRLLRLRRLRRLRRRLLLRLRLLRLRRLLRRLRLRLLRLLLRRRLRRRLLRLLLRRRLLRRRRRLRRRRLLRRRLRLLRLRRRLLLLRLRRRLLRRRRRRLRLRLRRLRLRRLRRRRRRLRLLRLRRLLRRLLRRRRRRRRLLLLLRRRRLRLRLRLLLLRRLLLLRRRLLRRRLLRRLLRLLLLRLLLLLRRRRLLLRRRRLLRRRLRRRRLRLRLRLLLRRLRRLLRRRLRLLLLLRLRLLRLRLRLRLRRRRRRLRRLRRLRRRLRRLLLLLLRLRRLRRLLLLRLRRRRLLRRLLLLRLRLLRLLLLRRLRLRLLLRLRRLRRRLLLRRLLRRRRLLLRLLRRLRRLLLLRLRLLLRLLLRLLRLRLRRRLLRLLLLLRRRLRRRLRLRRRRLLLLRLLRRRRRLLRLLRRRLLLRRLRLLRRLLLRLRRRLRLRLLRRLLLLLLLRRRLRLLLRLRRLRRRLRLLRLLRRRRLRRLLLRLLRRLRRLRLRLRLRRLRRLLRRLLLLLLRRLRRRLLLRLLRRLRLLLRRLRLLLRRLLRRLRRLRLRRLLLRLLRLLLLLRRLRRRRLRLRRRRLRLRLRLRRLLLRRRLLLRLLLLLLRLLRLRRRLLLLLLLRLLLLLRLRRRRRRRRLRRLRRRRLLRRRLLRRLLRLRLRLRLLLLLRLRLRLRRLLLRRRRRRLLLLRRRLLRRLRLLLRRRLRRRRLLRRLRLRRLRRRRRRLRLLLLLRLRRRLRRLLRRRLRRRRRLLRRLLRLRLLLLRRLRLRRLRRLLRRRLLRRRRLRLRRRRRLRLRLRRLLRRRLLRLLLRLLRLRLLLRLLRLLRRLRLLRLLLLRLLRRRRRLLLRRLRRRRRRLLLRRLLRLRLRLRRLRLRLRRLRLRRRRRRLRRRLRRRLLLLRLRLRRRLLLRLRLRLLLRLLLRRLRRRLRLLLRRLRRLLRRRLLRLRLRRRRRLLLRRLRRRLLRRLRRLRRRLRRRLRRLRLRRLLLLLLLLRLLLLLRLLLRRLRLRLLRRLRLLLLLRLLLLRRRLLRRLRRLRRRLLRLLRRRLLRRRLRLRRLLLRRLLLRRRRLLRLRLLRLRRLRLRLRLRRRRLLRRRRLRRLRRRRLRLRRRLRLRLLLRRRLRLRLLLLRRRRRRLLRRLRRLRLRLLRLLRRRRRRLLRLLRLLRRLLRLRLRLRLRRRLLRLLLRRLLRRLLLLRRLRRLRRRRRLLRRRLLRRLLRLLLRRRRRLRRLLRLRLLRLLRLRRRLLLRLRRRRLRRRLLRLRRRLLRRLLRRRRRLRLRRLLRRRLRLLRLRLLLLLLRRRRRRRRLRLRRLRRLLLRLRLRRRRLLLRLRRLRLRLLRLRRLLRLLRLLRLRLLLRRLRLRRRRRRRRRLLLLRLLLLLRRLLLLRLLRLLRRRRRLLLLLRLLRRLLLRLRRRLRRLRLRRRLLRLRRLRRLRLLLRRRLRLRRRLRRLRLRRRLLLRRRRLRRLRLLLRRLLLRRRLRLLLLLLRLRRLRRRRRRLRRRRLRLRLLRRLRRLLRRRRLRLRLLLRRLRLRRRRRRLLLLRRRLLLLLRRLLLRRLLRRLRLLRLRRLLRRLLLRLRRRRRLRRRRLLRRLRLRRLLRLRLLRRRLLLLRLRRRRRRRRLLLRLRRRRLRRRLRLRLRRLRLLRRLRLLRRLRLLRLRRLLRLRLRLLRRRLRRLRRRLLLLRRRRRLLRRRRRLRRRLLRRLRLLLRLRRLRRRLLLRLLRRLLLRRLRLLRRLLLLLLRRRRLLRRLLRLLLRLRRRRRRRLRLLRLLLRLRRRRRLLRRRLLRLLLLLLLLRRRRLLRLRLRRLLRRRLRRRLRLRLLLLRLLLLLLRLRLLRRLLRLRLLLLLRRLLRLLRLLRLRRRRRLRLRRRRRLRRLRLRLLRRRLLLLLRRLLRLRLLRRRLLLRLRLLRLRLRRLLLRLLLRRLLLLRRRRLRLLRLRRLLRRRLRLRLLLRLRRRLRLRLRRLRRLLRRLLRRLRLRRRRLLLLRRRRRRRLRLRRRRRLRRLLRLRRLRLLLLRLRLRRRLRRLLRRRRLLLRLLRRRLLRLRLRLRLLLLRRRLRLLRRLRRRLLLLRLRRRRRRLLRRRLRLRLLLRLLLRRRLLRLLLRLLRRLRRLLLLRLRRRLRLLRRRRRRLLLRRLLLLRLLRLLLRLLLRLRRLLLLLRLRRRRLLRLRRLRLRLRLRLLRRRLLLLRRLLLRRRLLRRLRLLRRRRRLLRLLLRLLRRRRLRRRLRRRRLRLLRLRRLRLLRLLRRRRRLRRRLLRRRRRRLRLRLRRRRRLRRRLLRRRLRRRRRLLRRLRRRLRRRLRLLLRRLRRRRRLRRRRLLRRLRLLRRLLLRLRRLRLLLLRRLRRRLLLRLRLLLLLLLRRLRRLLRLRRRLLLRLRLLRRRLRRLRRRRRRLRRRRLLRRLLRRLLRLLLLLLLLRRLRLLLRLLRLLLLLRLLRLRLLLLRRRLRLRLLLLLLRLRLLLLLLRLRRLRRRLRLRRLRRRLLLLRLRLRRRRLRLRLRRRLRRLRRLLRLLRLLRRRLLLLLLRLLLRLRLRRRRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLLLRLRRRRLRLRRLRLLRLLLRLLLRLRRLLLLLRRLRLRRRRLRRRRRRLRRLLRRRRLLRRRLRLLLRLLRRLRRLRLLLRRLLLLRRLLLLRLLRRLLRLRLRLRRRLRRLRLRRLRRLRLRLLRLLLRLRRRLRRRLRRLLRRLLRRLRLRLRRRRRLRRLLRLLLRRRRLLLRLLRLLLRRRLRRRRLLLLRRLLRRRRLRRLLRRRRRRLRLLLRRRRRLLLLLLLRLLLRRRLLRLLRRLLLLLRLLLRLLLRRLRRLLLRRLRLLLRRRLRRRRRLRLRRLRRLLRRRRLLLRLRRRRLLLLRLLRLRLRRLRLRRLRLLRLLRRRLLLLLRLLRLLRRRRLLRRRLRLLRRLLLRRRLRRRLRRLRLLLRRLLLRLLRRLLRLLLRRLLRLRRLRRRLRLLLRLRLLLLRRLRLLLRLRRLLLLLRRLLRRLRLRLRLLRLLRRLLLRLRRLLLLLLRRLRLRLLRRRRRLLLLLRRLLRRLLLLRLRRLLLLRRRRRLRLLLRLLLRLRLLRLLRRRLRRRRLLLRLRLRLLRRRRLLLLRRRLLLRRRRLLRLLRLLRRRLRRLRRLRRLLLLRLLRRLLLRRRLRLLRRRLLLLRLRRLLRLRRLRLRLLRRLLRRLLLLRRLRLLRLRRRLRRRLLRRLLRRLRLRRRLRLRLLRRRRRLLLLLRLLLLLRRRRLRLRRRRRLRRLLLRLRRLLRLLLLRRRRLRLLRLLLRLLLRLLLLLLRLLLRRRLLRLLLLRLLRLRLLLLLLRLRLLRRRRLLLRRLLLLLRLLRLRLRRRRLRRRLRRLLRRLRLRRRRRLLRLLRLRLRRRRRLRLRLRRRLLRLRRLRRRLRLRLLRLRLLRRLLRRRRRRLLRRLRRRLLRLRLRRRLLRLRRRRLRRLRLRRRRLLRRRLLLRLRLLRLRRLLLLRLLRLRLRLRRLLLLLRLRLRRLRLRRLLLRLLLRRRRRRLLLRLLRLRRLRRRLLLRRRLRLRLLLRRRLLLRRRRRLLRRRLLLLLLLRRRRRRLRRRLLLLRRRRRLRRLLLLLLRLRLLRLRRLRLRLRLRRRLLLLRRRLRLLRLLLRRRLRLRLLRRRLRRRLLRLLRRLRRLLRLRRLLLLLRRLRRRLLRRLRLLRRRRRLLLLLLLRRRRLLLRLLRRLRLLLLLRLRRLLRLRRLRRLRLRLLRLLRRLLRLLLLRRRRRLLRLRLLLRRLLLLLLLRRRLLLLLLRLRRRLRLRRLRRRRRLLLRRLRLRRLLLLLRRRRRLRRLRRLRRLRRRLRLRLRRRLRRRRLLLLRRRLLLRLRLLLLLRRRRLLLRLRLRLLRRLLLRLRLRLRRLRLRRLRLRLRLRLLLLRRLLRRRLRRLLRRRLRLLRLLRLRRLRRLLLRLRLLRLRRRLRLLRRLLRLLRLLRLRRLLRRLRLRRLLLRRLLRLLRLRLRRRLRRLRRLLRRLRLRRLRRRRRLRLLLLLLLRLLRRRLLLLLRRRLLRRRRRLLLRRRRRRLRRLLLRRRRLLRRRLLLRLRLRRRLRRLRRRLRRRLRLRLLLRRLLLLRRLLRLLRLRLLLLLRRRRRLRRLLLLLLRRRLRRLRRRLRLRLLRLLRLLRRLRLLRRLRLLLRLRRRRRLLLRLLRLRRRRLRRLLLLRLRLRRRRRLLLLLRLLLRLRLLLLLRRRLLRRRLRRLRRRLRLLRLRLLRLRRRRRRRRLRLRRRLRRLRLLLRLRLLLLRLLLRLRRRLRLLRLRLLLRLRLRRLLRRLLRLRRRRLRRRLLLRLLRRLLRLLLLLLRLLLLRRRRRRRRRRRLLLRRLRRRRLLLRLLLRRLRLRLLLLRRLLRRLLRRRLLLLRLRRRRRRRRRRRLRLRRLLRLLLRLLLLRRRLRRLLRLLRLLRLLRRLLRRLLLRRLRLLLLLRLLLRLLLRRRLRRLRRLLLRLLLLRLLLRLLLLLRLRRLRLRLRLLLLRRLLLRRLRRLRRLLLLRRLLRRLLLLLLLRLRRRLLLRRLRLLRLLLRRLLLLRRLLRRLRLLLRRLRLLLRRRRRRLLRRRLLLLLLLRLRRRRLRLRLRLLLRRLLLRLLRRLLRRLLLLLRLRRLLLRRLRRLLLLRRRRRLLRLLLRRRRRLRRLLLRLRRRRRLLLLLLLLRLLRLLRLLRRRRRRLRLRLLLRRRRLRRLRLLLRLRLLRRLLRLRLRLRLLLRRLRRLRRRLLRLRRRLLLLLLLLLLLLLLRLLLLLRRLRRLLLRLLRLRLLLRRLRRRRLLRLRRRLRLLRRLLLLLLRRLRLRLLRLRLRLLLLRLLLLRRLRLLLRLRLLRLLRRRRRLLRLLRRRRRLLLRRLLRLLRRRRLLLLLRLRLLLRLLLRRLLRLLLRRLRLRLLLLRRRLRRRRLLRRRRLLLRRLRRLLLLRLLRLLRLRLRRRLRRLLRRLRLLLLLLRRRRRRRRLLLRLLRLRRRLRLRLRRLRLLLLRLRLLRLLLRLLLRLLLRLLRRRLRRRRLRRLLLRLLLLLLRRLLLRLRLRRLRLRLLLLLLRLLLRRRLRRRLRRRRLRLLRRLRLRLRRLRRLRRLLRLRRRLRRRRLRRLRLLRRRLLRLRRLLLRLRLLRRLRRLLLRRLRRLLRLLRLLRRLLRRLRLLRLRRLRLLRRRRRLRRLRLLLLRLLRLLRLRRRRLLLRRRRRRRRRRRRLLRRLRRRLRRLRRLRLRLRRLLLRRLLLLRLRLRLLRLRLRRLLLRRRLLLRLLLLLLLLRLRLLRRRLRRLRRLLLRLRRLLLRRLLRLRRLLRLLRRLLRRRRRLLRRRRRLLRRRRRLLLRRLRLRRRRRRLLRLLLRRLRRRRLRRRRRRLLRLRRLLRLRRLLRRLLLRRRRRLRLRLLRLLLRLLRRRRLLLRRLLRRRRRLRRLRLLRLRRRRRRLLRLRLLLRRRRLLLLLRLLRRRRRLRLLLRLRRLLLLLRLRLLLRLRRLLRRRLLLLRLLRLRLLLRRLLRLLLLRLLLRRLRRLLRRLLLRRRLLLLRLRRLLLLLRLLLRRRRLLRRLRRLLRLLLLRRLRRLLRLLRLLLLRLLLRRRRLLLRRLLRLLLRLLLRLLRRLRLRRLLRRRRRRRRLRRLLLRRRLLLRLRRLRRLRLLRLLLRRRRLLRRLLLLRLRRLLRRLLRLRLLRLRLLLRRRRLLRRRRRRLRRRLRLLRLLRLRRRRLRRRRRLLRLLLLRLRRRLRRLRRRRLLLLRRLLLLRLLLLLRRLRLLLRRRLRRLRRLLLRRRLLRRRLLRLRLLRRLRLLRRLRRLLRRRRRRRRRRLLRLLLLLLRLLLRLRRRRRLLRRLRLRLLRLRRLLRLLLLRLLLLRLLLRLLLLRRLLLRRRRRLLRLLLLLRRRLRLRLRLLRRRRLLLLLRRRRLRLLLLRRLLLLRLRRRLRLRLLLRLRRLLRRRRRLRLRRRLRRRLLRRRRRLRRRLRRRLRLRRRLLLLLLLLLRRLRLRRLLRRLLRLLRLLRLLLLRRRRRRRLLRLLLRLLLRLRLLRLRRRRRLLLRRLRRLLLLLLRLLLLRLRLLLLLRLRLLRRLLRRLRLLLRRRRLRLLRLRLRLLLLRRLRLLLRRLLLLRRRLLRRLLRLLRLLLLRRLRLRRLRRRLLRRLRRRRRRRRRLRLLLLLLLRRRRRRLLRLRRRRLRLRLLRLLRRRRRRLRRRLRRLRRLLLRLLLLLLRRLRRLLLLLRLRLRRRLRLRLLRLLRRLRLLRLRRLRRRLRRRRLLRLRLLLLRLRRLLLRRRRRRRRRRRLLRLLLRRRLRRLLRLLRRLLRLRRLRLRRRLLLLLLLRLRLLLRLLLRLRLRRLLLLRRRRRLLRRLRLRRRLRRLLRLRLRLRRLRRLLLRLRLRRLLRLLLRLRLLRRLLLRLLLLLLLLRLLRRLLRRRRRLRLRRLLRRLRLLLRLLLRRRRRLRRLRRLLRRLRRRRRLRLLLRRLLLRRRRLRRLLRLLLLLRRLRRLLRLRLRLRRRLRLLRRLRRRLRRRRLLLRLRLLRLLLLLRRLLLRLRLLLRRRRRLRLLRLRLRLLRLRLRRRRRLRLLLLLLRRRLRRRRRLLLRLRRLRLRRRRLRRLLLLLLLRLLRRRLRLRRRLLRRRRRLLLRLRRLRRLLLRRLRLLRRLRRLRRRRRLRRLLLRRRRRRRRRRRRRRRLRLRLLLRLRRLLLRRLRRLRLLRRLRLLRLRLLRRLLRRLRLRLLLRRLLLLRRRLRLLLLRLLRRRLLLRRRRLLRLLLLRRLLRLRRRLLRRLLLLLLLLRRLLRRRLRLRLRRLRRRRLLRLLLRRLRRRLLLRRLLLRLLRLRRRRRLRLRRRRLRRRLRLLRLLRLLLLRRLRRLRRRLRLLRRRRLRRRLRLLLRRLLRLRLRRLRLRRLLLRRLRLRRRRLLRRLRRLLLRRLLRLRLLLRLLLRRLRRRLRRLLRRRRRRRLRRLLRLRRRLRRLLRRLRLLRRLRRRRLRLLRLRRRRLLLLLRRRRRRLRLRRRLLRLLRLRLLRRRLLLRLRLLLLLLLLRLLLRLLLLLLRLLLRRRRLRRLRRLLLRRLLRRLRRRLLRRRRLLLRLLLLRRLLRLRLRRLLLRRLLLLRRLRRRRLLRRLLLRLLLLRRRLLRRLRRRRLLRLRLLRLLLLLRRRLRRRRLRLRLLLRRLLRLRLRRLLRLRRLRRRRRRLRLLLLRRRRRLLLRLRRRLLLLRLRLLLLLLRLRLLRLRRLRLLRRLLLLRRRRRLRLLRRRLLRRRRLLRLRRLLLRLLRRLRRRRLLRLLRLLLLRLLLRRRLLLLLLRRLLRRLLRLLRLLRLRRRRLRRLLRRRLRLLLLLRRRLRLRRRRLRLRRLLRLRLLLRLRLLRLRRRRRRRLLRRLLRLRLLRRLLRRLRRLRLRLLRRRLRRRRRLRLRLRLLLRLLRRLRRRLRLLLRRRRLRRLRLLLLLRRLRLLRLLRRRRLLLRLLLLLRRLRRRLRRRLLRRRLLLLRLRLLRRLLLLLLLRLRLRLLLLRRLRRRRRLLLRLLLLRLRRRRRLLRRLLRLLLRRRRLRRLRLLRLLLLRLLRRRRRRLLLRLRRRLRLRRRLRRRRRLRRLLLLRRLRLLLRRLRRRLRLLRLRLLLLLLLRRRLLLRLLLRLLRLRRRRLLLRLLLLRRRLRRRRLLRRRRRRRRRLRRLRRLRLRRLLRLRRLRLRLLLLRLRLRLLRLRLLRLRRLRRRRRLRLLLLLRRRLLLLLLLLRLRLLRLLLLRRRRLRLRLRRLLLLLLRLLRRLRRRLLLRRLLLRRLLLLRRLRLLRLLLRLRRRLLLLRRLRLRRLRRLLRRRRLLRLLLRRLLRLRLRLLLLRRRRRLRRRLLLLLLRRRRLRRLLLRLRRLLLRLLLLRLLLLLLLRRRLLRLRLLRLRLRLLRRLRLLRLRLRLRLLRRLLRLLLRLRLRRRRLRRRLLLRRRRLLRLLLLRLLLLLLRLRRLRLRRLLRRLRLLRLRRLRLRRLRRRRLRRLLRRLRRRRRRRRLLRLLRRRRRRRRRRRRLLRRLLLLLLRRLLRLLLLRRLLLRLLRRLLLLLLLLRLRRLRRRRLLRLRLLRRRRLRLRLLLRRLRLLLRLLRRLLRRRRRRRLRRRLLLRRLRRRRRLLLLRLRLLLLRLLLRLLRRRLRRLRLRRLRRLLRLRLLRLLRLRLRRRLRRLLRLRRRLRLLRLLLLRRRLLLRLRRRLRLRRRRRRLRRLLRLRRLLRRRLLLLRRLRLLRLRLLLRRLRLRRLRLLRRRRLRRRRRRLRLRRRLLLRLRLLLRLRLRLRRLLLRRLLRRLLLLLLRRRRLRLRRRRRRLRLRLLRRLRRLRRRRRLRLRRLRRLLRLLLRRRLRRLRRLLLRLLRRRRLRLRLLLLLRLLLRRRRLRRRRRLLLLLRLLLLRLLLLRRRRRLRRRRRRRLRLLLRRRLLLLLLRLRRLLLRLLLRRRLRLRLLLRLRRLRLRRRLRLLRLRRLLLRLRRRRRRLRRLLLRLRRRRRLLRRLLRRLRRLRLLLLRLRLRLRLRLLLRLLRLLLLLLRRRRRLRRRRRRRRLLLRRLRLRRLLRRLRRRRLLRLLRLLLRLLRLLRLLLRRRLRRLLLRLRRRLLLRLRLRRRRRLRLLRLLRLLLRLLLRRRRLLLRRLRLLRRLRRRLRLRRRRRRLLRLRRLLLLRRLLRRLLRLRRLLRRLLLLRLLLRRRLRRLRLLLLRRLRRLRLRLRRRRLRLLLLLLLLRLLRRLRRRLLRRLLRRLLRRRRRLLRLLRRRLLRLRRLLLRRLLLRRRRLRLRLRRLRRRRLRLRLLRLRRRLLLRRRLRLRRLRLRLLLLLLRLLRLRRRRLLLRLLLLLRRLLRRRRRRRRRLRRLLLRRRLRRLLLLRLLRLRRRLRLRLRLRRRLRLRRLLLRRLLRRLLLLLRLLRRRLRLLRRRRLRRRRLRRRLRLRLLRRLRRRLLLLRLLRLLRRLRLLRRRRRRRRLRLLLRRLRLRRLLLRRLRLRRLRRLLRRLLLLLRRLRRLRRRRLRRLLRRLRRRRLRRLLLLLLRLRRLRRRLRLLRRLRLLLLLRRRLLRLRLRLLLRLRRRRLRRRLLRRLRLLRLRLRRLRLLRRLLRRLLRRRLLRLRRRLLLRLLRLRRRRRLLLRLLLRRLLRLLLRRLRRRRRLLLLRLRRRLLLLLLLRLRRRRLRRRLLLLRLLLRLRLRRRRLRLRRRLRLLLLLRLRLLLLLRLRLLLRRLRLLRLLRLRRRRLLLRRRLRRLLLLRRLRRLRRLLRRRLLRRLRRRLLRRRRLLRRLLRRLLLLRRRLLLLRLRLRLRRRLLLLRRRRRLRLRRRRLRLLLLLRLRLRLRLRRRRLLRRRLRRRLLLRRRRRRLLRRLLRRLRLLLLLLLLRRRRRLLLLLRLLRLLLRRRLRRRRRRLLLLLLRRLRLLRLLLLRRLRRLLLRRRRLRRRLLRRRLRLRLLRRLRLRRRLRLRLLLRRRRRRRRRLLLLLRRLRRLLLRLRRRLRLRLLRRRRLLRRRRLLRLLRLLLRLRRRRLRRRRRLRRRLLRLRRLRRRLRRLRRRRRLLLLRRRRLLLRLLRRRRRLLRLRLLRLRRLLRRLRLRRRLLRRRRLLRLRLRLLRRLLLLRRRRRLLRLRLRLLLLRRLLRRLLLRLRRLLLRRLLRRLLRLLRRLRRLRRLLLRRLRLRRRLRLLRLLLRLLLRRLLLRLRRRLRLRLLLRRRLRLLRRLRRLRRLLRLLRLRLRRLLRRRLLRRRRRLLRRLRLRRLLLLRRLRRLRRLRRRRRLLLRRRLLLRLLRLRRLLRRLLLRLLRLLLRLRLRLLRRRLRLRRLRLLRRLRLRLLLRLLLLRLRLLLLRLRRRLRLRLLLLRLRRRRLRRRLLLRLRLLRLLRRLRLLLRLRRLRRRRLRRLRRRLLLRRLRRLRRLLRLLRRRRLLLRRRRLLRRRLLRRLRRRLRLRLLRRRLRRRLLLRRLLLRLRLLRLLLLLLLRRLRLLLRRLRLLLRLRRLLRRRRRLLRRLRRLRLRRLLLRLRLLRLLLRLLRLLRLRLLRLLLLLLRRRRLLLLRRRRLLLLRLRRLLLRLLLRRRLRRRRLLLLLRLLLRLLRRLLLRRRLLRRLRRRRRRRRLRLRLRLLLLLLLLRRLLRRLLLRRLLRLRLRRRRLLLLRRLLRLLLRLLRLLRRRRLLLRRLRRLLLRLLRLRRRLRLRRRRLRRLRRRRRLLRRLLRRRRLRRLRLLLLRRRRRRRLLLLRRRRLRRLLRRRRLRRLLRRLLLRRRLRLLRRRRRLLLRLLRRLLRRLRLRLRLLLLLLRLRLLRLRLLRLRLLRLRRRLRRLLLRRLRLRLLLRLLLRRRLLRLLLRRRLRRLLLRRLRRRRRRRRLRRRRLRLLRRRLLLLLRRRLLLRLLLRLRRRLLLLLLRRLRRLRLLRLRLRLRLRLLRRLRRRRRLRLRRLRLLRRLLRLRRRRRLRRLRLRLRRRRRLRRRLRRLRRRLLRLRRLRLRRLLRRRRLLRRRLRRLRRRRRLLLLRRLRLRRRRRLRRLLRRRRRLLRRLLRRRRLLLRLLLRLLLRRLRLLRRRRLLRRLLLLLLLLRLLRLRLLLRRRLLRRRLLRLLLRLRRLLRRLRLLRLLLRRLLRRLRLRRRRLLRRRRLRRRRRRLRLLRRRRLRRLRLLRLLLLLRRRLRRRRLLRLRLLRRLLRLRLLLLRRRRRRRLLRLLLRLRLLLLRLRLLRLLLLLRLRRLLLRRLLLLLLLRRRLLLLRLRLLLRRLRRRRRRRRLLRLLLLRRLLLRRRLLLLLRLRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLRLRLRRRRRRLRRRRLLRLLRRRLLLLRLRLRLRRRRRLLRRLLRRRRRLLLRRLRLRRRRRRRLLLLLRRRRRLRRLRLLRLRLRLLRLLLLRRLLRRLLRLLLRLRRLLRRLLRRRRRRLLLRLRLLLLLLLRRRLRRLRRLLRLRLLRRRRRLRLRRRLRLRLRRLLLRRRLLLRLRLLLLRRLLRRRRLLRLRRRLRRRRLRLLLRRRRRRLLLLRLLLRRLRLLRRLRRLLLRRLLLLLRRLRLLLRLLLRLLRRRLRRRLLRRLRLRLRRRLLRRRRLRRRLLRRLLLLRRLLLRRRRRRLLLLRLRRLLLLRLLLLLLLRLRLLRRLLLLLLRRLRRLRRRRRLLLRLRLLLRLLLRLRLRLRLRLRLLLLRRRLLRLRRRLLRRRRRRLLRRRRLRRRLRLLRRLLLLRLRRLRRLLRLRRLRLRRRRLLRRLRRRRLLLRLLRRLRLRLRRLLLLRRLLLRLRRLRLRLRLLLLLLRRLRRLLLLLLRRLLLLRRRLRLRLLLLRLRRRRLRRLRRRLRRRLRLLRLLRLRLRRRRRRLLLLRRRLLRLLRLLRLRLLLLRRLRLLLRLRRLLLLRRLRLRLLRRRLRLLRRRLLLRLRRRLRLLLRLRLRLLRRLRRLLLLRRLLLLLLLRRRLLRRLRRRRRRLRLLRRLRRLRLLLLLLRLLLRLLRLLLLRRRRLRLRLRLLLRRLLLLLRRLLRRRLLRRRRRRLLRLLLRRRLLLLLLLLRLRLRRLRLRLRLLRLLRLRRRLLLLRRRRLRLRRLLRRRLRLLRLLLRLRLLRRRLRRRLRRLLRLLRLRRRRRLLLRLRLLLRRRRRRRLRLLLRRRRRLRLLRRLRLLRLRRRLLRRLLRLRLRRLRLLLRRRRLLRRLRRRRLRLRLRRLRRRRLRRRRRLRRRLRLRRRLLRLRLLLLLRLLRRRLRRLRLLLLLLLRLRLLRRLRLLLRRLLRRRRLRLLRLLLRLRRLRRRLRLLRRRLLLLRLRRRLLLRRRRRLLLRRRLLLLRLLLRLRRRRRLLLLRRRRLLLLRLRRLRLRLRLLRLLRLRLRLRRRLRLLLRLRRLRLLLLLLLRRLRLRLLLRRLLLRLLRLLRRLRRLLRLRRRLLLRRRLRRRRLRRLRLLRLRLRLLRRRLLLLRRLLLRLLRRLLLLLLRRLRRLRLRRRRRLRRRRLLRLRRRLLLLLLLRRLRLRLRLLLRLRLRLRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRLLRRLRLRLLRRLLRLLRRLRRRLLRLRLLLLRLRRRRLRLRLLLRRLLRRRLLLLRLRRRRRRRRLRRRLRRLLLRLRLLRLRLRRRLRLRLRLRRLLRRRRRLLRRLLLRLRRLLLRRRRRRRLLLRRRLRRRRRRLRRLLLLRLLRLLLLLLRLRLLLLRRRLLLRLLLRLLRRRLLRRLLLLRLLRLRLLLLLRRRRRRLRRLRRLRLLRRLLRRLLLLRRLLRRLRLRLRLRRLRLRRRRLRLLRRRLLRLRLLRLRLRRLRLRLRRLLRLRLLRLLLRRLRRLLRRLRLRRLLLRRLRRLLRLRRLRRLLRLLRLRRRLRLRLLLRLRRRRLRLLLLRLLRLLRLLLLLRLRRRRLRLRRRLRLLRLRLLRLLLRLRLLRRLLRRRLRLRRRLRLLRRRRRLRLRRRRRLLLRRLLLLLLLRLRLLLLLRRRRRLLRRLLRRRLLLRRLRLRLLLRLLRRLRLRLRLLLLLLRRLLLRLLRLLRRLLLRRLLLLRRLLLRLRLLLLRLLRRRRLLLLLLRRRRRLRLRRLRRRLRLRRRLLRRRLRLLLRRLLLRRRLLLLRRRRLLLLLLRRRLRRRRLRRLLLLRLRRLRRLLLLLLRRLLLLRLRRRLRLLRRRRRLLLLLRRRRRLLRRLLRRLRRLLRRRLLRRLRRRLLLLRRRLLRRRLRLLRRLLLRLLRRRRRLRRLRLLRLRLRRLRLLLLLLRLRRLLRRLRLRLRLLLRRLLLRRRRRRLLRRLRLRRLRRRRLLRRRRLRRLLLLRRRLLLLRLRRLRRLRRLLLRLRLLLLRRRLLRRLRRLLRLRLLRRLRLRRLLLRRLRRLRLLRLLRLRRRRRRRRLRRLRLLRLRLLLLLRLRRRRLRLRLRRRRRLRRLRLLRRLRRRLLLLRRLRLRLLRRRLRLLLLLRLRLRLRLLRLRRLRRLLRLLLRLLRLLLRLRLLRLRLRLLRRRRLLRRLRRLLLLRLRRLLLLLRLRRRLRRRLRLLLRRRRRLRRRRRLLRRLRLRRRLRRLRLRRLLLRRLRRRLLLRRRLRLLRLRRLLRLRLRLLRRRLRRLRLRLLLRLRLLLRLLRRRRLLLLLLLRRRLRLRRLRRLRLRRLRRRRLRLRLLRRLRRLLRLRRLLLRRRRLRRLLLLRRRLLLLLLLRLLRLRRLRLRLRLLLLLLLLRRLLLRLLRLLLLRRLRRLLRLLLLRRLLRRRLLLRRLRRLLRLLRLLLLRRLLRRRLRRLLRLLLLRLLLLLLRLLRLLLLRRLLLRRRLLRRRLLLLLLLRRLRRLRRLRLLRRLRRRRRLLRLRRLLLRRLLLLLLRLLRLLRLRRLLLRRRRLLLRRLRLLLLRRRRLRRRRRLRRLLLLLRRRRLLLRRRRRLRRRLRRLLLLLLRLLRLRRRRRRLRLLLRRLRRRLRRLRRRLRLRLRRLLLLRLLLRRRRLRLLLRLRLRRRRRLRLRRRRLRRLLLRLLRRRRLRLLRRLRRLLRRRLRRLRRRLLRLLLRLLRLLRRRRRRRRLLLRLLLRLLRRRRLRRLLLLRLRLLRRLLRLRLLRRLLLRRRRRLLRRLLLLRRRLLRRRLLRRRRLLLLRLRLRRLRLLRLRRLRLRRLRLRRLLRLLLRRLRRLLRLRRLRLRLRLRRRLLRRLRRLRRLLRRRRRRRLLRLLLLLLLRLRLRLRRLLRRLLRLRRRLLLLLLRLRRLRLLRRLLLLLLLRRRLLRLRRLRRLRLRRLRRRLLLLRLLLLLLRRRRLLLRLRRLRRLLRRLRLLRRRRRLRLLLLRLRLLRLRRLRLRRRRRLRLRRRLLRRLRRLRLLRLLRRLRLRRLRRRLRRRLLRRLLLLRLLRLRLRLLLRLRRRLLRLLRRRRRRRRLRRLRRLRRRRLRRRLRRRLRLLLLLLRLLRRRLRRLLLRLRLRLRRRLRLLRRRRLRRLRLRRLRRLRLLLRRRLLRRLRLRLLRRRLLLLRRRRRRRLRRRLLLRRLRLLRRRRLLLLRLLRRRLLLRLRRRRLLLLLLRLRLLLLLRLLRRLRRLLLLRRRRRLLLRLLLLRRLRRRRLLRRRLLRLRRLLLLLRRRLLLRRRRRLRLLRRLRRRLRLLRLLRRLRLRLLRRLLLLRRRLLLRRRRLRLRLLLRLRRLLLRLRLLRRLLRRRLRRLRLRRRLRLLRRRLRRRLRRLLLRLRLRRLRRRRRRLRLRLLLLRRLRLLLRLRRLLLRLLLLRLLLRLRRLRLLLRRLLRRLRRLRRLRLRLRLLRRRLRRRRRLRLLLLLRLRLRLRRRRLLRLLRRLRLRLRRLRRLRRLLRLRLRRLRLRLRLRLLRRRLRLLRRLRRLRRLRLRLRRLLRRLRRLRRRRRLRRRRLRRLRRRRRRRRRRRRRRLRLLLRLRRLLRRRLRRRRLLLLLLLLRLRLLRRLLRRRRLRRLRRLRLLRRLRRLLLRLRLLRLRLLLRLLRLLLLLLRRRRLRLLRRLLRRLLLRLLLLLRLLRRLLRLRLRRLRLRRRRRLRLRRLRRRLLLRRRRLLLRRLRLLRRRRLRRRRRLRLLLLLRLLRLLLLLRLLRRLRRRRLLRRRRLRRRRRLLLLRLLRLRRRRLLLLLRLLRRRLLLRLRLLRLLRRLRLRRLLLRRLLLRRLLRRLRRRLRRLLRRRLRRRLLRLLLRRRRLLRLLRRRRLLRRLRRLRLLLRRLRRRRLLRLRRLLRLRLRRRRRLLRRLRLRLRRRRLLRRLRLLRLLRLLRLLLRLLLLRLLLLLLLLRLRRLRRLLLLLLLRRLRLRLLRRLRLLLRLLRLRRLRRLRRRRLLLRRLLLLRRRRRLRLLRRLLLRLRRRRRRRRRRRRRRRLRRLRRLLRLLLLRRRRRRRRRRLRLLRRRRRRLRLRRLRRLRRLLRLRRRLRLLLLRLRLRLLLLLLLRRLLLRRRRLLLLLRLRLRRLRLLRLLRRRLLLRRLRRLLLLRLRRLRRRRLLRRRRLLLLLLRRLRRLRLRRLRRRLLLRRLLLLLLLLRLLRRLLLRRLRRLRRLRLRLRLLRLLLRRRLRLRRLLLRRRLLRRRRLRLRLRLLRLLRRRLRLLLLRRRRLRRRLRRLLRLRLLRLLLRLRRRLRLRLLRRRLRRLRRLRLLLRRLLLLRLRRRRRRRLRLLRRRLRRLRRRRLRRRRRLLRRLRRRRLLLRLLLLLRRRLLLLRRRLLRRRLLLLLLRRLRLLLRRRLLLLRLRLLRRRLLRLRLLLLRRRLLLRRRLLLRLLRRLLLLLLRRRRLRRLLLLRRLLLRRRRLRRRRLLRRLRRRLRLRRLRRRRRRLRLLLLRLRLRLLLRRLRRRLLLLRLRRRLLLLLRRLLLLRLLRLLLRLRRRLRLLRRLLRRRRLRRRLLLRLLRLLRRRRRRLLLLLLRRRRRLRRLLRLLRLLLRRLLLLRLRRLRLLRLRRRRLLLLLLLLRRRLLLLRLRLRLLLLRLLLRRLRRLRLRRRRLRLLLLRLLLLLRRRLLRRRLLLRRLLLLRLLRLLRLLLRLRRRLRLLRRRRRRLLLRLRRLRRLLLLLLRRLLRRRLRRRLLRRRRRLRLRRRLRLLRRRRRRRLRLRLRRLLRLLLLLRLLLLLLLLRLRLLLRLLRLRRRLLRRLRLLRLLLRLRLLLLLLRRLLRLRRRRRRLRRRLLLRRRRRRRLLLLRLLLLRLRLRRLRLRRLLRRRRRRLLRRLRRLLRLRRLLLRLLRLLRLRLRRRRLLRLLRRLRRRRLRLRLRLRRLLLLLRRRLLRLRLLRRLRLRLLLRRLLLLLLLRLLRLRRRRLLRLRLLRLLRLRLRLLLLLLRLRLRLLRLRRRRLLRLRLRRRLLRLRLRRLLRLLRRRLRLLLLLRLLRLLRRRLRRLRLLRLLRLLLLRLLRLLRRLLLRLLRRLRRLRRRRLLLRRLRRRRRRLLRLRRRLRLRRRRRLRRLLLRLRRLLRRLLLRLRRRLRLRRRLLLRRLLRLRLRLRRRLRRRLRRRRRRRRRRLRLRLRLLLLLRLRLLRRLLRLLLRRRLRLLLRLRRRRLRRLRRLLRRRLRLRLRRLRRLRRLRLRRLLLLRRLRRRLRLLRLRRLRLRLLLLRRRLRLLRLRLRRLRRRRRLRRRRRLLLLRLRRRLRLLRLRRLRRLRRRLRRRRLLLLLRRLLLRLLRLRRLLLLLRRRRRLRLRLLRRLLRRRRRRLLRRLLLRLLRLRLLLRRRRRRLRRLRLRLRRLRLRRRLRRLLRLRRLLLRLRLRLRRRLRRRLLRRLLLRRRRRRRLLRRRRRRRRLLLRLRLRRLLLRLRRRRLLRLLRLRLRLLRRLRRLLRLRLRRRLLRLRRRLLLLLLRRRLRRRRLLRRLLLLLRLLLRLLRRLLLLLRRRLRRRRLLLLRRLRLRLLLRRRLLLLRLLLRRLRRLRLLLRRLLLLLLLLLRRRLRLRLLLLRRLLRLLLLLRRLRRRLLRLLLLRRLRLLLRRLLRRLLRRRLLRRRLRLLRLRLRRLLRRRRLLLRRLLRLRRRLRRRRRRLLRRRLRLLLLRLRRRRLLRRRLRLRRRRLRLRLLLRLLLLRRRRRLLLRLLLLLRRLLRRLLRRLRLRRRRLLRLRRLLLLRLRLLRLLRRLRLRLRRRRRLRLRRLRRRRLLRLLLRLLRLLRLRRRRLRRRLLRRRRRRRRLLLRLRRRLRRRLLLRRRLRLLRRLRLLRRLRRLRLLRLLLRRLRRLRLRLRRRRLRRRLRLLLLLLLLLRLLRRLRRRRLRRLLRLLRLLRLRRLRLLRLRRRRLRLRRRLRLLRLRLLRLRRRLLRLRLLRLLRLRRLRLRRRRRLRLRLRRLRRLRLLLLRLLLLRLLLLLLRLLLRRLLLRRLRLRRLRRLLRLLLLRRLLRRLRRRRLLRRRLLLLRRRRRRLLLLRLRLRRLRLLRRLLLLLLLLRLLRRLRLLLLRLLRRLLLRLRRRLRLLRRLRLLLRRLRRLRRLRLRRRLRLLRRRRLRLLLLLRRRLLRRLLRRRLLRRRRRLRRRRRRLLLLLRRRLLLLLRRLLLLRLRLRRLRRLLLLRRRRRLRLRRRRLRLLLLLLRRLRLLLRRRRLRLRRLRRLRRLRRRRRRLLRLLRLLLLLLLLLLRLLRRRRLLLRRLRLRLRLRRRLRRRRRLLLLLLLRRLRLLRRLLLLRLRLRLLRLLRLRRLRLRRRLRRRRLRRLRLRLRLLLRRLLRRLRRLRRRLLLLLRRLRLLLLRLLRLRRLLLLRRRLLLRRLRRRRLLRLLLRRRRRRLRRRRRLLRRLLRLRRRRLRRRLLRRRRRLLRRRRRRLLLRLRRRLLRLLRRLLRRRLRLLRLLLLRRRLLRLRLLRRLRLRLRRLLLLRRRRRLRRRLRLRLRLLRLRRRRRLLRLRRLLLRRLRLRLRRLLRRLRLLRRRRLRRLLLRRLLRLRRRLLLLLRRRLLLRLRRRLRLRLRLLRRLRRLRRRRRLRLLLRLLRLRLRLLRRRLLLLLRRLRRLRLLLRRLLLLLRLRRLLRLRLRRRLLLRRRRLRRLRRLRRLRLLLLLRLRRLRRLLRRRLRLRRLRRRRLRLLRLLRRLLLRRRLLRRLRLRLRLRRRRLRLLLLLLRLLRRRRRRRRLRRRLLLLLLRRRRLLLRRLRLRRRRLRRRRRRLRLRRRRLLRLLLRRRRRRLLRLRRRLLLRLRLLLLRRRRLLLRLLRRRLRRRLLLRRLRLRLRRLRLLLRLLLRRLRLRLRRLRLLRLLRLLLRRRRLLLRRLRRRRLRLLLRRLRRRLLLRRLRRLLRLRRLRLLLLLLRRLRLLLLRRRRRLLRLLRRLRLRLLRRLLLRRRLLLRLRLLLLRLLRRLLLRRRLLRRLRLRLRRLLLLLRRRLLLLLLLLRLLRRRLLLLRLLRLRLRRRRRLLLLRRLRLRRRLLRLLRRRRLLLRRRRLLLLRLLRLRRRLRLRLLRLRRRLLRRLLLLRLLRLRLRLLLLRLLLRLLRLLRLLLLRLRRRLLLRLRLRLRRRRRRRLLLLLRRLLRRRLRLLLRLLLRLLRRLLRLRRRRLRLLLLRLRLLRLLRRRLLRLRLRLRRRLLLRRLLLLLLRLLRRLLLRLLRLRRRLLRLLLRRLLRRRRRLRLRRRLLLRRRLRLRLRLRRRLLLLRLLRLLRRLLLLLLRRLLRLLLLLLRLRRLLRLLRLLRRRRLLRLRRLRLLLRRLRRLLRRRLRLLRLRLRRLRRLRLRRRLLRRRLLRLRRLRLRLRRRRLRLLRRRLRLLRRLRRLRLRRRLRLRRLRRLLLLRLRRRRLLRRRLLRRRLLRRRLLLLLLRRLLRLRLLRRLRRLRLLLLLLRLLLLRRRRRLRRLLRRLLRLLLRRRRRRRRRRLRRLLLLLLLRLRRRRRRRLLLRLRLLLRRRRLLLLRRRRLRRRRRRRLLLRLRRRLRRRRLLLLRLLRRLLLRRLLLRRLRRRRRLLRLLLRLLLRLLRRRLLLLLLLLRLRRLLLRRLLLLLLRRRRLLLRRLLLLRLRRLRRRRRRLLLRLLLLRRLLLRRRLRLLLLLRRLLRRRLLLLLRLLRRLRRLLLLRRRLRLRLRLLLRRRLLRRRRLLRRRRRRRRLLLLRLRRRLRRRLLRRLLRLRRRLLLRRRRLLRRRLLLLLLLLRRRRRLLRRLLLRLRLRRLRLLLLRRRLRRLLLLLLRLRLLLRRLLRRRRRRLLLLLRLRLLLLLRRRLRRLLRRRLLRLLRRRRLLRLRRRLRLRRRRLRLRRRLLLLLRLRLRRLLLLLRRLLRLRLRRRLRLLRLLLLRRLLRRLRLRLLLRRLRRLRRRRRRLLLRLRLLLRRLRRLRLLLRRLRRLRLRRRLLRRLRRRLRRLRLRLLRRRRLLLRRRRLLLRLLLRRLRLRRLLLLLRLLLLLRRLLLLLLRLRLLLLLLLRLLLRLLRLLLRRRRLLRRRLLLLLLRRLRRRLLLRLRLLLLRRRLLRLRLRLRRRRRRRRRLRRRRRRRLLLRRRRLLRRLRRRRRLLLLRRLRLRRRRRLRRLRRRRLRLLLRLRLRLRLRRRLLLRRLLLRLRRRRLRLRLRRLLLRRLRLRLLRLLRRRRLRRLLLLRLLLRLRRRRRRRRRLRLRLRRLLRLLRLRLLLLRRRLLRLLRLRRRLLLLLLLRRRRLLRLRRRRLLLRRRRLLRLRRLRLRLLRLRLLLLLRRRLRRLRRLLRLRLRLRRRLLRLLRRLRLRRRLLLLLLLLRRRLRRRRLRRRLLRLLRLLRRLRLLLLLLLLRRRLLRLLLLRLRRRRLLLRLLLRRLLLLLLRRLRRRRLRRRRRRRRRLLLRRRLLLLRLLRLLRLLLLRLRRRLLLLRLRRRRLLLRLRRRLRLLRLLRRRLRLLRLLLRLRRLRLLRLRLLLRLLRLLRLRLRRLLLLRLLRLLRLLRRRRRLRLLRRRRRLRRLRLLRLLRRLRLRLLRLLRLRLRRLRLLLLRLRLLRRLRRLRLLLRLLLLLRRRLRRRRRLLLRLRLRRRRLRLLLLRRLRLLRRRLRRLRLLLLRLLRLRLLLRLRLLLRRRLRRRRLRRRRLRRRRLRLLRRLRRLLRRLLLRRLRLLLLRLRLRRRRLRRRLRRRRLLLRLLRRLLLLLLRRRLLLRLRLRRRRLRRRRLRLLRRRRRRRRRLLRLLRLLLRRRLLLLRLRRRLLRLLLRLRLLRLLRRLLLLLRRRRLRRRLLLRRRLRRRRLRRRRLLLLRLLRLRRRRLLLRRLRLLLLRRRLRRRRRLRLRLRLRRLRRLRRRRRRRLRLRLLLRLRLRRLLLRRLLLRRLLLRLRRRRRLRRRLLRLRLLRLLLLLRRRLRRLRRLRLRRLRRLLRRRLRLRRRRRRRRRLRLRLRRRRRLRRLLRRRRRRLLRLRRLRRLRLRRLLRRRLLRRRRLLRLLLRRRLRLLLLRLRRRLLRRLLLRLRRRRRRRLRLRLLRLLRLLRRRRRRLLRRLRRLRRLLRLRLRLRLRRRRLRLLLRRRRLLLRRRRRRRLRLRLRLLLLLRRRRLRLLRLRRLRLRRLLLLLLRRLLLRRLLRLLLRLRRRRRLRRLLRLLRLLRRRLLLRLLRRLLLRRLLRLRLRRLLLRLLLRLLLLLRRRLRLRLLRRRRLRRRRRLRLRRRLLRLLRRLRLLRRLRRLRLRRRRRLLRLRRLLRRRRRRRRLLRRLRRRLRLRLRLLLLLLLLLLRLRLRLLLRRLLRRRLRRLRRRRLRRRLLRLLLRRRLLRRLRRRRRRRLLLRRRLRLLLLLLRLLRRRLRRRRLLLLRRRRRRLRLLLLLLLRRRRRRLRLRLRRLLRRRLLRLLRRRLRRRRLLLLRRRRRLRLLLRLRRLRLRRRLRLLLRRRRLLRLRLLRLRLLLLLRRRLLRRLRLRLLRLLLRLLLRRRRRLRRRLRRLLLRRRRRRRLLLLLRLLLRRLRLLRRLRRRRRRRRLRRRLRRLLRRRRRLRLRLRRLLRLRLLRRRLRRRRRRLLRLLLLRLRRLRLRRRRRRRLLRLRLLRRRRRRRRRLLLLRLLRLRRRRLRRLLRLRRRLLRLRLLLRLLLRLLLLLRLLRLLLRLRRLRLLRRRRRLLRRLRLLLRLLRLLRRRLLLLLLLRRLRLRRRLRLRRRRRRRLRRLLLLLLRRRLRRRRLLRLLLRRRRLRLLRLLRRLLRRLLLLRRRLRRRLLLRLLLRLLLRLRRLRRLRLRRRLRRRLRLRLLRRLRRRRLRLLLLRLRRLLRLRLLLRLRRRRRLLRRRLRLLLLLLLRLLLLLLLLRRLLLRLRRRRRRLRLLRRRRLLRLRRRRRLRLRRRLRLLLLRLRLLLLRRRRLLLLRRRLRRRLLLRRRRLRLLLRRLRRLLLRLLLLRLRLLRLLLRLLRLLRLLLLRLLLLLRRLLLRRRRLLLRLLRRLLLLRLRLRLLLRLRRLRLRLRRRLRRRLRRRRRRRLLRRLRLRRRLLLLRRRLLLLLRRRRRRRLRRRRLLLLLRRLRLRRLLLLLRRRLLLLRRRRLLRLRRLRRRRRRLRRRRLRLLLRLRRRLRLRLLLRLLRRLRRLLRLRRRRRLRRRLRLLRRLRRRRLRLLRRLRRLRLRRLRLRRLRRLLLLLRRLRLLRRLRRRLRRLLRRLLLLRLRRRLLRRLRRRRLRRRRLLRRRRLRRRLLRRLLLLLLRLLLLRRLRLLLLRLRLLRLLRRLLRLRRRLLRLRRLLRLLLRRRRLLRLLRLLLRLLLLLRRRRRRLLLRRLRLLRRLLLLRLRLRRRRRRLRLLRRRRLRRLRLLLLRLRLLLLRLRRRLRLLRRRLLLRLRLRLRLRRRLLRLRLLRRLLLLLLLLLRLLRRLRRLRLRLRLLRRRLLRRRLRLLLLLLLRRRLLLLLRRRRLRLLLRLLLRRRRRRRRLLRLLRRLLLRRRLRRLLLRRLLRLRLRRRLRLLRRLLLLRLLRLRRRRLRLLRRRRRLLRLRLLLRRRLLRRRLLLRRLRLLLRLLLLLRLLRLLRRRLRLLLRRRLRRLLLRRLLRRLRRRRLLLLLRRLLRLRLLLRRLLLLLRLRRLLLLRRRLLLRLLRLRLLRRRRRLRLRRLLLLLRLRRLLLLLLLRRRLRRRRLLRLRRRRLRLLRRLRLLRLLRLRLLRRLRRLLLRLLLLLRLLRRRRLRLRLRLLRLRRRRRLLLLLLLRRLRRLRLRRLLLRRLRLRRLLLRRLLLLRRLLLLLLRLLRLRRLRRRRLLRRLLLLLRRRLLLLLRRLLRRLRRRRRLLLRLRRLLLRLRRLLRRLRLLLRLLRLLLLLLLLLRLRLRLLLLLRRRRLRRLLLLRLLRRRRRRLRLLRLRRRRLRLRLLLLLRLLRRRLLRLLRLRLLRLRLRLLRRLLLRRLRRRRRRRLLRLRRLLLRLRLRLLRRRRLLRRRRLRRLRRLRLLRLLLRRLLRRRLLLLRRRRRLRLRLLRRLRRLLLRLLRRRLLRLLRRLLRRLRRRLLRRRRLRLLRLRLRRLLLRRLRRLRLRRLLLLRLLLLLLRRLLRRLRLLRLLLLLRLLRRLLRRLRRRLRLLRRRRRRLLLRRRRRRLLRLRLRRLRRRLRLLRLRRRRLLLLLRLRLLRLRRLLRLLRLLRRRLRRRRRLRRRRLLRLRRRLRLLRLLLLLLRRRRLRRLLRRLRLLRRRRRRRRLRLLRRLRLRRRLLLRLRRRLLRRLRRRRRRRRLRLRLRRLRLRRLLLRLRRRLLRRRLRRRLLRRLLLLRLRRRRLRLLLLLRRRLLRLLRLLLRLRRLRRLRRLLRLRLRLRLLRRLRRRRLLLRLLRRRLRRLLRRLRLRRRRRLLRLRRLRRRRRRRRRLLRLLLLRRLLLLRLLLLRLLRRLLLRRRLRRRRLLRRRLRLRRLRLLRRRRLLLRRLLRRRLLRRLLRRRLLLRLLRRRRLLLLRLLRLLRRLRRLLRLLRRRLRRLLLLRLLRRRLLRRRLLLLLLLLLLLRRRLLRLRRRRLRLLRRRRRLLRLLRRRRLLRLRLLLRLLLLLRRLLLRRRRLRLRLRLRLRRLRLRRRLLRRLLRRLLRRLRLRLLLRLLLRRLRLRLRRRRLRLRLLLLRRRRRLRRLLLLRRRRRRLLLRLRLRLLRLLLLLLLLRLRLLRLLLRRLRRLLRRRRRRLRRLRLLLRRLLRRLRRRLLRLLRLRLRLLRRRLLRLLRRLRLRLLRLRRRRRRLRLRRRRLLLRLLLRRLRLRLRRLRRLRRLRRRRRRLRRLRRRLRRLRLLRRLLLRRRLRLRLLRRRRRRRRLRLLRRLLRLRLRLRLRLRLRRLRLLLLRLLLRRLRRLLRRRRLRRLRLLRLLRRLRRLRLRLLRLRLLLLRRLLRLLLLLLRRLRRRLLRLRLRRLRLRLRRLLRLLRRLLRLRRRRLRLRRRRLLRRRLLRRRLLRRLRRLLLRLLRLLRLRRLRRLRRLRLLLLLRLRRRRRLLLLLLRLRLRRLLRRRRRRLLRRRLLLRLRRRLRRLLLLLLRLLRRRLLLRLRLRRLRLRRRLRLLRLRRRRLRRRRLRRRRRLRRLLLRLLRLRLLLLLLRRLRLLRLLRLRRLRRRLRRLLLLLRRLLLRRRLRLRRLLRLRLRRLLRLRLRLRRRRRRLLLRRLLLLRRLLRRLRLRLRRLLLRLLRRLLLLRLRRLRRLLLLLLLLRLRLRLRLLLRLRLRLLRLLRLRRRLRLRLRLRLLRLLLRRLRLRRRRRLRRRLRRRRLRRRRRRRLLRRRRLRRLLRLLLLRLRRRRRRRLRRLRRLRRRRLLLLRLRLLLRRLRLLLRLLLLRLRLRLRLLLLLLLLRLRRRRRRRRRLLRLLRRRRLLLRLLRLRLRLLRLRRRLLLLLLRRRRLLLLLRRLLLRLLRLRRRRLRRRLRRRRLLLLRLLLLLLLLRLLRRRLLRRRRRLRRLRLRLRLLRLLLRLRRRLRRLLLLRRLLRRRLLRLRLRLLRLLRRRLRLLLRRLLRLRRRLRLLLRLRLRRLLLRLRRLLLRRRRLLRRRRLRRLLLLLRRRLLLRLRRRRLRRLRLLLLRLRRLRRRRRRLLRLLLLRRRLRRRLLRLLLLRRRRLLLLLLLLRRRRRRLLLLRRLRLLLRRRLLLRLRRLRRRRLLRLRLLLRRLRRRLRRLLLLLRRRRRLLLLLRRRRLRLLLLLRRLRLLRRRLRLRLRLRLLLLRRRRRRLRRRRLLLRLRLLRLRRLLLLRRLRRRLLLLRLLRRLLLLLLLLLRLRLLRLRLRLRRLLRLLLRLRRLRLRRLRLLRRLLLLLRRLRLRLLLLLLLLRRRLRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLLLRLRRRRLLRRRLRRRLLRRRLLLRLLRLRRLRRRRLRRRLLRLLLLLRRRRLRRLRRRLLRLLLRLLRLLRLLLLLRRRLRLRRLRRRLLLLRLRRLRRRLLLRRRRRRRRLRLRRRRLRRRRLLLRRRLRLRLRRRRRRLRRRRRRRLRLLRRLRRLLRLLRLRLRLLRLLLRRRRRLLLRRRRRLLLLLRRLRLLLRRRRLRRLRRLRRRRLRLRRRRRRRRRLRLRRRLLRRRRLRLLRRRLLLLRRRRRLRRRRRRLLRLLRLLLRLLRLLLLLLRLLRRRRLLRRLLRRRLRLRLRRRRRRLRLRRRLLLLRLRRLLRRRRLLRRRLLLRLLLLLRLRLLRLRRLRLLRLLRLRLRLLLLLLLLRLRLLRLRRRRLLLLRRRRRLLRLLLRLLLRLLRRLLLRRLLLRLRLLLRRLLLLRRRLLLLRLLLRRRLLLLLRLLLLLLRRLRRRLRRRLRLRRLRRRRRRRLRLRRRLLLRLRRRLRRLLLRRLLRLRRLLLRRRLRLRRRRLLRLLLLLRLRLLLRRLLLRLLLRRRRRRRLRLRLLLRLRLLLLRRLLLRLLRLLLLRRLRLLLRLLRRRLLLLRRLLLRLLRLRLRRLLRLRLRRLRLRLLLRRLRRRLRLLRLLRRRLRLLLLRLRLRLRRLRLRRRRRRRLLRRLRRLLLRRLRRRRLRLRLRLLLLRRRRLRRRRLLLLLLLLLLRLLLRRRLLRLLRRLRRLRLRRRRRLLRRRRRRLRLRLLLLLLRLRLLLRLLLRRLRRLRLRLRLLRLRRRLRRRLLLRRLLLRLRLRRRRRLRRRLLLRLRLRRRRRLRRLRRRRRLLRLLLLLRLRRLRLRLRLRRLRLRLRLRLRLRRRRRRLLRLLRRLRRLRRRRRLLLLRLRRRLLRRRRLRRLLLLLRLLRRLLLRLRLLLRRRLRRRRLLLLLRLRLRRLLRRRRLRRLLLLRRRRRRRLRLLLRLLLLRRLLLLRLRRRRLRRRLRLLLLRLLLRLLRLLLRLLRLRRRRLLRRRLLRRLLRLRRLRRRLRRLRRRLRRRLRRLRLLRLRRRRLRRRRRRRRRRLLRLRLLRLLLRLLRRRLRLRRRRLRLRRLRLRRLRRLLRLRLLLRLRLRRRLRRRRRLRLLLLRLRLRLRRLLRLRRLLLRRLRRRLRLRLLLLRLRRRRLRRRLRLRRLLLLRLRRRLLRLLRLRRLRRRLLLLRRLRRRLRRLLLLRLRLRLRLLRRRRRRLLLRLRLLRLLLRLRLLRLRLRRRLRLRRRRLRRLRLLRLLLRLLLRLLLRLRLRLRLLLRRRLLLLLRLLRRRRRRRLRLRRLRLRLRRLLRLLRLRLLRRRRLLLRLRLLRRLLLRLLRLLRRRRLLLRLRLRRRLLRLLLRLLLLRLLLLLLRLLLRLLLLRRLLLLRLLLLLRLLLLLRLLLRLRRRRLLRRLLLLLLRLLRRLLLRRLRLRRLLLLRRRLLRLLLRRLLRRLRLLLLRLLRLLLLRLRRRRRRLRRLRLLLRLLRRLLRLRLRRRLRLLRRRRLRLLLLLLRRLLRRLRLLRRLRRRRLLRRLLRRLRLLRRRLLRRLLLRLRRLRLRRRRLLRLLLRRRLLRLRRRLLLRLLRLLLLRLRLLLRLRRRLRLLLLLRLRRRRLLRRLLLRLLRLLLLLLLRLLRLLLRLRRLLRRLRRRLRLRRRRLRRRLLLLLLRLRRLRRLLRLRLLRLLLRLLRLLRLRLLRRRRRRLRRRLLRLRLRLRLLRLRRLRRLRLLLRRRLRLLRRLLLLLRRLLLLRRLLRLRRRLLRLRLRRRRLLRLRRLRRRRRLRRLLLLLRLLRLRRRRRLRRRLRLRRLLLLRRLRRRRLRLLRLRLLRRLRRLLRLRLRRLRLRLRLRLLLLLRLRRRRRRRRRRLLRRRRLRRLRRLLLLLRRRLRLRRLLRLLRRLLLLLRRLRLRLRRLRLRLLLLRRRRLRLLLLLRLLLLRLRLLLRLRLLLLRRLRLRLRLRRRLLRLRRRRRRRRLLLLRLRLLRLRLRLLRRRLRLLLRRLRRLLLLLRRLRRLLLLLRLLRLLLRRRLLLLRRRRRLLRRRLLLRLLRLLRLRLLRRLLRRRLRLRLLRRRRLLRLLLRRRLLRRRRLRRRLLLRRRLRLRLLLLLLLRLRLLLLRRRLLRLRRRLLRLRLLLRRLLLLRLRRLRRRLRLRRRLRRLLRRRLLLLLRRRRLLRLLRRLRLLLLRLRRRLLRLRRLLRLLLLLLLRRLRRLRRRRLLRRRRLLRLRRRRLLLLRRLLRRLRRRLRLLLLLLRRLRRRRRRRRLLRLLRRLLLRRLRRRRLRRLLLLRRRLRLRLLRRRLLRLLLRRRLRRRRLRRRLRLRLLRRLLRRRRLRRRLRLLLRRLLRRRLLRLLLLRLLRLLLLRLLRLRLRRLLLLLLRRRLRRRRLLLLRLRRLRLLRRRRLLLLRRRLLRRLLLRLLLRLRRLLRLRRLRLLRLLLLRRRLLRLLLRLRRRLLRLLLLLLRLLLRLRLLLLRRLRLLLRLLRLLLLRLLRRLLLRLRLRLRRRRRLRLLLLLRRLRRRLLRRLRRRRLRLLRRRLRLRRRRLRLLLLRLRLLRLLRRRRLLRLLLLRRRLLLLRLRLRRRLRRRRLLRRLRRLRRRLLRLLLRRRLRRLRRLRLRLLLLLRRRLRRRRRLRRLLLRLRRLLRLRRRRRLLLLRLLRRLRLLLRLRRLLRLLLLLRRRRLLRRRRLLRLLRRLRRLLRRLLRLRRRLLRLLLLLRLLRRLLLRRLRLRLLLLRRLRRRLLLLRRRLLRLLRRLLRLRLRLRLRLRLLRRLLLLRLRLRLLRLLRLLRRRLLRLRRRLLLLRLLLRLRLLRRLRRLRRLLLLLLLLLLRRRRRLRRLLRRLLRRLRRRRRRRLLRLLRRLLLLLRRRLRRRRRRLRLLRLRLLLRRLLLLRLLLRRLLRRLRRRLLLRRRLRLRRRRRRLLRLRRRRLLRRLRRRLLLRRRRLRRRLRLRLLRRLRRRLLLLLLLRRLRRLLLRRLLLLLLRRRLLRLRLRLLLRLLRLRRRLRRLLLLLLRRRRLRLRRRLRLRLLLRLRLRRRLRLLRRLLRLLRLLLLRLRRLLLRRLLLLLLRLLRRRRRRRRRRRRRRLLLLRRRRRLRRLLLRLLLRLRRRLLLLRRLLLRRRLLLRLLRRLRRLLLLRRLLLRLRLRRRLLRRLRRRRRRLRLLLLLRRLLRRLLLRRRRLRLLLLLRLRRLLRLLRRLRRRLRRRLLRRLLRRRLLLLRLLLLLRRRRLRLRRLRLRLRRLRLRLLLRLLLRLLRLLLRRLLRLRLLLRLRLLLRRLRLRLLLRRLRRLRRRRRRLLLLRRLLLLRRRRLRLRRRLRRRLLRLRRRLRLLLRRRLRLRLLLLLRRRLLLLRRRLLLRLLLLRLLLRRLLRLLRLRLLLRRLLLLLLRRLLLLLLLLRLRLRRLRRLLLLRRLLLRLLLLLLRRRLRRLLLRLLRLLLLRRRRRRLRLLLRLRRRRRRRLRRRRLRLRLLRRRRLRRRRRLRRRRLLLRLRRRRRRLRLRLRLRLRLRRLRRLRLRRLRRLRRLRRRLLRLLLRRRLRLLRRRRLLLRRRLRLLRLRRRRRLRLLLLLRLRLRLRRRRRRRRRRRLRLRLLLLRLRLRLRLRRRRLLRLRRLLRRLLLLLLLRLRRLRRLLLRLLRLLRLLLRRLLRRLLRRRRLRLLLRLLLRLRRLRLLRRLRLRLRRRLLRLRRRLRRRRRLLLLRLLLRLRLRRRRLLRRLLRLRRLLRRRRRLLLLLLRRRRRLRLLRLRLLRRLLLLLLLLLLLLLLLLRRRRRRRLLLLLRLRRLLRRRRRLLRRRRLRLLRLLLLRLRRRLRLRRLRLRRLLLRLRLRRLLLRLRRLRRRLRRLLLRLRRLRLLRLLLRLRRRRLRLLRLRRLRLLRRLRLLRLLLLRRRLRLLRRRRRLRRLLLRLLLRRLRLRRLLRRLLRLRLLRLLRLRLRLLRRRRLLRLLLLLLLLLLRLRRLLLRLLLRRRRLRRRRRRLLLRRLRLRRRLLRRLRRLLRRLLRRRLRLRLLRRLLRRRRRRLLLRRRLRRLRLLLLLRRRRLLRRLRLRRLLLLLLRLRLRLRRLRLRLRRRRLLLLLLRRLLLRLRRRRLLLRLRLRRRRLLRRRRRRLLRLRRRLRRLLRLLRLLLRRRRLLLRLRRRLRRRLLRLRLLRRRRRLLLRLLRRLRRRRLLRRRRLRLRRLRRRLRRLLLLLRLRRRRRLLLLRRLLRRRLRLRRRRRLRLLRRLRRLRLLRLRRRRLLRLRLRLRLRLLLLLLRRLLLRRLLLRRRRRRRLLLRRLRLRLLLLLRLRLLRLLLLLRRRLRRLRLLLRRRLLLRLLRRRRLRLRLRLRRRRRLRLLLRLRLLRLLRLLLRRRLRLRRRRRLRLLRRRLLLRLRLRLRLRLRLLLRRLRLRRRLLRLLRRRRRRRLRLRLLLRLLLRRLLRLRLLRRLRLLRRLRRLRRRLRLRRRRRLRLLRRRLLLLRRRRRLRLLLRLRLLRLRRRRRLRLLRLRRLLRRRLLLRLLLRLLLLRLLRLLRLLRRRRRRRRLLRLRRLRRLRLLLRLLRLLRRRLLLLLRLRRLRLLLLLRLLLLLRRRLRLRLRRRRRLRRLRRRRRLRRRLRLRRRLLLLRRLRRLRRRRRLLLLRRLLRRRRRRLLRRLLRLLLRLLRLRLRLLRLLLRLRLLLRLRRLLRLLLRRRLRLLRRRRLRRRLLRRLRLRLLLLLLLRRRRRLLLRRRRRRRRLLLLRLLRRRLRRLRLRLRRLRLRRLRLLLLLLLLRRRRRLRLRRLRRLRRLLRRLLRRRLRLLLLLRLLRLRRLRLLRRLRRLRLRLRLRLLLLLLRLLRRRLLRRLRLRLLRLRLRRRLLLLLLLLLLRLRLRRRLRLRRRLRRLLLRRRLRRRRLLLRRLLLRLLRLLRLLRRRRLRLLLRRRLRRLRRRRRRLRLRRRLLLLLRLLRRLLRLRRRRLRLLLLRLLRRRRRRRLRRRLRLRLRLLRLRLLRRRLLLRLRRLRLRRRRLLRLLRLRRRLLRLRLLRRRLLRLLRLLRRRRLLRRLRRLRLRRRRRRLLRRLRLRLRRLRRLRLRRRRLLLRLLLRLRRLLRLRRRLLRLLLRRLLLRRRRRLRRRLLLRLLLRRRRLRLLRRLRRRLRRRLLRRRRLRRRLLLRLLLRLLLRRRRLLLRRLRRRLRLRLRLRRRRRRRLLLLRLRRRRRRRRRRLRLLRLLRRLLRLLLRRLLLLLRLLLLLLRLLLRLRLLLLRLRLRLRRRRLLRLRRLLRLLRRRLRRRRRRLRRLRLRRRRRRRRLLRLLRLRLRRLRRLRLRRRLLLLRLLRLRRLLLRLLRRRLRLLLLLLLLLRRLRLRLLRLRLLLLRRLRRRRRLRRLLRRLLLLLRLRRRLLLLRRRLRRRLRRRLRLRRRRRRRLRRLRRRRLRRRLRRLRLRLLLRLRRRRRRRLLLRRLLLLLRRLRLLLLRLRLRRLRRLLLRRRLRRLRRLRRRRRRLRRLLLLLLLRLRRRLRLRLLLRLLLRLLRLRRLRRRLRRLRRRRRRRLRRRRRRLLLRRLLRRRLRRRLLRRLRRLLLLLRRLRLLRLLRRRLRRLLRRRLLLRLRRRLLLRRRRRLLRLRLRLRRRRLLRRRLRRLLLLLLRRLLLRRLRLLLRRRRLRRLLRRLLLLRRLRRRLLRLLRRLRRRRRLLRLLRRLLRLLLLRRRRRLRLLRRRLRRLRRLRLLRRLRLLLRRRLRLLLLLRLLLLRLLLLRLRLLLLRLRRLLLRLRRRLLLRLRLRRLLLRRLRLRLLRRRLLLRRLLLLRLRRRLRRLRRLLLRLLRRLLRRLRLLRRRLLLRLRLLLLLRRLLRRLLLRLLRRRRRLRRLLLLLRRRLLLLRLLRLLLLRLRRRLRRLRRLRLLRRLLRLLLLRRRRRRLRRLRRRRLLLRLRLLLRRLRLRRRLLLLLRRRLLRLLLLLRRLRLLRRRRLLLLLLRRRRLLRRRLLLRRRRRLLRLLLLLRLRLRLLLLRLRLRLRLRRLLRLRRRLLLRRLRLRRLRLRRRLLRRRRLRRLRLRLLLLLRLLRRRRRLLRRRRLRRRRRRLRLRLRLLLLLRLLLLLRLRRRLLLLLLLRRLLRLRRRRLRLRLLLLRRRRRLRLLLRLRRRRRRRLRRRLLRRLRLLRLLLRLLRLRRRLRLRLLRLLRLRRLRLRRLLRLLRRLLRRRLLLLLRRLLRRLRRRRRRLLRRRRLLLRLLLLLRRLLLLLRLLRLLRLLLLLLRLRLRRLLRLRLRRLLRLLLLLLLRRRRLLRRLLLLRRRRLLLLLLLLLLLLLRRLLRRLRLRLLRLRRLRLRRLLLLRLLLRLLRRLLLLRRLLLRLRLRRLRRRLLRRLRRLLLLRRLLLLRLRRLRLLRRLLRRRLRRRRLRLRLLRRRLLLRLLLLRRRLLRRLRRLLLRLRRRLLRLRLLRRRRRRLLRLLRRRLRRLRRRLRLLLRLLLRRLRRLLRRLRLLLRLLLLRRLLRLRRLLRRRLRLLLRLRLRLLLRRRRRRLLRLLLLRLRRRLRLLRLRRRRLLLLRRLLLLLLRRLRRRLRRLRRLRRLRLLLRRRRRLLLRLRLRLLRLRRRRLRRRRRRRLLLRLLLRRRLRRRRRLRLLRLRRLRLRLLLRLRLRLRRRLRRRRRLRLLRLRRRRLRLRRRLLRLLRRLLLRLRRRRRLLLLLLLLLRRRRLRLRLLLRRRLRRLRRLLLRLRLRRLLRLLLLLLRLLLRLRRLLRRRLRRRLLRRRLRRLRRRRLRRRRLLRLRLRRLRRRLRLRRRLLLRLLLRLLLLLRLRLLRRRLRLLRRRRLRLRLLLLLRRRLRRLRLLRRLRRLRRLLLRRRLLRLRLLRRRLRRRLLRLRLLLRRLLRLLLRRRRRLRLLRRRLRRLRLLRRLRRRLRRRLLLLLLLRLLLLLRRLRRLRRRLRRRRLLRRRLRRRLRRRRLRRLRLLLRLLLLLRRLLRRRRLLRLLRRLRLRRLRLRRRLLRLLRLRLLLRLRLRLLRRRLLRRLRLRRLRRRLRLRLLLLRRRLRLRLLLRLRRRLRRLLRRLLLRLRLLLRRLLLLRLLLRRLLRLRRRLLLLRRLRRLRRRRLLLRLRLLLLLRLRLRRRRLLLRLLRRLLLRLRRLLRLLLLRLLRRRRRRRLRRRLLLLRLLLRRLLLRLLRLRRRRRLRRRRRRLRLRRLRLRRRLLLRRLLLRRRLLLLLLRLLLRLLRLRLRRRLLLLRLRLRLRLRLRRRRLLRLRLLRRRLRRRLLRRLLLRLRLLRRLRLLRRLRRRRLRRRLLRLRLLLRLLLRRLRLLRRLRLLLRLRRRRLRLRRRLRRRLLLLRRRRLLLRLLRRRLLRRRLRRRRLRRLLRRLLRRLLLLLRLRRRLRLRRLRLLLLRLRRLRRRLLLRLLRLLLRLRLRRLLRRLLRRRRRLRRRLRLRLLLLLLLRLRLLRLRLRLRLRLLRLLRRLRLLRLRRRRRLRRRLRRLLLLRLRLLRLLRLLLLLLRLRLLRLLRLRLLRRLRRRLLLLLRLRRLRLLRRRRRRRRLLLLRRRRLLRRRLRLLRLRRRLLLRRLRLLRRLRRRLRLRLLRRLLRRLRRRLLLLRRRLRLRLRLLRRLLLRLLLRLLLLLRRRRRRRLRLRRRLRLRRRRRLLRLLLLRLRLRRRLRRRRRRRRRLLLRRLLRLLLLRRLRLRLLRRRLRRLLRRRLLRLRLLRRLRRRRLLLLRRRLRLLRLRLLLLLLLLRLRLLLRRRLLLLLLRLRRLRRRRRRRLRRLRRRRLLRRLRRLRLRRLLLRRRLLRLLLRRRLLLRLLRLLLRRLLRLRRRRLRRRLRRLRLLLLRRLLLLRLLRLRLRRRLRRRLRLLRRRRLLLLLLLLLLLRRLLRRLLLLLRLLLLLLLRLRLRRLRLRRRLLLRLLRLLLLLRLRLRLRLLLRLRLLRLRLRRLRLRRRRLLLRLRLRRLLRLRRRRRLLRLRRRRLRRRRRLLLLLRLRLRRRRRLLRLRRLRRRLRRRLLLRLLLRRLRLLLRLLLLRLRRRRRLLLRRRRLLRRRRLLLRLRRRRRRRLLRLRLLLRRLRRRLRRLLLLLRRLLRRLRLLLLRRLLLRLLLRRLRRLRRLLLLRLRRRLLLLLRLRRLLRRLRLLLRLRRRRLLRLLLRLLLLRLLLLRLLLRRLRRLLLLLLRRLLRRLRLLRLRLLRLLLRRRRLLLRLLRLLRRLLLLLRLLRLRLLLRLLLLRRRRRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLRRRRRLLLLRRRRRRRRLLRRLRLLRLLRLRRLRRRLRRRRLRRLLLLLRLLRRRLLRRRLLRRRLLLRLRLLRRLLLRLLLRRRLLRLRLLLLRLRLLRLRRLRRRLLRRRRLRLRRRRLLRRRRLLLRRRRLRLLRRRLRRRRLRLLRLRLLRRLRRLRRLLRLRLRLLRLLRRRRRRRRLRRRRRLLLRLRLLRLLRRRRRLRRLRLLRLRLLLLRRRLRRRRRLRRRRRRLRRRRRLLRLRRLRRLRRRRRLRLRRRRLLRLLRLLLLRRLLLLLLLLLLRRRRRLRRLLLRLLLLRLRRLRRRLRRRLLRRLRRRRRLLRRRRLLLRRLRLRRLLLLLRLLLLLRRLRRRLLLRLRLLLRRLLLLLRRRRLLLRRRRLLLLLRLLLLLRLLRRLLLLLRRRLLLRRRLLRLRLRRRLLRLLRLRLLLLRRLLRLRRLRLLRLRLLLLRLRRLRLRRRLRLLRRRRRRRRRRRLLRRLLRRLLLLLRLLRRLRLLRLLRLLLRRRLRLRRLRLLRRLLRLRLRRLRRRLLLRLLLRRLRRRLLLRRLLLLLRLLLLRRLLLRLRRLRLLLRRRRLRLLLRRLLLLLLRLRLRLLRLRLLRLLLLLLRLRRLRLLRRLLRRLLLLLLLLRRRRRLLLLRLRLRLRRRRLLRRRRLLLRRLLLRRLLRRLRRRRLRRRRRLLLLRRRLLLLRRLLLRLLLLRLRLRLRRRLLRLLRRLLLRLRRRRRLRLRRLRLRLRLRLLLLLLRLLRLLRLLLRLLRRRRRRLRLLRLLRRRRLRLLLLRRLLRRRRLRLRRLRRRRLLRLRLRRRLRLLRLLLRRRLLRRLLLLRRRLRRLLRLLRRRRLRLRRRLRRRLRRLRLRLLLRRLRRRRRLLLRLLLRLRLLLLRRRRLRRLLLLLRRLRRLLLRRRLLRLRRLLRRRLRLLLRLRLRRLLRRRRRRRLLLRLRRRLRLLRLLLRLRRLRRLLLLRLLRRRLRRLLRLLRLRLRLRLLRLLRRLLRRRRRRLLRLLLRRRLRRLLRLRRRLLRLRRRLLRRLLRLLRLRLLRRRLRRLRRRRRLLRLLLLRLRLLLLRLRLRLRLLRRRLLLRRRLRRRRRRLRRLRLLLRRRRRRRLRRRRRLRLLLLLLLLRLLRLLLLRRLLLRRLLRRLRLRLRLRRRRRLRLRLRLLRRRLLLLLLRRRRLLLRRLLRLRRRLLLRLLLLRRLLRLRLLRLLLLLLRLRRRRRLRLLLRLLRRLLLRLLLLLRRLLRRLRLRRRRLLRLRLLRLLRRLLLRRLLLLRLRLLLLLRLRLRLLRRLLLRRLRRRLRRLRLRRRLRRLRRLLRLRRLRRRRLRRLLLLLRRRLLRLLLLLLRRRLLRRLRLRLRLLRLRLRLLRLRLLLLLLRLLLRLLLRRRRLRLRLLLRRRLRLRLRRRLRRRLLRLLLRLRRRLLRLLRRLLLRRLRLRLLLLLRRRLLRLLLRRLLRLLRLLLRLLLRLLRLRLLRRRRRRRRLRRRRRLRRRLLRLRLRRLLRLRRRRRLRRRRLLLRRLLRLLRLLLRRLRRLLLRRLLLRLRLLRRRLLRRRLLLLRRLRLRRLRLLRLRLRLRLLLLRRLLLLRLLRLLLLRLRLLLRLRLRRRLLLRLRLRRRRLLLLLLRRLLRLLRLRLRRLRRLLLLLLRRLRRLRRLLRRLRLRLRLRLLLRRLRRRLLRRLLRRRRLLRLLRLLLLLRRLLLRRLLRRLRRRLLLLLRLLRRLRLRRLRRLRLLLRRRLRLLLLRLLLRRLRLLLRRLLRRLLLLLRLRLLRRLLLRLRRLRLRRRRRRLLLLLLLLRLRLLRLLRRRLRLRLLLLRRRLRLLRLRLRRLRLLRRLRRLRRLRLRRRLLRLRLLLLLLLLLRRRRLRRRRRLLRRRRLRRLRRLLLLLRRRRRLRRLLRRRLRLLLRLLRLRLLLRRLRLLRLLRLRRRLLLRLRLLLRLLRLRLLLRRRLLLLRLLRLRRRLLRRRLLLRLRRRRRRLRLLRLLLLLLRLLLLRLRLRRLLRLLRRLLLLRLRLRRRLLRLRLLLLLLRRRRLLLRRRRRLLRRRLLRRLLRLRRLRLLRRLLRRRLRLLLLLRLLLLRRLLRLRLLRRLRLRRLLLRRRRLRLLLLLLLLRRRLRLLLLRLLLRLRLRLLRLRRLLRLRRLLRLRRLRLLRRLRLRLRRLLLRLLRLLLRRRRLLLLLRRLLLLLRLLLRRLLRLRRRLRLLRLLLRRRLRRLLRRRLLRLRRLLRRRRRRLLLLRRLLRRLRRRLRLLLLLLLRLRRLRRRLRLLLLLRRLLLRRLRRRRRRRRLLLLRRLRLRLLRRLLLRLLLRLRLRRRRLRRRRRRLRLRRLLRRLRLRRRRRLLRRLRRLRRLRLLLLLRLRLLLLLRLLRLRLRRLLLRRRRRLLRRLRLRRLLLRRRLRLRRLRLRLLRRRLRRRLLRRRRLLLLRLRRLRLLRRLLLRLRLRRRLRLLLRLRLRLLRLLRRLLRRLLRLRLLLLRRRRLLLLLLLRLRLLLLLRLLRRLRLLRLRRRRLRLRLLLRLLRRLLLLRRRLRRLLLRRLRLRLRLRRRRLLLRLRRLLRLLLRRRRLRLLLLLLRRLLLRLRLRRRLRRRLLLRRLRRRLRRLLRLLRRRRLRLLLRLRRLLLLLLRRRLLRRRRLRRLRRRLRRRLRLLRRRRRLRLLLLRRLRLLRLRLRLRLRRLLLRRRRLLRRRLLLRRLLRLRRLLLLLRRLRRRLRRLLLLRLLLRLLLLRLRRLRLLRLRRLRRLLLLLRLLLRRLLLLLLRLRLRLLLLLRLLLRRLLLRLLLLLRRLLRLLLRLLLRLRRRLLRLLLLLRLLLLRRLLRLRRLLRRRLRLLRLRRRRLLRLLLRRRLRLRRRRRRRLLRLLRRLRLLLRRRLRLRRLLLRLLRLLLLLLRLLLLRRLLRRLLRRLRRRRRRRRLLRLRRRLRRLRRRRRLRRLRLRRRRLLLRLRLRRRRRRLRLRRRRRRLRLLRLLLRLRLLRLLLRRRRLRLRLLLLRLRLRLLLRLLRLLRRLRRLRRLLLRRRRRRLRRRLRLRLLLLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRRRLRLLLLRLRLLRLRRLRRRLRRRLRLLRRRRRLLRLRLLLLRLLLLLLRLLRRLLLLRRLLLRLRRRLRRLLRLLRLRRRLLRRRRLLRRRRLRRLLRRLRLRLRLLLRLLRLRLLRLLRLRLRRLRRRLRLLLRLLLRLLRRLLRRLLRLRLRLLLLLRLLRRLRRRLLLLRRRLRRLRRRLLLRLLLLRRRRLLRRLLLLRLLRRLLLLLLRLRRRLLLLLRRRRRRRLRRRLLLRRLRRLLRRRRRLRRRLRRRLLRLLRRRLLRLRRRLLLRLLLLLRLRLLRLLRRLLLLRRRLRLLLLRRRRLRRLRLRLLRLRLLRLRRLRRLLLRRRRRLRRLRRLLLLRRLLLRLRRLLRRRLLLRLLLRLLRLRRRLLRRRLRRLLRRLRRRLLRRLRLLRLLLRLRRRLRLRRRRLLRLRRRLRLLRRRRRLLRRLLRLRLRLRRLRRLLRRRLRLLRRRRRRLLRLRLRRLLLLLRRRRRLLRRLLRRRRLRLLRRRRLLLLLRLRRRLRRRLRLRRLRRLLLRLLLLRRRLRLRLRRLLLLRRRRLLLRRRLLLLRRLRRLRRLLLRLLRLLRLLRRRRLRRLLRRRLLLRLRRLLLRRRRLRLLRRLRLLRLRLRRLLRRLLRRRRLLRLRRLRLLLRLLLRRLLRRLLRLRLLLRLRLRRLLLLLRRRRRLRRRRRLLLLRLRLLLLLRLLRRRLRLLRRLRRRRLLLLRLRRLRRRLRRRLRRRRRRLRRRLLLRRLRRRRLRRLRLRRRRRRLRLRRLLLLRRRLLRRRRRLRRLRLRLLLLRLLLRLLRRLLRLRLLLLLRRLRRLRLRLLLLLRLRLRLLLRRLRLLRLLLRLRLRRLRLRRLLRRLLLLLLRRLLRLLLRRLRLRLLLRRLRLLLLRLLRLRLLLLRRLLLRRRLRLRRLRLLRRRRLRRLRLRLRLLRRRRRLRLRLLRLRLLRRRLRRRLLLLLLRRRLRRLRLLRLLLRRRLLLRLRLRRRLLLRRRLLLLLRRLLLRRRRRRRLLLLLLRLLLRRRRLLLLLRLLRRRRRRLRLRRLRLLRLRLRLRLLLRRRRLLLRLRRLRRRLLLRLRLRRLLLRLLLRRLRRLLRLLRRLRLLRRRRRLLRLLLRRLLRLRRLLLLLRRRRRRRLLLLRRRLRRLLRLRRRRRLRLLRRLRLLRLLRLRLRRLRRLLRRLRRRRLLLLLRRLRLRRRLLRRRRRRRLLLRRRRRRLRLLLRLRLLRLLLLLRRRLLRLRLLRRRRRLLLLLRLLRLLRLLRLLLRLRLRLLLRLLLLRRRRLLLRRRLRLRRRRRLLLLRRRLRLRLRRLLRRRLRLRLRLLRLRLLRLRLRLRLRRRRLLRRLLLRLLRRLLLRLRRLRRLRLLRLLRRRLRLRRLRLLLRLRRLLRRLRRLRRLRLLRRLLRLRLLRRRLLRRLRRLRLRLLLRLLRLLRRLLRLRLLRLLLLLRLRRRRRRRLRRLLLRRRRRLLLRRLLLLLRRRLLLLLLRLLRRRLLLLRRLLLRRRLRLRLLLRLLRLLLRLLLRLRLRRRLLRRRRLLRRLRRLRLRRRRRLLLLLRLLRRRRRRLLLRLLRLLLRLRLRRLRRLRRLLRLRRLLRLRRRLRLLLLLRRRLRRLRLLLLRLLRRRRLRLRLLLLLRRRRRLRRRLRLRRRRRLLLRRLLLRLLRLLLRLRRLRLRRLRLLLLLLLLRLRLLLRLLRLRRRLRLRRRRLRRRLRLLLRLRRLRLRRRLRLRLLRRLLRRLRLLLLRLLLRRRLRRLLRRLRRRRRRLRRRRLLLLLLLLLLLRRRLLRLLLLRRRLRRRLLRLRLRRRRLLRRLLRRLLLRRRRLRLLLLLLLLLLLRLRLLRRLRRRLRRRRLLLRLLRRLRRLRRLRRLLRRLLRRRLLRLRRRRRLRRRLRRRLLLRLLRLLRRRLRRRRLRRRLRRRRRLRLLRLRLRLRRRRLLRRRLLRLLRLLRRRRLLRRLLRRRRRRRLRLLLRRRLLRLRRLRRRLLRRRRLLRRLLRLRRRLLRLRRRLLLLLLRRLLLRRRRRRRLRLLLLRLRLRLRRRLLRRRLRRLLRRLLRRRRRLRLLRRRLLRLLRRRRLLLLLRRLRRRLLLLLRLLRRRLRLLLLLRRRRRRRRLRRLRRLRRLLLLLLRLRLRRRLLLLRLLRLRRRLRLRRLLRRLRLRLRLRRRLLRLLRLLLRRLRLLLRRRRRRRRRRRRRRLRRRRRLLRLLRRRLRRLRLRRRLLRLLLLRRLRLLLRLRRLLRRRRRRLLRLRLRRLRLRLRRRRLRRRRLLRLRRRLRLRRLRRLLLLLRRLRRLLLLLRRRLLRRLRRLLLLRRRRRLRLRRRLRRRLLRRLRRRLLRLRLRRRRLLLRLLLLRRLLLLRRRLLRLLRRRRLRRLRRLRLRLLLRLLRRLLRLRRRRRRLLLLLLLLRRRLRRLRLLLRLRLRLLRLRRRRLRLRRLRRRLRRRLRRRLRRLLLRLLLLRLLRRRLRRRRRRLLRRRLRLRLLRLRLRRRRRRLRRRLLLRLLLRLLLLRLRRLLRLRLRLLRLLRLLRRLRLLLRLLLLRLLRLRRLLLRRLRLLRRRLRLRRLLRLLRRRLLRLLRRLRRLRRLLRRLLRLRRLRLLRLRRLLLLLRLLRLRRRRLRRLRRLRLLLLRRRLLLLLLLLLLLLRRLLRLLLRLLRLLRLRLRLLRRRLLRRRRLRLRLRRLRLRLLRRRLLLRRRLRRRRRRRRLRLRRLLLRLLRLLRRRLRLLRRRLLRRLRLLRRLRRLLRRLLLLLRRLLLLLRRLLLLLRRRLLRLRLLLLLLRRLRRRLLRLLLLRLLLLLLRRLRLLRRLRLLRRLLRRRLLLLLRLRLRRLRRRLRRLLLLRRRLLRRLLLLLRLLRLRRLRLLLLLLRRLRLRRRLLLLRRRRRLRRLLLLLRLRRRLRLLRRRRRLRLRRRLRLLRRLLLRRRRLRRLRLRRRLLRRLRRRRLRRRLLRLLRRLLRRRLLLRRRRLRLLRRRRRLRRRLLLLRRLLRLLRRLRRRRLLRLLRRLRRLRRRRLRRRLLLLRRRLLRRLRRRLRRRLRRLLRLRLLRRLLLLLLLLRLLRRRLLLRRRLRLLRLLRLRRLRRRLLLLRRLLRRRRLRLLRRLLRRLRLRRLRLRRRLLLLRRLLLLLLRLLLRLRRLRRLRLLLLRLLLLLRRLRRRRLRLLLRLLRLLLLRRRRLLRRRRLRRRRRLLRLRRRLLLRLLRLLRRRLLLRRLLLRRLRLRRLLRLRRLLRLLRRLLLLLLLLLLRRLRRRRRRLRRRLRLLLLLRRLLRLRLRRLRLLRRLRRRRLRRRRLRRRLRRRRLLRRRLLLLLRRLRRRRRLLLRLRLRLRRLLLLRRRRRLLLLRLRRRRLLRRRRLRLLLRLRLRRRLRLLRRLLLLLRLRLLLRLLLRRLLLLLRLLLRLLLRLRLLLRRRRRRRRRLLRLRLLRRLLRRLRRLRRLRRRRLLLLLLLRRLRRRLRRRLRLRRLRLLLLLRRRLLRLLRRRRRRLRRRRLRLRRRRRLRLRRLLRRLLRLRRRLLLLRLRRLRLRLRRRRLLRLRRRLLRRRRLLLRRLLRRLRRLRRRRLLRLRLLRLLLRRLLRLLLLLLLLLRLRRRRRRRLLLLLLRRLRLLLLRLRLRRLRRLLLLLLRLLLRLLRLLRRRLRRRRRRLLRLLRRRRRLRLRLLLRLRLRRLRRLLRLRRLRLLRLLLRLLLLRRLRLRRRRLRLLRRRLLLLLLLLLLLRRLRRRLLLRLLRRLRRLLRRLRLLRLRLLLRRRRRRRLRLRRRLRRRLRLRLLRRRRLLLLLRRLLRLRLLLRLLRRLRLRLRLLRLLRRRLRLRLLRRLRRRLRLRRLLRRRLRRRRRRRRLRRLLRRLLLLLRLRLLRRLLRLRRRLRRRLLLLLRLLRLLRRLLRLLLLLRLRRRLLRRRLLLLRLLRRLRRRRRLLRLLRRLRLRLRLLLRLRRLLRLLLRLLLLRRRLRLRRLRRRRRLLRRRLRLRRRLLLLLRLRRLRLRLRRLRLRLLLLLRLRRRRRRLLLRLLLLLRRRLRLLRLRLLLLRLLRRRRRRRLRRLLLRLRLLLRRLLLLLRRRLRLLRLLRRRLLRLRRLLRLLRLLLLLRLLRRRLLLLLLLLLLLLLLLRLRLRRRLRLLRRRLLRLLRLRRLLRLRRLRLRRLLRRLLRLRLRRRLLRRRRLLLRLRRRRLRRLLLRRRLLLLRRLRRRRLLRRLRLLLRRLLRRRRRRRRLLRRLLLRLRLRLLRLLLLRRLRRRLLRLLLRRRLLRRRLRRLRLLLLLRLRLLLLRLLLRLRRLRRLRRRRLLRLLRLLLRLRRLLLLRLLLRLRRRLLRRLRLRLLRLRLLRRRLLRLRLLLLRRLLRLLRRRLLRRLRLRRRLRRRLLRLLLRLLRRLLLLLLLRLLRRLRLLLRLLRRLLRLRRLLRLLLLRLRRLRLLLLRRRRRLLLLLLRLRLLLRRLRRLRLRRLLLRRRLRLRRRRRRRRLRRRLRRRRRRLRRRLLLLRLLRLLRRRLLRRLLRLLLRRLLLLRRRLRRRRLLRRLRLRLLRRRLLRRRRLLRLLLLRRLLRRRLRRRRLLLRRLLRLLLLRRLRLRRLRRRRRLLLRLLLLRLRLRRRLLRRLRLRLLRRLRLLRLLLLLLRLRRRRLLLLLRRRLRLLLRRRRLRLRRRRRRLRLRRLRLLRLRRLLRRRRLLLLLRLRRLLLRRLLLLRRLRLLRRRLRRLLRLLLLRRLRRLRRRRLRRRLLLRRRRRRLLRRLLRRLRRLRRLRLLLLRLLRRLLLRLRRRRRLLLRLRLLLLRLRLLRRLRLRRRLRLRRLRLLLLLLLRRLLRRLRLRRLLRRLLRLLRLRLRRLLLRLLLLLRLRLRLRRRLRRLLRLLLRLRRRLLLLRLLRLRRRRRLLRLRRLRRLLLLRRRLRRRRRLLRLLLRLLLRRLLLRRRRLRLRRLLRRRRRRRLRLRLRRRRLLRLLLLLRRRLRRRRLRLLLLLRRLLRRLRRRLLLLRLLRLRRLRRRRLRRLLLLLLRRRLRLLLRLRLLLRLLLLLRLLRRRRLLRLRRRLLRLLLRLRRLRLRRRRRRRLLLRRRLRRRLRRLRLLLLRRRLRRRRLLLRLLLLRRLLLLLLLLLRLLRLLRLRLLRRLRLLRLRLRRRRLRLRLRRLRLRRLRLLRLLLLLRLRRRRRLLLRRRRRRRRLRLRRLRRRRLLLLRLRLRLLRRRRRRLRRLLRLLLRRRLLRRRLLRRRRLLRLRRLRRRLRLLLRRRRLLRLRLLRLLRRLLLLRRLRRRLLRRLRLRLRRRRLLLLLRLLLRRRRRRLLLLRLLRRRLRLLRRRLRRRRLRRRRRRRLLLRRLRLRRLRLRLRRLLRLRRLRLRLRLRRLLRRLRRRLRLRLLLLRLLLRRRLLLLRRLRRRRLRRRRRRLRLLRLRLLRRLLRLRRLRLLRLRLLRLLLLRLLRRLLRLLLLLLLLRRLRRLLLLLLLLLLLLRRLLRRRRRRLLRRLRRRRLLRRRLRRLLRRRRRRRRLRLLRLLLLRRLRLRRLLLLRLRLRRRLLRLRRRLRRLLRRLLLLLLLRLLLRRRLLRLLLLLRRRRLRLRRRRLRRRLRRLLLRLLRLRLLRLLRRLRLRRLRRLRLRLLLRLLRRLRLLLRLRRLRRRRLLLRRRLRLLLRLRLLLLLLRLLRRLRLLRRLLLRRRRLLRLRRLRLRRRLLRLRLLRLRRLLLLRLLLLLLRLRLLLRRRLRLRRRLRLRLRLLRRRLLRRLLRRRRRRLLLLRLRLLLLLLRLRLRRLLRLLRLLLLLRLRLLRLLRRLRRRLLLRLLRLLRRRLRRLLLLRLRLRRRRRLRRRLLLLRLLLLLRRRRRLRRRRLRRRRLLLLLRLLLLLLLRLRRRLLLRRRRRRLRLLRRRLRRRLLLRLRLRRRLRLLRLRLLLRLRRLRLLRRRLRLLLLLLRLLRRRLRLLLLLRRLLRRLLRLLRLRRRRLRLRLRLRLRRRLRRLRRRRRRLLLLLRLLLLLLLLRRRLLRLRLLRRLLRLLLLRRLRRLRRRLRRLRRLRRRLLLRLLRRRLRLLLRRRLRLRLLLLLRLRRLRRLRRRLRRRLLLLRRRLLRLRRLLRLLLRLRLLLLLLRRLRLLRRRRLLRRLLRRLRLLRRLLRRRRLRRRLLLRLLRLRRRRLLRLLRLRLRLLLLRLRRRRRRRRLRRLLRLLLRRLLRRLLRRLLLLLRRLRRLLLRRLRLLRRRLLRRRLLLLRLRLRLLRLLLLRLRLRRLRLLLRRRLLLRLRLLRLRLRRRRRRLRRLRLLLLRRRLRRRRRLLRRLLLLLLLLLRLLRRRLLLRLLRRRRLRRLRLLLRLRLRLRLLLRLRLLRRRLLRRLLRRRRRLRRLLLRLRRLLLLRLLLLRLLLRLRLRRLLRLLLRRRRLRRLRRLLRLRRLLLLLLLLRLRRRLLRLRLLRRRLLRLRLLRLLRRLLRRRRRLLRLLRLLLLRLLRRLLRLLLLRLLRRRRRRLRLLRLLLRLRRLLRLRRRRRLLLRRLRLRLRRRLRLLLLRLLLRRLLRLRRLRLRLLRLRRLLRRLLRRLLLRRLRLLLRRRLRRLRLLLLLRRRLRRRLLRRLRRRLLRLLLLLRRRRLRLLLRRRRRRRLRLLLLRLLLRRRRLRRRLRLRLLLLRLRLLLRLRRRRRLRLRRRRRLRLRRRLLRLRRLRRLRLLLLRRRLLLRLLRRRRLLRLLRLLRRLLLRRLLRLLLRRLLLLRRLLRRLLRRRRLLLRRRRLRLRLRLLLRRRRLLLLLRLRLLLLRLRRRRRLRLRLRLRLLLLRRLLLRLLLRRRLLLLLLRRLLRRLLRLRRRRRRRRLLLLLRRRRRLRRLRRRLLLRLLLLLLRRRRRRLLRLRRLRRRRLLRLLRRRLLLLRLLLRRLLLRLRLRRLLRLRLLLRLRLRRRLLLLLLLLLRRRRRLLRLLRRRLRLLLRLRLRRLLLLRRLLLLRRLRRLRRRLRLLLLRLLLLLRLLLRRLRLLRLLLRLLRLLLLLRRRRLLLLRRRLRRLLLLLRRLRLRRLRLLRRLLRLRLLLRRLLLLRRLRLRLRRLLRRRRLLLLLRRLRLRLRRRRLLRRLLRRRLRLLRRRLLRRLLRRLRRLLRLLRLLRRRLLRLRLLLRLRRLRRRLRRRLLRRRLRLLLRLRLRRRLLLRLRRLLRLLRLLRRLRRLRLRLLRRLLLRRLLLLLRRLLRLRLLRRRRLLRLLRLLRLLLLLRRRLLLRRRLRRLRLLRRLLRRRLRRLRRRLRLRLRRLLLRLRLLRLRRLLRLRLRRRLRRRRLRLRRRRLRLLLRLRLRRRRLRLLLLRLLLRRRLRLRRLRRLLRLRRRLRLLRLLLLRLLRLLLRRRLLRLLRLLRRLRRLLLLRRRLLLLRRLLLRRLLRLLLRLRLRRLLLRLLLRRRLLRRRLRLRRLRRRRRRRLLRLRRRLLRLRRRLRLLRRLLLLLRRLLRLLRLRLLRRRLRLRRLRRRLRRLRRLRLRRLRRRRRRLLLLRRRRLLLLRRRRLRLLRRRLRRRLLLRLLLLRRRRRLRRRLRRLLRRRLLLRRLLRLLLLLLLLRLRLRLRRRRRRRRLLRRLLRRRLLRRLRLRLLLLRRRRLLRRLRRRLRRLRRLLLLRRRLLRLLRRRLRRLRLLLRLRLLLLRLLRLLLLLRRLLRRLLLLRLLRLRRRRLLLLLLLRRRRLLLLRLLRRLLLLRLLRRLLRRRLLLRLRRLLLLLRRRLRRLLRRLLRLRLRLRRRRRRLRLRRLRLRRLRLRRLRLLLRLLRRRLLRLRLRRRLRRRLLLRRLRRRLLLRLLRRRLLRLLLLLLLLRLLLLRLRRLLLRRRRRLLLRRRLRRRLRLLLRRRRRRLLRLLRLRRLRLRLRLRLRRLLRLLLLLRLRLLRLRRLLRRLRLLLLLRLLRLRLRLLLLLRLLLRLLRLLLRRLRLLRLRLLRRLLLLRRLLLRLLRLLLLLRRRRLLRLRLLLLLRLLRRLLLLLRRLLRRLLLLRRRLRRRLRRRLLRLRRLLLLRRLLRRRRRRRRLRRLRLRRRLLLRRLLLRRLRRRLRLLRRLLRLRRLRRRLLRRLLRLRLLLLRRLLLLRLLLLLLRLRRLLLLRLLRLRRLRRRRRLLLRLLLLRRLRLRRLLRRLRLRRRRLLLLLLLRRLRRRLRLRRRRLRLRRLRRRRRLRLLRRRLLRRRRRRRLLLRRRRLRLRRRLLRLLLLLLLLRRLRRRRLLRRRLLLRRRRRLRLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRLRLRLLLLLLRLLLLRRLRRLLLRRRRLRLRLRLLLLLRRLLRRLLLLLRRRLLRLRLLLLLLLRRRRRLLLLLRLLRLRRLRLRLRRLRRRRLLRRLLRRLRRRLRLLRRLLRRLLLLLLRRRLRLRRRRRRRLLLRLLRLLRRLRLRRLLLLLRLRLLLRLRLRLLRRRLLLRRRLRLRRRRLLRRLLLLRRLRLLLRLLLLRLRRRLLLLLLRRRRLRRRLLRLRRLLRLLRRRLLRRRRRLLRLRRRLRRRLRRLLLRLLLRRLLRLRLRLLLRRLLLLRLLLRRLLRRRRLLRRRLLLLLLRRRRLRLLRRRRLRRRRRRRLRLRRLLRRRRRRLLRLLRLLLLLRRRLRLRRRLRRRLRLRLRLRLRLRRRRLLLRRLRLLLRRLLLLLLRRLLLLRLLLRLRRLLRRRRLRLLRLLRRLRLLRLRLLLLRRLLRLLLLRRRLRRLLRLRLRLLRRRRLLRRRLRLLRLRLRLRRRRRRLLRLLRRRRRRLLRRRRLLLRLRLRRRRLRLLLLRLLRLLLRLLLRLRRLRRLRLRLLLLLLRRRRLLLRRLRRLRRLRLRRRRLLRLRRRLRLLRRRRLLRLRLRRLLLRLRRLLLRRRLRLLLRLRRRLRLRLRRLLRLLRRRRLLRRRRRRRLLLRRLLRLLLLLLRLRRLLRLLRLRRRRRRLRRRLRRLRRRRLLLLRLRLRLRRRLLRRRRRLLRRLLLRRLLLLLLRRLRRRLLLRRRRRRRRLRLRLLRLRLRLRRLRRLRLLLRRRRLLLLRLRLLRRLLLRLRRLRRRLRLRRLLLRLLLRLLRRLRRLRLLLLLRRRLRLRRRLLLLLLLRLRRRLLLLLRLRRLLRLRRLRLLLRRLLRRLRLRLLRLRRRLLLLRRLLRLLLLRLRLRLLRLLLLRLLLLLRLLLRLRLLLRRLRLRRRRRLRRLLLRLLRLRRRRRRRLRLRRLLRLRRRLLRRLLLLRLRRLRRRLRLLRLLLRLRRLLLRRRRLRLLLRRRLLLLLRRRLLLRRRRLRRRLRLLLLLRRRRLLLLRRRRLRLLRLRLRLRRLRRLRLRLRLLLRLRRRLRLLRLRRRRRRRLLRLRLRRRLLRRRLRRLRRLLRLLRRLRLLLRRRLLLRLLLLRLLRLRRLRLRLRRLLLRRRRLLRRRLRRLLRRRRRRLLRLLRLRLLLLLRLLLLRRLRLLLRRRRRRRLLRLRLRLRRRLRLRLRLLLLLLLLLRRRRLRRLLRRRRLLLLLLLLLRLLLRRRLRRRRLRLRLLLRLLRLLRLRLRLLRLRRRLRLRLLLLRRRRRLLRRLRLLRLRRLLLLRLRLLRLLRRRLLRRRRRLRLRLLRRRLLRLRLRLRLLLLLLLRRLRLRLLRRLLLRLRRLLRLLLRLLRRLRLRLRRRRLLLRLRRLLLLLRRRLLLLLLLRLLLRRRRRRRLLLLLLRLLLLLLLRLLRLRRRRLLRRRLLLLLLLRLRLRLRRRLLRLLLRRRRRLLRRRLLLLLRRRLLRRLLRLLLRRLLLLRLRLLRRLLRRLRLLRLLLLRLLLLLRLRLLLRLLRRRRLLRRLLRLLLLRLLRLLLLLRLLRRLRLLLLLRRLLLRLLLRLRRRRRLRRRRRRRRLRRRRRRRRLRRLLLRLLRLLLLRLLLLRRRRRLLLRLLLLLLLRLLLRRRLLLRRRRRLLLRRLLLLRLRLLRRRRLLRLLLRRRRLLRLRLLLRLLLRRLRLRRRLRLRRLRLLLLLRLLLRLRRLLLRRRLRLRLRLLRLRLLRRLRLRLLLLRRLRLRLLRLRRRRRRLLRRLLRLRLRRLLRRLRRLLRLLLRRLRLRRRRLRLLLLRLRLRRRLLRRLLLRRRRLRLLLLLLLLRLLLRLLRRRLRLRRLRLRLLLRLRLRLRLLRRLLLLLRRLLRRRLRLLRRRLLLLLLLRRRLLLRLLLLLLRLLRRRRLRRLRRRRRRLRLRRRRLLLRRRLRRRLRRLLLRRLLRRRRLRRLRLRRRRRLLLLLLRLLRLLRLRRLLRRLLRRRRLLRRLLRLRLRLRLLRLRLLLLRLRRLLLRRLRLRRLRLRLLRLRLRLLRRLRLRRLRRRLLRLLRRLLRLRLLRRRLLRLLRRLRLLRLLRRLRRLRLLLRLRLRRRLRLLLLRLRRRRLRRLRRLRRRRRLRLLLLRLRLLLRLRRLRLRRLRRRLRLRRLLRRLLLRLRLLLRLRRLLLLLRLRLLLLLRRRLLRRRRRRRLRLRRRRRLLLLLRRLLRRLLLRRRLLRLRLRRRLRRLLRLRLRLRRRRRRLLRRRLRRLRRLLRRRLLRRRRLLRRRLRLRRRRLRRLLLLRRRRRRLLLLLRLRLLRLLLRLRLLLRRLLLRLRRRLLRRRLLLRRRRLLLLRRRRRRLLLRLLLLRLLRRRRLRLLRLLRRRRRRLLRRRRLRLLLRLRRLLLLLRRRRRLLLLLRRLLRRLLRLLRRLLLRRLLRLLLRRRRLLLRRLLLRLRRLLRRRLRRLLLLLRLLRLRRLRLRLLRLRRRRRRLRLLRRLLRLRLRLRRRLLRRRLLLLLLRRLLRLRLLRLLLLRRLLLLRLLRRRRLLLRRRRLRLLRLLRLLRRRLRLRRRRLLLRRLLRLLRRLRLRRLLRLRLLRRRLLRLLRLRRLRRLRLLLLLLLLRLLRLRRLRLRRRRRLRLLLLRLRLRLLLLLRLLRLRRLLRLLLRRRRLLRLRLRRLLLRLRRRRRLRLRLRLRRLRLLRLLRRLRRRLRRLRRRLRLRRLRLRLRRLLLLRRLLRLLRRRRLRLLRRRRRLRLLLRLLLRLRRRLLLLLRLLLLLRRLLRLRLLLRLLRLRLLRRRLLRLLLRRRLLLRLRRLRLLRRLRLRLRRLLLRLLRLRLRRRLRLRRRLRRLLLLRRRRRRRLLLRLRLLRLLRLRLLRLLLLRLRLRRLLRLLRRLRLLRRRLLLLRLLRRRRLLLRRRRRRRLRRLRLLRLRLRLRRRRRRRRLLRRRLRRLRRRRLLRLLRRLRRRRLLRRLLLRRRLLRLLRRLRRLRRRRLLRRLLLRLLRRLRRRRLRRRRRRLRRLRRRRLLRRRLLLRRLLLRRRRRRRLLRLLRLLRLRRLLRLLLLLRRLRLLRRRLLRRRRRRLRRLRRLRLLRRRLLLLRRRLLRLRRRRLLLLRLLLLLRLLRRRRRLLLLRRRLLLLLRLLLRLLRRRRRRLRRLRLLLLLLRLRRRLLRLLLRLLRLLLRLRLRLLRRRRLRRRLLLLRLRRRLRLRLLLLLRLRLLLLRLLRRRLRRLLLLRLRRLLRLLRRLLLRLLRLLLRRLRRRLRRLRRLLLLLLLLRRRLRRRLRRLLLLRLLRRRRLRLRRLLRRLRLRRLLRRRLLLLLRRLLRRRRLLLRRLLLRRLLLLRRRRLRLRLLRLRRLRLLRLRLLRLRLLRRLRRRLLRLLRRLRLLRLRLRLRLLLRRLLRLLRLLRRLLLLLLLRRLRRRRRRRLRLRLRLLRRLLRRLRLLLRRRRRRLRLLRLRRLLRRRRRRRLLLRRLRLLRLLRLRLLRLLLRRRRLRRRRRRLLLLRRRLRLLRLLRRLLRLRRLLLLLRLRRRRLRLRRLRLLRLRLLLLLRLRLLLRRLLRLLRLRRLRRLLRLRLLRLLLRLLLRRLLRRRRLRRLRLRLRRRLRLLLRRLRRLLLLLLLLRLLRLLRLLLLRLLLRLLLRLRRRRRRLRRLLLRLLRRRLRLRLRLLLRLRRLLLLRLLRLRLLRLLRLRRRLLLRRLLRLRLRRLLLRRRRLLLLLLLRLLLRRRLLRLRRLLLLRRRRLRRLLLRRRLRLLLLRRRRRRLRLRRRRRLRRLLRLLRRRRLLLLLRRRLRRRRLLRLLLLRRLLLRRLRLLRRRRRLLLRRRLLLLLRLRRLLRLLLRLRRLRRLLRLRLRRLLRRRRLLLRRRLLLLRLRLRRRLRLLRRRLRLRRLLRRLLLRLLRLRLLLRLRRLLLRLLLRLLRRRLRLRLLRLLLLLLRLRLRRRRLLRLRRRLRLLRRRLRRRRLRRRLRLLRLRRRLLRRLLRLLRLLRLRLRLRRLLLRLLLLLRLRRRRRLRLRLRLLLLRRLRRLLRLRLRLLRLLRLLRRLRLRLLRLRLRLRLRRLLLRLRRLLRLLRLLRLRLRLLRRLLRLLRLLLLLRLLLLRLLRLLLLLLLLLLLLLLRLRRRLRLLRRLLLRLLLLRRRRRRRRLRLRRLLRRLLLLRLLRLLRLRRLLRLLRRRLRLRRLRLRRRLRRLRRRRRRLLLLRLRRLLRRLLRRRLRRRRRLRRLLRRLRLRLLRLRLLLLLRLRLLRLLLRRRLLLLRRRLLRLRRLLLLRLLLLLRLRRRRRLRRLRRRRRLRRLLRLLLLRRLLLLRLLLLLRRRRLRRLRLLLLRRRRRLRRLLLRRRLRLRRLRRLLRLRLLRRRLLRRRLLRRLLRLLLRLLRRLLLRLLLRRLRRRLLLLRRLRRLLLLRRLLRLLRLRRRLLRLLLLRRLRLLRRLRLRLLLLLRRLLRLRLRLLLLRRLLRLRRLRRLRRLRRRLRRRRLRRRRRRRRLRLLRLLRRRRRRRLLRLRLRRLLRLRRRLRRLRLLRLLRLLLLRRRLLRRRRLLLLLRLRRLLRRRLRLLLLLLLLLLLLLLLRLLRLLRRLRRRRLLLLLLLLLLRLRRLLLLLLRLRLLRLLRLLRRLRLLLRLRRRRLRLRLRRRRRRRLLRRRLLLLRRRRRLRLRLLRLRRLRRLLLRRRLLRLLRRRRLRLLRLLLLRRLLLLRRRRRRLLRLLRLRLLRLLLRRRLLRRRRRRRRLRRLLRRRLLRLLRLLRLRLRLRRLRRRLLLRLRLLRRRLLLRRLLLLRLRLRLRRLRRLLLRLRRRRLLLLRLLLRLLRRLRLRRLRRRLRLLLRLRLRRLLLRLLRLLRLRRRLLRRRRLRLLLLLLLRLRRLLLRLLRLLLLRLLLLLRRLLRLLLLRRRLRRRRRLLLRRRRLLLRRLLLRRRRRRLLRLRRRLLLRRRRLRLRRLLLRRLRLRRRRLLLRRRLLLRRRLRRLLRRRRRRLLLLRLLRRRRLLRRRLLLLRLLLLRRLLRLLLRLRLLRLLLLLLRLRRRRLRLRLRRRLLRLLLRRRRLRLLLRRRRRLLRRRRLRRLRRRLRLLLRLRRLLRRLLLLRLLLRRRLRRLRRLLLLLLRRRRRRLLLLLRLLRRLRRLRRRLLRRRRLRLLRLRRLRLLLLRRRRRRRRLLLRRRRLRLRLRRRRLRRRLLRLLRLRLLLLRLRRRRLRRRRRLLLRRLLLRRRLLRRRRLRRLRRLRRRLRLLLRLRRLLLLLLRRRLRLLRLLRRRRRRLLRRLLLRLLLRRLLLLLRLRLLLRLRRLLLLLLLRLRLRLLRRLRRRRRLRRRRRRRRLRLRRRLRRLRLLLRRLLRLRRLRRRLRLRRRRRRLLRRLRLLLLLLRLLLRRRLLLLLLLRRRRLRRRRLRLRLLRLRLLRRLLLLLLRRLLRLLRRLRLLRRRLRRLRRLRLRLLLLRRLRRLLRLLLLRLRLRLRLLRRRRRLLLRRLRLRRLLRLRLRRRLLRRRRRRRLRRLRLLLLRRLRLRRLRRLRLRLRRRRRRLRLRLRRLRLLLLRRLRLRLLLRRLRLRLLRRLRRLLLRLRRRRRLRRLRRLLLRLLRLRRLRRLRRRRLRRLRRLLRRRLRRLLRLLRLLLLRRRLLRLLLLLLRRLRLLLRLRLLLLLRLLRRRLRLLRRLLRRRLRLLLRLRLLLRRRLLRRLRLRLRLLLRLLLRLLLLLLLLLLRLRLRLRRRRRLRLRRLLRRLRRRLLLRLRRRLRLLLLRLLRLLRRLLLRLRLRLLRLLRLLRLRLLRRRRLLRLLLRLRRLRLLRLRLRRRRLLLRLRRLRLRLLRLLLLLRLLLLLRRRRLRLLLRLRRLRLLRLLRLLLRLLLLRRRRRLLRRRLRRLRLLRRRRRLLLLLRLRLRRLLRRLLLLLLRRLLRRRLRRLRLRRRLLLLLLRLLRLRLRLLRLRLLLRLLRRLRLLRRRLRLRLRLLLRLLLRRLLRRRLLLLLLLRRLLLLLLLLRRRLRLRLLRRRLRLLLLRRLRRLRLRLRRLLRLLRRLRLRLLLRRLRLLLRRRRRRLLLRLLLLRRLLRRRRRLRRRLRRLLRRRRRLLLRLLLLRRRRLLRLRLRRRLLLRRRRLRRRLLRLLRLRRRLLRRRRRRRRRLLLRLRLRRRRLLRRLRRRRRLLRLLLRRLRRRRLLRLRRRLLRRLLRRLLLRRLLLRLRRLRLRLLRRLLLLRRRLLRRLRLLLRLLLLLLRRLLLRLRRRRLRLLLLRRLLLRLRLLLLRLRLRRRLRRRRLLLLLRRRLRRRRRLLRRLLRRLLRLRLLLLRRLRLLRRRRLRLRRLRRLLRLRLRLLLLLRLRLLRLLLLRRLRRRLRRLRRLRLLLLRLLLRRLLLLLLLLRRRLRLLLRLLLRRRLLLRLRRLLRLRRLLRLLRLRRLRRRLLRLLRLRLRLLLLRLLLRLRRRRRRRRRLRRLLRLLLLRLLRRLRRLRRLRLLRLRRLRLLLLRLRLLLRLRRLRLRRLRLLLRRLRLRRLRRLRLLRLRLLLLLRLRLRLLRLLRLRRRRLRRRRLRRRRRRLRRRLLRRRLLRLRLLRLLRRLRRRRLLRRLLRLLLLRRLLLRRRRLLLLLLRRRRLRLRLLRLRRLLRRRRRRRRLRRLLRLRRRRLRRLLRRRLRLLLRLRRLLRLRRRLLRLLRLLRLRLLLRLRRLLLLRLRRRRRLLLRRLLRRLLLRRLLLLLRLLLLLLRRRRRLLLRRRRRLLRRRRLRLRLLRLLRRRRLLLLLRLRLLLLRLRRRRRRLLRLRRRLLLLRLRLLRLLRLLRLLLLLLRRLRRLRRRRRRRRRRLRRLLLLRRRLLRLRLRLRLLLRLLLLLRRRRRRRLLRLRRLLRRRRLRLRLRRLRRLRLLRLRLLLRLLLLRLLRLRLRLRRRLLRRLLRLLRLLLRRRRRLLRLRRRRLRRLRLLRRRRLLLRRRLLRLLLLRRLRRRLLLLLLRLLLLLRRLLRRLRLLLLRLLLRRLLLLLRRLLLLLLRRRLRLLLRRLRRLLRRLLLRLRRLRRRRLLLRRLRLRRLLRLRLRLLRRRRLLLLLRLLLRLRLRLRRLRLLLLLRRLRLLRRRLLRLRLRLLRRLLRLRRLLLLRLLRRRLLRRLRLLLRRRRRLLLRRRLRLLLRLRLRLRRLLRLLRLLLLLRLRRRLRRLRLRLRRLLLRRRRRLLRLLRLRRRLLRRRRRLRLLRRLRLRLLLRRRLLLLRLLRLLRLLRLRRRRRLRLLRLLRRLLLRLRLLRLLLLRLRRLRRLLRRRLLLRRLLRLRLRLRLLLLRLRRRRRRLRRLLLLLLLLRLLLRRRRRRLLLLRRRLLRLRLLLLRLLLLLLRLRLLLLRRLRRRLLLLLLRRLRLLLRRRLRLRRRRLLLLRRRLRRLLLRLLLRRRLLRLRLRLLRLRRRLRRRLLRLRLRLLRLRRLRRLRRRLLLLRRRLLRLLLLRLRRRLLRLLLRRRLLRLLRRLRLLRLRRRRRRLLRLRRRRLLLLLRRLRRLLRLRLRRLLRRRLLLRRRLRLRRRRLRRLLRRRLLLRRLLRLRLRLLRRRRRLLLRRRRRRRRLRRLLLRRRRLRRLRLRLLLLLRRRRLLRLRLLLRRLRRLLLLRRRLLLLRRRRLRRLRLLLRLRLRRLRLLLRRLLRRRRLRRLRLRLRRRRLRRRLRRLRRLRRRRLRLLLRRRLRLRLRLLLLLLLRRRRRLLRRLLLRLRRRLRRRLRRLLRRLRLLLLRLRRRRLRLRRLRRLLLRRLRLRLRLLLRRRLLRRRRRRLRRLLRRRLRRLRLLLRRLRRRLLRRLLLLLRLRLLLRRRLLLRLRLRLRLLLRRRRLRRLRRLLRRRRRRLLRRLRRRRRRLRLLRRLRRLRRLLLLRRLRLLRLRRRLLRLLRRLLLRLRRLRLRLLRLLRLRLLLRRLLLRRLRLLRLRLRLLLLRLRRLLLRLRRLLRLLRLRLLLRLRLLRLLRRRRLRLLLLRRLLLRRLLLRRLLLRRRRRRLLRRLRLRRLLRLLRLRRRRRRLRRRRLLLLLRLLRRLLRRLRRRLLLLLLLLLLRLLRRRRRRRLRLLLLLLLRRRLRLRRRLLLLRRRRLLLLRLLLLLLLRRRLRLLLRLLLLRRRRLRRLLRRRLLRRRLLRLLLLLRRLRRRLRRRLRRLLLRRRRRRRRLRLLRRRLLRRRRRRLLLLRRRLLRRRRLRLLRLLLLLLRRRLRRRRLLRRRLLLRLRRRRRLLRRLLLRRRRRLRRLLRLLRRRRLLLRLRLRLRRRLLLRRLLLLRRLLLLLLLLRRRRLRLLLRLLLRRLLRRLRLLLRRRLLLLRRLLLRRRRRRRRLLLLLRRLLRRRLRLRLLRLRRRRLLLRLLRRRRRRLRLRRRLLRRLLLLLLRRRRRLRLRRRRRLLLRLLRRLLLRRLRRLLLLRRLRLLLRLRLLLLRLRLLLRRRRRLRLRLLRRRRRLLRRLRLRLLLRLRRLRRRRLLRRLLRLRLRRRLLRLLRLLLLLLRRRLRLRRRLLRLLRLRRRLLRLLRLRLLLRRLLRLLLRLLRLRLRRLLLLRRRLLLLRRRLRRRLLRLRLLRRRRRLRRRRRLLRRRRRRLRLRRRRRRRLRRRLRRLRRRLLLLRRLLLRRRRRRLLRLLLRRRLRLRRRRLLLRRLRLRLRLLLLLLLLLRLLLLLLLRRRLLLLRRLLRLLLLLRRRRLLRLRLLLLLRLLRLLLLRLRRRLRLRLRLRLLLRRRLLRRRLRLLLLRLRLRLLRRRLLRLRLRRLRRLLLLRLLRRRRLRRRLRLLLLLLLLLRLRLRLLRRLRRLRLRRRRLLLRRLRRLRLLLRRRRRRRLLLLRRLRLLLLRRRLLLLRRLRLLRLRLRRLRLRRRRRLLLRLLRLLRRLRLRLRLLLRRLRRLLRLRLLLRRRRRRRRLLLRLLLLRLLLRRLRRLRRLLRLRRRRRRRRLLLRRLRRRRLRLLLLRRRLRRRLLRRRRRRLLRLLLLRLLLLLLLLLRRRLLLRRRRLRRLRRLRRRRLRLLLRRRRLRLLLLRRRLRLLLRLRRLRRLLLRLRRLRRRLRLLRLRRLRLRRRLRRLRRLRLRLLRRRRLRRLRRLRRLLLLLRLRRLLLLLRLLRLRRLRRLLRLRLRRLRRLRLRLLRLRRRRLRLRRLLRLLRLRRRLRRRRRLLLRLLLLLRRRLRLRLLLLRLRRRRLLRLRRLLLRLLRLRRRRLRRLRLRRRLRLRRRLLLRLLLLRLLLLRLLLLRLRRLLRLLRRLLRRRLLRLRRRRLRLRLLLLRLLLRLLLLRRRLRRLLRRRRRRLLLRRRLRLRLLLLRLLLLRLRRLLLLLLLLLRRLRRLRRRLLLRRRRLRLLLRRLRRRLRLRRLRRLLRRRRRLLLLRLLLRRRLLLRLLLLRLLLLRRRRLRRLRLLLLRRRLLRLRRRRLLLRLLLLLRLRLRLRLLRLLRLLLLLLLRLRLRRRLRLRLLRRRLLRRRLLRRRLRLLLLLRLLLRRLRLRRLRRRRRLLLRLLRLLRLRLLRLLRRLLLRLRLLLLLLLLLRLRLRLLLLLRLLRRLLLLLLRRLRLLRLLRLRLLRRLLLRRLLLLRRLRRRLLLRLRRRRLRLLLRRLLRRRLRLLLLLLLRLRLRRLRRLRRLLLLLLRRLLRLLRLLRRLRLRLRLRLLLLRLRRRLLLLRRRLLLLLLLRLRLRLRRRRRLLLLRLRRLRLLRLRLLRRRRRRLLRRRLLRRLRRRLRLLLLLRLLRRLRRLRRLLLRRRLRRLLRRRLLRRLRLRLLRRRLRRRLRRRRRLLLRLRLRRLLLLRLLLLLRLRLLLRRLRRLLRLRRLLRLLRLRLLLLLRRLRLLRRLLLLLLLLRRLLRLLLRLRLRLRRRRRRRRRRLRLRLRRRLLRRLLLRLLRLLLLRLLLRRLRRRLLLRRLLRLLLLLLLRRRLLLRLRRRRRRLRRLLLRLLLLRRRRLLLLLLRLRRRRRRRLLLLLLRLRLRLLRRLLLRRLRRLLLRLLLLRRRRLLLLLRLRRRLRLLRLRLLLRLRRRLLLLRRLRLRRLRLRRRRRLLLRRLLRLRLRRLRRRLRRRLLLLLRLLLRLLRRRLLLLLLLRRRRRLRRRLLRLRRLLRLLLLLLLLRLLLRLLRRLLLLLRLRLRLLRRLRLRRLLLRLLLLLLRRLRRRRLRLLRLRLLLLLLLRRLRLRRLLLLLLLLLRRRRLRRLRLLLLRLLRRLRLLLRRLRLRRRLRRRLRRRRRLRRLRRRLRLLRLRRLLLLLRRLLRLRRRLRRLRRLLLRRRRRRRLLRLRLLLRLRLLLLLLLRLLRRRRRRLLLRLLLLRRLRRRLLLLRLRRLRRLLRRLLRRRRLLLRLLLRRRLRRRLRRRLRLLRLLRLRLLLRLLLRLRLRRLLRLLLLRLRRRRLRLLRRLRLRRRLRLLLLLRRLLLRLRRRRRRRLRRRRRRRRLLRRRLRLLLLLLRLRRLLLLRRLRLLLLLRLRLLLRLRRRRLRLRRRRLLLLRRRRLLLRLLLRRRLLLLRLRRRLLRLLRRRLRRRRLRLRRLRRRLRRLRRLRRRRLRRRRRLLRRRLLLLRRRLRRLLRRRRLRLRLRRRLRLLRLRLRLLLRLLLRLLLLLLLRRLLRLRLLLRRRRLLLRRRRRLLLLLLLRLLLLRRRRRLLRLRLLRRRRRLLLRRRRLLLLRRLRLLRLLLLLLRLLLLRLRRRLRLLLRLRLRRRLRRLLRLLRRLRLLLLLRLLLRLRRLLRLLLLRLRRLLRLLRLRLLRLRLLRLLRRRRRLLRLRRLLRLLLRLLRRLLRRRRLRLLLRRLLRLLLLRLLLLRRLLLLRLLLRRLLRRRRRRLRRRRLLRLRRRRLRLRRLRRLLRRLRLLLRRLRLLRRLRRRLLLLRRLRRLRRRLRRRRRLLLLLLRRRLLRLRRLLRRRRLRLRLLLLLLRLRRLLLLRLLRLRRRRLRLRRRRLRLLLRLRRLLLRRRLRLRLRLRLLLRRLRLRRLLRRRRRRRRRLRRLLRLLRLRLRLRRLLLRRLLLRLRRRRRRRLLLRRRRRLLLLRLRRRLRRRLLLLLLLLRRLRRLLRRRLLLRLLRRRLLRRLRLRLLLRLRRLLRRRRLRRLRLLLLRLRRLLLLLRRLRLRRRLLLRRLLLRRRLLRLRRRLRRRRRLRRLRRLLLRLRRRLLLRLLRRRLLRRLLRLLLLRRRRRLLRRLRLRRRLLRRRRRLRLLRRRRLLLRRRLRRLRLRRLLLLLRLRLLRRRRRLRLLRRRRRRRLLLRLLLLRRLRLLLLRLRRLLRLRRLRRLRLRRLLRLLRRRLRRRRRLRRLLLLRLRLRLRRLRLLLLLRRRRRRRLLRLLRLRLLRRRLLRLRLLRRRLLRRRRLLRRRRRRLRRLRLLRLLLLRRLLRRRRRLLLRRRRRLLRRLLRLLLLLRRRLRLLRRRLRLLRRLLRLRRRLRRLRRRRRRRRRLRLRLRRRRRLLLLRLLRRRRLRRLLLLLLRLRRLRLLLLRLRLRRRRRLRRLLLRRLRRLRLRRLRLRLRRLLRRRLLRLLLLLLLRRLRLLRRRLRLRLRRLLLLRRLLLLRLLRLLRLRRLRRRLLRRLLLRRRRLLLLLRLRLRRLLRLLRRRLRRLLLRRLRRLLRRLLRLLLRRLLLLRLRRLRLRLLRRRLLRLLRLRLLRRRRLRRRRRRLLRRLLRLRRLRRRRRLRRLLRRLLRLLLRLRRLLLLLLRRRLLLLLLRRLRLRLLRLLLRLRRLRLLLLRRRRRLRLRRLRLLRRLRRLRRLLLRLLLLLRLLLLRRLRLLLRLRRLRRRRRRLLLLRLLRRLLRLRRLLLLLLLLRLRRLLRLRLLLRRRLRLLLRRLLRLLLLLLLLRLRLRLLRLRLLRRRLRLLLRRLLLRLLLRRLLRRRRLRLLLLRLRRRRRLLLRRLRRLRRRLRLLRLLRLLRRLRLRLRLRRLLRLLLLRRRLRRLLLRLLRRLLRLRLLLLLRRLRLLRLLLLLLLLLRRLRRRRLLRRRRLRRRRLRRLLRRRLLLRLLLLRRLLLRLRLLRLRRLLLLRRRLLRRLLLRRLLRRLLLRRRLRRLLLLRRRRLRRLRRLLRLLRRLRRLLLRLLRRRRLRRLLLRRLLLRRRRRRRRRRRLLLRRLRLLLLRLRRLLLLLRRLRRLLLLRRLRLRRRLRRRRRLLRRRLLLLRLRLRLRLRLLRLRLLLRRLLRRLLRRLLRLRLRRRLRRRLLRLRLRLLLLRLRLRRRRLLLLLRLLRRRRLLLLLLRRRLRLRLRRLRRRRRRRRLRLRRLRRRLLRLLRRLLLLLLRLLRLRRRLLRRLLRLLLRRLRRLRLRLRRLLLRRLRRLLRLRLRRLRLLLLLLRLRLLLLRRRLRRRLLRLRLRLLRLLRLLRLLLLLLRLLRLLLRLLRLRRLLRRRLLLRLRLRRLLLLLLLLRLRRLLRRLRLRLRLRLRLRLLRLRRRRLRRRLLRLLRRLLLLRLLRLRRLRRLLRLLRLRLRRLRLRRRRLLRRLRRRRRRLLRLLLRRLRLRLLRLRLRLLRRLRRLLRRLRLLLLRLRLLLLRRLLLRRLLLRRLLRLLRRRLRRLRRLRLLRLLRLLRLRRRRRLRLLLLLRRRRRRLRLRLLRRLLLLLLRRLLLRRRLRLLLRLLRRRRRRLRRLLLRRRLRLRLLRLRLLLRLRRLRLLLLRLLLLRLLLLLRLLRRRLRRLRLRRRRRRLLRLRRLRRLRLLRLLLRLLRRRRRLLRRRLLLRLRLLRRLRLRLLRRLRLRLRLLLLLLRRRLLRRRRLLRRLLRLRLRLLRRRLRRLLRRRRLRLLRLLRRRRRRRRLRLRLRLRRRLRLRLRRLRRLRLLLRLRLRLRLRRLRRRLLRLRLLLLLRLLLRLLLLRLLLLLLLRRLLLLRLLRRLRRRRLRLLLLLLLRLLRLLRLLLLRRRRLRLRRRLLRLRRRLRRRRLRLRLRLRRRRRRRRLRLLLLLLLLLRRLRRLLLLRRRLRRLRLRLRRLRLLLRRRRRRLLLLRRRRRLLRRRLRRLRLLLLRLLLRLLLLRRRRLRRRRRRRRLRRLLLRRLLLLLRLLRLRLRLRRLRRRLRLLLRLLRRRRLLRRLLLRRLRLRLRRLRRLLLRLRRRLLRRLRLLLRLRRRLRLRLLRRRLRLLRRRLLLLRRLLLLRLLRRRRRLLLRRRLRLLLLRLLRLRRRRLRLLRLLLLLLRRLRRRRLLLRLLLRRLRRRRLLLLRRRRRRRRLLLLLLRRRRLLRLRRRLLLRRRLRLLRLLLLRRLRLRRRLLRLLLRLLRRRRRLLLLLRRRRRLLLLRLRRRRRLLRLRRLLLRLRLRLRLRRRRLLLLLLRLLLLRRRLRLRRLRLLRRRRLLRLLLRRRRLRRLLRRRRRRRRRLRLRRLRLRLRLLRRLRRRLRLLRLRLLRLRRLLRRRRRLLRLRLRRRRRRRRLLLRLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRRRLRLLLLRRLLLRLLLRRLLLRRRLRRLRLLRLLLLRLLLRRLRRRRRLLLLRLLRLLLRRLRRRLRRLRRLRRRRRLLLRLRLLRLLLRRRRLRLLRLLLRRRLLLLLLLLRLRLLLLRLLLLRRRLLLRLRLRLLLLLLRLLLLLLLRLRRLLRLLRRLRRLRLRLRRLRRRLLLLLRRRLLLLLRRRRRLLRLRRRLLLLRLLRLLRLLLLRLRLLLLLLLLLRLRLLLRRLLLLRLRRLLLRRRRLLLLLRLLLLLLRRLRRLRRRLRRLRRRRRRLRRLLLLRRLLRRLLLRLRLRLLLLLLRLRLLLRRRRLRLLRRLLLLRRLLLRRRLRRRRRLRLRRLRLLRLRRLRRLRLRLRRRRRRRRLRLRRLRLLLLRRRRLLLLLRRLRRRLRRRLRRLLRRRLLRRRLRLRRRLLRRRRLLLRRRRLRRRLLLRRRRRLRRRRRRLLRLLLRLLLRLRLLRLLLLLLLRLRLLLRRRLRLLLRLLRRRLLRRLRLLRRRLLLRLRLLLLRRLRRRRRLRLRRRLLRRRLRRRLLLLLLLRLRLRRRLRLRRRRLLRRRLRRLRRRRLLRLRRRLRRLLLRRRRLLRRRLRRLRLRLLRRLRLRLLRLRLRRRLLRLLLRLRRLRRLLLRLRRRRLRLRLRLLRLRLLLLLLLRRLLRLLRRRLLRLLLLRLRLRLRRRRLLLLRLLLLRRRRRRRRRRLRRRLLLRRLRRLLRLLRLRLLLLLRRLLLLLLRLRLRRRRRRLRLRRRLRRRLLRLLRLRLRLRRLRLLLRLLLRRRLLRRRLRLRLLLLLRLLLRRRLRLRLLLLLRLLRLLLLLRRLRRRRRLRLLRLRLRLRLLRLRLRLRLRLRLLLLLLRRLRRLLRLLRLLLLLRRRRLRLLLRRLLLLRLLRRRRRLRRLLRRRLRLRRRLLLRLLLLRRRRRLRLRLLRRLLLLRLLRRRRLLLLLLLRLRRRLRRRRLLRRRRLRLLLLRLLLRLRRRRLRRRLRRLRRRLRRLRLLLLRRLLLRRLLRRLRLLRLLLRLLRLLLRLLLRLLRLRRLRLLLLRLLLLLLLLLLRRLRLRRLRRRLRRLLLRLRLLLLRLRLLRLRLLRLLRRLRLRRRLRLRLLLRLLLLLRLRRRRLRLRLRLLRRLRLLRRRLLRLLLRLRLRRRRLRLLLLRLLLRLRLLRRRRLRLLLRRLRRLRLLRLLLRRRRLLRLLLRLLRRRRLRLRLRLRRLLLLLLRRRLRLRRLRRRLRLRRLRLRLLLRLRLLLLRLLRLRRLRRRLRRRLRRRLRLRLRLRRRLLLRRRRRLRRLLLLLLLRLRLLRLRLRLLRRLRRLRLRRLLLLRRRLRLRRLLRRRLRRLRRLLLLRRRLRLRLLLRRLRRRLRRRRLRRRRRRLRRRLRRRRLLRRRRLRRRRRLRRRRRLRRRLRLLLLRRLLRRRRRRLRRLLRRRLLRLRLLRRRRLLLRRLRRRLLRRLLRLRRRRLRRLRRRRLRLLLLLLRLLRLRRRLRRLLRRLRLRLLLRLRRLLLLRLRRRRRRLLRRLLRLRRLLRLLLLRRLLRRLLRLRRLLLRRLLRRRLRLLRLRLLLLRRLRRRLLLRRLRLLLRRRLRRLRRRRLRLRRRLRLLLRLRRRRRLRLLLLRRLLRRRLRRLRRRRRRRLRRLRRRLRLLRRLLRLLLRLRLLLLRLLLRRRRRRLRLLRLLRRLRLRRLRRRLRRLRRLRLRRLLLLLLRLLLRRLRLRLRLRRLRLLRLLRLRRRLLLRLRRLLRRRRRLLRRRRLLRRLRLLLRRLRLRLLLLRRLRLLRLLLLLRLLRRRRRLRRLRLLLLLRLLLRLRLLRRRRLLRLLLLRLRRLRLRRLLRLLRRLRLRLLRLRLRLRLRRRRRLRLLLLLLLLLLRRLLLLRLLRLLRRRRRLLLRLRLLRRLRRLLRRRRRLLRLRLRLLRLRLRRRRLLLLRLRRRRRLRRRRLRLRRRLRLRRRRLLRLRLRLRLLLRRLRLLLLLLLLRRRRLRLRRLRLRLRRLLLRLRRRLLRLLRRRRRLLRLLRRRRRLRRLRRRLLLRRRRLLLLLRRLLLRRRLRRLRRLRLRRLLRRLLLRLRLRRLLLLRRLRRRLLLRRLLLLRLLLRRRLLLRLRLRRRRRRRLRLRRRRLLLRRLRLLLRRLRLRRRLLRRRRLRLLRLLLRLRLLLRLLRRLLLRRRRRLLLLRRLRRLLRLRRRRLRLLLRRLRLLRRLRRRRRRRLLRLLRLLLLRRLLLLRRLRLLLLRRRRLLRRLLRLLLRLRRRRRRLLRLLLLLLLLRRLRRLLRRRLLRLLLLRLLRRRRLLLRLRLRRLLLRRLRRRLLLRLLLLRLLLRLRLRRLLRRLLLLRLLLRLRRRLLRRLLLRRLRRRRLRRLRRRRLRRLRLRLLRRRRRRLLLRLLLLRRRRLRLLRLRRLLLLRRRRLLLRRLLRRRLRRRLRLLRRLRLLRLRRLRRRRLLLRRLRRRLRLLLRRLRRRRRRLRRRLRLRRRRLLRLRRRLRRLRRRRLRRLLRRRLRLRLRLLLLLRLRRRRRLLRLLLRRLLRLLLLRLRRLLLRLRLLLLRLRRRRLRLRRLRRLLLLRRLRRRRLLLRRRRLRLRLLLRLLLLRRLLRLLRLLLRRLRRRLLLRLLRLLRLRLRRRRRLLLRLLLLLRLLRRRLRLLRRLRLLLLLRRRRLRRLLRLRRRLRLLRRLRRRRRLLLLRRLLLLRRLRRLLRLLRRLLRRLRLLLRRLRRRRRLRRLLRRRLLRLRLRRRRLLRLLLRRRRLLLRRLRRLLRRLRLRLRLRLRLRRLLRRRRLRLRLRRLRRLRRLLLRRLRLLLRRRRLRRRLRLRRLLRLLRLLRRRRRRRRRRLLLLLRLLRRLLRRLLRLLLLLLLRRLRRLLRRRRRLLLRLLLLLLRLRRLRLRRRLLRRRRLRRRLLRRLLRLLLRRRLLLRLRLLLLLLRRLRLLLLRRLLRLLLRRRLLLLRLLLRLRLRRLLRLLLRRRRRRRLLRLLRRRLLRRRRRRLLLRRLRLRLRRRLRRLRLLLRLLRRRRRRLLLLRLRLLLRLRLRRRLRLRLLLRLRRLLRRLRRLRRRRLRLLRRRLLRRRRRRLRRLLLLLLLLLLLLLLRRRRLLLLLRLLRRRLRRRLRLLLRRRRLLRRRLLLRRRLRRLLRLLRRRRLLRRRLRLRLLLRRLLRLLLLLLRLRRRRRLLRRLLRRRLLLLRLRRRRRLRLLRRLRRLLRLLLRLLLRRLLRRLLLRRRRLRRRRRLLLLRLRLLRLRLRLLRLRLRRRLRRRLRRLRRRLLRRLRLRRRLRLRRRLLRLRLRRRLLRLLRLLLLLLRRRRLLRRRRLLLLRLRLLLRLLLRRLRLLLRLRRRLLLRLRLRRRRRLLLRRRRLLLRRRLRRRRLRRRLLRRLRRLRLRRRLLRRRRRRLLRRRRRRRRLRLRLLRLLRRRRLLRRRLRRRRRRLLLRLLRRRLRRLRRRRLLLLLLRLRRRLRLLLLLLLRLLLLRLRLRRLLLLRLLLLLRLLLLRRRLRLLLLLLRLRLRLRLRLRLLRLLRLRLLRLLRLLRLLLRRLRRRLLLRLRRLLLLRRRLLLRLRRLRLLLLLRLRRRRRLRLRLRLLLLLLLLLLLRLRLRRRRLRLRLRLRLLLLRRLRLLRRLLRRRRRRRLRLLRLLRRRLRRLRRLRRRLLRRLLRRLLLLRLRRRLRRRLRLLRLRRLLRLRLRLLLRRLRLLLRLLLLLRRRRLRRRLRLRLLLLRRLLRRLRLLRRLLLLLRRRRRRLLLLLRLRRLRLRRLLRRRRRRRRRRRRRRRRLLLLLLLRRRRRLRLLRRLLLLLRRLLLLRLRRLRRRRLRLLLRLRLLRLRLLRRRLRLRLLRRRLRLLRLLLRLLRRRLRLLRLRRLRRRLRLLLLRLRRLRLLRLRRLLRLRRLRRRRLLLRLRRLLLLLRLLRRRLRRRLLRLRLLRRLLRRLRLRRLRRLRLRLRRLLLLRRLRRRRRRRRRRLRLLRRRLRRRLLLLRLLLLLLRRRLLRLRLLLRRLLRLLRRLLRRLLLRLRLRRLLRRLLLLLLRRRLLLRLLRLRRRRRLLLLRRLLRLRLLRRRRRRLRLRLRLLRLRLRLLLLRRRRRRLLRRRLRLLLLRRRLRLRLLLLRRLLLLLLRRLRLLLRLLRRLRRLRRRLLLLRRRLRLLLRLLLRRLRLRRLLLLLRRRLRRLLRLLLLRRLLLLRLRLLRLLLRLLRRRRRLRLLLLLRRRRLLRRLLLRLRLLLLLRLRRLLRLLRLRRLRLLLLRRLRLRLRLRLRRRRRRLLRRRLLRRRLLLLLLLRRRLLRLRLRRRRRLRLRRLRRRRRLLLRLLRLRRRLLLRRRLRRLLLLRLRLRLRLLLLLRLRRRLRLRRLRRLRRRLLLRLRLLLLLRLRRLLLRRRLRLRLRLRLRLRRRLLRLRLLLRRLRRLLLLLLLRLRLRRRLRRRLLRRLRLRRLLRLRRLLRLLRLLLRLRLLLLLRLRRLLLRRRRLLLLLRLRRRLRLRRLRLLLLLRLRRLRLLRRLLLRRRLRRRLRRRRLRRLRRLRRLLLLLLLLRRLRLLRLLRLRRRLRRLRRLLLRRRRRLRLLRLRRRRRLRRRRRLLLRLRLRLLLLLRLLRLLLLLRLLLRLRLLLRRRRLLRLLRLLLLLRRRRLLRRLLLLLLRRLLRRLRRRLRRLRLRLRRLRRRLRLRRRLRLLRRLRRRLLLRLRRLLLLRLLLRRLLRLRLRRRRRRRLLLLLRRRLLLLLLLLRRRRLRRLLLRLLRLRLRLLRLRLLRLRRRRRRRRLLLLLRLRLLRLLRLLRRLLRRLLLRLRRRRRLRRLRLLRLRRLLRLLRLRLRLRLRRRRRRLRRLLLRRLLRLRLRRLRLRLLLRRRRRRRRRRLRLRLLLRLRLLLRLLRRRLLLRLLLLRRRLLRRRLRRLRRLRRLLLLRLRRRLLLRLLRLLLLLLRLRLLLRRRRRLRRLLRRLRLLLLRLRRRRLRRLLLLLLLRLLLRLRLRLRRLRLRRLLLRRRLRLLRLRLLLLRRLRRLRLLLRRLRLRRLLLRRLRRLRRLLLLRRLLRLLRLRLLLLLLRRLLRLRLRLLRLLRLRLLLLRRRLRRRLRLLRRLRLLLRRLRRRLLRRRLLLLLRLLLRRRLRRRLLLLRLRRLLRLLLRLLLRRLLLLRLLLRRRLRRRLRRRLLLLRRRLLRLLLRLRLRLRLLLLLLLRRRRLRLLLLLLLLLLRLRRLRRLLRRLRRRLLRRRRRLRRRRRRLRRRLRLRRRRLRLRLRLLLLRRLRLLRRLRRLLLRLLLLLLRLLRLRLLLLLLLLRRLRRLRLRLLRLLRLRLLLRRRRLRRLRLLRRRLRRLLLRLRRRRRRRRRLLRLRLRRLRLRRRRLLRLLLLLRLLRRLLRRRRRLRLLLRRRRLLLRLLLRLLLRLRLLLLLLLRLLRLLLLRLLLRLLRLRLRRRLRLLLLLLLRRRLLRRRRRLLRLRRRRLRLRLLRLLRRRLLLRLLRLLRLLLLLLRLLRRRRRRRLRLLLRLRLRRRLRRRLRRLRLLRLLLRLLRLLLLLLLRLLLLLLRRRLLRRLLLRLLLRRLLRLLRRRRRLLRLRRLRRLLLRLLRRLLLRRRLRLLLRRRLLLLLRRLRLRLRLLLLRRLLLRLLRRRRRRLLRRRLLRLRRRLLLLRLLRRLLRRRRLLRLLLRRLRRLLRLLLLLRRLRRLLRRLRRRRLLLLLRLRRLLLRLLRLLRLRRLLRLRRRLLLRLRRRRRLRRRRLRRRRLRLRRRRLRLLRRRLRLLLRRRLRLRLLRRRLLRLRLRRLLLRRRLLRRRRLRLLLRLLRLLRRRLRRLLRRLLRLRRLLLRRRLRLRRRRRLLRRLLRRRLRRLLLLLRLLRRRRRLLLRRRRLRRLRRRRLRLLLRLLRLLRLRRLLRRLRRRRLLLLLLRLLRLLLLRRRLRLRRRLLRLRLLLRRRRRLLLRRLRRRRRLLRLRRLLLLRRRRRRLLLLRRLLLRRRLLLLLRRLRRRRRLRLRLRRRRLRLRLRLRLLRRLRLLLRRRLLRLRLLRLRLLLRRLLLLRLLRLRLRRRRRLRRLLLLLRRLLLLRLLLLLLRLRLRLRRRRRLRRRRRLRLLLRRRRRRRLLRRLRLLLLRLRLRRRRLLLLLRLRRRLRLLLLLLLRLLLRRLLRLRRLRRRLRRLRLLLRLRLRRLRRLRLLRLRLLRRLRRLLRRLLLRRRRRLLRRLLRLLLLLLRRLLLLRRRLRRRRRLLRRRRRLRRLRRLRRRRRRLRLRLLRRLRLRLLRRLRRRRRRRLLLLRRLLRRRRLLLLRRRRRRRRRRRRRLLRRLLRLRLRRLRLLRLRLLRRRRLRRRLRRLLRRRRLLRRRLRLRLLRLLLRRLLRLLRRRRLLRRRRLRLLRLRRLLRRLLLRLLLLRLRLRRLLLRRRLRRRRLLLRRLLRLLRRRLRLLLRRLRLRRLLLLLLRRLRRLLLRLLRLLLRLRRRLRRRLLRLLRRLLRLRRRLRRRRLLRRLRLLRRLLLRLRRRLRLRLRRRLLLLLLRRLRRRRLRLLLRLRRLRLLLLRRRRLLRRRRRRLLRLLLRLLRLLRLLRLRRRLLLLLRRRLRLRLRRLRLLLLRLLLLLLLRRRLRRRLLLRLLLLLRLRRLRLLRLRLRRRLRLRLRLLLRLLLLLRLRRLRLLLLRLRLLLRRLRRLLRRRLRLLLLLRRRRRRRRRLLLLRLRLRRRLLLRLLRLLRRRLRLRLLRRLRRRRRRLRRRLRLLRRLLLRLLLRRLLLRLLRLLLLRLLLLRRLRLRLLRLLLRLRLLLRRRLRRRLRRRRRLRLRRLLLRLRRLLLLRLRLRRRRRLLLRLLRLRRLLRLLRLLRRRLLLRRLRLRRLLLRLLLRRLRLRRRLLRRLRRRLLLLLRLRRLLLRLLRLRRLLRLLLRLLLRRRRRRRLRRRRRLLRLLRLLLRLLLLRRLLLRLLLRLLLLRLLRLRRRLRRRRRLLRRLLLLRRLRRLLRLRLLRLRLLLRRLRRLRLRRRLRLRLRRLLLRRLLRLRLLRLLLRLRLRRRRLLLRLRLRRRLRLLLRLLRRLLRRRLRLRRRLLRRRRLRRRLLRRLRLLLRRRRLLRLLRLLLLRRRLRLRRRRRLRLRLLLLRRRLRRLLRRRLRLLRRLRRRRLRRLLLLLLLRLLLRRRRLRRRLLRRRLRRLRLLLLLRLLLLLLRLRLLRLRLLLRRRLLRRRLLLRRRRRRLRRRLRRLRLRLLLRRRRLRLRLRLRLRLLLLRRLRLRRLLLRLLLRRLLRRRLRLRRLLRLRRLLRLLLLRLLLRRLRLRRRLRRRLLRLRRLLRLRRRLRLLLLRLRLLLRLLLRRRRLLLLRRRLRRLLLRRLLLRLLLLRLLRRLLRRLLRRRRRLRLLLRLRLLRLRRRRLRLLRLLLRRRLRRLRRRLRLRLLRRLLRRLLLLLRLLLRLRLRRRRRRRLRLRRLRLRLRLRLRRLRRLLRLRRLRLLLLLRLLLRLLRRRRLRLRRLRRLRRRRRRLRLRRLRRLRLRRLLRLLLRRRRRLRLLRLRRLLLLLLLLRRRRLLLLRRLLLRLRRLRLLLRRRLLRLRRLLRLLLRLRLRRLLRRLLRLLLRRRRLLLRLRLRLRRLLRRRLRRRLRRRRRLLLLLLLRLRLLLRLRLLLLLRRLRRRRLRLRLLLRLLLLLLLLLRRRLLRRLRRRRLLRLRLRRLLLRLLRRLLLRRLRLRRLLRLLLLRRRRLLLRLRRLRLRRRRRRRRLRLRRRLLLRRRRRRLRLLRLLLLLLLRLLRLLLLRRLLRLLRLRLLRRRLLLRRLRRRLLLRRRLRRLRRRLLRRLRLLLLRLLLRLLRLRRRRLLRRRRLRRLRLRLLLRLLLRLRRLLLLRRRRRRRRRRRLLRRLLRRRRRLRRRRRRRLRLRLLRLRLLLRRRLRRLRRRRRLRLRLRLRRRLRLRRLRLRLLRLRLLLLRRRLRLRLLRRLRLLLLLRRLRLLLLRLLLLLRRRRRLRLRLLLLLRRLRLLRLLLRLLLRRRLRRRLLRLRRRLRRRRLRLLLLLRRRLLLLRRLLLLRRRLRLLLLLLLRRLRLRRRLLRLLLRLLRRRRRLLRRLLRLRRRRLLRRRLRRRLLRLLRLLRRRRLRLLLRRRRRLRLLRRLLRLRRRLRLLLLRRLRRRLRRRRLRRRRLRRRLLRLLRRRRRRLLRRLLRLRRLRLRRLRRRLLLLRRRLRRLRRLLRRRRRLRRLRLRRRLRRRRLLLLLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRLLLLLRRRRLLLLLLLLRRLLRLRRLRRLRLLRLLLRLLLLRLLRRRRRLRRLLLRRLLLRRLLLRRRLRLRRLLRRRLRRRLLLRRLRLRRRRLRLRRLRLLRLLLRRLLLLRLRLLLLRRLLLLRRRLLLLRLRRLLLRLLLLRLRRLRLRRLLRLLRLLRRLRLRLRRLRRLLLLLLLLRLLLLLRRRLRLRRLRRLLLLLRLLRLRRLRLRRRRLLLRLLLLLRLLLLLLRLLLLLRRLRLLRLLRLLLLLRLRLLLLRRLRRLRRRRLLRRRRRRRRRRLLLLLRLLRRRLRRRRLRLLRLLLRLLLRRLLRLLLLLRRLLLLRRRLLRLRLLRRRRRLRRRRRLLRLLLRRRLRLRRRLLRRRRRLLLLRRRLLLLRRRRRLRRRRRLRRLLRRRRRLLLRRRLLLRRLRLRLLLRRLRRLRLRRRRLLRRLRLLRLRRLRLRRRRLRLLRLRLLLRLRRLLLLLLLLLLLRRLLRRLLRRRRRLRRLLRLRRLRRLRRRLLLRLRLLRLRRLLRRLRLRLLRLLLRRRLRRRLLRLLLRRRLLRRRRRLRRRRLLRRRLRLLRLRRRLLLLRLRRRLLRRRRRRLRLRLRRLRLRRLRRRRRRLRLLRLRRLLRRLLRRRRRRRRLLLLLRRRRLRLRLRLLLLRRLLLLRRRLLRRRLLRRLLRLLLLRLLLLLRRRRLLLRRRRLLRRRLRRRRLRLRLRLLLRRLRRLLRRRLRLLLLLRLRLLRLRLRLRLRRRRRRLRRLRRLRRRLRRLLLLLLRLRRLRRLLLLRLRRRRLLRRLLLLRLRLLRLLLLRRLRLRLLLRLRRLRRRLLLRRLLRRRRLLLRLLRRLRRLLLLRLRLLLRLLLRLLRLRLRRRLLRLLLLLRRRLRRRLRLRRRRLLLLRLLRRRRRLLRLLRRRLLLRRLRLLRRLLLRLRRRLRLRLLRRLLLLLLLRRRLRLLLRLRRLRRRLRLLRLLRRRRLRRLLLRLLRRLRRLRLRLRLRRLRRLLRRLLLLLLRRLRRRLLLRLLRRLRLLLRRLRLLLRRLLRRLRRLRLRRLLLRLLRLLLLLRRLRRRRLRLRRRRLRLRLRLRRLLLRRRLLLRLLLLLLRLLRLRRRLLLLLLLRLLLLLRLRRRRRRRRLRRLRRRRLLRRRLLRRLLRLRLRLRLLLLLRLRLRLRRLLLRRRRRRLLLLRRRLLRRLRLLLRRRLRRRRLLRRLRLRRLRRRRRRLRLLLLLRLRRRLRRLLRRRLRRRRRLLRRLLRLRLLLLRRLRLRRLRRLLRRRLLRRRRLRLRRRRRLRLRLRRLLRRRLLRLLLRLLRLRLLLRLLRLLRRLRLLRLLLLRLLRRRRRLLLRRLRRRRRRLLLRRLLRLRLRLRRLRLRLRRLRLRRRRRRLRRRLRRRLLLLRLRLRRRLLLRLRLRLLLRLLLRRLRRRLRLLLRRLRRLLRRRLLRLRLRRRRRLLLRRLRRRLLRRLRRLRRRLRRRLRRLRLRRLLLLLLLLRLLLLLRLLLRRLRLRLLRRLRLLLLLRLLLLRRRLLRRLRRLRRRLLRLLRRRLLRRRLRLRRLLLRRLLLRRRRLLRLRLLRLRRLRLRLRLRRRRLLRRRRLRRLRRRRLRLRRRLRLRLLLRRRLRLRLLLLRRRRRRLLRRLRRLRLRLLRLLRRRRRRLLRLLRLLRRLLRLRLRLRLRRRLLRLLLRRLLRRLLLLRRLRRLRRRRRLLRRRLLRRLLRLLLRRRRRLRRLLRLRLLRLLRLRRRLLLRLRRRRLRRRLLRLRRRLLRRLLRRRRRLRLRRLLRRRLRLLRLRLLLLLLRRRRRRRRLRLRRLRRLLLRLRLRRRRLLLRLRRLRLRLLRLRRLLRLLRLLRLRLLLRRLRLRRRRRRRRRLLLLRLLLLLRRLLLLRLLRLLRRRRRLLLLLRLLRRLLLRLRRRLRRLRLRRRLLRLRRLRRLRLLLRRRLRLRRRLRRLRLRRRLLLRRRRLRRLRLLLRRLLLRRRLRLLLLLLRLRRLRRRRRRLRRRRLRLRLLRRLRRLLRRRRLRLRLLLRRLRLRRRRRRLLLLRRRLLLLLRRLLLRRLLRRLRLLRLRRLLRRLLLRLRRRRRLRRRRLLRRLRLRRLLRLRLLRRRLLLLRLRRRRRRRRLLLRLRRRRLRRRLRLRLRRLRLLRRLRLLRRLRLLRLRRLLRLRLRLLRRRLRRLRRRLLLLRRRRRLLRRRRRLRRRLLRRLRLLLRLRRLRRRLLLRLLRRLLLRRLRLLRRLLLLLLRRRRLLRRLLRLLLRLRRRRRRRLRLLRLLLRLRRRRRLLRRRLLRLLLLLLLLRRRRLLRLRLRRLLRRRLRRRLRLRLLLLRLLLLLLRLRLLRRLLRLRLLLLLRRLLRLLRLLRLRRRRRLRLRRRRRLRRLRLRLLRRRLLLLLRRLLRLRLLRRRLLLRLRLLRLRLRRLLLRLLLRRLLLLRRRRLRLLRLRRLLRRRLRLRLLLRLRRRLRLRLRRLRRLLRRLLRRLRLRRRRLLLLRRRRRRRLRLRRRRRLRRLLRLRRLRLLLLRLRLRRRLRRLLRRRRLLLRLLRRRLLRLRLRLRLLLLRRRLRLLRRLRRRLLLLRLRRRRRRLLRRRLRLRLLLRLLLRRRLLRLLLRLLRRLRRLLLLRLRRRLRLLRRRRRRLLLRRLLLLRLLRLLLRLLLRLRRLLLLLRLRRRRLLRLRRLRLRLRLRLLRRRLLLLRRLLLRRRLLRRLRLLRRRRRLLRLLLRLLRRRRLRRRLRRRRLRLLRLRRLRLLRLLRRRRRLRRRLLRRRRRRLRLRLRRRRRLRRRLLRRRLRRRRRLLRRLRRRLRRRLRLLLRRLRRRRRLRRRRLLRRLRLLRRLLLRLRRLRLLLLRRLRRRLLLRLRLLLLLLLRRLRRLLRLRRRLLLRLRLLRRRLRRLRRRRRRLRRRRLLRRLLRRLLRLLLLLLLLRRLRLLLRLLRLLLLLRLLRLRLLLLRRRLRLRLLLLLLRLRLLLLLLRLRRLRRRLRLRRLRRRLLLLRLRLRRRRLRLRLRRRLRRLRRLLRLLRLLRRRLLLLLLRLLLRLRLRRRRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLLLRLRRRRLRLRRLRLLRLLLRLLLRLRRLLLLLRRLRLRRRRLRRRRRRLRRLLRRRRLLRRRLRLLLRLLRRLRRLRLLLRRLLLLRRLLLLRLLRRLLRLRLRLRRRLRRLRLRRLRRLRLRLLRLLLRLRRRLRRRLRRLLRRLLRRLRLRLRRRRRLRRLLRLLLRRRRLLLRLLRLLLRRRLRRRRLLLLRRLLRRRRLRRLLRRRRRRLRLLLRRRRRLLLLLLLRLLLRRRLLRLLRRLLLLLRLLLRLLLRRLRRLLLRRLRLLLRRRLRRRRRLRLRRLRRLLRRRRLLLRLRRRRLLLLRLLRLRLRRLRLRRLRLLRLLRRRLLLLLRLLRLLRRRRLLRRRLRLLRRLLLRRRLRRRLRRLRLLLRRLLLRLLRRLLRLLLRRLLRLRRLRRRLRLLLRLRLLLLRRLRLLLRLRRLLLLLRRLLRRLRLRLRLLRLLRRLLLRLRRLLLLLLRRLRLRLLRRRRRLLLLLRRLLRRLLLLRLRRLLLLRRRRRLRLLLRLLLRLRLLRLLRRRLRRRRLLLRLRLRLLRRRRLLLLRRRLLLRRRRLLRLLRLLRRRLRRLRRLRRLLLLRLLRRLLLRRRLRLLRRRLLLLRLRRLLRLRRLRLRLLRRLLRRLLLLRRLRLLRLRRRLRRRLLRRLLRRLRLRRRLRLRLLRRRRRLLLLLRLLLLLRRRRLRLRRRRRLRRLLLRLRRLLRLLLLRRRRLRLLRLLLRLLLRLLLLLLRLLLRRRLLRLLLLRLLRLRLLLLLLRLRLLRRRRLLLRRLLLLLRLLRLRLRRRRLRRRLRRLLRRLRLRRRRRLLRLLRLRLRRRRRLRLRLRRRLLRLRRLRRRLRLRLLRLRLLRRLLRRRRRRLLRRLRRRLLRLRLRRRLLRLRRRRLRRLRLRRRRLLRRRLLLRLRLLRLRRLLLLRLLRLRLRLRRLLLLLRLRLRRLRLRRLLLRLLLRRRRRRLLLRLLRLRRLRRRLLLRRRLRLRLLLRRRLLLRRRRRLLRRRLLLLLLLRRRRRRLRRRLLLLRRRRRLRRLLLLLLRLRLLRLRRLRLRLRLRRRLLLLRRRLRLLRLLLRRRLRLRLLRRRLRRRLLRLLRRLRRLLRLRRLLLLLRRLRRRLLRRLRLLRRRRRLLLLLLLRRRRLLLRLLRRLRLLLLLRLRRLLRLRRLRRLRLRLLRLLRRLLRLLLLRRRRRLLRLRLLLRRLLLLLLLRRRLLLLLLRLRRRLRLRRLRRRRRLLLRRLRLRRLLLLLRRRRRLRRLRRLRRLRRRLRLRLRRRLRRRRLLLLRRRLLLRLRLLLLLRRRRLLLRLRLRLLRRLLLRLRLRLRRLRLRRLRLRLRLRLLLLRRLLRRRLRRLLRRRLRLLRLLRLRRLRRLLLRLRLLRLRRRLRLLRRLLRLLRLLRLRRLLRRLRLRRLLLRRLLRLLRLRLRRRLRRLRRLLRRLRLRRLRRRRRLRLLLLLLLRLLRRRLLLLLRRRLLRRRRRLLLRRRRRRLRRLLLRRRRLLRRRLLLRLRLRRRLRRLRRRLRRRLRLRLLLRRLLLLRRLLRLLRLRLLLLLRRRRRLRRLLLLLLRRRLRRLRRRLRLRLLRLLRLLRRLRLLRRLRLLLRLRRRRRLLLRLLRLRRRRLRRLLLLRLRLRRRRRLLLLLRLLLRLRLLLLLRRRLLRRRLRRLRRRLRLLRLRLLRLRRRRRRRRLRLRRRLRRLRLLLRLRLLLLRLLLRLRRRLRLLRLRLLLRLRLRRLLRRLLRLRRRRLRRRLLLRLLRRLLRLLLLLLRLLLLRRRRRRRRRRRLLLRRLRRRRLLLRLLLRRLRLRLLLLRRLLRRLLRRRLLLLRLRRRRRRRRRRRLRLRRLLRLLLRLLLLRRRLRRLLRLLRLLRLLRRLLRRLLLRRLRLLLLLRLLLRLLLRRRLRRLRRLLLRLLLLRLLLRLLLLLRLRRLRLRLRLLLLRRLLLRRLRRLRRLLLLRRLLRRLLLLLLLRLRRRLLLRRLRLLRLLLRRLLLLRRLLRRLRLLLRRLRLLLRRRRRRLLRRRLLLLLLLRLRRRRLRLRLRLLLRRLLLRLLRRLLRRLLLLLRLRRLLLRRLRRLLLLRRRRRLLRLLLRRRRRLRRLLLRLRRRRRLLLLLLLLRLLRLLRLLRRRRRRLRLRLLLRRRRLRRLRLLLRLRLLRRLLRLRLRLRLLLRRLRRLRRRLLRLRRRLLLLLLLLLLLLLLRLLLLLRRLRRLLLRLLRLRLLLRRLRRRRLLRLRRRLRLLRRLLLLLLRRLRLRLLRLRLRLLLLRLLLLRRLRLLLRLRLLRLLRRRRRLLRLLRRRRRLLLRRLLRLLRRRRLLLLLRLRLLLRLLLRRLLRLLLRRLRLRLLLLRRRLRRRRLLRRRRLLLRRLRRLLLLRLLRLLRLRLRRRLRRLLRRLRLLLLLLRRRRRRRRLLLRLLRLRRRLRLRLRRLRLLLLRLRLLRLLLRLLLRLLLRLLRRRLRRRRLRRLLLRLLLLLLRRLLLRLRLRRLRLRLLLLLLRLLLRRRLRRRLRRRRLRLLRRLRLRLRRLRRLRRLLRLRRRLRRRRLRRLRLLRRRLLRLRRLLLRLRLLRRLRRLLLRRLRRLLRLLRLLRRLLRRLRLLRLRRLRLLRRRRRLRRLRLLLLRLLRLLRLRRRRLLLRRRRRRRRRRRRLLRRLRRRLRRLRRLRLRLRRLLLRRLLLLRLRLRLLRLRLRRLLLRRRLLLRLLLLLLLLRLRLLRRRLRRLRRLLLRLRRLLLRRLLRLRRLLRLLRRLLRRRRRLLRRRRRLLRRRRRLLLRRLRLRRRRRRLLRLLLRRLRRRRLRRRRRRLLRLRRLLRLRRLLRRLLLRRRRRLRLRLLRLLLRLLRRRRLLLRRLLRRRRRLRRLRLLRLRRRRRRLLRLRLLLRRRRLLLLLRLLRRRRRLRLLLRLRRLLLLLRLRLLLRLRRLLRRRLLLLRLLRLRLLLRRLLRLLLLRLLLRRLRRLLRRLLLRRRLLLLRLRRLLLLLRLLLRRRRLLRRLRRLLRLLLLRRLRRLLRLLRLLLLRLLLRRRRLLLRRLLRLLLRLLLRLLRRLRLRRLLRRRRRRRRLRRLLLRRRLLLRLRRLRRLRLLRLLLRRRRLLRRLLLLRLRRLLRRLLRLRLLRLRLLLRRRRLLRRRRRRLRRRLRLLRLLRLRRRRLRRRRRLLRLLLLRLRRRLRRLRRRRLLLLRRLLLLRLLLLLRRLRLLLRRRLRRLRRLLLRRRLLRRRLLRLRLLRRLRLLRRLRRLLRRRRRRRRRRLLRLLLLLLRLLLRLRRRRRLLRRLRLRLLRLRRLLRLLLLRLLLLRLLLRLLLLRRLLLRRRRRLLRLLLLLRRRLRLRLRLLRRRRLLLLLRRRRLRLLLLRRLLLLRLRRRLRLRLLLRLRRLLRRRRRLRLRRRLRRRLLRRRRRLRRRLRRRLRLRRRLLLLLLLLLRRLRLRRLLRRLLRLLRLLRLLLLRRRRRRRLLRLLLRLLLRLRLLRLRRRRRLLLRRLRRLLLLLLRLLLLRLRLLLLLRLRLLRRLLRRLRLLLRRRRLRLLRLRLRLLLLRRLRLLLRRLLLLRRRLLRRLLRLLRLLLLRRLRLRRLRRRLLRRLRRRRRRRRRLRLLLLLLLRRRRRRLLRLRRRRLRLRLLRLLRRRRRRLRRRLRRLRRLLLRLLLLLLRRLRRLLLLLRLRLRRRLRLRLLRLLRRLRLLRLRRLRRRLRRRRLLRLRLLLLRLRRLLLRRRRRRRRRRRLLRLLLRRRLRRLLRLLRRLLRLRRLRLRRRLLLLLLLRLRLLLRLLLRLRLRRLLLLRRRRRLLRRLRLRRRLRRLLRLRLRLRRLRRLLLRLRLRRLLRLLLRLRLLRRLLLRLLLLLLLLRLLRRLLRRRRRLRLRRLLRRLRLLLRLLLRRRRRLRRLRRLLRRLRRRRRLRLLLRRLLLRRRRLRRLLRLLLLLRRLRRLLRLRLRLRRRLRLLRRLRRRLRRRRLLLRLRLLRLLLLLRRLLLRLRLLLRRRRRLRLLRLRLRLLRLRLRRRRRLRLLLLLLRRRLRRRRRLLLRLRRLRLRRRRLRRLLLLLLLRLLRRRLRLRRRLLRRRRRLLLRLRRLRRLLLRRLRLLRRLRRLRRRRRLRRLLLRRRRRRRRRRRRRRRLRLRLLLRLRRLLLRRLRRLRLLRRLRLLRLRLLRRLLRRLRLRLLLRRLLLLRRRLRLLLLRLLRRRLLLRRRRLLRLLLLRRLLRLRRRLLRRLLLLLLLLRRLLRRRLRLRLRRLRRRRLLRLLLRRLRRRLLLRRLLLRLLRLRRRRRLRLRRRRLRRRLRLLRLLRLLLLRRLRRLRRRLRLLRRRRLRRRLRLLLRRLLRLRLRRLRLRRLLLRRLRLRRRRLLRRLRRLLLRRLLRLRLLLRLLLRRLRRRLRRLLRRRRRRRLRRLLRLRRRLRRLLRRLRLLRRLRRRRLRLLRLRRRRLLLLLRRRRRRLRLRRRLLRLLRLRLLRRRLLLRLRLLLLLLLLRLLLRLLLLLLRLLLRRRRLRRLRRLLLRRLLRRLRRRLLRRRRLLLRLLLLRRLLRLRLRRLLLRRLLLLRRLRRRRLLRRLLLRLLLLRRRLLRRLRRRRLLRLRLLRLLLLLRRRLRRRRLRLRLLLRRLLRLRLRRLLRLRRLRRRRRRLRLLLLRRRRRLLLRLRRRLLLLRLRLLLLLLRLRLLRLRRLRLLRRLLLLRRRRRLRLLRRRLLRRRRLLRLRRLLLRLLRRLRRRRLLRLLRLLLLRLLLRRRLLLLLLRRLLRRLLRLLRLLRLRRRRLRRLLRRRLRLLLLLRRRLRLRRRRLRLRRLLRLRLLLRLRLLRLRRRRRRRLLRRLLRLRLLRRLLRRLRRLRLRLLRRRLRRRRRLRLRLRLLLRLLRRLRRRLRLLLRRRRLRRLRLLLLLRRLRLLRLLRRRRLLLRLLLLLRRLRRRLRRRLLRRRLLLLRLRLLRRLLLLLLLRLRLRLLLLRRLRRRRRLLLRLLLLRLRRRRRLLRRLLRLLLRRRRLRRLRLLRLLLLRLLRRRRRRLLLRLRRRLRLRRRLRRRRRLRRLLLLRRLRLLLRRLRRRLRLLRLRLLLLLLLRRRLLLRLLLRLLRLRRRRLLLRLLLLRRRLRRRRLLRRRRRRRRRLRRLRRLRLRRLLRLRRLRLRLLLLRLRLRLLRLRLLRLRRLRRRRRLRLLLLLRRRLLLLLLLLRLRLLRLLLLRRRRLRLRLRRLLLLLLRLLRRLRRRLLLRRLLLRRLLLLRRLRLLRLLLRLRRRLLLLRRLRLRRLRRLLRRRRLLRLLLRRLLRLRLRLLLLRRRRRLRRRLLLLLLRRRRLRRLLLRLRRLLLRLLLLRLLLLLLLRRRLLRLRLLRLRLRLLRRLRLLRLRLRLRLLRRLLRLLLRLRLRRRRLRRRLLLRRRRLLRLLLLRLLLLLLRLRRLRLRRLLRRLRLLRLRRLRLRRLRRRRLRRLLRRLRRRRRRRRLLRLLRRRRRRRRRRRRLLRRLLLLLLRRLLRLLLLRRLLLRLLRRLLLLLLLLRLRRLRRRRLLRLRLLRRRRLRLRLLLRRLRLLLRLLRRLLRRRRRRRLRRRLLLRRLRRRRRLLLLRLRLLLLRLLLRLLRRRLRRLRLRRLRRLLRLRLLRLLRLRLRRRLRRLLRLRRRLRLLRLLLLRRRLLLRLRRRLRLRRRRRRLRRLLRLRRLLRRRLLLLRRLRLLRLRLLLRRLRLRRLRLLRRRRLRRRRRRLRLRRRLLLRLRLLLRLRLRLRRLLLRRLLRRLLLLLLRRRRLRLRRRRRRLRLRLLRRLRRLRRRRRLRLRRLRRLLRLLLRRRLRRLRRLLLRLLRRRRLRLRLLLLLRLLLRRRRLRRRRRLLLLLRLLLLRLLLLRRRRRLRRRRRRRLRLLLRRRLLLLLLRLRRLLLRLLLRRRLRLRLLLRLRRLRLRRRLRLLRLRRLLLRLRRRRRRLRRLLLRLRRRRRLLRRLLRRLRRLRLLLLRLRLRLRLRLLLRLLRLLLLLLRRRRRLRRRRRRRRLLLRRLRLRRLLRRLRRRRLLRLLRLLLRLLRLLRLLLRRRLRRLLLRLRRRLLLRLRLRRRRRLRLLRLLRLLLRLLLRRRRLLLRRLRLLRRLRRRLRLRRRRRRLLRLRRLLLLRRLLRRLLRLRRLLRRLLLLRLLLRRRLRRLRLLLLRRLRRLRLRLRRRRLRLLLLLLLLRLLRRLRRRLLRRLLRRLLRRRRRLLRLLRRRLLRLRRLLLRRLLLRRRRLRLRLRRLRRRRLRLRLLRLRRRLLLRRRLRLRRLRLRLLLLLLRLLRLRRRRLLLRLLLLLRRLLRRRRRRRRRLRRLLLRRRLRRLLLLRLLRLRRRLRLRLRLRRRLRLRRLLLRRLLRRLLLLLRLLRRRLRLLRRRRLRRRRLRRRLRLRLLRRLRRRLLLLRLLRLLRRLRLLRRRRRRRRLRLLLRRLRLRRLLLRRLRLRRLRRLLRRLLLLLRRLRRLRRRRLRRLLRRLRRRRLRRLLLLLLRLRRLRRRLRLLRRLRLLLLLRRRLLRLRLRLLLRLRRRRLRRRLLRRLRLLRLRLRRLRLLRRLLRRLLRRRLLRLRRRLLLRLLRLRRRRRLLLRLLLRRLLRLLLRRLRRRRRLLLLRLRRRLLLLLLLRLRRRRLRRRLLLLRLLLRLRLRRRRLRLRRRLRLLLLLRLRLLLLLRLRLLLRRLRLLRLLRLRRRRLLLRRRLRRLLLLRRLRRLRRLLRRRLLRRLRRRLLRRRRLLRRLLRRLLLLRRRLLLLRLRLRLRRRLLLLRRRRRLRLRRRRLRLLLLLRLRLRLRLRRRRLLRRRLRRRLLLRRRRRRLLRRLLRRLRLLLLLLLLRRRRRLLLLLRLLRLLLRRRLRRRRRRLLLLLLRRLRLLRLLLLRRLRRLLLRRRRLRRRLLRRRLRLRLLRRLRLRRRLRLRLLLRRRRRRRRRLLLLLRRLRRLLLRLRRRLRLRLLRRRRLLRRRRLLRLLRLLLRLRRRRLRRRRRLRRRLLRLRRLRRRLRRLRRRRRLLLLRRRRLLLRLLRRRRRLLRLRLLRLRRLLRRLRLRRRLLRRRRLLRLRLRLLRRLLLLRRRRRLLRLRLRLLLLRRLLRRLLLRLRRLLLRRLLRRLLRLLRRLRRLRRLLLRRLRLRRRLRLLRLLLRLLLRRLLLRLRRRLRLRLLLRRRLRLLRRLRRLRRLLRLLRLRLRRLLRRRLLRRRRRLLRRLRLRRLLLLRRLRRLRRLRRRRRLLLRRRLLLRLLRLRRLLRRLLLRLLRLLLRLRLRLLRRRLRLRRLRLLRRLRLRLLLRLLLLRLRLLLLRLRRRLRLRLLLLRLRRRRLRRRLLLRLRLLRLLRRLRLLLRLRRLRRRRLRRLRRRLLLRRLRRLRRLLRLLRRRRLLLRRRRLLRRRLLRRLRRRLRLRLLRRRLRRRLLLRRLLLRLRLLRLLLLLLLRRLRLLLRRLRLLLRLRRLLRRRRRLLRRLRRLRLRRLLLRLRLLRLLLRLLRLLRLRLLRLLLLLLRRRRLLLLRRRRLLLLRLRRLLLRLLLRRRLRRRRLLLLLRLLLRLLRRLLLRRRLLRRLRRRRRRRRLRLRLRLLLLLLLLRRLLRRLLLRRLLRLRLRRRRLLLLRRLLRLLLRLLRLLRRRRLLLRRLRRLLLRLLRLRRRLRLRRRRLRRLRRRRRLLRRLLRRRRLRRLRLLLLRRRRRRRLLLLRRRRLRRLLRRRRLRRLLRRLLLRRRLRLLRRRRRLLLRLLRRLLRRLRLRLRLLLLLLRLRLLRLRLLRLRLLRLRRRLRRLLLRRLRLRLLLRLLLRRRLLRLLLRRRLRRLLLRRLRRRRRRRRLRRRRLRLLRRRLLLLLRRRLLLRLLLRLRRRLLLLLLRRLRRLRLLRLRLRLRLRLLRRLRRRRRLRLRRLRLLRRLLRLRRRRRLRRLRLRLRRRRRLRRRLRRLRRRLLRLRRLRLRRLLRRRRLLRRRLRRLRRRRRLLLLRRLRLRRRRRLRRLLRRRRRLLRRLLRRRRLLLRLLLRLLLRRLRLLRRRRLLRRLLLLLLLLRLLRLRLLLRRRLLRRRLLRLLLRLRRLLRRLRLLRLLLRRLLRRLRLRRRRLLRRRRLRRRRRRLRLLRRRRLRRLRLLRLLLLLRRRLRRRRLLRLRLLRRLLRLRLLLLRRRRRRRLLRLLLRLRLLLLRLRLLRLLLLLRLRRLLLRRLLLLLLLRRRLLLLRLRLLLRRLRRRRRRRRLLRLLLLRRLLLRRRLLLLLRLRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLRLRLRRRRRRLRRRRLLRLLRRRLLLLRLRLRLRRRRRLLRRLLRRRRRLLLRRLRLRRRRRRRLLLLLRRRRRLRRLRLLRLRLRLLRLLLLRRLLRRLLRLLLRLRRLLRRLLRRRRRRLLLRLRLLLLLLLRRRLRRLRRLLRLRLLRRRRRLRLRRRLRLRLRRLLLRRRLLLRLRLLLLRRLLRRRRLLRLRRRLRRRRLRLLLRRRRRRLLLLRLLLRRLRLLRRLRRLLLRRLLLLLRRLRLLLRLLLRLLRRRLRRRLLRRLRLRLRRRLLRRRRLRRRLLRRLLLLRRLLLRRRRRRLLLLRLRRLLLLRLLLLLLLRLRLLRRLLLLLLRRLRRLRRRRRLLLRLRLLLRLLLRLRLRLRLRLRLLLLRRRLLRLRRRLLRRRRRRLLRRRRLRRRLRLLRRLLLLRLRRLRRLLRLRRLRLRRRRLLRRLRRRRLLLRLLRRLRLRLRRLLLLRRLLLRLRRLRLRLRLLLLLLRRLRRLLLLLLRRLLLLRRRLRLRLLLLRLRRRRLRRLRRRLRRRLRLLRLLRLRLRRRRRRLLLLRRRLLRLLRLLRLRLLLLRRLRLLLRLRRLLLLRRLRLRLLRRRLRLLRRRLLLRLRRRLRLLLRLRLRLLRRLRRLLLLRRLLLLLLLRRRLLRRLRRRRRRLRLLRRLRRLRLLLLLLRLLLRLLRLLLLRRRRLRLRLRLLLRRLLLLLRRLLRRRLLRRRRRRLLRLLLRRRLLLLLLLLRLRLRRLRLRLRLLRLLRLRRRLLLLRRRRLRLRRLLRRRLRLLRLLLRLRLLRRRLRRRLRRLLRLLRLRRRRRLLLRLRLLLRRRRRRRLRLLLRRRRRLRLLRRLRLLRLRRRLLRRLLRLRLRRLRLLLRRRRLLRRLRRRRLRLRLRRLRRRRLRRRRRLRRRLRLRRRLLRLRLLLLLRLLRRRLRRLRLLLLLLLRLRLLRRLRLLLRRLLRRRRLRLLRLLLRLRRLRRRLRLLRRRLLLLRLRRRLLLRRRRRLLLRRRLLLLRLLLRLRRRRRLLLLRRRRLLLLRLRRLRLRLRLLRLLRLRLRLRRRLRLLLRLRRLRLLLLLLLRRLRLRLLLRRLLLRLLRLLRRLRRLLRLRRRLLLRRRLRRRRLRRLRLLRLRLRLLRRRLLLLRRLLLRLLRRLLLLLLRRLRRLRLRRRRRLRRRRLLRLRRRLLLLLLLRRLRLRLRLLLRLRLRLRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRL
